Built motion from commit 9d0783e6.|2.6.13
[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 _0x269f=['getDescriptions','eml-format','rimraf','zip-dir','request-promise','bluebird','mustache','util','path','sox','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','sendStatus','status','end','json','offset','undefined','limit','count','set','apply','reject','save','update','then','destroy','error','stack','name','map','SalesforceConfiguration','rawAttributes','fieldName','type','query','keys','filters','model','attributes','intersection','fields','nolimit','sort','where','pick','filter','merge','VIRTUAL','includeAll','include','rows','catch','show','length','options','find','create','body','params','getFields','SalesforceField','order','hasOwnProperty','findOne','getSubjects'];(function(_0x47a6f7,_0x1c1c9e){var _0x575ac0=function(_0x241a47){while(--_0x241a47){_0x47a6f7['push'](_0x47a6f7['shift']());}};_0x575ac0(++_0x1c1c9e);}(_0x269f,0xee));var _0xf269=function(_0x4ae6ef,_0xc2af80){_0x4ae6ef=_0x4ae6ef-0x0;var _0x3cbb4e=_0x269f[_0x4ae6ef];return _0x3cbb4e;};'use strict';var emlformat=require(_0xf269('0x0'));var rimraf=require(_0xf269('0x1'));var zipdir=require(_0xf269('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xf269('0x3'));var moment=require('moment');var BPromise=require(_0xf269('0x4'));var Mustache=require(_0xf269('0x5'));var util=require(_0xf269('0x6'));var path=require(_0xf269('0x7'));var sox=require(_0xf269('0x8'));var csv=require('to-csv');var ejs=require(_0xf269('0x9'));var fs=require('fs');var fs_extra=require(_0xf269('0xa'));var _=require(_0xf269('0xb'));var squel=require(_0xf269('0xc'));var crypto=require(_0xf269('0xd'));var jsforce=require(_0xf269('0xe'));var deskjs=require(_0xf269('0xf'));var toCsv=require('to-csv');var querystring=require(_0xf269('0x10'));var Papa=require(_0xf269('0x11'));var Redis=require(_0xf269('0x12'));var authService=require(_0xf269('0x13'));var qs=require(_0xf269('0x14'));var as=require(_0xf269('0x15'));var hardwareService=require(_0xf269('0x16'));var logger=require(_0xf269('0x17'))('api');var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x194d06,_0x36504a){_0x36504a=_0x36504a||0xcc;return function(_0x396a75){if(_0x396a75){return _0x194d06[_0xf269('0x18')](_0x36504a);}return _0x194d06[_0xf269('0x19')](_0x36504a)[_0xf269('0x1a')]();};}function respondWithResult(_0x2cf3f2,_0x34912d){_0x34912d=_0x34912d||0xc8;return function(_0x3e6198){if(_0x3e6198){return _0x2cf3f2[_0xf269('0x19')](_0x34912d)[_0xf269('0x1b')](_0x3e6198);}};}function respondWithFilteredResult(_0x2bdeb9,_0xfc8d78){return function(_0x2a240a){if(_0x2a240a){var _0x31201c=typeof _0xfc8d78[_0xf269('0x1c')]===_0xf269('0x1d')&&typeof _0xfc8d78[_0xf269('0x1e')]===_0xf269('0x1d');var _0x2910d0=_0x2a240a[_0xf269('0x1f')];var _0x1333ce=_0x31201c?0x0:_0xfc8d78['offset'];var _0x60f3b0=_0x31201c?_0x2a240a[_0xf269('0x1f')]:_0xfc8d78['offset']+_0xfc8d78['limit'];var _0x3a7f06;if(_0x60f3b0>=_0x2910d0){_0x60f3b0=_0x2910d0;_0x3a7f06=0xc8;}else{_0x3a7f06=0xce;}_0x2bdeb9['status'](_0x3a7f06);return _0x2bdeb9[_0xf269('0x20')]('Content-Range',_0x1333ce+'-'+_0x60f3b0+'/'+_0x2910d0)['json'](_0x2a240a);}return null;};}function patchUpdates(_0x4924d4){return function(_0x1d1847){try{jsonpatch[_0xf269('0x21')](_0x1d1847,_0x4924d4,!![]);}catch(_0x4cedf4){return BPromise[_0xf269('0x22')](_0x4cedf4);}return _0x1d1847[_0xf269('0x23')]();};}function saveUpdates(_0x5795cc,_0x9c9c7a){return function(_0x328973){if(_0x328973){return _0x328973[_0xf269('0x24')](_0x5795cc)[_0xf269('0x25')](function(_0x18f0db){return _0x18f0db;});}return null;};}function removeEntity(_0x30d9b0,_0x4d9776){return function(_0x9148c5){if(_0x9148c5){return _0x9148c5[_0xf269('0x26')]()['then'](function(){_0x30d9b0[_0xf269('0x19')](0xcc)[_0xf269('0x1a')]();});}};}function handleEntityNotFound(_0x100ce8,_0x3ac6fc){return function(_0x21e13f){if(!_0x21e13f){_0x100ce8['sendStatus'](0x194);}return _0x21e13f;};}function handleError(_0x523477,_0x9f558d){_0x9f558d=_0x9f558d||0x1f4;return function(_0x4087ef){logger[_0xf269('0x27')](_0x4087ef[_0xf269('0x28')]);if(_0x4087ef[_0xf269('0x29')]){delete _0x4087ef[_0xf269('0x29')];}_0x523477[_0xf269('0x19')](_0x9f558d)['send'](_0x4087ef);};}exports['index']=function(_0xeac015,_0x3e9ab9){var _0x261ccf={},_0x43d6b8={},_0x2ad8c3={'count':0x0,'rows':[]};var _0x3441df=_[_0xf269('0x2a')](db[_0xf269('0x2b')][_0xf269('0x2c')],function(_0x35c03f){return{'name':_0x35c03f[_0xf269('0x2d')],'type':_0x35c03f[_0xf269('0x2e')]['key']};});_0x43d6b8['model']=_[_0xf269('0x2a')](_0x3441df,'name');_0x43d6b8[_0xf269('0x2f')]=_[_0xf269('0x30')](_0xeac015[_0xf269('0x2f')]);_0x43d6b8[_0xf269('0x31')]=_['intersection'](_0x43d6b8[_0xf269('0x32')],_0x43d6b8[_0xf269('0x2f')]);_0x261ccf[_0xf269('0x33')]=_[_0xf269('0x34')](_0x43d6b8[_0xf269('0x32')],qs[_0xf269('0x35')](_0xeac015[_0xf269('0x2f')][_0xf269('0x35')]));_0x261ccf[_0xf269('0x33')]=_0x261ccf[_0xf269('0x33')]['length']?_0x261ccf[_0xf269('0x33')]:_0x43d6b8[_0xf269('0x32')];if(!_0xeac015['query']['hasOwnProperty'](_0xf269('0x36'))){_0x261ccf[_0xf269('0x1e')]=qs['limit'](_0xeac015[_0xf269('0x2f')][_0xf269('0x1e')]);_0x261ccf['offset']=qs[_0xf269('0x1c')](_0xeac015[_0xf269('0x2f')][_0xf269('0x1c')]);}_0x261ccf['order']=qs[_0xf269('0x37')](_0xeac015[_0xf269('0x2f')][_0xf269('0x37')]);_0x261ccf[_0xf269('0x38')]=qs[_0xf269('0x31')](_[_0xf269('0x39')](_0xeac015['query'],_0x43d6b8[_0xf269('0x31')]),_0x3441df);if(_0xeac015[_0xf269('0x2f')][_0xf269('0x3a')]){_0x261ccf[_0xf269('0x38')]=_[_0xf269('0x3b')](_0x261ccf['where'],{'$or':_[_0xf269('0x2a')](_0x3441df,function(_0x22d0f2){if(_0x22d0f2[_0xf269('0x2e')]!==_0xf269('0x3c')){var _0xcae240={};_0xcae240[_0x22d0f2[_0xf269('0x29')]]={'$like':'%'+_0xeac015['query'][_0xf269('0x3a')]+'%'};return _0xcae240;}})});}_0x261ccf=_[_0xf269('0x3b')]({},_0x261ccf,_0xeac015['options']);var _0x185a1f={'where':_0x261ccf[_0xf269('0x38')]};return db['SalesforceConfiguration'][_0xf269('0x1f')](_0x185a1f)[_0xf269('0x25')](function(_0x323f23){_0x2ad8c3[_0xf269('0x1f')]=_0x323f23;if(_0xeac015[_0xf269('0x2f')][_0xf269('0x3d')]){_0x261ccf[_0xf269('0x3e')]=[{'all':!![]}];}return db[_0xf269('0x2b')]['findAll'](_0x261ccf);})[_0xf269('0x25')](function(_0x2a1540){_0x2ad8c3[_0xf269('0x3f')]=_0x2a1540;return _0x2ad8c3;})[_0xf269('0x25')](respondWithFilteredResult(_0x3e9ab9,_0x261ccf))[_0xf269('0x40')](handleError(_0x3e9ab9,null));};exports[_0xf269('0x41')]=function(_0x217f46,_0x4b9d3d){var _0x3610e2={'raw':![],'where':{'id':_0x217f46['params']['id']}},_0x34dd14={};_0x34dd14[_0xf269('0x32')]=_[_0xf269('0x30')](db[_0xf269('0x2b')]['rawAttributes']);_0x34dd14[_0xf269('0x2f')]=_[_0xf269('0x30')](_0x217f46[_0xf269('0x2f')]);_0x34dd14[_0xf269('0x31')]=_[_0xf269('0x34')](_0x34dd14[_0xf269('0x32')],_0x34dd14[_0xf269('0x2f')]);_0x3610e2[_0xf269('0x33')]=_[_0xf269('0x34')](_0x34dd14[_0xf269('0x32')],qs[_0xf269('0x35')](_0x217f46['query']['fields']));_0x3610e2[_0xf269('0x33')]=_0x3610e2[_0xf269('0x33')][_0xf269('0x42')]?_0x3610e2['attributes']:_0x34dd14[_0xf269('0x32')];if(_0x217f46[_0xf269('0x2f')][_0xf269('0x3d')]){_0x3610e2[_0xf269('0x3e')]=[{'all':!![]}];}_0x3610e2=_[_0xf269('0x3b')]({},_0x3610e2,_0x217f46[_0xf269('0x43')]);return db[_0xf269('0x2b')][_0xf269('0x44')](_0x3610e2)[_0xf269('0x25')](handleEntityNotFound(_0x4b9d3d,null))[_0xf269('0x25')](respondWithResult(_0x4b9d3d,null))[_0xf269('0x40')](handleError(_0x4b9d3d,null));};exports[_0xf269('0x45')]=function(_0x4f6c98,_0x5a4a59){return db[_0xf269('0x2b')][_0xf269('0x45')](_0x4f6c98[_0xf269('0x46')],{})[_0xf269('0x25')](respondWithResult(_0x5a4a59,0xc9))['catch'](handleError(_0x5a4a59,null));};exports['update']=function(_0x51aa47,_0x1f1a65){if(_0x51aa47['body']['id']){delete _0x51aa47[_0xf269('0x46')]['id'];}return db[_0xf269('0x2b')][_0xf269('0x44')]({'where':{'id':_0x51aa47[_0xf269('0x47')]['id']}})[_0xf269('0x25')](handleEntityNotFound(_0x1f1a65,null))[_0xf269('0x25')](saveUpdates(_0x51aa47[_0xf269('0x46')],null))['then'](respondWithResult(_0x1f1a65,null))[_0xf269('0x40')](handleError(_0x1f1a65,null));};exports[_0xf269('0x26')]=function(_0xf28d34,_0x9bb640){return db[_0xf269('0x2b')][_0xf269('0x44')]({'where':{'id':_0xf28d34[_0xf269('0x47')]['id']}})[_0xf269('0x25')](handleEntityNotFound(_0x9bb640,null))[_0xf269('0x25')](removeEntity(_0x9bb640,null))[_0xf269('0x40')](handleError(_0x9bb640,null));};exports[_0xf269('0x48')]=function(_0x288d32,_0x4abc3a,_0x39cb9c){var _0x3391a1={};var _0x57cd77={};var _0x2f9ea3;var _0x2f499b;return db['SalesforceConfiguration']['findOne']({'where':{'id':_0x288d32[_0xf269('0x47')]['id']}})['then'](handleEntityNotFound(_0x4abc3a,null))[_0xf269('0x25')](function(_0x4c7433){if(_0x4c7433){_0x2f9ea3=_0x4c7433;_0x57cd77[_0xf269('0x32')]=_['keys'](db[_0xf269('0x49')][_0xf269('0x2c')]);_0x57cd77[_0xf269('0x2f')]=_[_0xf269('0x30')](_0x288d32[_0xf269('0x2f')]);_0x57cd77[_0xf269('0x31')]=_[_0xf269('0x34')](_0x57cd77[_0xf269('0x32')],_0x57cd77[_0xf269('0x2f')]);_0x3391a1[_0xf269('0x33')]=_[_0xf269('0x34')](_0x57cd77[_0xf269('0x32')],qs[_0xf269('0x35')](_0x288d32[_0xf269('0x2f')][_0xf269('0x35')]));_0x3391a1[_0xf269('0x33')]=_0x3391a1[_0xf269('0x33')]['length']?_0x3391a1['attributes']:_0x57cd77[_0xf269('0x32')];_0x3391a1[_0xf269('0x4a')]=qs[_0xf269('0x37')](_0x288d32[_0xf269('0x2f')][_0xf269('0x37')]);_0x3391a1[_0xf269('0x38')]=qs['filters'](_['pick'](_0x288d32[_0xf269('0x2f')],_0x57cd77[_0xf269('0x31')]));if(_0x288d32[_0xf269('0x2f')][_0xf269('0x3a')]){_0x3391a1['where']=_[_0xf269('0x3b')](_0x3391a1[_0xf269('0x38')],{'$or':_['map'](_0x3391a1[_0xf269('0x33')],function(_0x195b87){var _0x2ede9e={};_0x2ede9e[_0x195b87]={'$like':'%'+_0x288d32['query'][_0xf269('0x3a')]+'%'};return _0x2ede9e;})});}_0x3391a1=_[_0xf269('0x3b')]({},_0x3391a1,_0x288d32['options']);return _0x2f9ea3[_0xf269('0x48')](_0x3391a1);}})[_0xf269('0x25')](function(_0x22ce0e){if(_0x22ce0e){_0x2f499b=_0x22ce0e['length'];if(!_0x288d32[_0xf269('0x2f')][_0xf269('0x4b')](_0xf269('0x36'))){_0x3391a1['limit']=qs[_0xf269('0x1e')](_0x288d32[_0xf269('0x2f')][_0xf269('0x1e')]);_0x3391a1['offset']=qs[_0xf269('0x1c')](_0x288d32[_0xf269('0x2f')][_0xf269('0x1c')]);}return _0x2f9ea3['getFields'](_0x3391a1);}})[_0xf269('0x25')](function(_0x457017){if(_0x457017){return _0x457017?{'count':_0x2f499b,'rows':_0x457017}:null;}})[_0xf269('0x25')](respondWithResult(_0x4abc3a,null))[_0xf269('0x40')](handleError(_0x4abc3a,null));};exports['getSubjects']=function(_0x52b5bc,_0x3ce151,_0x4f8f59){var _0x285257={};var _0x28f43c={};var _0x21c68e;var _0x58e36c;return db['SalesforceConfiguration'][_0xf269('0x4c')]({'where':{'id':_0x52b5bc[_0xf269('0x47')]['id']}})[_0xf269('0x25')](handleEntityNotFound(_0x3ce151,null))[_0xf269('0x25')](function(_0x379e6e){if(_0x379e6e){_0x21c68e=_0x379e6e;_0x28f43c[_0xf269('0x32')]=_[_0xf269('0x30')](db['SalesforceField'][_0xf269('0x2c')]);_0x28f43c[_0xf269('0x2f')]=_[_0xf269('0x30')](_0x52b5bc[_0xf269('0x2f')]);_0x28f43c[_0xf269('0x31')]=_[_0xf269('0x34')](_0x28f43c['model'],_0x28f43c['query']);_0x285257[_0xf269('0x33')]=_[_0xf269('0x34')](_0x28f43c[_0xf269('0x32')],qs['fields'](_0x52b5bc[_0xf269('0x2f')][_0xf269('0x35')]));_0x285257[_0xf269('0x33')]=_0x285257['attributes']['length']?_0x285257[_0xf269('0x33')]:_0x28f43c[_0xf269('0x32')];_0x285257['order']=qs[_0xf269('0x37')](_0x52b5bc[_0xf269('0x2f')][_0xf269('0x37')]);_0x285257[_0xf269('0x38')]=qs['filters'](_['pick'](_0x52b5bc[_0xf269('0x2f')],_0x28f43c[_0xf269('0x31')]));if(_0x52b5bc[_0xf269('0x2f')]['filter']){_0x285257['where']=_[_0xf269('0x3b')](_0x285257[_0xf269('0x38')],{'$or':_[_0xf269('0x2a')](_0x285257[_0xf269('0x33')],function(_0x275f42){var _0x171b6f={};_0x171b6f[_0x275f42]={'$like':'%'+_0x52b5bc['query'][_0xf269('0x3a')]+'%'};return _0x171b6f;})});}_0x285257=_[_0xf269('0x3b')]({},_0x285257,_0x52b5bc[_0xf269('0x43')]);return _0x21c68e[_0xf269('0x4d')](_0x285257);}})[_0xf269('0x25')](function(_0x463654){if(_0x463654){_0x58e36c=_0x463654[_0xf269('0x42')];if(!_0x52b5bc[_0xf269('0x2f')][_0xf269('0x4b')](_0xf269('0x36'))){_0x285257['limit']=qs[_0xf269('0x1e')](_0x52b5bc[_0xf269('0x2f')]['limit']);_0x285257[_0xf269('0x1c')]=qs[_0xf269('0x1c')](_0x52b5bc['query']['offset']);}return _0x21c68e[_0xf269('0x4d')](_0x285257);}})[_0xf269('0x25')](function(_0x442746){if(_0x442746){return _0x442746?{'count':_0x58e36c,'rows':_0x442746}:null;}})[_0xf269('0x25')](respondWithResult(_0x3ce151,null))[_0xf269('0x40')](handleError(_0x3ce151,null));};exports['getDescriptions']=function(_0x12153,_0x300633,_0x10a31a){var _0x5707e6={};var _0x407feb={};var _0x3f5082;var _0x4c7f06;return db[_0xf269('0x2b')]['findOne']({'where':{'id':_0x12153[_0xf269('0x47')]['id']}})[_0xf269('0x25')](handleEntityNotFound(_0x300633,null))['then'](function(_0x2de74a){if(_0x2de74a){_0x3f5082=_0x2de74a;_0x407feb[_0xf269('0x32')]=_[_0xf269('0x30')](db[_0xf269('0x49')][_0xf269('0x2c')]);_0x407feb[_0xf269('0x2f')]=_[_0xf269('0x30')](_0x12153[_0xf269('0x2f')]);_0x407feb['filters']=_[_0xf269('0x34')](_0x407feb[_0xf269('0x32')],_0x407feb['query']);_0x5707e6[_0xf269('0x33')]=_[_0xf269('0x34')](_0x407feb[_0xf269('0x32')],qs['fields'](_0x12153[_0xf269('0x2f')][_0xf269('0x35')]));_0x5707e6[_0xf269('0x33')]=_0x5707e6[_0xf269('0x33')]['length']?_0x5707e6[_0xf269('0x33')]:_0x407feb[_0xf269('0x32')];_0x5707e6[_0xf269('0x4a')]=qs[_0xf269('0x37')](_0x12153[_0xf269('0x2f')][_0xf269('0x37')]);_0x5707e6[_0xf269('0x38')]=qs[_0xf269('0x31')](_[_0xf269('0x39')](_0x12153[_0xf269('0x2f')],_0x407feb[_0xf269('0x31')]));if(_0x12153['query'][_0xf269('0x3a')]){_0x5707e6[_0xf269('0x38')]=_[_0xf269('0x3b')](_0x5707e6[_0xf269('0x38')],{'$or':_[_0xf269('0x2a')](_0x5707e6[_0xf269('0x33')],function(_0x3b3b03){var _0x33ce69={};_0x33ce69[_0x3b3b03]={'$like':'%'+_0x12153['query'][_0xf269('0x3a')]+'%'};return _0x33ce69;})});}_0x5707e6=_[_0xf269('0x3b')]({},_0x5707e6,_0x12153['options']);return _0x3f5082[_0xf269('0x4e')](_0x5707e6);}})[_0xf269('0x25')](function(_0x359f51){if(_0x359f51){_0x4c7f06=_0x359f51[_0xf269('0x42')];if(!_0x12153['query'][_0xf269('0x4b')](_0xf269('0x36'))){_0x5707e6[_0xf269('0x1e')]=qs['limit'](_0x12153[_0xf269('0x2f')][_0xf269('0x1e')]);_0x5707e6[_0xf269('0x1c')]=qs['offset'](_0x12153[_0xf269('0x2f')][_0xf269('0x1c')]);}return _0x3f5082[_0xf269('0x4e')](_0x5707e6);}})[_0xf269('0x25')](function(_0x80c741){if(_0x80c741){return _0x80c741?{'count':_0x4c7f06,'rows':_0x80c741}:null;}})[_0xf269('0x25')](respondWithResult(_0x300633,null))[_0xf269('0x40')](handleError(_0x300633,null));};