ab508f4197fd0d608dcd6935c5f9e2f3ced8c519
[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 _0x7113=['map','SalesforceConfiguration','rawAttributes','fieldName','type','key','model','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','options','includeAll','findAll','rows','catch','show','include','body','update','find','params','getFields','findOne','SalesforceField','getSubjects','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','ejs','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','sendStatus','status','json','offset','undefined','count','limit','set','apply','save','then','destroy','end','error','stack','name','send','index'];(function(_0x52af0b,_0x580c97){var _0x40ed35=function(_0x545038){while(--_0x545038){_0x52af0b['push'](_0x52af0b['shift']());}};_0x40ed35(++_0x580c97);}(_0x7113,0xc4));var _0x3711=function(_0x324d9f,_0x6b19e5){_0x324d9f=_0x324d9f-0x0;var _0x489dd8=_0x7113[_0x324d9f];return _0x489dd8;};'use strict';var emlformat=require(_0x3711('0x0'));var rimraf=require(_0x3711('0x1'));var zipdir=require(_0x3711('0x2'));var jsonpatch=require(_0x3711('0x3'));var rp=require(_0x3711('0x4'));var moment=require('moment');var BPromise=require(_0x3711('0x5'));var Mustache=require(_0x3711('0x6'));var util=require(_0x3711('0x7'));var path=require('path');var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x3711('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x3711('0x9'));var squel=require('squel');var crypto=require(_0x3711('0xa'));var jsforce=require(_0x3711('0xb'));var deskjs=require(_0x3711('0xc'));var toCsv=require('to-csv');var querystring=require(_0x3711('0xd'));var Papa=require(_0x3711('0xe'));var Redis=require(_0x3711('0xf'));var authService=require('../../components/auth/service');var qs=require(_0x3711('0x10'));var as=require(_0x3711('0x11'));var hardwareService=require(_0x3711('0x12'));var logger=require(_0x3711('0x13'))(_0x3711('0x14'));var utils=require('../../config/utils');var config=require(_0x3711('0x15'));var licenseUtil=require('../../config/license/util');var db=require(_0x3711('0x16'))['db'];function respondWithStatusCode(_0x9d49da,_0x522052){_0x522052=_0x522052||0xcc;return function(_0x31d71a){if(_0x31d71a){return _0x9d49da[_0x3711('0x17')](_0x522052);}return _0x9d49da[_0x3711('0x18')](_0x522052)['end']();};}function respondWithResult(_0x3cf651,_0x2055a7){_0x2055a7=_0x2055a7||0xc8;return function(_0x32c0f7){if(_0x32c0f7){return _0x3cf651[_0x3711('0x18')](_0x2055a7)[_0x3711('0x19')](_0x32c0f7);}};}function respondWithFilteredResult(_0x2b88b4,_0x5d7cfc){return function(_0x530ffd){if(_0x530ffd){var _0x9d9d0a=typeof _0x5d7cfc[_0x3711('0x1a')]===_0x3711('0x1b')&&typeof _0x5d7cfc['limit']==='undefined';var _0x6d9603=_0x530ffd[_0x3711('0x1c')];var _0x119944=_0x9d9d0a?0x0:_0x5d7cfc[_0x3711('0x1a')];var _0xb8e7c2=_0x9d9d0a?_0x530ffd[_0x3711('0x1c')]:_0x5d7cfc[_0x3711('0x1a')]+_0x5d7cfc[_0x3711('0x1d')];var _0x4463a1;if(_0xb8e7c2>=_0x6d9603){_0xb8e7c2=_0x6d9603;_0x4463a1=0xc8;}else{_0x4463a1=0xce;}_0x2b88b4[_0x3711('0x18')](_0x4463a1);return _0x2b88b4[_0x3711('0x1e')]('Content-Range',_0x119944+'-'+_0xb8e7c2+'/'+_0x6d9603)[_0x3711('0x19')](_0x530ffd);}return null;};}function patchUpdates(_0x30cc28){return function(_0x40bc2a){try{jsonpatch[_0x3711('0x1f')](_0x40bc2a,_0x30cc28,!![]);}catch(_0x2e4468){return BPromise['reject'](_0x2e4468);}return _0x40bc2a[_0x3711('0x20')]();};}function saveUpdates(_0x287247,_0x6fd86a){return function(_0x39c37b){if(_0x39c37b){return _0x39c37b['update'](_0x287247)[_0x3711('0x21')](function(_0x3c7796){return _0x3c7796;});}return null;};}function removeEntity(_0x2c4676,_0x42fe62){return function(_0x442d50){if(_0x442d50){return _0x442d50[_0x3711('0x22')]()[_0x3711('0x21')](function(){_0x2c4676[_0x3711('0x18')](0xcc)[_0x3711('0x23')]();});}};}function handleEntityNotFound(_0x186fc1,_0x76880b){return function(_0x4abba3){if(!_0x4abba3){_0x186fc1[_0x3711('0x17')](0x194);}return _0x4abba3;};}function handleError(_0x4f40ee,_0x34af2c){_0x34af2c=_0x34af2c||0x1f4;return function(_0x3fb0d7){logger[_0x3711('0x24')](_0x3fb0d7[_0x3711('0x25')]);if(_0x3fb0d7[_0x3711('0x26')]){delete _0x3fb0d7[_0x3711('0x26')];}_0x4f40ee[_0x3711('0x18')](_0x34af2c)[_0x3711('0x27')](_0x3fb0d7);};}exports[_0x3711('0x28')]=function(_0x4a8503,_0x4ed3e7){var _0x5e7059={},_0xcd3c6a={},_0x41f956={'count':0x0,'rows':[]};var _0x19ee88=_[_0x3711('0x29')](db[_0x3711('0x2a')][_0x3711('0x2b')],function(_0x824aa8){return{'name':_0x824aa8[_0x3711('0x2c')],'type':_0x824aa8[_0x3711('0x2d')][_0x3711('0x2e')]};});_0xcd3c6a[_0x3711('0x2f')]=_[_0x3711('0x29')](_0x19ee88,_0x3711('0x26'));_0xcd3c6a['query']=_[_0x3711('0x30')](_0x4a8503[_0x3711('0x31')]);_0xcd3c6a[_0x3711('0x32')]=_[_0x3711('0x33')](_0xcd3c6a[_0x3711('0x2f')],_0xcd3c6a[_0x3711('0x31')]);_0x5e7059[_0x3711('0x34')]=_[_0x3711('0x33')](_0xcd3c6a['model'],qs[_0x3711('0x35')](_0x4a8503[_0x3711('0x31')][_0x3711('0x35')]));_0x5e7059[_0x3711('0x34')]=_0x5e7059[_0x3711('0x34')][_0x3711('0x36')]?_0x5e7059[_0x3711('0x34')]:_0xcd3c6a[_0x3711('0x2f')];if(!_0x4a8503['query'][_0x3711('0x37')](_0x3711('0x38'))){_0x5e7059['limit']=qs['limit'](_0x4a8503[_0x3711('0x31')]['limit']);_0x5e7059[_0x3711('0x1a')]=qs['offset'](_0x4a8503[_0x3711('0x31')][_0x3711('0x1a')]);}_0x5e7059[_0x3711('0x39')]=qs[_0x3711('0x3a')](_0x4a8503[_0x3711('0x31')][_0x3711('0x3a')]);_0x5e7059[_0x3711('0x3b')]=qs['filters'](_[_0x3711('0x3c')](_0x4a8503['query'],_0xcd3c6a[_0x3711('0x32')]),_0x19ee88);if(_0x4a8503[_0x3711('0x31')][_0x3711('0x3d')]){_0x5e7059[_0x3711('0x3b')]=_[_0x3711('0x3e')](_0x5e7059[_0x3711('0x3b')],{'$or':_[_0x3711('0x29')](_0x19ee88,function(_0x4e5fbe){if(_0x4e5fbe[_0x3711('0x2d')]!=='VIRTUAL'){var _0x4a935c={};_0x4a935c[_0x4e5fbe[_0x3711('0x26')]]={'$like':'%'+_0x4a8503['query'][_0x3711('0x3d')]+'%'};return _0x4a935c;}})});}_0x5e7059=_['merge']({},_0x5e7059,_0x4a8503[_0x3711('0x3f')]);var _0x1192e8={'where':_0x5e7059[_0x3711('0x3b')]};return db[_0x3711('0x2a')][_0x3711('0x1c')](_0x1192e8)['then'](function(_0xb1b7ed){_0x41f956[_0x3711('0x1c')]=_0xb1b7ed;if(_0x4a8503[_0x3711('0x31')][_0x3711('0x40')]){_0x5e7059['include']=[{'all':!![]}];}return db[_0x3711('0x2a')][_0x3711('0x41')](_0x5e7059);})[_0x3711('0x21')](function(_0x6b89ed){_0x41f956[_0x3711('0x42')]=_0x6b89ed;return _0x41f956;})['then'](respondWithFilteredResult(_0x4ed3e7,_0x5e7059))[_0x3711('0x43')](handleError(_0x4ed3e7,null));};exports[_0x3711('0x44')]=function(_0x86cb32,_0x2e3976){var _0xcf5820={'raw':![],'where':{'id':_0x86cb32['params']['id']}},_0x14a9b5={};_0x14a9b5[_0x3711('0x2f')]=_[_0x3711('0x30')](db[_0x3711('0x2a')][_0x3711('0x2b')]);_0x14a9b5[_0x3711('0x31')]=_[_0x3711('0x30')](_0x86cb32[_0x3711('0x31')]);_0x14a9b5[_0x3711('0x32')]=_[_0x3711('0x33')](_0x14a9b5['model'],_0x14a9b5[_0x3711('0x31')]);_0xcf5820['attributes']=_[_0x3711('0x33')](_0x14a9b5['model'],qs['fields'](_0x86cb32['query'][_0x3711('0x35')]));_0xcf5820[_0x3711('0x34')]=_0xcf5820[_0x3711('0x34')][_0x3711('0x36')]?_0xcf5820[_0x3711('0x34')]:_0x14a9b5[_0x3711('0x2f')];if(_0x86cb32[_0x3711('0x31')]['includeAll']){_0xcf5820[_0x3711('0x45')]=[{'all':!![]}];}_0xcf5820=_[_0x3711('0x3e')]({},_0xcf5820,_0x86cb32[_0x3711('0x3f')]);return db[_0x3711('0x2a')]['find'](_0xcf5820)[_0x3711('0x21')](handleEntityNotFound(_0x2e3976,null))['then'](respondWithResult(_0x2e3976,null))[_0x3711('0x43')](handleError(_0x2e3976,null));};exports['create']=function(_0x2e2b14,_0x3171fe){return db[_0x3711('0x2a')]['create'](_0x2e2b14[_0x3711('0x46')],{})[_0x3711('0x21')](respondWithResult(_0x3171fe,0xc9))[_0x3711('0x43')](handleError(_0x3171fe,null));};exports[_0x3711('0x47')]=function(_0x1f041a,_0x2c5981){if(_0x1f041a[_0x3711('0x46')]['id']){delete _0x1f041a[_0x3711('0x46')]['id'];}return db[_0x3711('0x2a')][_0x3711('0x48')]({'where':{'id':_0x1f041a[_0x3711('0x49')]['id']}})['then'](handleEntityNotFound(_0x2c5981,null))['then'](saveUpdates(_0x1f041a[_0x3711('0x46')],null))[_0x3711('0x21')](respondWithResult(_0x2c5981,null))[_0x3711('0x43')](handleError(_0x2c5981,null));};exports['destroy']=function(_0xc3ed8d,_0xcf4484){return db[_0x3711('0x2a')][_0x3711('0x48')]({'where':{'id':_0xc3ed8d[_0x3711('0x49')]['id']}})['then'](handleEntityNotFound(_0xcf4484,null))[_0x3711('0x21')](removeEntity(_0xcf4484,null))[_0x3711('0x43')](handleError(_0xcf4484,null));};exports[_0x3711('0x4a')]=function(_0xfd23ad,_0x46d794,_0x223d75){var _0x2ed95c={};var _0x4b71e1={};var _0x39cc0c;var _0x2bd5d4;return db[_0x3711('0x2a')][_0x3711('0x4b')]({'where':{'id':_0xfd23ad[_0x3711('0x49')]['id']}})['then'](handleEntityNotFound(_0x46d794,null))[_0x3711('0x21')](function(_0x54c737){if(_0x54c737){_0x39cc0c=_0x54c737;_0x4b71e1['model']=_[_0x3711('0x30')](db[_0x3711('0x4c')][_0x3711('0x2b')]);_0x4b71e1['query']=_[_0x3711('0x30')](_0xfd23ad[_0x3711('0x31')]);_0x4b71e1[_0x3711('0x32')]=_[_0x3711('0x33')](_0x4b71e1['model'],_0x4b71e1[_0x3711('0x31')]);_0x2ed95c[_0x3711('0x34')]=_[_0x3711('0x33')](_0x4b71e1[_0x3711('0x2f')],qs[_0x3711('0x35')](_0xfd23ad[_0x3711('0x31')]['fields']));_0x2ed95c['attributes']=_0x2ed95c[_0x3711('0x34')][_0x3711('0x36')]?_0x2ed95c[_0x3711('0x34')]:_0x4b71e1[_0x3711('0x2f')];_0x2ed95c[_0x3711('0x39')]=qs[_0x3711('0x3a')](_0xfd23ad['query'][_0x3711('0x3a')]);_0x2ed95c['where']=qs[_0x3711('0x32')](_['pick'](_0xfd23ad[_0x3711('0x31')],_0x4b71e1[_0x3711('0x32')]));if(_0xfd23ad[_0x3711('0x31')][_0x3711('0x3d')]){_0x2ed95c['where']=_[_0x3711('0x3e')](_0x2ed95c[_0x3711('0x3b')],{'$or':_[_0x3711('0x29')](_0x2ed95c['attributes'],function(_0x3ace49){var _0x2b6263={};_0x2b6263[_0x3ace49]={'$like':'%'+_0xfd23ad['query'][_0x3711('0x3d')]+'%'};return _0x2b6263;})});}_0x2ed95c=_['merge']({},_0x2ed95c,_0xfd23ad['options']);return _0x39cc0c[_0x3711('0x4a')](_0x2ed95c);}})[_0x3711('0x21')](function(_0x48f138){if(_0x48f138){_0x2bd5d4=_0x48f138[_0x3711('0x36')];if(!_0xfd23ad[_0x3711('0x31')][_0x3711('0x37')](_0x3711('0x38'))){_0x2ed95c[_0x3711('0x1d')]=qs[_0x3711('0x1d')](_0xfd23ad[_0x3711('0x31')][_0x3711('0x1d')]);_0x2ed95c['offset']=qs['offset'](_0xfd23ad[_0x3711('0x31')][_0x3711('0x1a')]);}return _0x39cc0c['getFields'](_0x2ed95c);}})['then'](function(_0x520210){if(_0x520210){return _0x520210?{'count':_0x2bd5d4,'rows':_0x520210}:null;}})[_0x3711('0x21')](respondWithResult(_0x46d794,null))[_0x3711('0x43')](handleError(_0x46d794,null));};exports['getSubjects']=function(_0x57b70b,_0x450e01,_0x3dc755){var _0xd4eac1={};var _0x4f3202={};var _0x575daf;var _0x15e794;return db[_0x3711('0x2a')][_0x3711('0x4b')]({'where':{'id':_0x57b70b[_0x3711('0x49')]['id']}})[_0x3711('0x21')](handleEntityNotFound(_0x450e01,null))[_0x3711('0x21')](function(_0xc3c01e){if(_0xc3c01e){_0x575daf=_0xc3c01e;_0x4f3202[_0x3711('0x2f')]=_['keys'](db['SalesforceField'][_0x3711('0x2b')]);_0x4f3202[_0x3711('0x31')]=_[_0x3711('0x30')](_0x57b70b[_0x3711('0x31')]);_0x4f3202[_0x3711('0x32')]=_[_0x3711('0x33')](_0x4f3202[_0x3711('0x2f')],_0x4f3202[_0x3711('0x31')]);_0xd4eac1[_0x3711('0x34')]=_[_0x3711('0x33')](_0x4f3202[_0x3711('0x2f')],qs[_0x3711('0x35')](_0x57b70b['query'][_0x3711('0x35')]));_0xd4eac1[_0x3711('0x34')]=_0xd4eac1[_0x3711('0x34')]['length']?_0xd4eac1[_0x3711('0x34')]:_0x4f3202[_0x3711('0x2f')];_0xd4eac1[_0x3711('0x39')]=qs['sort'](_0x57b70b['query'][_0x3711('0x3a')]);_0xd4eac1[_0x3711('0x3b')]=qs[_0x3711('0x32')](_[_0x3711('0x3c')](_0x57b70b[_0x3711('0x31')],_0x4f3202[_0x3711('0x32')]));if(_0x57b70b[_0x3711('0x31')]['filter']){_0xd4eac1[_0x3711('0x3b')]=_[_0x3711('0x3e')](_0xd4eac1[_0x3711('0x3b')],{'$or':_[_0x3711('0x29')](_0xd4eac1[_0x3711('0x34')],function(_0x3ddc33){var _0x325a62={};_0x325a62[_0x3ddc33]={'$like':'%'+_0x57b70b[_0x3711('0x31')]['filter']+'%'};return _0x325a62;})});}_0xd4eac1=_['merge']({},_0xd4eac1,_0x57b70b[_0x3711('0x3f')]);return _0x575daf[_0x3711('0x4d')](_0xd4eac1);}})['then'](function(_0x11b477){if(_0x11b477){_0x15e794=_0x11b477['length'];if(!_0x57b70b['query'][_0x3711('0x37')]('nolimit')){_0xd4eac1[_0x3711('0x1d')]=qs[_0x3711('0x1d')](_0x57b70b[_0x3711('0x31')][_0x3711('0x1d')]);_0xd4eac1[_0x3711('0x1a')]=qs[_0x3711('0x1a')](_0x57b70b[_0x3711('0x31')][_0x3711('0x1a')]);}return _0x575daf[_0x3711('0x4d')](_0xd4eac1);}})['then'](function(_0x2de6ce){if(_0x2de6ce){return _0x2de6ce?{'count':_0x15e794,'rows':_0x2de6ce}:null;}})[_0x3711('0x21')](respondWithResult(_0x450e01,null))[_0x3711('0x43')](handleError(_0x450e01,null));};exports['getDescriptions']=function(_0x17bec9,_0x4b722b,_0x32cc87){var _0xd55cb3={};var _0x1e62df={};var _0x1dd80b;var _0x4be8b8;return db[_0x3711('0x2a')][_0x3711('0x4b')]({'where':{'id':_0x17bec9['params']['id']}})['then'](handleEntityNotFound(_0x4b722b,null))['then'](function(_0xfa4a61){if(_0xfa4a61){_0x1dd80b=_0xfa4a61;_0x1e62df['model']=_[_0x3711('0x30')](db[_0x3711('0x4c')][_0x3711('0x2b')]);_0x1e62df[_0x3711('0x31')]=_['keys'](_0x17bec9[_0x3711('0x31')]);_0x1e62df[_0x3711('0x32')]=_[_0x3711('0x33')](_0x1e62df[_0x3711('0x2f')],_0x1e62df[_0x3711('0x31')]);_0xd55cb3[_0x3711('0x34')]=_[_0x3711('0x33')](_0x1e62df[_0x3711('0x2f')],qs[_0x3711('0x35')](_0x17bec9[_0x3711('0x31')][_0x3711('0x35')]));_0xd55cb3['attributes']=_0xd55cb3[_0x3711('0x34')]['length']?_0xd55cb3[_0x3711('0x34')]:_0x1e62df['model'];_0xd55cb3[_0x3711('0x39')]=qs[_0x3711('0x3a')](_0x17bec9[_0x3711('0x31')][_0x3711('0x3a')]);_0xd55cb3['where']=qs[_0x3711('0x32')](_['pick'](_0x17bec9[_0x3711('0x31')],_0x1e62df['filters']));if(_0x17bec9[_0x3711('0x31')][_0x3711('0x3d')]){_0xd55cb3[_0x3711('0x3b')]=_['merge'](_0xd55cb3[_0x3711('0x3b')],{'$or':_[_0x3711('0x29')](_0xd55cb3[_0x3711('0x34')],function(_0x4f7565){var _0x2976a5={};_0x2976a5[_0x4f7565]={'$like':'%'+_0x17bec9[_0x3711('0x31')][_0x3711('0x3d')]+'%'};return _0x2976a5;})});}_0xd55cb3=_[_0x3711('0x3e')]({},_0xd55cb3,_0x17bec9['options']);return _0x1dd80b['getDescriptions'](_0xd55cb3);}})[_0x3711('0x21')](function(_0x5e0efd){if(_0x5e0efd){_0x4be8b8=_0x5e0efd[_0x3711('0x36')];if(!_0x17bec9[_0x3711('0x31')][_0x3711('0x37')](_0x3711('0x38'))){_0xd55cb3[_0x3711('0x1d')]=qs[_0x3711('0x1d')](_0x17bec9[_0x3711('0x31')]['limit']);_0xd55cb3[_0x3711('0x1a')]=qs[_0x3711('0x1a')](_0x17bec9[_0x3711('0x31')][_0x3711('0x1a')]);}return _0x1dd80b[_0x3711('0x4e')](_0xd55cb3);}})[_0x3711('0x21')](function(_0x1c8f34){if(_0x1c8f34){return _0x1c8f34?{'count':_0x4be8b8,'rows':_0x1c8f34}:null;}})[_0x3711('0x21')](respondWithResult(_0x4b722b,null))[_0x3711('0x43')](handleError(_0x4b722b,null));};