db115fd4199153ba23a7abf1526951407847effb
[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 _0x62c3=['options','includeAll','include','findAll','rows','catch','params','intersection','create','body','find','getFields','findOne','filters','nolimit','getSubjects','SalesforceField','getDescriptions','order','eml-format','rimraf','request-promise','moment','mustache','path','sox','to-csv','ejs','lodash','squel','crypto','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','jayson/promise','client','http','request','request\x20sent','debug','error','code','SalesforceConfiguration,\x20%s,\x20%s','message','info','result','sendStatus','status','end','count','offset','set','json','apply','reject','save','update','then','destroy','name','index','map','SalesforceConfiguration','rawAttributes','fieldName','type','query','keys','attributes','model','fields','length','hasOwnProperty','limit','sort','pick','merge','where','VIRTUAL','filter'];(function(_0x4f0a4d,_0x283462){var _0x220db0=function(_0x19c5f2){while(--_0x19c5f2){_0x4f0a4d['push'](_0x4f0a4d['shift']());}};_0x220db0(++_0x283462);}(_0x62c3,0x177));var _0x362c=function(_0x187279,_0x26d152){_0x187279=_0x187279-0x0;var _0x3da59d=_0x62c3[_0x187279];return _0x3da59d;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x362c('0x0'));var rimraf=require(_0x362c('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x362c('0x2'));var moment=require(_0x362c('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x362c('0x4'));var util=require('util');var path=require(_0x362c('0x5'));var sox=require(_0x362c('0x6'));var csv=require(_0x362c('0x7'));var ejs=require(_0x362c('0x8'));var fs=require('fs');var _=require(_0x362c('0x9'));var squel=require(_0x362c('0xa'));var crypto=require(_0x362c('0xb'));var jsforce=require('jsforce');var deskjs=require(_0x362c('0xc'));var toCsv=require('to-csv');var querystring=require(_0x362c('0xd'));var Papa=require('papaparse');var Redis=require(_0x362c('0xe'));var authService=require(_0x362c('0xf'));var qs=require(_0x362c('0x10'));var as=require(_0x362c('0x11'));var hardwareService=require(_0x362c('0x12'));var logger=require(_0x362c('0x13'))(_0x362c('0x14'));var utils=require(_0x362c('0x15'));var config=require(_0x362c('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0x362c('0x17'))['db'];var jayson=require(_0x362c('0x18'));var client=jayson[_0x362c('0x19')][_0x362c('0x1a')]({'port':0x232a});function respondWithRpcPromise(_0x1b9468,_0x30c47a,_0x3ce656,_0x220bf6){return new BPromise(function(_0x266d18,_0x1ff87f){var _0xaba032=_0x220bf6||client;return _0xaba032[_0x362c('0x1b')](_0x1b9468,_0x3ce656)['then'](function(_0x1084c8){logger['info']('SalesforceConfiguration,\x20%s,\x20%s',_0x30c47a,_0x362c('0x1c'));logger[_0x362c('0x1d')]('SalesforceConfiguration,\x20%s,\x20%s,\x20%s',_0x30c47a,'request\x20sent',JSON['stringify'](_0x1084c8));if(_0x1084c8[_0x362c('0x1e')]){if(_0x1084c8[_0x362c('0x1e')][_0x362c('0x1f')]===0x1f4){logger['error'](_0x362c('0x20'),_0x30c47a,_0x1084c8[_0x362c('0x1e')][_0x362c('0x21')]);return _0x1ff87f(_0x1084c8['error']['message']);}logger[_0x362c('0x1e')](_0x362c('0x20'),_0x30c47a,_0x1084c8[_0x362c('0x1e')]['message']);return _0x266d18(_0x1084c8[_0x362c('0x1e')]['message']);}else{logger[_0x362c('0x22')](_0x362c('0x20'),_0x30c47a,_0x362c('0x1c'));_0x266d18(_0x1084c8[_0x362c('0x23')]['message']);}})['catch'](function(_0xf172eb){logger[_0x362c('0x1e')](_0x362c('0x20'),_0x30c47a,_0xf172eb);_0x1ff87f(_0xf172eb);});});}function respondWithStatusCode(_0x23a513,_0xbaa561){_0xbaa561=_0xbaa561||0xcc;return function(_0x34e624){if(_0x34e624){return _0x23a513[_0x362c('0x24')](_0xbaa561);}return _0x23a513[_0x362c('0x25')](_0xbaa561)[_0x362c('0x26')]();};}function respondWithResult(_0x50829b,_0x26e4a4){_0x26e4a4=_0x26e4a4||0xc8;return function(_0x4d1752){if(_0x4d1752){return _0x50829b[_0x362c('0x25')](_0x26e4a4)['json'](_0x4d1752);}};}function respondWithFilteredResult(_0x1f1d53,_0x4b0b55){return function(_0x47eacf){if(_0x47eacf){var _0x412e81=_0x47eacf[_0x362c('0x27')],_0xa57a20=_0x4b0b55[_0x362c('0x28')],_0x55d3e2=_0x4b0b55[_0x362c('0x28')]+_0x4b0b55['limit'],_0x58f6f6;if(_0x55d3e2>=_0x412e81){_0x55d3e2=_0x412e81;_0x58f6f6=0xc8;}else{_0x58f6f6=0xce;}_0x1f1d53[_0x362c('0x25')](_0x58f6f6);return _0x1f1d53[_0x362c('0x29')]('Content-Range',_0xa57a20+'-'+_0x55d3e2+'/'+_0x412e81)[_0x362c('0x2a')](_0x47eacf);}return null;};}function patchUpdates(_0x1d6b0c){return function(_0x20b889){try{jsonpatch[_0x362c('0x2b')](_0x20b889,_0x1d6b0c,!![]);}catch(_0x1630a1){return BPromise[_0x362c('0x2c')](_0x1630a1);}return _0x20b889[_0x362c('0x2d')]();};}function saveUpdates(_0x38d81b,_0x3ff15b){return function(_0x39e48e){if(_0x39e48e){return _0x39e48e[_0x362c('0x2e')](_0x38d81b)[_0x362c('0x2f')](function(_0x27aa8e){return _0x27aa8e;});}return null;};}function removeEntity(_0x952f11,_0x289cc6){return function(_0x4a3fab){if(_0x4a3fab){return _0x4a3fab[_0x362c('0x30')]()['then'](function(){_0x952f11[_0x362c('0x25')](0xcc)[_0x362c('0x26')]();});}};}function handleEntityNotFound(_0x378f9e,_0x202494){return function(_0x1df47d){if(!_0x1df47d){_0x378f9e['sendStatus'](0x194);}return _0x1df47d;};}function handleError(_0x3e5167,_0x5bc3ee){_0x5bc3ee=_0x5bc3ee||0x1f4;return function(_0x15dab5){logger['error'](_0x15dab5['stack']);if(_0x15dab5[_0x362c('0x31')]){delete _0x15dab5[_0x362c('0x31')];}_0x3e5167[_0x362c('0x25')](_0x5bc3ee)['send'](_0x15dab5);};}exports[_0x362c('0x32')]=function(_0x2f0126,_0x639218){var _0x5627aa={},_0x3b6e84={},_0x442174={'count':0x0,'rows':[]};var _0x496937=_[_0x362c('0x33')](db[_0x362c('0x34')][_0x362c('0x35')],function(_0x24b499){return{'name':_0x24b499[_0x362c('0x36')],'type':_0x24b499[_0x362c('0x37')]['key']};});_0x3b6e84['model']=_['map'](_0x496937,_0x362c('0x31'));_0x3b6e84[_0x362c('0x38')]=_[_0x362c('0x39')](_0x2f0126[_0x362c('0x38')]);_0x3b6e84['filters']=_['intersection'](_0x3b6e84['model'],_0x3b6e84[_0x362c('0x38')]);_0x5627aa[_0x362c('0x3a')]=_['intersection'](_0x3b6e84[_0x362c('0x3b')],qs[_0x362c('0x3c')](_0x2f0126[_0x362c('0x38')][_0x362c('0x3c')]));_0x5627aa['attributes']=_0x5627aa[_0x362c('0x3a')][_0x362c('0x3d')]?_0x5627aa['attributes']:_0x3b6e84[_0x362c('0x3b')];if(!_0x2f0126['query'][_0x362c('0x3e')]('nolimit')){_0x5627aa[_0x362c('0x3f')]=qs[_0x362c('0x3f')](_0x2f0126['query'][_0x362c('0x3f')]);_0x5627aa[_0x362c('0x28')]=qs[_0x362c('0x28')](_0x2f0126[_0x362c('0x38')][_0x362c('0x28')]);}_0x5627aa['order']=qs['sort'](_0x2f0126[_0x362c('0x38')][_0x362c('0x40')]);_0x5627aa['where']=qs['filters'](_[_0x362c('0x41')](_0x2f0126[_0x362c('0x38')],_0x3b6e84['filters']),_0x496937);if(_0x2f0126[_0x362c('0x38')]['filter']){_0x5627aa['where']=_[_0x362c('0x42')](_0x5627aa[_0x362c('0x43')],{'$or':_[_0x362c('0x33')](_0x496937,function(_0x45ad1c){if(_0x45ad1c['type']!==_0x362c('0x44')){var _0x55ab9e={};_0x55ab9e[_0x45ad1c[_0x362c('0x31')]]={'$like':'%'+_0x2f0126[_0x362c('0x38')][_0x362c('0x45')]+'%'};return _0x55ab9e;}})});}_0x5627aa=_[_0x362c('0x42')]({},_0x5627aa,_0x2f0126[_0x362c('0x46')]);var _0x5abb53={'where':_0x5627aa[_0x362c('0x43')]};return db[_0x362c('0x34')]['count'](_0x5abb53)[_0x362c('0x2f')](function(_0x331a3e){_0x442174[_0x362c('0x27')]=_0x331a3e;if(_0x2f0126['query'][_0x362c('0x47')]){_0x5627aa[_0x362c('0x48')]=[{'all':!![]}];}return db['SalesforceConfiguration'][_0x362c('0x49')](_0x5627aa);})[_0x362c('0x2f')](function(_0x4d30a7){_0x442174[_0x362c('0x4a')]=_0x4d30a7;return _0x442174;})[_0x362c('0x2f')](respondWithFilteredResult(_0x639218,_0x5627aa))[_0x362c('0x4b')](handleError(_0x639218,null));};exports['show']=function(_0x3f25ca,_0x1aa741){var _0x16e044={'raw':![],'where':{'id':_0x3f25ca[_0x362c('0x4c')]['id']}},_0x4948db={};_0x4948db['model']=_[_0x362c('0x39')](db[_0x362c('0x34')][_0x362c('0x35')]);_0x4948db[_0x362c('0x38')]=_['keys'](_0x3f25ca['query']);_0x4948db['filters']=_[_0x362c('0x4d')](_0x4948db[_0x362c('0x3b')],_0x4948db['query']);_0x16e044[_0x362c('0x3a')]=_[_0x362c('0x4d')](_0x4948db['model'],qs[_0x362c('0x3c')](_0x3f25ca['query'][_0x362c('0x3c')]));_0x16e044[_0x362c('0x3a')]=_0x16e044[_0x362c('0x3a')][_0x362c('0x3d')]?_0x16e044[_0x362c('0x3a')]:_0x4948db[_0x362c('0x3b')];if(_0x3f25ca[_0x362c('0x38')][_0x362c('0x47')]){_0x16e044['include']=[{'all':!![]}];}_0x16e044=_[_0x362c('0x42')]({},_0x16e044,_0x3f25ca['options']);return db[_0x362c('0x34')]['find'](_0x16e044)[_0x362c('0x2f')](handleEntityNotFound(_0x1aa741,null))[_0x362c('0x2f')](respondWithResult(_0x1aa741,null))['catch'](handleError(_0x1aa741,null));};exports['create']=function(_0x1aae64,_0x53ec8a){return db[_0x362c('0x34')][_0x362c('0x4e')](_0x1aae64[_0x362c('0x4f')],{})[_0x362c('0x2f')](respondWithResult(_0x53ec8a,0xc9))[_0x362c('0x4b')](handleError(_0x53ec8a,null));};exports[_0x362c('0x2e')]=function(_0x33fd5f,_0x121cd6){if(_0x33fd5f[_0x362c('0x4f')]['id']){delete _0x33fd5f['body']['id'];}return db[_0x362c('0x34')][_0x362c('0x50')]({'where':{'id':_0x33fd5f[_0x362c('0x4c')]['id']}})[_0x362c('0x2f')](handleEntityNotFound(_0x121cd6,null))[_0x362c('0x2f')](saveUpdates(_0x33fd5f['body'],null))[_0x362c('0x2f')](respondWithResult(_0x121cd6,null))[_0x362c('0x4b')](handleError(_0x121cd6,null));};exports[_0x362c('0x30')]=function(_0x434e56,_0xd3f2d2){return db[_0x362c('0x34')][_0x362c('0x50')]({'where':{'id':_0x434e56['params']['id']}})[_0x362c('0x2f')](handleEntityNotFound(_0xd3f2d2,null))['then'](removeEntity(_0xd3f2d2,null))[_0x362c('0x4b')](handleError(_0xd3f2d2,null));};exports[_0x362c('0x51')]=function(_0xd86f39,_0x2fece2,_0x1e32f3){var _0x45c350={};var _0x38c06b={};var _0x418a49;var _0x532826;return db[_0x362c('0x34')][_0x362c('0x52')]({'where':{'id':_0xd86f39[_0x362c('0x4c')]['id']}})[_0x362c('0x2f')](handleEntityNotFound(_0x2fece2,null))[_0x362c('0x2f')](function(_0x3b6a1b){if(_0x3b6a1b){_0x418a49=_0x3b6a1b;_0x38c06b['model']=_[_0x362c('0x39')](db['SalesforceField']['rawAttributes']);_0x38c06b[_0x362c('0x38')]=_[_0x362c('0x39')](_0xd86f39[_0x362c('0x38')]);_0x38c06b['filters']=_[_0x362c('0x4d')](_0x38c06b[_0x362c('0x3b')],_0x38c06b[_0x362c('0x38')]);_0x45c350[_0x362c('0x3a')]=_[_0x362c('0x4d')](_0x38c06b[_0x362c('0x3b')],qs[_0x362c('0x3c')](_0xd86f39[_0x362c('0x38')][_0x362c('0x3c')]));_0x45c350[_0x362c('0x3a')]=_0x45c350[_0x362c('0x3a')][_0x362c('0x3d')]?_0x45c350['attributes']:_0x38c06b[_0x362c('0x3b')];_0x45c350['order']=qs[_0x362c('0x40')](_0xd86f39[_0x362c('0x38')]['sort']);_0x45c350[_0x362c('0x43')]=qs[_0x362c('0x53')](_[_0x362c('0x41')](_0xd86f39[_0x362c('0x38')],_0x38c06b[_0x362c('0x53')]));if(_0xd86f39[_0x362c('0x38')][_0x362c('0x45')]){_0x45c350[_0x362c('0x43')]=_[_0x362c('0x42')](_0x45c350[_0x362c('0x43')],{'$or':_[_0x362c('0x33')](_0x45c350[_0x362c('0x3a')],function(_0x138464){var _0x3d3a0b={};_0x3d3a0b[_0x138464]={'$like':'%'+_0xd86f39[_0x362c('0x38')]['filter']+'%'};return _0x3d3a0b;})});}_0x45c350=_[_0x362c('0x42')]({},_0x45c350,_0xd86f39[_0x362c('0x46')]);return _0x418a49['getFields'](_0x45c350);}})[_0x362c('0x2f')](function(_0xa99772){if(_0xa99772){_0x532826=_0xa99772['length'];if(!_0xd86f39['query'][_0x362c('0x3e')](_0x362c('0x54'))){_0x45c350[_0x362c('0x3f')]=qs[_0x362c('0x3f')](_0xd86f39['query'][_0x362c('0x3f')]);_0x45c350['offset']=qs[_0x362c('0x28')](_0xd86f39[_0x362c('0x38')][_0x362c('0x28')]);}return _0x418a49[_0x362c('0x51')](_0x45c350);}})[_0x362c('0x2f')](function(_0xae511f){if(_0xae511f){return _0xae511f?{'count':_0x532826,'rows':_0xae511f}:null;}})[_0x362c('0x2f')](respondWithResult(_0x2fece2,null))[_0x362c('0x4b')](handleError(_0x2fece2,null));};exports[_0x362c('0x55')]=function(_0x13c64d,_0x387312,_0x5c45d1){var _0xecb242={};var _0x352779={};var _0x21cf76;var _0x432339;return db[_0x362c('0x34')][_0x362c('0x52')]({'where':{'id':_0x13c64d[_0x362c('0x4c')]['id']}})[_0x362c('0x2f')](handleEntityNotFound(_0x387312,null))['then'](function(_0x1d711d){if(_0x1d711d){_0x21cf76=_0x1d711d;_0x352779['model']=_[_0x362c('0x39')](db[_0x362c('0x56')][_0x362c('0x35')]);_0x352779[_0x362c('0x38')]=_['keys'](_0x13c64d[_0x362c('0x38')]);_0x352779[_0x362c('0x53')]=_['intersection'](_0x352779['model'],_0x352779[_0x362c('0x38')]);_0xecb242[_0x362c('0x3a')]=_[_0x362c('0x4d')](_0x352779[_0x362c('0x3b')],qs['fields'](_0x13c64d['query']['fields']));_0xecb242['attributes']=_0xecb242['attributes'][_0x362c('0x3d')]?_0xecb242[_0x362c('0x3a')]:_0x352779[_0x362c('0x3b')];_0xecb242['order']=qs[_0x362c('0x40')](_0x13c64d[_0x362c('0x38')][_0x362c('0x40')]);_0xecb242[_0x362c('0x43')]=qs[_0x362c('0x53')](_[_0x362c('0x41')](_0x13c64d[_0x362c('0x38')],_0x352779['filters']));if(_0x13c64d[_0x362c('0x38')][_0x362c('0x45')]){_0xecb242['where']=_[_0x362c('0x42')](_0xecb242[_0x362c('0x43')],{'$or':_[_0x362c('0x33')](_0xecb242[_0x362c('0x3a')],function(_0x3dafcd){var _0x5e6ce7={};_0x5e6ce7[_0x3dafcd]={'$like':'%'+_0x13c64d['query'][_0x362c('0x45')]+'%'};return _0x5e6ce7;})});}_0xecb242=_[_0x362c('0x42')]({},_0xecb242,_0x13c64d[_0x362c('0x46')]);return _0x21cf76[_0x362c('0x55')](_0xecb242);}})[_0x362c('0x2f')](function(_0x4284f5){if(_0x4284f5){_0x432339=_0x4284f5[_0x362c('0x3d')];if(!_0x13c64d[_0x362c('0x38')][_0x362c('0x3e')](_0x362c('0x54'))){_0xecb242[_0x362c('0x3f')]=qs['limit'](_0x13c64d[_0x362c('0x38')]['limit']);_0xecb242['offset']=qs[_0x362c('0x28')](_0x13c64d[_0x362c('0x38')]['offset']);}return _0x21cf76[_0x362c('0x55')](_0xecb242);}})[_0x362c('0x2f')](function(_0xa275b7){if(_0xa275b7){return _0xa275b7?{'count':_0x432339,'rows':_0xa275b7}:null;}})[_0x362c('0x2f')](respondWithResult(_0x387312,null))[_0x362c('0x4b')](handleError(_0x387312,null));};exports[_0x362c('0x57')]=function(_0x46e893,_0x398cef,_0x110a19){var _0x122d61={};var _0x54f7d4={};var _0x503fc4;var _0x4c311c;return db[_0x362c('0x34')][_0x362c('0x52')]({'where':{'id':_0x46e893[_0x362c('0x4c')]['id']}})[_0x362c('0x2f')](handleEntityNotFound(_0x398cef,null))[_0x362c('0x2f')](function(_0x267ae8){if(_0x267ae8){_0x503fc4=_0x267ae8;_0x54f7d4[_0x362c('0x3b')]=_[_0x362c('0x39')](db[_0x362c('0x56')][_0x362c('0x35')]);_0x54f7d4[_0x362c('0x38')]=_[_0x362c('0x39')](_0x46e893[_0x362c('0x38')]);_0x54f7d4[_0x362c('0x53')]=_[_0x362c('0x4d')](_0x54f7d4['model'],_0x54f7d4[_0x362c('0x38')]);_0x122d61[_0x362c('0x3a')]=_[_0x362c('0x4d')](_0x54f7d4[_0x362c('0x3b')],qs[_0x362c('0x3c')](_0x46e893[_0x362c('0x38')][_0x362c('0x3c')]));_0x122d61[_0x362c('0x3a')]=_0x122d61[_0x362c('0x3a')][_0x362c('0x3d')]?_0x122d61[_0x362c('0x3a')]:_0x54f7d4[_0x362c('0x3b')];_0x122d61[_0x362c('0x58')]=qs[_0x362c('0x40')](_0x46e893[_0x362c('0x38')][_0x362c('0x40')]);_0x122d61['where']=qs[_0x362c('0x53')](_[_0x362c('0x41')](_0x46e893[_0x362c('0x38')],_0x54f7d4[_0x362c('0x53')]));if(_0x46e893[_0x362c('0x38')][_0x362c('0x45')]){_0x122d61[_0x362c('0x43')]=_['merge'](_0x122d61['where'],{'$or':_[_0x362c('0x33')](_0x122d61[_0x362c('0x3a')],function(_0xfd9d8){var _0x9f3ed2={};_0x9f3ed2[_0xfd9d8]={'$like':'%'+_0x46e893['query'][_0x362c('0x45')]+'%'};return _0x9f3ed2;})});}_0x122d61=_[_0x362c('0x42')]({},_0x122d61,_0x46e893[_0x362c('0x46')]);return _0x503fc4[_0x362c('0x57')](_0x122d61);}})[_0x362c('0x2f')](function(_0x2d63b8){if(_0x2d63b8){_0x4c311c=_0x2d63b8[_0x362c('0x3d')];if(!_0x46e893[_0x362c('0x38')][_0x362c('0x3e')](_0x362c('0x54'))){_0x122d61[_0x362c('0x3f')]=qs[_0x362c('0x3f')](_0x46e893[_0x362c('0x38')]['limit']);_0x122d61[_0x362c('0x28')]=qs[_0x362c('0x28')](_0x46e893[_0x362c('0x38')][_0x362c('0x28')]);}return _0x503fc4[_0x362c('0x57')](_0x122d61);}})[_0x362c('0x2f')](function(_0x40b652){if(_0x40b652){return _0x40b652?{'count':_0x4c311c,'rows':_0x40b652}:null;}})['then'](respondWithResult(_0x398cef,null))['catch'](handleError(_0x398cef,null));};