Built motion from commit bbec7235.|2.6.20
[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 _0x5643=['offset','undefined','limit','set','Content-Range','json','apply','reject','save','then','destroy','end','error','name','send','index','map','SalesforceConfiguration','rawAttributes','type','key','model','keys','query','filters','intersection','fields','attributes','length','hasOwnProperty','order','pick','filter','where','VIRTUAL','merge','count','include','findAll','rows','catch','options','find','create','body','update','params','SalesforceField','getFields','getSubjects','findOne','sort','getDescriptions','nolimit','moment','bluebird','mustache','util','sox','to-csv','fs-extra','crypto','jsforce','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status'];(function(_0x53ccf2,_0x13cb67){var _0x5a2964=function(_0x3b0514){while(--_0x3b0514){_0x53ccf2['push'](_0x53ccf2['shift']());}};_0x5a2964(++_0x13cb67);}(_0x5643,0x162));var _0x3564=function(_0x203b99,_0x1a7413){_0x203b99=_0x203b99-0x0;var _0x11d66d=_0x5643[_0x203b99];return _0x11d66d;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x3564('0x0'));var BPromise=require(_0x3564('0x1'));var Mustache=require(_0x3564('0x2'));var util=require(_0x3564('0x3'));var path=require('path');var sox=require(_0x3564('0x4'));var csv=require(_0x3564('0x5'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x3564('0x6'));var _=require('lodash');var squel=require('squel');var crypto=require(_0x3564('0x7'));var jsforce=require(_0x3564('0x8'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x3564('0x9'));var Papa=require('papaparse');var Redis=require(_0x3564('0xa'));var authService=require(_0x3564('0xb'));var qs=require(_0x3564('0xc'));var as=require(_0x3564('0xd'));var hardwareService=require(_0x3564('0xe'));var logger=require(_0x3564('0xf'))('api');var utils=require('../../config/utils');var config=require(_0x3564('0x10'));var licenseUtil=require(_0x3564('0x11'));var db=require(_0x3564('0x12'))['db'];function respondWithStatusCode(_0x37cc94,_0x1c8a7a){_0x1c8a7a=_0x1c8a7a||0xcc;return function(_0x37e721){if(_0x37e721){return _0x37cc94[_0x3564('0x13')](_0x1c8a7a);}return _0x37cc94[_0x3564('0x14')](_0x1c8a7a)['end']();};}function respondWithResult(_0x6e5003,_0x22d38d){_0x22d38d=_0x22d38d||0xc8;return function(_0x47103d){if(_0x47103d){return _0x6e5003[_0x3564('0x14')](_0x22d38d)['json'](_0x47103d);}};}function respondWithFilteredResult(_0x336686,_0x4f77f3){return function(_0x40bb71){if(_0x40bb71){var _0x365250=typeof _0x4f77f3[_0x3564('0x15')]===_0x3564('0x16')&&typeof _0x4f77f3['limit']===_0x3564('0x16');var _0x445a9e=_0x40bb71['count'];var _0xf7cb97=_0x365250?0x0:_0x4f77f3[_0x3564('0x15')];var _0xf5818d=_0x365250?_0x40bb71['count']:_0x4f77f3[_0x3564('0x15')]+_0x4f77f3[_0x3564('0x17')];var _0x1d26ea;if(_0xf5818d>=_0x445a9e){_0xf5818d=_0x445a9e;_0x1d26ea=0xc8;}else{_0x1d26ea=0xce;}_0x336686[_0x3564('0x14')](_0x1d26ea);return _0x336686[_0x3564('0x18')](_0x3564('0x19'),_0xf7cb97+'-'+_0xf5818d+'/'+_0x445a9e)[_0x3564('0x1a')](_0x40bb71);}return null;};}function patchUpdates(_0x585d44){return function(_0x1b75ee){try{jsonpatch[_0x3564('0x1b')](_0x1b75ee,_0x585d44,!![]);}catch(_0x209117){return BPromise[_0x3564('0x1c')](_0x209117);}return _0x1b75ee[_0x3564('0x1d')]();};}function saveUpdates(_0x43186c,_0x264b9b){return function(_0x3695f4){if(_0x3695f4){return _0x3695f4['update'](_0x43186c)[_0x3564('0x1e')](function(_0x1a0e5f){return _0x1a0e5f;});}return null;};}function removeEntity(_0x410fc3,_0x235682){return function(_0x17309a){if(_0x17309a){return _0x17309a[_0x3564('0x1f')]()[_0x3564('0x1e')](function(){_0x410fc3[_0x3564('0x14')](0xcc)[_0x3564('0x20')]();});}};}function handleEntityNotFound(_0x3faccb,_0xdaebae){return function(_0x30dd2f){if(!_0x30dd2f){_0x3faccb[_0x3564('0x13')](0x194);}return _0x30dd2f;};}function handleError(_0x472f10,_0x33b46c){_0x33b46c=_0x33b46c||0x1f4;return function(_0x11fb12){logger[_0x3564('0x21')](_0x11fb12['stack']);if(_0x11fb12[_0x3564('0x22')]){delete _0x11fb12[_0x3564('0x22')];}_0x472f10[_0x3564('0x14')](_0x33b46c)[_0x3564('0x23')](_0x11fb12);};}exports[_0x3564('0x24')]=function(_0x4503bd,_0x2d37cf){var _0xfd8b2f={},_0x3e532e={},_0x5ed07f={'count':0x0,'rows':[]};var _0x2d75de=_[_0x3564('0x25')](db[_0x3564('0x26')][_0x3564('0x27')],function(_0x456e80){return{'name':_0x456e80['fieldName'],'type':_0x456e80[_0x3564('0x28')][_0x3564('0x29')]};});_0x3e532e[_0x3564('0x2a')]=_[_0x3564('0x25')](_0x2d75de,_0x3564('0x22'));_0x3e532e['query']=_[_0x3564('0x2b')](_0x4503bd[_0x3564('0x2c')]);_0x3e532e[_0x3564('0x2d')]=_[_0x3564('0x2e')](_0x3e532e[_0x3564('0x2a')],_0x3e532e[_0x3564('0x2c')]);_0xfd8b2f['attributes']=_[_0x3564('0x2e')](_0x3e532e[_0x3564('0x2a')],qs[_0x3564('0x2f')](_0x4503bd[_0x3564('0x2c')]['fields']));_0xfd8b2f[_0x3564('0x30')]=_0xfd8b2f[_0x3564('0x30')][_0x3564('0x31')]?_0xfd8b2f[_0x3564('0x30')]:_0x3e532e[_0x3564('0x2a')];if(!_0x4503bd[_0x3564('0x2c')][_0x3564('0x32')]('nolimit')){_0xfd8b2f[_0x3564('0x17')]=qs[_0x3564('0x17')](_0x4503bd[_0x3564('0x2c')]['limit']);_0xfd8b2f[_0x3564('0x15')]=qs[_0x3564('0x15')](_0x4503bd['query'][_0x3564('0x15')]);}_0xfd8b2f[_0x3564('0x33')]=qs['sort'](_0x4503bd[_0x3564('0x2c')]['sort']);_0xfd8b2f['where']=qs['filters'](_[_0x3564('0x34')](_0x4503bd[_0x3564('0x2c')],_0x3e532e[_0x3564('0x2d')]),_0x2d75de);if(_0x4503bd['query'][_0x3564('0x35')]){_0xfd8b2f[_0x3564('0x36')]=_['merge'](_0xfd8b2f[_0x3564('0x36')],{'$or':_[_0x3564('0x25')](_0x2d75de,function(_0x20b0bd){if(_0x20b0bd[_0x3564('0x28')]!==_0x3564('0x37')){var _0xf74e80={};_0xf74e80[_0x20b0bd[_0x3564('0x22')]]={'$like':'%'+_0x4503bd[_0x3564('0x2c')][_0x3564('0x35')]+'%'};return _0xf74e80;}})});}_0xfd8b2f=_[_0x3564('0x38')]({},_0xfd8b2f,_0x4503bd['options']);var _0x128565={'where':_0xfd8b2f[_0x3564('0x36')]};return db[_0x3564('0x26')][_0x3564('0x39')](_0x128565)[_0x3564('0x1e')](function(_0x179f66){_0x5ed07f['count']=_0x179f66;if(_0x4503bd[_0x3564('0x2c')]['includeAll']){_0xfd8b2f[_0x3564('0x3a')]=[{'all':!![]}];}return db[_0x3564('0x26')][_0x3564('0x3b')](_0xfd8b2f);})['then'](function(_0x58a5e1){_0x5ed07f[_0x3564('0x3c')]=_0x58a5e1;return _0x5ed07f;})[_0x3564('0x1e')](respondWithFilteredResult(_0x2d37cf,_0xfd8b2f))[_0x3564('0x3d')](handleError(_0x2d37cf,null));};exports['show']=function(_0x1987e8,_0x523eb0){var _0x21e33f={'raw':![],'where':{'id':_0x1987e8['params']['id']}},_0x58c681={};_0x58c681['model']=_[_0x3564('0x2b')](db[_0x3564('0x26')][_0x3564('0x27')]);_0x58c681[_0x3564('0x2c')]=_[_0x3564('0x2b')](_0x1987e8[_0x3564('0x2c')]);_0x58c681[_0x3564('0x2d')]=_[_0x3564('0x2e')](_0x58c681['model'],_0x58c681['query']);_0x21e33f[_0x3564('0x30')]=_['intersection'](_0x58c681[_0x3564('0x2a')],qs['fields'](_0x1987e8[_0x3564('0x2c')][_0x3564('0x2f')]));_0x21e33f[_0x3564('0x30')]=_0x21e33f['attributes'][_0x3564('0x31')]?_0x21e33f[_0x3564('0x30')]:_0x58c681[_0x3564('0x2a')];if(_0x1987e8[_0x3564('0x2c')]['includeAll']){_0x21e33f[_0x3564('0x3a')]=[{'all':!![]}];}_0x21e33f=_['merge']({},_0x21e33f,_0x1987e8[_0x3564('0x3e')]);return db[_0x3564('0x26')][_0x3564('0x3f')](_0x21e33f)[_0x3564('0x1e')](handleEntityNotFound(_0x523eb0,null))['then'](respondWithResult(_0x523eb0,null))[_0x3564('0x3d')](handleError(_0x523eb0,null));};exports[_0x3564('0x40')]=function(_0x30987d,_0x7ba199){return db[_0x3564('0x26')][_0x3564('0x40')](_0x30987d[_0x3564('0x41')],{})['then'](respondWithResult(_0x7ba199,0xc9))[_0x3564('0x3d')](handleError(_0x7ba199,null));};exports[_0x3564('0x42')]=function(_0x236b68,_0x4106fd){if(_0x236b68['body']['id']){delete _0x236b68[_0x3564('0x41')]['id'];}return db[_0x3564('0x26')][_0x3564('0x3f')]({'where':{'id':_0x236b68['params']['id']}})[_0x3564('0x1e')](handleEntityNotFound(_0x4106fd,null))[_0x3564('0x1e')](saveUpdates(_0x236b68[_0x3564('0x41')],null))['then'](respondWithResult(_0x4106fd,null))[_0x3564('0x3d')](handleError(_0x4106fd,null));};exports['destroy']=function(_0xd50a5c,_0x5e285a){return db[_0x3564('0x26')][_0x3564('0x3f')]({'where':{'id':_0xd50a5c[_0x3564('0x43')]['id']}})['then'](handleEntityNotFound(_0x5e285a,null))[_0x3564('0x1e')](removeEntity(_0x5e285a,null))[_0x3564('0x3d')](handleError(_0x5e285a,null));};exports['getFields']=function(_0x507d57,_0x2e6058,_0x5de0a6){var _0x3db53d={};var _0x285637={};var _0x264a54;var _0x2629a4;return db[_0x3564('0x26')]['findOne']({'where':{'id':_0x507d57[_0x3564('0x43')]['id']}})['then'](handleEntityNotFound(_0x2e6058,null))[_0x3564('0x1e')](function(_0x1a3dd8){if(_0x1a3dd8){_0x264a54=_0x1a3dd8;_0x285637[_0x3564('0x2a')]=_[_0x3564('0x2b')](db[_0x3564('0x44')][_0x3564('0x27')]);_0x285637[_0x3564('0x2c')]=_[_0x3564('0x2b')](_0x507d57[_0x3564('0x2c')]);_0x285637[_0x3564('0x2d')]=_['intersection'](_0x285637[_0x3564('0x2a')],_0x285637[_0x3564('0x2c')]);_0x3db53d[_0x3564('0x30')]=_[_0x3564('0x2e')](_0x285637[_0x3564('0x2a')],qs[_0x3564('0x2f')](_0x507d57['query'][_0x3564('0x2f')]));_0x3db53d[_0x3564('0x30')]=_0x3db53d[_0x3564('0x30')][_0x3564('0x31')]?_0x3db53d['attributes']:_0x285637[_0x3564('0x2a')];_0x3db53d['order']=qs['sort'](_0x507d57[_0x3564('0x2c')]['sort']);_0x3db53d[_0x3564('0x36')]=qs[_0x3564('0x2d')](_[_0x3564('0x34')](_0x507d57[_0x3564('0x2c')],_0x285637[_0x3564('0x2d')]));if(_0x507d57[_0x3564('0x2c')][_0x3564('0x35')]){_0x3db53d[_0x3564('0x36')]=_['merge'](_0x3db53d[_0x3564('0x36')],{'$or':_['map'](_0x3db53d[_0x3564('0x30')],function(_0x7f60c1){var _0xb23d7d={};_0xb23d7d[_0x7f60c1]={'$like':'%'+_0x507d57[_0x3564('0x2c')][_0x3564('0x35')]+'%'};return _0xb23d7d;})});}_0x3db53d=_[_0x3564('0x38')]({},_0x3db53d,_0x507d57[_0x3564('0x3e')]);return _0x264a54[_0x3564('0x45')](_0x3db53d);}})[_0x3564('0x1e')](function(_0x327009){if(_0x327009){_0x2629a4=_0x327009[_0x3564('0x31')];if(!_0x507d57[_0x3564('0x2c')][_0x3564('0x32')]('nolimit')){_0x3db53d['limit']=qs[_0x3564('0x17')](_0x507d57[_0x3564('0x2c')]['limit']);_0x3db53d[_0x3564('0x15')]=qs[_0x3564('0x15')](_0x507d57[_0x3564('0x2c')]['offset']);}return _0x264a54['getFields'](_0x3db53d);}})['then'](function(_0x1bf019){if(_0x1bf019){return _0x1bf019?{'count':_0x2629a4,'rows':_0x1bf019}:null;}})[_0x3564('0x1e')](respondWithResult(_0x2e6058,null))[_0x3564('0x3d')](handleError(_0x2e6058,null));};exports[_0x3564('0x46')]=function(_0x4c7cee,_0x34402b,_0x2ded6e){var _0x265354={};var _0x18d0e1={};var _0x3a18e4;var _0x4a5a33;return db[_0x3564('0x26')][_0x3564('0x47')]({'where':{'id':_0x4c7cee[_0x3564('0x43')]['id']}})[_0x3564('0x1e')](handleEntityNotFound(_0x34402b,null))[_0x3564('0x1e')](function(_0x3402f7){if(_0x3402f7){_0x3a18e4=_0x3402f7;_0x18d0e1[_0x3564('0x2a')]=_[_0x3564('0x2b')](db['SalesforceField'][_0x3564('0x27')]);_0x18d0e1[_0x3564('0x2c')]=_[_0x3564('0x2b')](_0x4c7cee['query']);_0x18d0e1[_0x3564('0x2d')]=_[_0x3564('0x2e')](_0x18d0e1['model'],_0x18d0e1['query']);_0x265354[_0x3564('0x30')]=_[_0x3564('0x2e')](_0x18d0e1['model'],qs['fields'](_0x4c7cee['query']['fields']));_0x265354[_0x3564('0x30')]=_0x265354[_0x3564('0x30')][_0x3564('0x31')]?_0x265354['attributes']:_0x18d0e1['model'];_0x265354[_0x3564('0x33')]=qs[_0x3564('0x48')](_0x4c7cee['query']['sort']);_0x265354[_0x3564('0x36')]=qs[_0x3564('0x2d')](_['pick'](_0x4c7cee[_0x3564('0x2c')],_0x18d0e1['filters']));if(_0x4c7cee[_0x3564('0x2c')][_0x3564('0x35')]){_0x265354[_0x3564('0x36')]=_[_0x3564('0x38')](_0x265354['where'],{'$or':_[_0x3564('0x25')](_0x265354[_0x3564('0x30')],function(_0x47ec37){var _0x36a33f={};_0x36a33f[_0x47ec37]={'$like':'%'+_0x4c7cee[_0x3564('0x2c')][_0x3564('0x35')]+'%'};return _0x36a33f;})});}_0x265354=_[_0x3564('0x38')]({},_0x265354,_0x4c7cee[_0x3564('0x3e')]);return _0x3a18e4[_0x3564('0x46')](_0x265354);}})[_0x3564('0x1e')](function(_0x317165){if(_0x317165){_0x4a5a33=_0x317165[_0x3564('0x31')];if(!_0x4c7cee[_0x3564('0x2c')][_0x3564('0x32')]('nolimit')){_0x265354[_0x3564('0x17')]=qs[_0x3564('0x17')](_0x4c7cee['query'][_0x3564('0x17')]);_0x265354[_0x3564('0x15')]=qs['offset'](_0x4c7cee[_0x3564('0x2c')][_0x3564('0x15')]);}return _0x3a18e4[_0x3564('0x46')](_0x265354);}})[_0x3564('0x1e')](function(_0xf8be40){if(_0xf8be40){return _0xf8be40?{'count':_0x4a5a33,'rows':_0xf8be40}:null;}})[_0x3564('0x1e')](respondWithResult(_0x34402b,null))[_0x3564('0x3d')](handleError(_0x34402b,null));};exports['getDescriptions']=function(_0x37eb9f,_0x37a930,_0x11e1de){var _0x270e04={};var _0x5c9c76={};var _0x148532;var _0x391168;return db[_0x3564('0x26')][_0x3564('0x47')]({'where':{'id':_0x37eb9f[_0x3564('0x43')]['id']}})[_0x3564('0x1e')](handleEntityNotFound(_0x37a930,null))[_0x3564('0x1e')](function(_0x21ee8f){if(_0x21ee8f){_0x148532=_0x21ee8f;_0x5c9c76[_0x3564('0x2a')]=_[_0x3564('0x2b')](db[_0x3564('0x44')]['rawAttributes']);_0x5c9c76[_0x3564('0x2c')]=_['keys'](_0x37eb9f[_0x3564('0x2c')]);_0x5c9c76[_0x3564('0x2d')]=_['intersection'](_0x5c9c76[_0x3564('0x2a')],_0x5c9c76[_0x3564('0x2c')]);_0x270e04['attributes']=_[_0x3564('0x2e')](_0x5c9c76[_0x3564('0x2a')],qs[_0x3564('0x2f')](_0x37eb9f[_0x3564('0x2c')][_0x3564('0x2f')]));_0x270e04[_0x3564('0x30')]=_0x270e04['attributes']['length']?_0x270e04['attributes']:_0x5c9c76[_0x3564('0x2a')];_0x270e04[_0x3564('0x33')]=qs[_0x3564('0x48')](_0x37eb9f[_0x3564('0x2c')][_0x3564('0x48')]);_0x270e04['where']=qs['filters'](_[_0x3564('0x34')](_0x37eb9f[_0x3564('0x2c')],_0x5c9c76['filters']));if(_0x37eb9f[_0x3564('0x2c')][_0x3564('0x35')]){_0x270e04['where']=_[_0x3564('0x38')](_0x270e04['where'],{'$or':_[_0x3564('0x25')](_0x270e04[_0x3564('0x30')],function(_0x145e1d){var _0x5b87ed={};_0x5b87ed[_0x145e1d]={'$like':'%'+_0x37eb9f[_0x3564('0x2c')][_0x3564('0x35')]+'%'};return _0x5b87ed;})});}_0x270e04=_['merge']({},_0x270e04,_0x37eb9f[_0x3564('0x3e')]);return _0x148532[_0x3564('0x49')](_0x270e04);}})[_0x3564('0x1e')](function(_0x3a572f){if(_0x3a572f){_0x391168=_0x3a572f[_0x3564('0x31')];if(!_0x37eb9f['query']['hasOwnProperty'](_0x3564('0x4a'))){_0x270e04[_0x3564('0x17')]=qs[_0x3564('0x17')](_0x37eb9f[_0x3564('0x2c')][_0x3564('0x17')]);_0x270e04[_0x3564('0x15')]=qs['offset'](_0x37eb9f[_0x3564('0x2c')][_0x3564('0x15')]);}return _0x148532[_0x3564('0x49')](_0x270e04);}})[_0x3564('0x1e')](function(_0x1c14c3){if(_0x1c14c3){return _0x1c14c3?{'count':_0x391168,'rows':_0x1c14c3}:null;}})[_0x3564('0x1e')](respondWithResult(_0x37a930,null))[_0x3564('0x3d')](handleError(_0x37a930,null));};