Built motion from commit (unavailable).|2.5.21
[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 _0x0918=['keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','limit','order','sort','pick','where','VIRTUAL','filter','merge','options','includeAll','rows','show','params','find','create','body','getFields','findOne','rawAttributes','getSubjects','getDescriptions','SalesforceField','html-pdf','rimraf','zip-dir','fast-json-patch','moment','mustache','path','sox','to-csv','ejs','lodash','squel','crypto','desk.js','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','jayson/promise','http','request','then','SalesforceConfiguration,\x20%s,\x20%s','request\x20sent','debug','stringify','error','code','message','info','result','catch','sendStatus','status','end','json','count','offset','set','Content-Range','apply','reject','save','update','stack','name','send','index','SalesforceConfiguration','fieldName','type','model','map','query'];(function(_0xfcc030,_0x3ec053){var _0x5caa66=function(_0xf2e6d2){while(--_0xf2e6d2){_0xfcc030['push'](_0xfcc030['shift']());}};_0x5caa66(++_0x3ec053);}(_0x0918,0x77));var _0x8091=function(_0x426484,_0x1dcee1){_0x426484=_0x426484-0x0;var _0x55d1fb=_0x0918[_0x426484];return _0x55d1fb;};'use strict';var pdf=require(_0x8091('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x8091('0x1'));var zipdir=require(_0x8091('0x2'));var jsonpatch=require(_0x8091('0x3'));var rp=require('request-promise');var moment=require(_0x8091('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x8091('0x5'));var util=require('util');var path=require(_0x8091('0x6'));var sox=require(_0x8091('0x7'));var csv=require(_0x8091('0x8'));var ejs=require(_0x8091('0x9'));var fs=require('fs');var _=require(_0x8091('0xa'));var squel=require(_0x8091('0xb'));var crypto=require(_0x8091('0xc'));var jsforce=require('jsforce');var deskjs=require(_0x8091('0xd'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x8091('0xe'));var Redis=require('ioredis');var authService=require(_0x8091('0xf'));var qs=require(_0x8091('0x10'));var as=require(_0x8091('0x11'));var hardwareService=require(_0x8091('0x12'));var logger=require(_0x8091('0x13'))(_0x8091('0x14'));var utils=require('../../config/utils');var config=require(_0x8091('0x15'));var licenseUtil=require('../../config/license/util');var db=require(_0x8091('0x16'))['db'];var jayson=require(_0x8091('0x17'));var client=jayson['client'][_0x8091('0x18')]({'port':0x232a});function respondWithRpcPromise(_0x43e0ab,_0x12670f,_0x428c7f,_0x4cf07e){return new BPromise(function(_0x4a0a19,_0x113ac3){var _0xcf74bb=_0x4cf07e||client;return _0xcf74bb[_0x8091('0x19')](_0x43e0ab,_0x428c7f)[_0x8091('0x1a')](function(_0x5e8070){logger['info'](_0x8091('0x1b'),_0x12670f,_0x8091('0x1c'));logger[_0x8091('0x1d')]('SalesforceConfiguration,\x20%s,\x20%s,\x20%s',_0x12670f,_0x8091('0x1c'),JSON[_0x8091('0x1e')](_0x5e8070));if(_0x5e8070[_0x8091('0x1f')]){if(_0x5e8070[_0x8091('0x1f')][_0x8091('0x20')]===0x1f4){logger['error'](_0x8091('0x1b'),_0x12670f,_0x5e8070[_0x8091('0x1f')]['message']);return _0x113ac3(_0x5e8070[_0x8091('0x1f')][_0x8091('0x21')]);}logger[_0x8091('0x1f')]('SalesforceConfiguration,\x20%s,\x20%s',_0x12670f,_0x5e8070[_0x8091('0x1f')]['message']);return _0x4a0a19(_0x5e8070['error'][_0x8091('0x21')]);}else{logger[_0x8091('0x22')](_0x8091('0x1b'),_0x12670f,_0x8091('0x1c'));_0x4a0a19(_0x5e8070[_0x8091('0x23')][_0x8091('0x21')]);}})[_0x8091('0x24')](function(_0x3a95e4){logger[_0x8091('0x1f')](_0x8091('0x1b'),_0x12670f,_0x3a95e4);_0x113ac3(_0x3a95e4);});});}function respondWithStatusCode(_0x502553,_0x7a7e65){_0x7a7e65=_0x7a7e65||0xcc;return function(_0x4b117c){if(_0x4b117c){return _0x502553[_0x8091('0x25')](_0x7a7e65);}return _0x502553[_0x8091('0x26')](_0x7a7e65)[_0x8091('0x27')]();};}function respondWithResult(_0x45d015,_0x531527){_0x531527=_0x531527||0xc8;return function(_0x581e9c){if(_0x581e9c){return _0x45d015[_0x8091('0x26')](_0x531527)[_0x8091('0x28')](_0x581e9c);}};}function respondWithFilteredResult(_0x9f5b97,_0x19c3f5){return function(_0x187983){if(_0x187983){var _0x160ee1=_0x187983[_0x8091('0x29')],_0x5b6a7f=_0x19c3f5[_0x8091('0x2a')],_0xda706e=_0x19c3f5['offset']+_0x19c3f5['limit'],_0x87ce0d;if(_0xda706e>=_0x160ee1){_0xda706e=_0x160ee1;_0x87ce0d=0xc8;}else{_0x87ce0d=0xce;}_0x9f5b97[_0x8091('0x26')](_0x87ce0d);return _0x9f5b97[_0x8091('0x2b')](_0x8091('0x2c'),_0x5b6a7f+'-'+_0xda706e+'/'+_0x160ee1)[_0x8091('0x28')](_0x187983);}return null;};}function patchUpdates(_0x5a79e0){return function(_0x27cfbc){try{jsonpatch[_0x8091('0x2d')](_0x27cfbc,_0x5a79e0,!![]);}catch(_0x204fe3){return BPromise[_0x8091('0x2e')](_0x204fe3);}return _0x27cfbc[_0x8091('0x2f')]();};}function saveUpdates(_0x24cfe5,_0x4cc13f){return function(_0x2c73a7){if(_0x2c73a7){return _0x2c73a7[_0x8091('0x30')](_0x24cfe5)['then'](function(_0x102798){return _0x102798;});}return null;};}function removeEntity(_0x5579aa,_0x39522a){return function(_0x5ec570){if(_0x5ec570){return _0x5ec570['destroy']()['then'](function(){_0x5579aa[_0x8091('0x26')](0xcc)[_0x8091('0x27')]();});}};}function handleEntityNotFound(_0x5c3939,_0x2e4e42){return function(_0x1148cf){if(!_0x1148cf){_0x5c3939[_0x8091('0x25')](0x194);}return _0x1148cf;};}function handleError(_0x58f459,_0x5884e9){_0x5884e9=_0x5884e9||0x1f4;return function(_0x18791c){logger[_0x8091('0x1f')](_0x18791c[_0x8091('0x31')]);if(_0x18791c[_0x8091('0x32')]){delete _0x18791c[_0x8091('0x32')];}_0x58f459['status'](_0x5884e9)[_0x8091('0x33')](_0x18791c);};}exports[_0x8091('0x34')]=function(_0x3883aa,_0x39fa4e){var _0x3e9a05={},_0x5a7902={},_0x22b7cd={'count':0x0,'rows':[]};var _0x1972bc=_['map'](db[_0x8091('0x35')]['rawAttributes'],function(_0x5241bb){return{'name':_0x5241bb[_0x8091('0x36')],'type':_0x5241bb[_0x8091('0x37')]['key']};});_0x5a7902[_0x8091('0x38')]=_[_0x8091('0x39')](_0x1972bc,_0x8091('0x32'));_0x5a7902[_0x8091('0x3a')]=_[_0x8091('0x3b')](_0x3883aa[_0x8091('0x3a')]);_0x5a7902[_0x8091('0x3c')]=_[_0x8091('0x3d')](_0x5a7902[_0x8091('0x38')],_0x5a7902['query']);_0x3e9a05[_0x8091('0x3e')]=_[_0x8091('0x3d')](_0x5a7902['model'],qs[_0x8091('0x3f')](_0x3883aa['query']['fields']));_0x3e9a05[_0x8091('0x3e')]=_0x3e9a05[_0x8091('0x3e')][_0x8091('0x40')]?_0x3e9a05[_0x8091('0x3e')]:_0x5a7902[_0x8091('0x38')];if(!_0x3883aa['query'][_0x8091('0x41')](_0x8091('0x42'))){_0x3e9a05[_0x8091('0x43')]=qs['limit'](_0x3883aa[_0x8091('0x3a')][_0x8091('0x43')]);_0x3e9a05[_0x8091('0x2a')]=qs[_0x8091('0x2a')](_0x3883aa['query'][_0x8091('0x2a')]);}_0x3e9a05[_0x8091('0x44')]=qs[_0x8091('0x45')](_0x3883aa[_0x8091('0x3a')][_0x8091('0x45')]);_0x3e9a05['where']=qs[_0x8091('0x3c')](_[_0x8091('0x46')](_0x3883aa['query'],_0x5a7902['filters']),_0x1972bc);if(_0x3883aa['query']['filter']){_0x3e9a05[_0x8091('0x47')]=_['merge'](_0x3e9a05[_0x8091('0x47')],{'$or':_[_0x8091('0x39')](_0x1972bc,function(_0x4d5120){if(_0x4d5120[_0x8091('0x37')]!==_0x8091('0x48')){var _0x15fb54={};_0x15fb54[_0x4d5120['name']]={'$like':'%'+_0x3883aa[_0x8091('0x3a')][_0x8091('0x49')]+'%'};return _0x15fb54;}})});}_0x3e9a05=_[_0x8091('0x4a')]({},_0x3e9a05,_0x3883aa[_0x8091('0x4b')]);var _0x1d39f2={'where':_0x3e9a05[_0x8091('0x47')]};return db['SalesforceConfiguration']['count'](_0x1d39f2)[_0x8091('0x1a')](function(_0x3fe144){_0x22b7cd[_0x8091('0x29')]=_0x3fe144;if(_0x3883aa[_0x8091('0x3a')][_0x8091('0x4c')]){_0x3e9a05['include']=[{'all':!![]}];}return db[_0x8091('0x35')]['findAll'](_0x3e9a05);})[_0x8091('0x1a')](function(_0x168f78){_0x22b7cd[_0x8091('0x4d')]=_0x168f78;return _0x22b7cd;})[_0x8091('0x1a')](respondWithFilteredResult(_0x39fa4e,_0x3e9a05))['catch'](handleError(_0x39fa4e,null));};exports[_0x8091('0x4e')]=function(_0x1bc6c9,_0x3e0445){var _0xa324ce={'raw':![],'where':{'id':_0x1bc6c9[_0x8091('0x4f')]['id']}},_0x7b77a4={};_0x7b77a4[_0x8091('0x38')]=_[_0x8091('0x3b')](db['SalesforceConfiguration']['rawAttributes']);_0x7b77a4[_0x8091('0x3a')]=_[_0x8091('0x3b')](_0x1bc6c9[_0x8091('0x3a')]);_0x7b77a4['filters']=_[_0x8091('0x3d')](_0x7b77a4[_0x8091('0x38')],_0x7b77a4[_0x8091('0x3a')]);_0xa324ce['attributes']=_[_0x8091('0x3d')](_0x7b77a4[_0x8091('0x38')],qs[_0x8091('0x3f')](_0x1bc6c9[_0x8091('0x3a')]['fields']));_0xa324ce[_0x8091('0x3e')]=_0xa324ce[_0x8091('0x3e')]['length']?_0xa324ce[_0x8091('0x3e')]:_0x7b77a4[_0x8091('0x38')];if(_0x1bc6c9[_0x8091('0x3a')][_0x8091('0x4c')]){_0xa324ce['include']=[{'all':!![]}];}_0xa324ce=_[_0x8091('0x4a')]({},_0xa324ce,_0x1bc6c9[_0x8091('0x4b')]);return db[_0x8091('0x35')][_0x8091('0x50')](_0xa324ce)[_0x8091('0x1a')](handleEntityNotFound(_0x3e0445,null))[_0x8091('0x1a')](respondWithResult(_0x3e0445,null))['catch'](handleError(_0x3e0445,null));};exports[_0x8091('0x51')]=function(_0x3130ae,_0x116e29){return db[_0x8091('0x35')][_0x8091('0x51')](_0x3130ae[_0x8091('0x52')],{})[_0x8091('0x1a')](respondWithResult(_0x116e29,0xc9))[_0x8091('0x24')](handleError(_0x116e29,null));};exports[_0x8091('0x30')]=function(_0x37ad99,_0x325392){if(_0x37ad99[_0x8091('0x52')]['id']){delete _0x37ad99[_0x8091('0x52')]['id'];}return db[_0x8091('0x35')]['find']({'where':{'id':_0x37ad99[_0x8091('0x4f')]['id']}})[_0x8091('0x1a')](handleEntityNotFound(_0x325392,null))[_0x8091('0x1a')](saveUpdates(_0x37ad99['body'],null))[_0x8091('0x1a')](respondWithResult(_0x325392,null))['catch'](handleError(_0x325392,null));};exports['destroy']=function(_0x450ebf,_0x513cc7){return db[_0x8091('0x35')][_0x8091('0x50')]({'where':{'id':_0x450ebf[_0x8091('0x4f')]['id']}})[_0x8091('0x1a')](handleEntityNotFound(_0x513cc7,null))['then'](removeEntity(_0x513cc7,null))[_0x8091('0x24')](handleError(_0x513cc7,null));};exports[_0x8091('0x53')]=function(_0x313609,_0x132628,_0x3ef239){var _0xbf8506={};var _0xe4222d={};var _0x4f324e;var _0x5ac22c;return db[_0x8091('0x35')]['findOne']({'where':{'id':_0x313609[_0x8091('0x4f')]['id']}})[_0x8091('0x1a')](handleEntityNotFound(_0x132628,null))[_0x8091('0x1a')](function(_0x398019){if(_0x398019){_0x4f324e=_0x398019;_0xe4222d['model']=_[_0x8091('0x3b')](db['SalesforceField']['rawAttributes']);_0xe4222d['query']=_['keys'](_0x313609[_0x8091('0x3a')]);_0xe4222d[_0x8091('0x3c')]=_[_0x8091('0x3d')](_0xe4222d['model'],_0xe4222d['query']);_0xbf8506[_0x8091('0x3e')]=_['intersection'](_0xe4222d[_0x8091('0x38')],qs[_0x8091('0x3f')](_0x313609['query'][_0x8091('0x3f')]));_0xbf8506[_0x8091('0x3e')]=_0xbf8506['attributes'][_0x8091('0x40')]?_0xbf8506['attributes']:_0xe4222d['model'];_0xbf8506[_0x8091('0x44')]=qs[_0x8091('0x45')](_0x313609[_0x8091('0x3a')]['sort']);_0xbf8506[_0x8091('0x47')]=qs[_0x8091('0x3c')](_[_0x8091('0x46')](_0x313609[_0x8091('0x3a')],_0xe4222d[_0x8091('0x3c')]));if(_0x313609[_0x8091('0x3a')][_0x8091('0x49')]){_0xbf8506[_0x8091('0x47')]=_[_0x8091('0x4a')](_0xbf8506[_0x8091('0x47')],{'$or':_[_0x8091('0x39')](_0xbf8506[_0x8091('0x3e')],function(_0x4cf5cd){var _0x45a20f={};_0x45a20f[_0x4cf5cd]={'$like':'%'+_0x313609[_0x8091('0x3a')][_0x8091('0x49')]+'%'};return _0x45a20f;})});}_0xbf8506=_[_0x8091('0x4a')]({},_0xbf8506,_0x313609[_0x8091('0x4b')]);return _0x4f324e[_0x8091('0x53')](_0xbf8506);}})['then'](function(_0x579399){if(_0x579399){_0x5ac22c=_0x579399[_0x8091('0x40')];if(!_0x313609[_0x8091('0x3a')][_0x8091('0x41')](_0x8091('0x42'))){_0xbf8506[_0x8091('0x43')]=qs['limit'](_0x313609[_0x8091('0x3a')][_0x8091('0x43')]);_0xbf8506['offset']=qs[_0x8091('0x2a')](_0x313609[_0x8091('0x3a')][_0x8091('0x2a')]);}return _0x4f324e[_0x8091('0x53')](_0xbf8506);}})[_0x8091('0x1a')](function(_0x509fe6){if(_0x509fe6){return _0x509fe6?{'count':_0x5ac22c,'rows':_0x509fe6}:null;}})[_0x8091('0x1a')](respondWithResult(_0x132628,null))[_0x8091('0x24')](handleError(_0x132628,null));};exports['getSubjects']=function(_0x9e8de1,_0x3356c6,_0x27639b){var _0x14948a={};var _0x1145d8={};var _0x4b55af;var _0x21013b;return db['SalesforceConfiguration'][_0x8091('0x54')]({'where':{'id':_0x9e8de1[_0x8091('0x4f')]['id']}})['then'](handleEntityNotFound(_0x3356c6,null))['then'](function(_0x58a854){if(_0x58a854){_0x4b55af=_0x58a854;_0x1145d8[_0x8091('0x38')]=_[_0x8091('0x3b')](db['SalesforceField'][_0x8091('0x55')]);_0x1145d8[_0x8091('0x3a')]=_[_0x8091('0x3b')](_0x9e8de1['query']);_0x1145d8['filters']=_['intersection'](_0x1145d8[_0x8091('0x38')],_0x1145d8['query']);_0x14948a[_0x8091('0x3e')]=_[_0x8091('0x3d')](_0x1145d8[_0x8091('0x38')],qs[_0x8091('0x3f')](_0x9e8de1[_0x8091('0x3a')][_0x8091('0x3f')]));_0x14948a[_0x8091('0x3e')]=_0x14948a['attributes']['length']?_0x14948a['attributes']:_0x1145d8['model'];_0x14948a[_0x8091('0x44')]=qs[_0x8091('0x45')](_0x9e8de1[_0x8091('0x3a')][_0x8091('0x45')]);_0x14948a[_0x8091('0x47')]=qs[_0x8091('0x3c')](_[_0x8091('0x46')](_0x9e8de1[_0x8091('0x3a')],_0x1145d8['filters']));if(_0x9e8de1[_0x8091('0x3a')][_0x8091('0x49')]){_0x14948a[_0x8091('0x47')]=_[_0x8091('0x4a')](_0x14948a[_0x8091('0x47')],{'$or':_['map'](_0x14948a['attributes'],function(_0x54f0d8){var _0x3c85ec={};_0x3c85ec[_0x54f0d8]={'$like':'%'+_0x9e8de1[_0x8091('0x3a')][_0x8091('0x49')]+'%'};return _0x3c85ec;})});}_0x14948a=_[_0x8091('0x4a')]({},_0x14948a,_0x9e8de1[_0x8091('0x4b')]);return _0x4b55af['getSubjects'](_0x14948a);}})['then'](function(_0xd945de){if(_0xd945de){_0x21013b=_0xd945de[_0x8091('0x40')];if(!_0x9e8de1['query']['hasOwnProperty']('nolimit')){_0x14948a[_0x8091('0x43')]=qs[_0x8091('0x43')](_0x9e8de1[_0x8091('0x3a')][_0x8091('0x43')]);_0x14948a['offset']=qs[_0x8091('0x2a')](_0x9e8de1[_0x8091('0x3a')][_0x8091('0x2a')]);}return _0x4b55af[_0x8091('0x56')](_0x14948a);}})[_0x8091('0x1a')](function(_0x175afc){if(_0x175afc){return _0x175afc?{'count':_0x21013b,'rows':_0x175afc}:null;}})[_0x8091('0x1a')](respondWithResult(_0x3356c6,null))[_0x8091('0x24')](handleError(_0x3356c6,null));};exports[_0x8091('0x57')]=function(_0x599947,_0x372679,_0x3851a6){var _0x2dd32d={};var _0x468ec0={};var _0x21ebbd;var _0x53c33e;return db['SalesforceConfiguration'][_0x8091('0x54')]({'where':{'id':_0x599947[_0x8091('0x4f')]['id']}})[_0x8091('0x1a')](handleEntityNotFound(_0x372679,null))[_0x8091('0x1a')](function(_0x2ae5ee){if(_0x2ae5ee){_0x21ebbd=_0x2ae5ee;_0x468ec0[_0x8091('0x38')]=_[_0x8091('0x3b')](db[_0x8091('0x58')]['rawAttributes']);_0x468ec0[_0x8091('0x3a')]=_[_0x8091('0x3b')](_0x599947[_0x8091('0x3a')]);_0x468ec0[_0x8091('0x3c')]=_[_0x8091('0x3d')](_0x468ec0[_0x8091('0x38')],_0x468ec0['query']);_0x2dd32d[_0x8091('0x3e')]=_[_0x8091('0x3d')](_0x468ec0[_0x8091('0x38')],qs['fields'](_0x599947[_0x8091('0x3a')]['fields']));_0x2dd32d[_0x8091('0x3e')]=_0x2dd32d[_0x8091('0x3e')]['length']?_0x2dd32d[_0x8091('0x3e')]:_0x468ec0[_0x8091('0x38')];_0x2dd32d[_0x8091('0x44')]=qs[_0x8091('0x45')](_0x599947[_0x8091('0x3a')][_0x8091('0x45')]);_0x2dd32d[_0x8091('0x47')]=qs['filters'](_[_0x8091('0x46')](_0x599947['query'],_0x468ec0[_0x8091('0x3c')]));if(_0x599947[_0x8091('0x3a')]['filter']){_0x2dd32d['where']=_['merge'](_0x2dd32d[_0x8091('0x47')],{'$or':_['map'](_0x2dd32d[_0x8091('0x3e')],function(_0x2c7445){var _0x3168df={};_0x3168df[_0x2c7445]={'$like':'%'+_0x599947['query'][_0x8091('0x49')]+'%'};return _0x3168df;})});}_0x2dd32d=_[_0x8091('0x4a')]({},_0x2dd32d,_0x599947['options']);return _0x21ebbd[_0x8091('0x57')](_0x2dd32d);}})[_0x8091('0x1a')](function(_0x50157a){if(_0x50157a){_0x53c33e=_0x50157a['length'];if(!_0x599947['query'][_0x8091('0x41')](_0x8091('0x42'))){_0x2dd32d[_0x8091('0x43')]=qs[_0x8091('0x43')](_0x599947['query'][_0x8091('0x43')]);_0x2dd32d[_0x8091('0x2a')]=qs[_0x8091('0x2a')](_0x599947[_0x8091('0x3a')][_0x8091('0x2a')]);}return _0x21ebbd[_0x8091('0x57')](_0x2dd32d);}})[_0x8091('0x1a')](function(_0x5334cd){if(_0x5334cd){return _0x5334cd?{'count':_0x53c33e,'rows':_0x5334cd}:null;}})[_0x8091('0x1a')](respondWithResult(_0x372679,null))[_0x8091('0x24')](handleError(_0x372679,null));};