Built motion from commit a61a4a20.|2.5.46
[motion2.git] / server / api / intSalesforceConfiguration / intSalesforceConfiguration.controller.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x4496=['zip-dir','fast-json-patch','request-promise','moment','bluebird','path','fs-extra','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','end','status','offset','limit','undefined','count','set','json','reject','save','update','then','destroy','sendStatus','error','name','send','index','map','rawAttributes','fieldName','model','query','keys','filters','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','type','options','SalesforceConfiguration','includeAll','include','rows','catch','show','params','intersection','find','create','body','getFields','findOne','SalesforceField','length','getSubjects','getDescriptions','eml-format','rimraf'];(function(_0x500785,_0x15e5ff){var _0x1f8bcc=function(_0x406983){while(--_0x406983){_0x500785['push'](_0x500785['shift']());}};_0x1f8bcc(++_0x15e5ff);}(_0x4496,0x142));var _0x6449=function(_0x59e4b8,_0x45b4e0){_0x59e4b8=_0x59e4b8-0x0;var _0x55b06f=_0x4496[_0x59e4b8];return _0x55b06f;};'use strict';var emlformat=require(_0x6449('0x0'));var rimraf=require(_0x6449('0x1'));var zipdir=require(_0x6449('0x2'));var jsonpatch=require(_0x6449('0x3'));var rp=require(_0x6449('0x4'));var moment=require(_0x6449('0x5'));var BPromise=require(_0x6449('0x6'));var Mustache=require('mustache');var util=require('util');var path=require(_0x6449('0x7'));var sox=require('sox');var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x6449('0x8'));var _=require(_0x6449('0x9'));var squel=require(_0x6449('0xa'));var crypto=require(_0x6449('0xb'));var jsforce=require(_0x6449('0xc'));var deskjs=require(_0x6449('0xd'));var toCsv=require(_0x6449('0xe'));var querystring=require(_0x6449('0xf'));var Papa=require(_0x6449('0x10'));var Redis=require(_0x6449('0x11'));var authService=require(_0x6449('0x12'));var qs=require(_0x6449('0x13'));var as=require(_0x6449('0x14'));var hardwareService=require(_0x6449('0x15'));var logger=require(_0x6449('0x16'))('api');var utils=require(_0x6449('0x17'));var config=require(_0x6449('0x18'));var licenseUtil=require(_0x6449('0x19'));var db=require(_0x6449('0x1a'))['db'];function respondWithStatusCode(_0x10f3e2,_0x148be1){_0x148be1=_0x148be1||0xcc;return function(_0x94628c){if(_0x94628c){return _0x10f3e2['sendStatus'](_0x148be1);}return _0x10f3e2['status'](_0x148be1)[_0x6449('0x1b')]();};}function respondWithResult(_0xb63213,_0x5a888e){_0x5a888e=_0x5a888e||0xc8;return function(_0x4b8694){if(_0x4b8694){return _0xb63213[_0x6449('0x1c')](_0x5a888e)['json'](_0x4b8694);}};}function respondWithFilteredResult(_0x23de11,_0x1f9091){return function(_0x4c47ab){if(_0x4c47ab){var _0x1895c2=typeof _0x1f9091[_0x6449('0x1d')]==='undefined'&&typeof _0x1f9091[_0x6449('0x1e')]===_0x6449('0x1f');var _0x43cf3f=_0x4c47ab['count'];var _0x5b123c=_0x1895c2?0x0:_0x1f9091['offset'];var _0x1c658a=_0x1895c2?_0x4c47ab[_0x6449('0x20')]:_0x1f9091[_0x6449('0x1d')]+_0x1f9091[_0x6449('0x1e')];var _0x5aad40;if(_0x1c658a>=_0x43cf3f){_0x1c658a=_0x43cf3f;_0x5aad40=0xc8;}else{_0x5aad40=0xce;}_0x23de11[_0x6449('0x1c')](_0x5aad40);return _0x23de11[_0x6449('0x21')]('Content-Range',_0x5b123c+'-'+_0x1c658a+'/'+_0x43cf3f)[_0x6449('0x22')](_0x4c47ab);}return null;};}function patchUpdates(_0x4ab0b6){return function(_0x168966){try{jsonpatch['apply'](_0x168966,_0x4ab0b6,!![]);}catch(_0x2f0457){return BPromise[_0x6449('0x23')](_0x2f0457);}return _0x168966[_0x6449('0x24')]();};}function saveUpdates(_0x3b3c2e,_0x5dab03){return function(_0x1ee99d){if(_0x1ee99d){return _0x1ee99d[_0x6449('0x25')](_0x3b3c2e)[_0x6449('0x26')](function(_0x1aa1fb){return _0x1aa1fb;});}return null;};}function removeEntity(_0x18fc81,_0x2f16ae){return function(_0x1efa1e){if(_0x1efa1e){return _0x1efa1e[_0x6449('0x27')]()[_0x6449('0x26')](function(){_0x18fc81[_0x6449('0x1c')](0xcc)[_0x6449('0x1b')]();});}};}function handleEntityNotFound(_0x22113a,_0x5b459d){return function(_0x2adb8e){if(!_0x2adb8e){_0x22113a[_0x6449('0x28')](0x194);}return _0x2adb8e;};}function handleError(_0x32e636,_0x5c0a81){_0x5c0a81=_0x5c0a81||0x1f4;return function(_0x216641){logger[_0x6449('0x29')](_0x216641['stack']);if(_0x216641[_0x6449('0x2a')]){delete _0x216641[_0x6449('0x2a')];}_0x32e636['status'](_0x5c0a81)[_0x6449('0x2b')](_0x216641);};}exports[_0x6449('0x2c')]=function(_0x281802,_0xdf42cb){var _0x5aca4a={},_0x4d0d36={},_0x3c62ce={'count':0x0,'rows':[]};var _0x514158=_[_0x6449('0x2d')](db['SalesforceConfiguration'][_0x6449('0x2e')],function(_0x2d17f5){return{'name':_0x2d17f5[_0x6449('0x2f')],'type':_0x2d17f5['type']['key']};});_0x4d0d36[_0x6449('0x30')]=_['map'](_0x514158,_0x6449('0x2a'));_0x4d0d36[_0x6449('0x31')]=_[_0x6449('0x32')](_0x281802[_0x6449('0x31')]);_0x4d0d36[_0x6449('0x33')]=_['intersection'](_0x4d0d36['model'],_0x4d0d36[_0x6449('0x31')]);_0x5aca4a[_0x6449('0x34')]=_['intersection'](_0x4d0d36[_0x6449('0x30')],qs[_0x6449('0x35')](_0x281802['query'][_0x6449('0x35')]));_0x5aca4a[_0x6449('0x34')]=_0x5aca4a[_0x6449('0x34')]['length']?_0x5aca4a[_0x6449('0x34')]:_0x4d0d36[_0x6449('0x30')];if(!_0x281802[_0x6449('0x31')][_0x6449('0x36')](_0x6449('0x37'))){_0x5aca4a[_0x6449('0x1e')]=qs['limit'](_0x281802[_0x6449('0x31')][_0x6449('0x1e')]);_0x5aca4a['offset']=qs[_0x6449('0x1d')](_0x281802[_0x6449('0x31')][_0x6449('0x1d')]);}_0x5aca4a[_0x6449('0x38')]=qs[_0x6449('0x39')](_0x281802[_0x6449('0x31')][_0x6449('0x39')]);_0x5aca4a[_0x6449('0x3a')]=qs[_0x6449('0x33')](_[_0x6449('0x3b')](_0x281802[_0x6449('0x31')],_0x4d0d36[_0x6449('0x33')]),_0x514158);if(_0x281802[_0x6449('0x31')][_0x6449('0x3c')]){_0x5aca4a[_0x6449('0x3a')]=_[_0x6449('0x3d')](_0x5aca4a[_0x6449('0x3a')],{'$or':_[_0x6449('0x2d')](_0x514158,function(_0x1a84d3){if(_0x1a84d3[_0x6449('0x3e')]!=='VIRTUAL'){var _0x2792bb={};_0x2792bb[_0x1a84d3['name']]={'$like':'%'+_0x281802[_0x6449('0x31')][_0x6449('0x3c')]+'%'};return _0x2792bb;}})});}_0x5aca4a=_[_0x6449('0x3d')]({},_0x5aca4a,_0x281802[_0x6449('0x3f')]);var _0x6067a6={'where':_0x5aca4a[_0x6449('0x3a')]};return db[_0x6449('0x40')][_0x6449('0x20')](_0x6067a6)[_0x6449('0x26')](function(_0x55bd05){_0x3c62ce[_0x6449('0x20')]=_0x55bd05;if(_0x281802[_0x6449('0x31')][_0x6449('0x41')]){_0x5aca4a[_0x6449('0x42')]=[{'all':!![]}];}return db[_0x6449('0x40')]['findAll'](_0x5aca4a);})[_0x6449('0x26')](function(_0x4fbae4){_0x3c62ce[_0x6449('0x43')]=_0x4fbae4;return _0x3c62ce;})[_0x6449('0x26')](respondWithFilteredResult(_0xdf42cb,_0x5aca4a))[_0x6449('0x44')](handleError(_0xdf42cb,null));};exports[_0x6449('0x45')]=function(_0x386d81,_0x3ffb08){var _0x2805b2={'raw':![],'where':{'id':_0x386d81[_0x6449('0x46')]['id']}},_0x3d9e53={};_0x3d9e53[_0x6449('0x30')]=_[_0x6449('0x32')](db['SalesforceConfiguration'][_0x6449('0x2e')]);_0x3d9e53['query']=_['keys'](_0x386d81[_0x6449('0x31')]);_0x3d9e53[_0x6449('0x33')]=_[_0x6449('0x47')](_0x3d9e53[_0x6449('0x30')],_0x3d9e53[_0x6449('0x31')]);_0x2805b2[_0x6449('0x34')]=_[_0x6449('0x47')](_0x3d9e53[_0x6449('0x30')],qs['fields'](_0x386d81[_0x6449('0x31')][_0x6449('0x35')]));_0x2805b2[_0x6449('0x34')]=_0x2805b2[_0x6449('0x34')]['length']?_0x2805b2['attributes']:_0x3d9e53[_0x6449('0x30')];if(_0x386d81[_0x6449('0x31')][_0x6449('0x41')]){_0x2805b2[_0x6449('0x42')]=[{'all':!![]}];}_0x2805b2=_[_0x6449('0x3d')]({},_0x2805b2,_0x386d81[_0x6449('0x3f')]);return db[_0x6449('0x40')][_0x6449('0x48')](_0x2805b2)[_0x6449('0x26')](handleEntityNotFound(_0x3ffb08,null))[_0x6449('0x26')](respondWithResult(_0x3ffb08,null))[_0x6449('0x44')](handleError(_0x3ffb08,null));};exports[_0x6449('0x49')]=function(_0x1dd1a2,_0x143318){return db[_0x6449('0x40')]['create'](_0x1dd1a2[_0x6449('0x4a')],{})[_0x6449('0x26')](respondWithResult(_0x143318,0xc9))[_0x6449('0x44')](handleError(_0x143318,null));};exports['update']=function(_0x1eeaa5,_0x5debf4){if(_0x1eeaa5[_0x6449('0x4a')]['id']){delete _0x1eeaa5[_0x6449('0x4a')]['id'];}return db[_0x6449('0x40')][_0x6449('0x48')]({'where':{'id':_0x1eeaa5[_0x6449('0x46')]['id']}})['then'](handleEntityNotFound(_0x5debf4,null))[_0x6449('0x26')](saveUpdates(_0x1eeaa5[_0x6449('0x4a')],null))[_0x6449('0x26')](respondWithResult(_0x5debf4,null))[_0x6449('0x44')](handleError(_0x5debf4,null));};exports[_0x6449('0x27')]=function(_0x20e60a,_0x514b96){return db[_0x6449('0x40')][_0x6449('0x48')]({'where':{'id':_0x20e60a[_0x6449('0x46')]['id']}})['then'](handleEntityNotFound(_0x514b96,null))[_0x6449('0x26')](removeEntity(_0x514b96,null))[_0x6449('0x44')](handleError(_0x514b96,null));};exports[_0x6449('0x4b')]=function(_0xc70aa4,_0x85efce,_0x57c24e){var _0x3d767c={};var _0x697a3b={};var _0x3a52d7;var _0x381995;return db[_0x6449('0x40')][_0x6449('0x4c')]({'where':{'id':_0xc70aa4['params']['id']}})[_0x6449('0x26')](handleEntityNotFound(_0x85efce,null))[_0x6449('0x26')](function(_0x498a84){if(_0x498a84){_0x3a52d7=_0x498a84;_0x697a3b['model']=_[_0x6449('0x32')](db[_0x6449('0x4d')][_0x6449('0x2e')]);_0x697a3b['query']=_[_0x6449('0x32')](_0xc70aa4['query']);_0x697a3b[_0x6449('0x33')]=_['intersection'](_0x697a3b[_0x6449('0x30')],_0x697a3b[_0x6449('0x31')]);_0x3d767c[_0x6449('0x34')]=_[_0x6449('0x47')](_0x697a3b[_0x6449('0x30')],qs[_0x6449('0x35')](_0xc70aa4[_0x6449('0x31')][_0x6449('0x35')]));_0x3d767c[_0x6449('0x34')]=_0x3d767c['attributes'][_0x6449('0x4e')]?_0x3d767c['attributes']:_0x697a3b[_0x6449('0x30')];_0x3d767c[_0x6449('0x38')]=qs[_0x6449('0x39')](_0xc70aa4[_0x6449('0x31')][_0x6449('0x39')]);_0x3d767c[_0x6449('0x3a')]=qs[_0x6449('0x33')](_[_0x6449('0x3b')](_0xc70aa4[_0x6449('0x31')],_0x697a3b[_0x6449('0x33')]));if(_0xc70aa4['query'][_0x6449('0x3c')]){_0x3d767c['where']=_[_0x6449('0x3d')](_0x3d767c['where'],{'$or':_[_0x6449('0x2d')](_0x3d767c[_0x6449('0x34')],function(_0x583d80){var _0x94d49d={};_0x94d49d[_0x583d80]={'$like':'%'+_0xc70aa4['query']['filter']+'%'};return _0x94d49d;})});}_0x3d767c=_['merge']({},_0x3d767c,_0xc70aa4['options']);return _0x3a52d7[_0x6449('0x4b')](_0x3d767c);}})[_0x6449('0x26')](function(_0x242886){if(_0x242886){_0x381995=_0x242886[_0x6449('0x4e')];if(!_0xc70aa4[_0x6449('0x31')][_0x6449('0x36')]('nolimit')){_0x3d767c[_0x6449('0x1e')]=qs['limit'](_0xc70aa4[_0x6449('0x31')][_0x6449('0x1e')]);_0x3d767c[_0x6449('0x1d')]=qs['offset'](_0xc70aa4[_0x6449('0x31')][_0x6449('0x1d')]);}return _0x3a52d7[_0x6449('0x4b')](_0x3d767c);}})[_0x6449('0x26')](function(_0x494096){if(_0x494096){return _0x494096?{'count':_0x381995,'rows':_0x494096}:null;}})[_0x6449('0x26')](respondWithResult(_0x85efce,null))[_0x6449('0x44')](handleError(_0x85efce,null));};exports[_0x6449('0x4f')]=function(_0x334a1f,_0x5f72b6,_0x30a021){var _0x36af0c={};var _0x4df73c={};var _0x2860bd;var _0x475b53;return db['SalesforceConfiguration'][_0x6449('0x4c')]({'where':{'id':_0x334a1f[_0x6449('0x46')]['id']}})[_0x6449('0x26')](handleEntityNotFound(_0x5f72b6,null))[_0x6449('0x26')](function(_0x303a02){if(_0x303a02){_0x2860bd=_0x303a02;_0x4df73c[_0x6449('0x30')]=_[_0x6449('0x32')](db[_0x6449('0x4d')][_0x6449('0x2e')]);_0x4df73c[_0x6449('0x31')]=_[_0x6449('0x32')](_0x334a1f[_0x6449('0x31')]);_0x4df73c[_0x6449('0x33')]=_[_0x6449('0x47')](_0x4df73c[_0x6449('0x30')],_0x4df73c[_0x6449('0x31')]);_0x36af0c[_0x6449('0x34')]=_[_0x6449('0x47')](_0x4df73c[_0x6449('0x30')],qs[_0x6449('0x35')](_0x334a1f['query'][_0x6449('0x35')]));_0x36af0c[_0x6449('0x34')]=_0x36af0c[_0x6449('0x34')][_0x6449('0x4e')]?_0x36af0c[_0x6449('0x34')]:_0x4df73c[_0x6449('0x30')];_0x36af0c['order']=qs[_0x6449('0x39')](_0x334a1f['query'][_0x6449('0x39')]);_0x36af0c[_0x6449('0x3a')]=qs[_0x6449('0x33')](_[_0x6449('0x3b')](_0x334a1f[_0x6449('0x31')],_0x4df73c[_0x6449('0x33')]));if(_0x334a1f[_0x6449('0x31')][_0x6449('0x3c')]){_0x36af0c[_0x6449('0x3a')]=_[_0x6449('0x3d')](_0x36af0c['where'],{'$or':_[_0x6449('0x2d')](_0x36af0c[_0x6449('0x34')],function(_0x46003e){var _0xf8ad54={};_0xf8ad54[_0x46003e]={'$like':'%'+_0x334a1f[_0x6449('0x31')][_0x6449('0x3c')]+'%'};return _0xf8ad54;})});}_0x36af0c=_[_0x6449('0x3d')]({},_0x36af0c,_0x334a1f[_0x6449('0x3f')]);return _0x2860bd[_0x6449('0x4f')](_0x36af0c);}})[_0x6449('0x26')](function(_0x378912){if(_0x378912){_0x475b53=_0x378912[_0x6449('0x4e')];if(!_0x334a1f[_0x6449('0x31')][_0x6449('0x36')](_0x6449('0x37'))){_0x36af0c[_0x6449('0x1e')]=qs['limit'](_0x334a1f['query'][_0x6449('0x1e')]);_0x36af0c['offset']=qs[_0x6449('0x1d')](_0x334a1f['query'][_0x6449('0x1d')]);}return _0x2860bd[_0x6449('0x4f')](_0x36af0c);}})[_0x6449('0x26')](function(_0x359a67){if(_0x359a67){return _0x359a67?{'count':_0x475b53,'rows':_0x359a67}:null;}})[_0x6449('0x26')](respondWithResult(_0x5f72b6,null))[_0x6449('0x44')](handleError(_0x5f72b6,null));};exports[_0x6449('0x50')]=function(_0x2f2ba6,_0x4caaab,_0x5d207a){var _0x4eb897={};var _0x5281c6={};var _0x513854;var _0x36376f;return db['SalesforceConfiguration'][_0x6449('0x4c')]({'where':{'id':_0x2f2ba6[_0x6449('0x46')]['id']}})[_0x6449('0x26')](handleEntityNotFound(_0x4caaab,null))['then'](function(_0x5765d7){if(_0x5765d7){_0x513854=_0x5765d7;_0x5281c6[_0x6449('0x30')]=_['keys'](db[_0x6449('0x4d')][_0x6449('0x2e')]);_0x5281c6[_0x6449('0x31')]=_[_0x6449('0x32')](_0x2f2ba6[_0x6449('0x31')]);_0x5281c6[_0x6449('0x33')]=_[_0x6449('0x47')](_0x5281c6['model'],_0x5281c6[_0x6449('0x31')]);_0x4eb897[_0x6449('0x34')]=_[_0x6449('0x47')](_0x5281c6['model'],qs[_0x6449('0x35')](_0x2f2ba6['query'][_0x6449('0x35')]));_0x4eb897[_0x6449('0x34')]=_0x4eb897[_0x6449('0x34')][_0x6449('0x4e')]?_0x4eb897['attributes']:_0x5281c6['model'];_0x4eb897[_0x6449('0x38')]=qs[_0x6449('0x39')](_0x2f2ba6[_0x6449('0x31')][_0x6449('0x39')]);_0x4eb897[_0x6449('0x3a')]=qs[_0x6449('0x33')](_[_0x6449('0x3b')](_0x2f2ba6['query'],_0x5281c6[_0x6449('0x33')]));if(_0x2f2ba6[_0x6449('0x31')][_0x6449('0x3c')]){_0x4eb897['where']=_[_0x6449('0x3d')](_0x4eb897['where'],{'$or':_[_0x6449('0x2d')](_0x4eb897[_0x6449('0x34')],function(_0x1dabcf){var _0x524302={};_0x524302[_0x1dabcf]={'$like':'%'+_0x2f2ba6['query'][_0x6449('0x3c')]+'%'};return _0x524302;})});}_0x4eb897=_['merge']({},_0x4eb897,_0x2f2ba6['options']);return _0x513854['getDescriptions'](_0x4eb897);}})[_0x6449('0x26')](function(_0x10281e){if(_0x10281e){_0x36376f=_0x10281e[_0x6449('0x4e')];if(!_0x2f2ba6['query'][_0x6449('0x36')]('nolimit')){_0x4eb897[_0x6449('0x1e')]=qs['limit'](_0x2f2ba6[_0x6449('0x31')][_0x6449('0x1e')]);_0x4eb897[_0x6449('0x1d')]=qs['offset'](_0x2f2ba6[_0x6449('0x31')][_0x6449('0x1d')]);}return _0x513854[_0x6449('0x50')](_0x4eb897);}})['then'](function(_0x62bd0b){if(_0x62bd0b){return _0x62bd0b?{'count':_0x36376f,'rows':_0x62bd0b}:null;}})[_0x6449('0x26')](respondWithResult(_0x4caaab,null))['catch'](handleError(_0x4caaab,null));};