bb7f71e81a429cf3be7b770b98a19d30059f5bf8
[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 _0x13f0=['Content-Range','apply','save','update','destroy','sendStatus','stack','name','send','index','map','SalesforceConfiguration','rawAttributes','type','key','query','keys','filters','model','intersection','fields','attributes','hasOwnProperty','nolimit','offset','order','where','pick','filter','merge','VIRTUAL','options','include','findAll','rows','show','params','length','includeAll','find','create','body','getFields','findOne','SalesforceField','sort','getSubjects','getDescriptions','eml-format','rimraf','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','jayson/promise','client','request','then','info','request\x20sent','debug','SalesforceConfiguration,\x20%s,\x20%s,\x20%s','stringify','error','code','message','SalesforceConfiguration,\x20%s,\x20%s','result','catch','status','end','json','count','limit','set'];(function(_0x3e79e5,_0x2894b0){var _0x503dad=function(_0x328b87){while(--_0x328b87){_0x3e79e5['push'](_0x3e79e5['shift']());}};_0x503dad(++_0x2894b0);}(_0x13f0,0x90));var _0x013f=function(_0x2c8be2,_0x16dc35){_0x2c8be2=_0x2c8be2-0x0;var _0x4543fa=_0x13f0[_0x2c8be2];return _0x4543fa;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x013f('0x0'));var rimraf=require(_0x013f('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x013f('0x2'));var moment=require(_0x013f('0x3'));var BPromise=require(_0x013f('0x4'));var Mustache=require('mustache');var util=require(_0x013f('0x5'));var path=require(_0x013f('0x6'));var sox=require(_0x013f('0x7'));var csv=require(_0x013f('0x8'));var ejs=require(_0x013f('0x9'));var fs=require('fs');var _=require(_0x013f('0xa'));var squel=require(_0x013f('0xb'));var crypto=require(_0x013f('0xc'));var jsforce=require(_0x013f('0xd'));var deskjs=require(_0x013f('0xe'));var toCsv=require('to-csv');var querystring=require(_0x013f('0xf'));var Papa=require(_0x013f('0x10'));var Redis=require(_0x013f('0x11'));var authService=require(_0x013f('0x12'));var qs=require(_0x013f('0x13'));var as=require(_0x013f('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x013f('0x15'))(_0x013f('0x16'));var utils=require(_0x013f('0x17'));var config=require(_0x013f('0x18'));var licenseUtil=require(_0x013f('0x19'));var db=require(_0x013f('0x1a'))['db'];var jayson=require(_0x013f('0x1b'));var client=jayson[_0x013f('0x1c')]['http']({'port':0x232a});function respondWithRpcPromise(_0x20db09,_0x4115a4,_0x305148,_0x438b26){return new BPromise(function(_0x355354,_0x7a6541){var _0x56cbae=_0x438b26||client;return _0x56cbae[_0x013f('0x1d')](_0x20db09,_0x305148)[_0x013f('0x1e')](function(_0x257e4b){logger[_0x013f('0x1f')]('SalesforceConfiguration,\x20%s,\x20%s',_0x4115a4,_0x013f('0x20'));logger[_0x013f('0x21')](_0x013f('0x22'),_0x4115a4,_0x013f('0x20'),JSON[_0x013f('0x23')](_0x257e4b));if(_0x257e4b[_0x013f('0x24')]){if(_0x257e4b[_0x013f('0x24')][_0x013f('0x25')]===0x1f4){logger['error']('SalesforceConfiguration,\x20%s,\x20%s',_0x4115a4,_0x257e4b['error'][_0x013f('0x26')]);return _0x7a6541(_0x257e4b[_0x013f('0x24')][_0x013f('0x26')]);}logger[_0x013f('0x24')](_0x013f('0x27'),_0x4115a4,_0x257e4b[_0x013f('0x24')][_0x013f('0x26')]);return _0x355354(_0x257e4b[_0x013f('0x24')]['message']);}else{logger['info'](_0x013f('0x27'),_0x4115a4,_0x013f('0x20'));_0x355354(_0x257e4b[_0x013f('0x28')][_0x013f('0x26')]);}})[_0x013f('0x29')](function(_0x53bd17){logger['error'](_0x013f('0x27'),_0x4115a4,_0x53bd17);_0x7a6541(_0x53bd17);});});}function respondWithStatusCode(_0xeb9bba,_0x352aad){_0x352aad=_0x352aad||0xcc;return function(_0x56dd92){if(_0x56dd92){return _0xeb9bba['sendStatus'](_0x352aad);}return _0xeb9bba[_0x013f('0x2a')](_0x352aad)[_0x013f('0x2b')]();};}function respondWithResult(_0x5cb133,_0x46e2e5){_0x46e2e5=_0x46e2e5||0xc8;return function(_0x52fd54){if(_0x52fd54){return _0x5cb133[_0x013f('0x2a')](_0x46e2e5)[_0x013f('0x2c')](_0x52fd54);}};}function respondWithFilteredResult(_0x234e59,_0x4a8d71){return function(_0x4a0e59){if(_0x4a0e59){var _0x21d9ef=_0x4a0e59[_0x013f('0x2d')],_0x12c38e=_0x4a8d71['offset'],_0x870938=_0x4a8d71['offset']+_0x4a8d71[_0x013f('0x2e')],_0x316157;if(_0x870938>=_0x21d9ef){_0x870938=_0x21d9ef;_0x316157=0xc8;}else{_0x316157=0xce;}_0x234e59['status'](_0x316157);return _0x234e59[_0x013f('0x2f')](_0x013f('0x30'),_0x12c38e+'-'+_0x870938+'/'+_0x21d9ef)['json'](_0x4a0e59);}return null;};}function patchUpdates(_0x124b05){return function(_0x3df2bd){try{jsonpatch[_0x013f('0x31')](_0x3df2bd,_0x124b05,!![]);}catch(_0x1d1be9){return BPromise['reject'](_0x1d1be9);}return _0x3df2bd[_0x013f('0x32')]();};}function saveUpdates(_0x4adde0,_0x4b9fcc){return function(_0x3fb50c){if(_0x3fb50c){return _0x3fb50c[_0x013f('0x33')](_0x4adde0)['then'](function(_0x4159c9){return _0x4159c9;});}return null;};}function removeEntity(_0x120139,_0x45f752){return function(_0x2bc22b){if(_0x2bc22b){return _0x2bc22b[_0x013f('0x34')]()['then'](function(){_0x120139[_0x013f('0x2a')](0xcc)[_0x013f('0x2b')]();});}};}function handleEntityNotFound(_0x46d1e0,_0x1b99b7){return function(_0x544e92){if(!_0x544e92){_0x46d1e0[_0x013f('0x35')](0x194);}return _0x544e92;};}function handleError(_0x280dc3,_0x4d1372){_0x4d1372=_0x4d1372||0x1f4;return function(_0x8c3e41){logger['error'](_0x8c3e41[_0x013f('0x36')]);if(_0x8c3e41[_0x013f('0x37')]){delete _0x8c3e41[_0x013f('0x37')];}_0x280dc3[_0x013f('0x2a')](_0x4d1372)[_0x013f('0x38')](_0x8c3e41);};}exports[_0x013f('0x39')]=function(_0x9be279,_0x563706){var _0x31d381={},_0x14bd15={},_0x7bb304={'count':0x0,'rows':[]};var _0x3b75e1=_[_0x013f('0x3a')](db[_0x013f('0x3b')][_0x013f('0x3c')],function(_0x25319b){return{'name':_0x25319b['fieldName'],'type':_0x25319b[_0x013f('0x3d')][_0x013f('0x3e')]};});_0x14bd15['model']=_[_0x013f('0x3a')](_0x3b75e1,_0x013f('0x37'));_0x14bd15[_0x013f('0x3f')]=_[_0x013f('0x40')](_0x9be279['query']);_0x14bd15[_0x013f('0x41')]=_['intersection'](_0x14bd15[_0x013f('0x42')],_0x14bd15[_0x013f('0x3f')]);_0x31d381['attributes']=_[_0x013f('0x43')](_0x14bd15[_0x013f('0x42')],qs[_0x013f('0x44')](_0x9be279[_0x013f('0x3f')]['fields']));_0x31d381['attributes']=_0x31d381[_0x013f('0x45')]['length']?_0x31d381[_0x013f('0x45')]:_0x14bd15[_0x013f('0x42')];if(!_0x9be279[_0x013f('0x3f')][_0x013f('0x46')](_0x013f('0x47'))){_0x31d381[_0x013f('0x2e')]=qs[_0x013f('0x2e')](_0x9be279[_0x013f('0x3f')][_0x013f('0x2e')]);_0x31d381[_0x013f('0x48')]=qs[_0x013f('0x48')](_0x9be279[_0x013f('0x3f')][_0x013f('0x48')]);}_0x31d381[_0x013f('0x49')]=qs['sort'](_0x9be279[_0x013f('0x3f')]['sort']);_0x31d381[_0x013f('0x4a')]=qs['filters'](_[_0x013f('0x4b')](_0x9be279[_0x013f('0x3f')],_0x14bd15[_0x013f('0x41')]),_0x3b75e1);if(_0x9be279['query'][_0x013f('0x4c')]){_0x31d381['where']=_[_0x013f('0x4d')](_0x31d381['where'],{'$or':_[_0x013f('0x3a')](_0x3b75e1,function(_0x48b1ab){if(_0x48b1ab['type']!==_0x013f('0x4e')){var _0x196091={};_0x196091[_0x48b1ab[_0x013f('0x37')]]={'$like':'%'+_0x9be279['query'][_0x013f('0x4c')]+'%'};return _0x196091;}})});}_0x31d381=_[_0x013f('0x4d')]({},_0x31d381,_0x9be279[_0x013f('0x4f')]);var _0x132b38={'where':_0x31d381['where']};return db[_0x013f('0x3b')]['count'](_0x132b38)[_0x013f('0x1e')](function(_0x44cd98){_0x7bb304['count']=_0x44cd98;if(_0x9be279[_0x013f('0x3f')]['includeAll']){_0x31d381[_0x013f('0x50')]=[{'all':!![]}];}return db[_0x013f('0x3b')][_0x013f('0x51')](_0x31d381);})['then'](function(_0x32450e){_0x7bb304[_0x013f('0x52')]=_0x32450e;return _0x7bb304;})[_0x013f('0x1e')](respondWithFilteredResult(_0x563706,_0x31d381))[_0x013f('0x29')](handleError(_0x563706,null));};exports[_0x013f('0x53')]=function(_0xada61c,_0x171e74){var _0x281679={'raw':![],'where':{'id':_0xada61c[_0x013f('0x54')]['id']}},_0x1e7d17={};_0x1e7d17[_0x013f('0x42')]=_[_0x013f('0x40')](db[_0x013f('0x3b')][_0x013f('0x3c')]);_0x1e7d17[_0x013f('0x3f')]=_[_0x013f('0x40')](_0xada61c[_0x013f('0x3f')]);_0x1e7d17[_0x013f('0x41')]=_[_0x013f('0x43')](_0x1e7d17[_0x013f('0x42')],_0x1e7d17[_0x013f('0x3f')]);_0x281679[_0x013f('0x45')]=_[_0x013f('0x43')](_0x1e7d17['model'],qs[_0x013f('0x44')](_0xada61c[_0x013f('0x3f')][_0x013f('0x44')]));_0x281679[_0x013f('0x45')]=_0x281679[_0x013f('0x45')][_0x013f('0x55')]?_0x281679[_0x013f('0x45')]:_0x1e7d17[_0x013f('0x42')];if(_0xada61c['query'][_0x013f('0x56')]){_0x281679[_0x013f('0x50')]=[{'all':!![]}];}_0x281679=_[_0x013f('0x4d')]({},_0x281679,_0xada61c[_0x013f('0x4f')]);return db[_0x013f('0x3b')][_0x013f('0x57')](_0x281679)[_0x013f('0x1e')](handleEntityNotFound(_0x171e74,null))[_0x013f('0x1e')](respondWithResult(_0x171e74,null))[_0x013f('0x29')](handleError(_0x171e74,null));};exports['create']=function(_0x5bbef2,_0x829143){return db[_0x013f('0x3b')][_0x013f('0x58')](_0x5bbef2[_0x013f('0x59')],{})['then'](respondWithResult(_0x829143,0xc9))[_0x013f('0x29')](handleError(_0x829143,null));};exports[_0x013f('0x33')]=function(_0x16f044,_0x53d28c){if(_0x16f044['body']['id']){delete _0x16f044[_0x013f('0x59')]['id'];}return db[_0x013f('0x3b')][_0x013f('0x57')]({'where':{'id':_0x16f044['params']['id']}})[_0x013f('0x1e')](handleEntityNotFound(_0x53d28c,null))['then'](saveUpdates(_0x16f044[_0x013f('0x59')],null))[_0x013f('0x1e')](respondWithResult(_0x53d28c,null))[_0x013f('0x29')](handleError(_0x53d28c,null));};exports['destroy']=function(_0x37f895,_0x1d86aa){return db['SalesforceConfiguration'][_0x013f('0x57')]({'where':{'id':_0x37f895['params']['id']}})[_0x013f('0x1e')](handleEntityNotFound(_0x1d86aa,null))[_0x013f('0x1e')](removeEntity(_0x1d86aa,null))['catch'](handleError(_0x1d86aa,null));};exports[_0x013f('0x5a')]=function(_0x23fe4c,_0x8ff3e0,_0x43ca1d){var _0x42828e={};var _0x5f4c89={};var _0x47a0b3;var _0x58a6ef;return db[_0x013f('0x3b')][_0x013f('0x5b')]({'where':{'id':_0x23fe4c[_0x013f('0x54')]['id']}})[_0x013f('0x1e')](handleEntityNotFound(_0x8ff3e0,null))[_0x013f('0x1e')](function(_0x503f35){if(_0x503f35){_0x47a0b3=_0x503f35;_0x5f4c89[_0x013f('0x42')]=_[_0x013f('0x40')](db[_0x013f('0x5c')][_0x013f('0x3c')]);_0x5f4c89[_0x013f('0x3f')]=_[_0x013f('0x40')](_0x23fe4c[_0x013f('0x3f')]);_0x5f4c89['filters']=_['intersection'](_0x5f4c89[_0x013f('0x42')],_0x5f4c89['query']);_0x42828e[_0x013f('0x45')]=_[_0x013f('0x43')](_0x5f4c89[_0x013f('0x42')],qs[_0x013f('0x44')](_0x23fe4c[_0x013f('0x3f')][_0x013f('0x44')]));_0x42828e[_0x013f('0x45')]=_0x42828e[_0x013f('0x45')]['length']?_0x42828e[_0x013f('0x45')]:_0x5f4c89['model'];_0x42828e[_0x013f('0x49')]=qs['sort'](_0x23fe4c[_0x013f('0x3f')][_0x013f('0x5d')]);_0x42828e['where']=qs[_0x013f('0x41')](_['pick'](_0x23fe4c[_0x013f('0x3f')],_0x5f4c89[_0x013f('0x41')]));if(_0x23fe4c[_0x013f('0x3f')][_0x013f('0x4c')]){_0x42828e[_0x013f('0x4a')]=_[_0x013f('0x4d')](_0x42828e[_0x013f('0x4a')],{'$or':_[_0x013f('0x3a')](_0x42828e[_0x013f('0x45')],function(_0xb44785){var _0x3015ef={};_0x3015ef[_0xb44785]={'$like':'%'+_0x23fe4c[_0x013f('0x3f')]['filter']+'%'};return _0x3015ef;})});}_0x42828e=_[_0x013f('0x4d')]({},_0x42828e,_0x23fe4c[_0x013f('0x4f')]);return _0x47a0b3[_0x013f('0x5a')](_0x42828e);}})[_0x013f('0x1e')](function(_0xd16b4c){if(_0xd16b4c){_0x58a6ef=_0xd16b4c[_0x013f('0x55')];if(!_0x23fe4c['query'][_0x013f('0x46')](_0x013f('0x47'))){_0x42828e[_0x013f('0x2e')]=qs['limit'](_0x23fe4c['query'][_0x013f('0x2e')]);_0x42828e[_0x013f('0x48')]=qs[_0x013f('0x48')](_0x23fe4c[_0x013f('0x3f')][_0x013f('0x48')]);}return _0x47a0b3['getFields'](_0x42828e);}})[_0x013f('0x1e')](function(_0x1a7795){if(_0x1a7795){return _0x1a7795?{'count':_0x58a6ef,'rows':_0x1a7795}:null;}})[_0x013f('0x1e')](respondWithResult(_0x8ff3e0,null))['catch'](handleError(_0x8ff3e0,null));};exports[_0x013f('0x5e')]=function(_0xb51c18,_0x4ff333,_0x4c880b){var _0x166d18={};var _0x3e1a9c={};var _0x104df2;var _0x204693;return db['SalesforceConfiguration'][_0x013f('0x5b')]({'where':{'id':_0xb51c18[_0x013f('0x54')]['id']}})[_0x013f('0x1e')](handleEntityNotFound(_0x4ff333,null))[_0x013f('0x1e')](function(_0x7103e2){if(_0x7103e2){_0x104df2=_0x7103e2;_0x3e1a9c[_0x013f('0x42')]=_[_0x013f('0x40')](db[_0x013f('0x5c')]['rawAttributes']);_0x3e1a9c['query']=_[_0x013f('0x40')](_0xb51c18['query']);_0x3e1a9c['filters']=_[_0x013f('0x43')](_0x3e1a9c[_0x013f('0x42')],_0x3e1a9c[_0x013f('0x3f')]);_0x166d18[_0x013f('0x45')]=_['intersection'](_0x3e1a9c['model'],qs['fields'](_0xb51c18['query'][_0x013f('0x44')]));_0x166d18[_0x013f('0x45')]=_0x166d18[_0x013f('0x45')]['length']?_0x166d18['attributes']:_0x3e1a9c[_0x013f('0x42')];_0x166d18['order']=qs[_0x013f('0x5d')](_0xb51c18['query'][_0x013f('0x5d')]);_0x166d18['where']=qs[_0x013f('0x41')](_[_0x013f('0x4b')](_0xb51c18['query'],_0x3e1a9c[_0x013f('0x41')]));if(_0xb51c18[_0x013f('0x3f')][_0x013f('0x4c')]){_0x166d18[_0x013f('0x4a')]=_['merge'](_0x166d18[_0x013f('0x4a')],{'$or':_[_0x013f('0x3a')](_0x166d18[_0x013f('0x45')],function(_0x15e222){var _0x3479ce={};_0x3479ce[_0x15e222]={'$like':'%'+_0xb51c18[_0x013f('0x3f')][_0x013f('0x4c')]+'%'};return _0x3479ce;})});}_0x166d18=_[_0x013f('0x4d')]({},_0x166d18,_0xb51c18[_0x013f('0x4f')]);return _0x104df2[_0x013f('0x5e')](_0x166d18);}})[_0x013f('0x1e')](function(_0x567e4f){if(_0x567e4f){_0x204693=_0x567e4f[_0x013f('0x55')];if(!_0xb51c18[_0x013f('0x3f')][_0x013f('0x46')](_0x013f('0x47'))){_0x166d18[_0x013f('0x2e')]=qs['limit'](_0xb51c18[_0x013f('0x3f')]['limit']);_0x166d18[_0x013f('0x48')]=qs[_0x013f('0x48')](_0xb51c18['query'][_0x013f('0x48')]);}return _0x104df2[_0x013f('0x5e')](_0x166d18);}})[_0x013f('0x1e')](function(_0x448323){if(_0x448323){return _0x448323?{'count':_0x204693,'rows':_0x448323}:null;}})[_0x013f('0x1e')](respondWithResult(_0x4ff333,null))['catch'](handleError(_0x4ff333,null));};exports[_0x013f('0x5f')]=function(_0x2287f4,_0x41837d,_0x311338){var _0x52e80d={};var _0x43c6f8={};var _0x5265aa;var _0x318004;return db[_0x013f('0x3b')][_0x013f('0x5b')]({'where':{'id':_0x2287f4['params']['id']}})[_0x013f('0x1e')](handleEntityNotFound(_0x41837d,null))['then'](function(_0x39ac4f){if(_0x39ac4f){_0x5265aa=_0x39ac4f;_0x43c6f8[_0x013f('0x42')]=_['keys'](db[_0x013f('0x5c')][_0x013f('0x3c')]);_0x43c6f8[_0x013f('0x3f')]=_[_0x013f('0x40')](_0x2287f4['query']);_0x43c6f8[_0x013f('0x41')]=_[_0x013f('0x43')](_0x43c6f8[_0x013f('0x42')],_0x43c6f8[_0x013f('0x3f')]);_0x52e80d[_0x013f('0x45')]=_['intersection'](_0x43c6f8[_0x013f('0x42')],qs[_0x013f('0x44')](_0x2287f4[_0x013f('0x3f')][_0x013f('0x44')]));_0x52e80d[_0x013f('0x45')]=_0x52e80d[_0x013f('0x45')][_0x013f('0x55')]?_0x52e80d[_0x013f('0x45')]:_0x43c6f8['model'];_0x52e80d[_0x013f('0x49')]=qs[_0x013f('0x5d')](_0x2287f4[_0x013f('0x3f')][_0x013f('0x5d')]);_0x52e80d['where']=qs[_0x013f('0x41')](_[_0x013f('0x4b')](_0x2287f4[_0x013f('0x3f')],_0x43c6f8[_0x013f('0x41')]));if(_0x2287f4[_0x013f('0x3f')][_0x013f('0x4c')]){_0x52e80d[_0x013f('0x4a')]=_[_0x013f('0x4d')](_0x52e80d['where'],{'$or':_[_0x013f('0x3a')](_0x52e80d[_0x013f('0x45')],function(_0x2f048b){var _0x192d76={};_0x192d76[_0x2f048b]={'$like':'%'+_0x2287f4['query'][_0x013f('0x4c')]+'%'};return _0x192d76;})});}_0x52e80d=_['merge']({},_0x52e80d,_0x2287f4[_0x013f('0x4f')]);return _0x5265aa[_0x013f('0x5f')](_0x52e80d);}})['then'](function(_0x1462c7){if(_0x1462c7){_0x318004=_0x1462c7[_0x013f('0x55')];if(!_0x2287f4['query'][_0x013f('0x46')](_0x013f('0x47'))){_0x52e80d[_0x013f('0x2e')]=qs[_0x013f('0x2e')](_0x2287f4[_0x013f('0x3f')]['limit']);_0x52e80d[_0x013f('0x48')]=qs[_0x013f('0x48')](_0x2287f4[_0x013f('0x3f')][_0x013f('0x48')]);}return _0x5265aa[_0x013f('0x5f')](_0x52e80d);}})[_0x013f('0x1e')](function(_0x10c1d7){if(_0x10c1d7){return _0x10c1d7?{'count':_0x318004,'rows':_0x10c1d7}:null;}})['then'](respondWithResult(_0x41837d,null))[_0x013f('0x29')](handleError(_0x41837d,null));};