Built motion from commit (unavailable).|2.5.23
[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 _0x3218=['catch','show','params','keys','intersection','create','body','find','getFields','findOne','getSubjects','SalesforceField','hasOwnProperty','getDescriptions','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/parsers/qs','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','client','request','then','info','request\x20sent','debug','SalesforceConfiguration,\x20%s,\x20%s,\x20%s','error','code','SalesforceConfiguration,\x20%s,\x20%s','message','sendStatus','status','end','json','count','offset','set','Content-Range','apply','reject','save','update','destroy','stack','name','index','map','SalesforceConfiguration','rawAttributes','fieldName','type','key','query','filters','model','fields','attributes','length','nolimit','limit','order','sort','where','pick','filter','VIRTUAL','merge','options','includeAll','include','findAll','rows'];(function(_0x5b27da,_0x4a6532){var _0x3254f4=function(_0x4194c6){while(--_0x4194c6){_0x5b27da['push'](_0x5b27da['shift']());}};_0x3254f4(++_0x4a6532);}(_0x3218,0x1da));var _0x8321=function(_0xa60623,_0x2d4e4f){_0xa60623=_0xa60623-0x0;var _0x4a6487=_0x3218[_0xa60623];return _0x4a6487;};'use strict';var pdf=require(_0x8321('0x0'));var emlformat=require(_0x8321('0x1'));var rimraf=require(_0x8321('0x2'));var zipdir=require(_0x8321('0x3'));var jsonpatch=require(_0x8321('0x4'));var rp=require(_0x8321('0x5'));var moment=require(_0x8321('0x6'));var BPromise=require(_0x8321('0x7'));var Mustache=require('mustache');var util=require(_0x8321('0x8'));var path=require(_0x8321('0x9'));var sox=require(_0x8321('0xa'));var csv=require(_0x8321('0xb'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x8321('0xc'));var squel=require(_0x8321('0xd'));var crypto=require(_0x8321('0xe'));var jsforce=require(_0x8321('0xf'));var deskjs=require(_0x8321('0x10'));var toCsv=require(_0x8321('0xb'));var querystring=require(_0x8321('0x11'));var Papa=require('papaparse');var Redis=require(_0x8321('0x12'));var authService=require('../../components/auth/service');var qs=require(_0x8321('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x8321('0x14'));var utils=require(_0x8321('0x15'));var config=require(_0x8321('0x16'));var licenseUtil=require(_0x8321('0x17'));var db=require(_0x8321('0x18'))['db'];var jayson=require('jayson/promise');var client=jayson[_0x8321('0x19')]['http']({'port':0x232a});function respondWithRpcPromise(_0x5b2e60,_0x40c806,_0x248462,_0x163bbb){return new BPromise(function(_0x56e67a,_0x52b402){var _0x32a052=_0x163bbb||client;return _0x32a052[_0x8321('0x1a')](_0x5b2e60,_0x248462)[_0x8321('0x1b')](function(_0x314746){logger[_0x8321('0x1c')]('SalesforceConfiguration,\x20%s,\x20%s',_0x40c806,_0x8321('0x1d'));logger[_0x8321('0x1e')](_0x8321('0x1f'),_0x40c806,_0x8321('0x1d'),JSON['stringify'](_0x314746));if(_0x314746[_0x8321('0x20')]){if(_0x314746[_0x8321('0x20')][_0x8321('0x21')]===0x1f4){logger[_0x8321('0x20')](_0x8321('0x22'),_0x40c806,_0x314746['error'][_0x8321('0x23')]);return _0x52b402(_0x314746['error'][_0x8321('0x23')]);}logger[_0x8321('0x20')](_0x8321('0x22'),_0x40c806,_0x314746[_0x8321('0x20')][_0x8321('0x23')]);return _0x56e67a(_0x314746[_0x8321('0x20')]['message']);}else{logger[_0x8321('0x1c')]('SalesforceConfiguration,\x20%s,\x20%s',_0x40c806,_0x8321('0x1d'));_0x56e67a(_0x314746['result'][_0x8321('0x23')]);}})['catch'](function(_0x2a10de){logger[_0x8321('0x20')](_0x8321('0x22'),_0x40c806,_0x2a10de);_0x52b402(_0x2a10de);});});}function respondWithStatusCode(_0x3562e0,_0x3d723f){_0x3d723f=_0x3d723f||0xcc;return function(_0x45828c){if(_0x45828c){return _0x3562e0[_0x8321('0x24')](_0x3d723f);}return _0x3562e0[_0x8321('0x25')](_0x3d723f)[_0x8321('0x26')]();};}function respondWithResult(_0x148574,_0x2743d4){_0x2743d4=_0x2743d4||0xc8;return function(_0x492528){if(_0x492528){return _0x148574['status'](_0x2743d4)[_0x8321('0x27')](_0x492528);}};}function respondWithFilteredResult(_0x233a1d,_0x252d2c){return function(_0xe6d67d){if(_0xe6d67d){var _0x1d5714=_0xe6d67d[_0x8321('0x28')],_0x1053f4=_0x252d2c[_0x8321('0x29')],_0x511766=_0x252d2c[_0x8321('0x29')]+_0x252d2c['limit'],_0x1a788b;if(_0x511766>=_0x1d5714){_0x511766=_0x1d5714;_0x1a788b=0xc8;}else{_0x1a788b=0xce;}_0x233a1d[_0x8321('0x25')](_0x1a788b);return _0x233a1d[_0x8321('0x2a')](_0x8321('0x2b'),_0x1053f4+'-'+_0x511766+'/'+_0x1d5714)[_0x8321('0x27')](_0xe6d67d);}return null;};}function patchUpdates(_0x5113ea){return function(_0x21f2b2){try{jsonpatch[_0x8321('0x2c')](_0x21f2b2,_0x5113ea,!![]);}catch(_0x5e5d68){return BPromise[_0x8321('0x2d')](_0x5e5d68);}return _0x21f2b2[_0x8321('0x2e')]();};}function saveUpdates(_0x1a3e18,_0x3c4a66){return function(_0x230be1){if(_0x230be1){return _0x230be1[_0x8321('0x2f')](_0x1a3e18)['then'](function(_0x4561d5){return _0x4561d5;});}return null;};}function removeEntity(_0x29eb39,_0x10f7ef){return function(_0x412768){if(_0x412768){return _0x412768[_0x8321('0x30')]()['then'](function(){_0x29eb39[_0x8321('0x25')](0xcc)[_0x8321('0x26')]();});}};}function handleEntityNotFound(_0x24742b,_0xa07e2e){return function(_0x1b8b8e){if(!_0x1b8b8e){_0x24742b[_0x8321('0x24')](0x194);}return _0x1b8b8e;};}function handleError(_0x334d88,_0x457b06){_0x457b06=_0x457b06||0x1f4;return function(_0x4749f1){logger[_0x8321('0x20')](_0x4749f1[_0x8321('0x31')]);if(_0x4749f1[_0x8321('0x32')]){delete _0x4749f1[_0x8321('0x32')];}_0x334d88[_0x8321('0x25')](_0x457b06)['send'](_0x4749f1);};}exports[_0x8321('0x33')]=function(_0x3ac8bf,_0xe207d0){var _0x7d0dd7={},_0x36bdcd={},_0xd0f9da={'count':0x0,'rows':[]};var _0x39b9e8=_[_0x8321('0x34')](db[_0x8321('0x35')][_0x8321('0x36')],function(_0x567d75){return{'name':_0x567d75[_0x8321('0x37')],'type':_0x567d75[_0x8321('0x38')][_0x8321('0x39')]};});_0x36bdcd['model']=_[_0x8321('0x34')](_0x39b9e8,_0x8321('0x32'));_0x36bdcd['query']=_['keys'](_0x3ac8bf[_0x8321('0x3a')]);_0x36bdcd[_0x8321('0x3b')]=_['intersection'](_0x36bdcd['model'],_0x36bdcd[_0x8321('0x3a')]);_0x7d0dd7['attributes']=_['intersection'](_0x36bdcd[_0x8321('0x3c')],qs[_0x8321('0x3d')](_0x3ac8bf[_0x8321('0x3a')][_0x8321('0x3d')]));_0x7d0dd7[_0x8321('0x3e')]=_0x7d0dd7['attributes'][_0x8321('0x3f')]?_0x7d0dd7[_0x8321('0x3e')]:_0x36bdcd[_0x8321('0x3c')];if(!_0x3ac8bf[_0x8321('0x3a')]['hasOwnProperty'](_0x8321('0x40'))){_0x7d0dd7[_0x8321('0x41')]=qs[_0x8321('0x41')](_0x3ac8bf[_0x8321('0x3a')][_0x8321('0x41')]);_0x7d0dd7[_0x8321('0x29')]=qs[_0x8321('0x29')](_0x3ac8bf['query'][_0x8321('0x29')]);}_0x7d0dd7[_0x8321('0x42')]=qs[_0x8321('0x43')](_0x3ac8bf['query'][_0x8321('0x43')]);_0x7d0dd7[_0x8321('0x44')]=qs['filters'](_[_0x8321('0x45')](_0x3ac8bf['query'],_0x36bdcd[_0x8321('0x3b')]),_0x39b9e8);if(_0x3ac8bf['query'][_0x8321('0x46')]){_0x7d0dd7[_0x8321('0x44')]=_['merge'](_0x7d0dd7[_0x8321('0x44')],{'$or':_[_0x8321('0x34')](_0x39b9e8,function(_0x3c4a13){if(_0x3c4a13[_0x8321('0x38')]!==_0x8321('0x47')){var _0x3e0cfe={};_0x3e0cfe[_0x3c4a13[_0x8321('0x32')]]={'$like':'%'+_0x3ac8bf[_0x8321('0x3a')]['filter']+'%'};return _0x3e0cfe;}})});}_0x7d0dd7=_[_0x8321('0x48')]({},_0x7d0dd7,_0x3ac8bf[_0x8321('0x49')]);var _0x415569={'where':_0x7d0dd7[_0x8321('0x44')]};return db[_0x8321('0x35')]['count'](_0x415569)['then'](function(_0x30633f){_0xd0f9da[_0x8321('0x28')]=_0x30633f;if(_0x3ac8bf[_0x8321('0x3a')][_0x8321('0x4a')]){_0x7d0dd7[_0x8321('0x4b')]=[{'all':!![]}];}return db[_0x8321('0x35')][_0x8321('0x4c')](_0x7d0dd7);})['then'](function(_0x4f482c){_0xd0f9da[_0x8321('0x4d')]=_0x4f482c;return _0xd0f9da;})[_0x8321('0x1b')](respondWithFilteredResult(_0xe207d0,_0x7d0dd7))[_0x8321('0x4e')](handleError(_0xe207d0,null));};exports[_0x8321('0x4f')]=function(_0x554f41,_0x14181b){var _0x3ad77c={'raw':![],'where':{'id':_0x554f41[_0x8321('0x50')]['id']}},_0x549641={};_0x549641[_0x8321('0x3c')]=_[_0x8321('0x51')](db[_0x8321('0x35')][_0x8321('0x36')]);_0x549641[_0x8321('0x3a')]=_['keys'](_0x554f41[_0x8321('0x3a')]);_0x549641[_0x8321('0x3b')]=_[_0x8321('0x52')](_0x549641[_0x8321('0x3c')],_0x549641[_0x8321('0x3a')]);_0x3ad77c[_0x8321('0x3e')]=_[_0x8321('0x52')](_0x549641[_0x8321('0x3c')],qs[_0x8321('0x3d')](_0x554f41[_0x8321('0x3a')][_0x8321('0x3d')]));_0x3ad77c[_0x8321('0x3e')]=_0x3ad77c[_0x8321('0x3e')][_0x8321('0x3f')]?_0x3ad77c['attributes']:_0x549641[_0x8321('0x3c')];if(_0x554f41[_0x8321('0x3a')][_0x8321('0x4a')]){_0x3ad77c[_0x8321('0x4b')]=[{'all':!![]}];}_0x3ad77c=_[_0x8321('0x48')]({},_0x3ad77c,_0x554f41[_0x8321('0x49')]);return db[_0x8321('0x35')]['find'](_0x3ad77c)[_0x8321('0x1b')](handleEntityNotFound(_0x14181b,null))['then'](respondWithResult(_0x14181b,null))[_0x8321('0x4e')](handleError(_0x14181b,null));};exports[_0x8321('0x53')]=function(_0x485fd6,_0x3e6983){return db[_0x8321('0x35')][_0x8321('0x53')](_0x485fd6[_0x8321('0x54')],{})[_0x8321('0x1b')](respondWithResult(_0x3e6983,0xc9))[_0x8321('0x4e')](handleError(_0x3e6983,null));};exports[_0x8321('0x2f')]=function(_0xe8567b,_0x389c76){if(_0xe8567b[_0x8321('0x54')]['id']){delete _0xe8567b[_0x8321('0x54')]['id'];}return db[_0x8321('0x35')][_0x8321('0x55')]({'where':{'id':_0xe8567b[_0x8321('0x50')]['id']}})[_0x8321('0x1b')](handleEntityNotFound(_0x389c76,null))[_0x8321('0x1b')](saveUpdates(_0xe8567b[_0x8321('0x54')],null))['then'](respondWithResult(_0x389c76,null))[_0x8321('0x4e')](handleError(_0x389c76,null));};exports[_0x8321('0x30')]=function(_0x34e306,_0x3cf89c){return db[_0x8321('0x35')]['find']({'where':{'id':_0x34e306['params']['id']}})[_0x8321('0x1b')](handleEntityNotFound(_0x3cf89c,null))[_0x8321('0x1b')](removeEntity(_0x3cf89c,null))[_0x8321('0x4e')](handleError(_0x3cf89c,null));};exports[_0x8321('0x56')]=function(_0x3faa3c,_0xc957f6,_0x4de8ba){var _0x306719={};var _0x1ce58d={};var _0x37e7db;var _0x231d87;return db['SalesforceConfiguration'][_0x8321('0x57')]({'where':{'id':_0x3faa3c[_0x8321('0x50')]['id']}})['then'](handleEntityNotFound(_0xc957f6,null))[_0x8321('0x1b')](function(_0x1e51fb){if(_0x1e51fb){_0x37e7db=_0x1e51fb;_0x1ce58d[_0x8321('0x3c')]=_[_0x8321('0x51')](db['SalesforceField'][_0x8321('0x36')]);_0x1ce58d[_0x8321('0x3a')]=_['keys'](_0x3faa3c['query']);_0x1ce58d[_0x8321('0x3b')]=_['intersection'](_0x1ce58d[_0x8321('0x3c')],_0x1ce58d[_0x8321('0x3a')]);_0x306719['attributes']=_[_0x8321('0x52')](_0x1ce58d['model'],qs['fields'](_0x3faa3c[_0x8321('0x3a')]['fields']));_0x306719['attributes']=_0x306719[_0x8321('0x3e')][_0x8321('0x3f')]?_0x306719['attributes']:_0x1ce58d[_0x8321('0x3c')];_0x306719[_0x8321('0x42')]=qs[_0x8321('0x43')](_0x3faa3c[_0x8321('0x3a')]['sort']);_0x306719['where']=qs['filters'](_[_0x8321('0x45')](_0x3faa3c[_0x8321('0x3a')],_0x1ce58d[_0x8321('0x3b')]));if(_0x3faa3c['query']['filter']){_0x306719[_0x8321('0x44')]=_[_0x8321('0x48')](_0x306719[_0x8321('0x44')],{'$or':_[_0x8321('0x34')](_0x306719['attributes'],function(_0x34457b){var _0x52ff0f={};_0x52ff0f[_0x34457b]={'$like':'%'+_0x3faa3c[_0x8321('0x3a')]['filter']+'%'};return _0x52ff0f;})});}_0x306719=_[_0x8321('0x48')]({},_0x306719,_0x3faa3c['options']);return _0x37e7db[_0x8321('0x56')](_0x306719);}})['then'](function(_0x63eba3){if(_0x63eba3){_0x231d87=_0x63eba3[_0x8321('0x3f')];if(!_0x3faa3c[_0x8321('0x3a')]['hasOwnProperty'](_0x8321('0x40'))){_0x306719['limit']=qs[_0x8321('0x41')](_0x3faa3c[_0x8321('0x3a')]['limit']);_0x306719[_0x8321('0x29')]=qs[_0x8321('0x29')](_0x3faa3c[_0x8321('0x3a')]['offset']);}return _0x37e7db[_0x8321('0x56')](_0x306719);}})[_0x8321('0x1b')](function(_0x32c0c9){if(_0x32c0c9){return _0x32c0c9?{'count':_0x231d87,'rows':_0x32c0c9}:null;}})[_0x8321('0x1b')](respondWithResult(_0xc957f6,null))[_0x8321('0x4e')](handleError(_0xc957f6,null));};exports[_0x8321('0x58')]=function(_0x25e250,_0x5ba29f,_0x915fe4){var _0x51b420={};var _0x5bc1a1={};var _0x56103c;var _0x35bd9b;return db[_0x8321('0x35')][_0x8321('0x57')]({'where':{'id':_0x25e250['params']['id']}})[_0x8321('0x1b')](handleEntityNotFound(_0x5ba29f,null))[_0x8321('0x1b')](function(_0xb319b3){if(_0xb319b3){_0x56103c=_0xb319b3;_0x5bc1a1['model']=_['keys'](db[_0x8321('0x59')][_0x8321('0x36')]);_0x5bc1a1['query']=_[_0x8321('0x51')](_0x25e250[_0x8321('0x3a')]);_0x5bc1a1['filters']=_['intersection'](_0x5bc1a1[_0x8321('0x3c')],_0x5bc1a1[_0x8321('0x3a')]);_0x51b420[_0x8321('0x3e')]=_[_0x8321('0x52')](_0x5bc1a1[_0x8321('0x3c')],qs['fields'](_0x25e250[_0x8321('0x3a')][_0x8321('0x3d')]));_0x51b420[_0x8321('0x3e')]=_0x51b420[_0x8321('0x3e')]['length']?_0x51b420['attributes']:_0x5bc1a1[_0x8321('0x3c')];_0x51b420[_0x8321('0x42')]=qs[_0x8321('0x43')](_0x25e250['query'][_0x8321('0x43')]);_0x51b420[_0x8321('0x44')]=qs['filters'](_['pick'](_0x25e250[_0x8321('0x3a')],_0x5bc1a1['filters']));if(_0x25e250[_0x8321('0x3a')][_0x8321('0x46')]){_0x51b420[_0x8321('0x44')]=_[_0x8321('0x48')](_0x51b420[_0x8321('0x44')],{'$or':_['map'](_0x51b420['attributes'],function(_0x154e4a){var _0x259966={};_0x259966[_0x154e4a]={'$like':'%'+_0x25e250[_0x8321('0x3a')][_0x8321('0x46')]+'%'};return _0x259966;})});}_0x51b420=_[_0x8321('0x48')]({},_0x51b420,_0x25e250['options']);return _0x56103c[_0x8321('0x58')](_0x51b420);}})['then'](function(_0x48b4c2){if(_0x48b4c2){_0x35bd9b=_0x48b4c2[_0x8321('0x3f')];if(!_0x25e250[_0x8321('0x3a')][_0x8321('0x5a')](_0x8321('0x40'))){_0x51b420[_0x8321('0x41')]=qs[_0x8321('0x41')](_0x25e250['query']['limit']);_0x51b420[_0x8321('0x29')]=qs[_0x8321('0x29')](_0x25e250[_0x8321('0x3a')][_0x8321('0x29')]);}return _0x56103c[_0x8321('0x58')](_0x51b420);}})[_0x8321('0x1b')](function(_0x535c6d){if(_0x535c6d){return _0x535c6d?{'count':_0x35bd9b,'rows':_0x535c6d}:null;}})[_0x8321('0x1b')](respondWithResult(_0x5ba29f,null))[_0x8321('0x4e')](handleError(_0x5ba29f,null));};exports[_0x8321('0x5b')]=function(_0x48ede8,_0x242da6,_0x1e15fc){var _0x268252={};var _0x2e2b4c={};var _0x6dca63;var _0x2ba61e;return db[_0x8321('0x35')][_0x8321('0x57')]({'where':{'id':_0x48ede8['params']['id']}})[_0x8321('0x1b')](handleEntityNotFound(_0x242da6,null))[_0x8321('0x1b')](function(_0x448408){if(_0x448408){_0x6dca63=_0x448408;_0x2e2b4c[_0x8321('0x3c')]=_[_0x8321('0x51')](db['SalesforceField'][_0x8321('0x36')]);_0x2e2b4c[_0x8321('0x3a')]=_[_0x8321('0x51')](_0x48ede8[_0x8321('0x3a')]);_0x2e2b4c['filters']=_[_0x8321('0x52')](_0x2e2b4c['model'],_0x2e2b4c[_0x8321('0x3a')]);_0x268252[_0x8321('0x3e')]=_[_0x8321('0x52')](_0x2e2b4c['model'],qs[_0x8321('0x3d')](_0x48ede8['query'][_0x8321('0x3d')]));_0x268252[_0x8321('0x3e')]=_0x268252[_0x8321('0x3e')][_0x8321('0x3f')]?_0x268252[_0x8321('0x3e')]:_0x2e2b4c[_0x8321('0x3c')];_0x268252[_0x8321('0x42')]=qs[_0x8321('0x43')](_0x48ede8[_0x8321('0x3a')][_0x8321('0x43')]);_0x268252[_0x8321('0x44')]=qs['filters'](_[_0x8321('0x45')](_0x48ede8['query'],_0x2e2b4c[_0x8321('0x3b')]));if(_0x48ede8[_0x8321('0x3a')]['filter']){_0x268252[_0x8321('0x44')]=_['merge'](_0x268252[_0x8321('0x44')],{'$or':_[_0x8321('0x34')](_0x268252[_0x8321('0x3e')],function(_0x476e87){var _0x31811f={};_0x31811f[_0x476e87]={'$like':'%'+_0x48ede8[_0x8321('0x3a')][_0x8321('0x46')]+'%'};return _0x31811f;})});}_0x268252=_[_0x8321('0x48')]({},_0x268252,_0x48ede8[_0x8321('0x49')]);return _0x6dca63[_0x8321('0x5b')](_0x268252);}})[_0x8321('0x1b')](function(_0x610844){if(_0x610844){_0x2ba61e=_0x610844[_0x8321('0x3f')];if(!_0x48ede8['query'][_0x8321('0x5a')](_0x8321('0x40'))){_0x268252['limit']=qs['limit'](_0x48ede8[_0x8321('0x3a')][_0x8321('0x41')]);_0x268252[_0x8321('0x29')]=qs[_0x8321('0x29')](_0x48ede8[_0x8321('0x3a')]['offset']);}return _0x6dca63[_0x8321('0x5b')](_0x268252);}})['then'](function(_0x7eb9f3){if(_0x7eb9f3){return _0x7eb9f3?{'count':_0x2ba61e,'rows':_0x7eb9f3}:null;}})[_0x8321('0x1b')](respondWithResult(_0x242da6,null))[_0x8321('0x4e')](handleError(_0x242da6,null));};