aa464f79e2105e25f0298c312cb199deed7d36ce
[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 _0x3786=['request\x20sent','stringify','error','code','message','result','sendStatus','end','json','count','offset','status','set','Content-Range','apply','reject','save','destroy','stack','name','send','index','map','rawAttributes','fieldName','model','query','filters','intersection','attributes','fields','nolimit','limit','order','sort','where','pick','filter','merge','type','options','SalesforceConfiguration','include','findAll','show','keys','length','includeAll','find','create','body','catch','update','params','getFields','findOne','hasOwnProperty','getSubjects','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','path','sox','to-csv','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/license/util','../../mysqldb','jayson/promise','client','http','request','then','SalesforceConfiguration,\x20%s,\x20%s','debug','SalesforceConfiguration,\x20%s,\x20%s,\x20%s'];(function(_0x20a584,_0xe384a5){var _0x4b41a8=function(_0x2127c6){while(--_0x2127c6){_0x20a584['push'](_0x20a584['shift']());}};_0x4b41a8(++_0xe384a5);}(_0x3786,0xef));var _0x6378=function(_0x181330,_0xb81c89){_0x181330=_0x181330-0x0;var _0x3af233=_0x3786[_0x181330];return _0x3af233;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x6378('0x0'));var rimraf=require(_0x6378('0x1'));var zipdir=require(_0x6378('0x2'));var jsonpatch=require(_0x6378('0x3'));var rp=require('request-promise');var moment=require(_0x6378('0x4'));var BPromise=require(_0x6378('0x5'));var Mustache=require(_0x6378('0x6'));var util=require('util');var path=require(_0x6378('0x7'));var sox=require(_0x6378('0x8'));var csv=require(_0x6378('0x9'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x6378('0xa'));var squel=require(_0x6378('0xb'));var crypto=require(_0x6378('0xc'));var jsforce=require('jsforce');var deskjs=require(_0x6378('0xd'));var toCsv=require('to-csv');var querystring=require(_0x6378('0xe'));var Papa=require(_0x6378('0xf'));var Redis=require(_0x6378('0x10'));var authService=require('../../components/auth/service');var qs=require(_0x6378('0x11'));var as=require(_0x6378('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x6378('0x13'))(_0x6378('0x14'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x6378('0x15'));var db=require(_0x6378('0x16'))['db'];var jayson=require(_0x6378('0x17'));var client=jayson[_0x6378('0x18')][_0x6378('0x19')]({'port':0x232a});function respondWithRpcPromise(_0x26129e,_0x1aaff0,_0x4c7a1,_0x1685e9){return new BPromise(function(_0x4e74b6,_0x3250fe){var _0x38289c=_0x1685e9||client;return _0x38289c[_0x6378('0x1a')](_0x26129e,_0x4c7a1)[_0x6378('0x1b')](function(_0x3c4c3a){logger['info'](_0x6378('0x1c'),_0x1aaff0,'request\x20sent');logger[_0x6378('0x1d')](_0x6378('0x1e'),_0x1aaff0,_0x6378('0x1f'),JSON[_0x6378('0x20')](_0x3c4c3a));if(_0x3c4c3a[_0x6378('0x21')]){if(_0x3c4c3a[_0x6378('0x21')][_0x6378('0x22')]===0x1f4){logger['error'](_0x6378('0x1c'),_0x1aaff0,_0x3c4c3a[_0x6378('0x21')][_0x6378('0x23')]);return _0x3250fe(_0x3c4c3a['error'][_0x6378('0x23')]);}logger[_0x6378('0x21')](_0x6378('0x1c'),_0x1aaff0,_0x3c4c3a[_0x6378('0x21')][_0x6378('0x23')]);return _0x4e74b6(_0x3c4c3a['error'][_0x6378('0x23')]);}else{logger['info'](_0x6378('0x1c'),_0x1aaff0,'request\x20sent');_0x4e74b6(_0x3c4c3a[_0x6378('0x24')][_0x6378('0x23')]);}})['catch'](function(_0x24432c){logger['error']('SalesforceConfiguration,\x20%s,\x20%s',_0x1aaff0,_0x24432c);_0x3250fe(_0x24432c);});});}function respondWithStatusCode(_0xb0a6e9,_0x10fe28){_0x10fe28=_0x10fe28||0xcc;return function(_0x1ff921){if(_0x1ff921){return _0xb0a6e9[_0x6378('0x25')](_0x10fe28);}return _0xb0a6e9['status'](_0x10fe28)[_0x6378('0x26')]();};}function respondWithResult(_0x487a52,_0x29b5de){_0x29b5de=_0x29b5de||0xc8;return function(_0x3fd5){if(_0x3fd5){return _0x487a52['status'](_0x29b5de)[_0x6378('0x27')](_0x3fd5);}};}function respondWithFilteredResult(_0xefcfb,_0x5ae078){return function(_0x27cfd4){if(_0x27cfd4){var _0x54caaa=_0x27cfd4[_0x6378('0x28')],_0x28d04f=_0x5ae078[_0x6378('0x29')],_0x1e6595=_0x5ae078['offset']+_0x5ae078['limit'],_0x25b972;if(_0x1e6595>=_0x54caaa){_0x1e6595=_0x54caaa;_0x25b972=0xc8;}else{_0x25b972=0xce;}_0xefcfb[_0x6378('0x2a')](_0x25b972);return _0xefcfb[_0x6378('0x2b')](_0x6378('0x2c'),_0x28d04f+'-'+_0x1e6595+'/'+_0x54caaa)[_0x6378('0x27')](_0x27cfd4);}return null;};}function patchUpdates(_0xb6ce9a){return function(_0x41c78e){try{jsonpatch[_0x6378('0x2d')](_0x41c78e,_0xb6ce9a,!![]);}catch(_0x5c39c8){return BPromise[_0x6378('0x2e')](_0x5c39c8);}return _0x41c78e[_0x6378('0x2f')]();};}function saveUpdates(_0x1a3df3,_0x38d6b0){return function(_0x299119){if(_0x299119){return _0x299119['update'](_0x1a3df3)[_0x6378('0x1b')](function(_0x229d43){return _0x229d43;});}return null;};}function removeEntity(_0xe52c0a,_0x29d86a){return function(_0x5a920c){if(_0x5a920c){return _0x5a920c[_0x6378('0x30')]()['then'](function(){_0xe52c0a[_0x6378('0x2a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x19a6d9,_0x3327d8){return function(_0x3c3b24){if(!_0x3c3b24){_0x19a6d9[_0x6378('0x25')](0x194);}return _0x3c3b24;};}function handleError(_0x5eb3cb,_0x4c0b10){_0x4c0b10=_0x4c0b10||0x1f4;return function(_0x4474f7){logger[_0x6378('0x21')](_0x4474f7[_0x6378('0x31')]);if(_0x4474f7[_0x6378('0x32')]){delete _0x4474f7[_0x6378('0x32')];}_0x5eb3cb[_0x6378('0x2a')](_0x4c0b10)[_0x6378('0x33')](_0x4474f7);};}exports[_0x6378('0x34')]=function(_0x254df7,_0x3e8fb3){var _0x168157={},_0x5aba21={},_0xd18465={'count':0x0,'rows':[]};var _0x307715=_[_0x6378('0x35')](db['SalesforceConfiguration'][_0x6378('0x36')],function(_0x4bdc3f){return{'name':_0x4bdc3f[_0x6378('0x37')],'type':_0x4bdc3f['type']['key']};});_0x5aba21[_0x6378('0x38')]=_[_0x6378('0x35')](_0x307715,'name');_0x5aba21[_0x6378('0x39')]=_['keys'](_0x254df7['query']);_0x5aba21[_0x6378('0x3a')]=_[_0x6378('0x3b')](_0x5aba21['model'],_0x5aba21[_0x6378('0x39')]);_0x168157[_0x6378('0x3c')]=_['intersection'](_0x5aba21['model'],qs[_0x6378('0x3d')](_0x254df7[_0x6378('0x39')][_0x6378('0x3d')]));_0x168157[_0x6378('0x3c')]=_0x168157[_0x6378('0x3c')]['length']?_0x168157[_0x6378('0x3c')]:_0x5aba21[_0x6378('0x38')];if(!_0x254df7['query']['hasOwnProperty'](_0x6378('0x3e'))){_0x168157['limit']=qs[_0x6378('0x3f')](_0x254df7['query'][_0x6378('0x3f')]);_0x168157[_0x6378('0x29')]=qs[_0x6378('0x29')](_0x254df7[_0x6378('0x39')][_0x6378('0x29')]);}_0x168157[_0x6378('0x40')]=qs[_0x6378('0x41')](_0x254df7['query']['sort']);_0x168157[_0x6378('0x42')]=qs['filters'](_[_0x6378('0x43')](_0x254df7[_0x6378('0x39')],_0x5aba21[_0x6378('0x3a')]),_0x307715);if(_0x254df7[_0x6378('0x39')][_0x6378('0x44')]){_0x168157[_0x6378('0x42')]=_[_0x6378('0x45')](_0x168157[_0x6378('0x42')],{'$or':_[_0x6378('0x35')](_0x307715,function(_0x1a1670){if(_0x1a1670[_0x6378('0x46')]!=='VIRTUAL'){var _0x510231={};_0x510231[_0x1a1670[_0x6378('0x32')]]={'$like':'%'+_0x254df7['query'][_0x6378('0x44')]+'%'};return _0x510231;}})});}_0x168157=_[_0x6378('0x45')]({},_0x168157,_0x254df7[_0x6378('0x47')]);var _0x26d0bf={'where':_0x168157['where']};return db[_0x6378('0x48')]['count'](_0x26d0bf)[_0x6378('0x1b')](function(_0x2248b2){_0xd18465['count']=_0x2248b2;if(_0x254df7[_0x6378('0x39')]['includeAll']){_0x168157[_0x6378('0x49')]=[{'all':!![]}];}return db[_0x6378('0x48')][_0x6378('0x4a')](_0x168157);})[_0x6378('0x1b')](function(_0x1b2fdf){_0xd18465['rows']=_0x1b2fdf;return _0xd18465;})['then'](respondWithFilteredResult(_0x3e8fb3,_0x168157))['catch'](handleError(_0x3e8fb3,null));};exports[_0x6378('0x4b')]=function(_0x503481,_0x37a887){var _0x33df94={'raw':![],'where':{'id':_0x503481['params']['id']}},_0x12c623={};_0x12c623[_0x6378('0x38')]=_[_0x6378('0x4c')](db[_0x6378('0x48')][_0x6378('0x36')]);_0x12c623['query']=_[_0x6378('0x4c')](_0x503481[_0x6378('0x39')]);_0x12c623[_0x6378('0x3a')]=_[_0x6378('0x3b')](_0x12c623[_0x6378('0x38')],_0x12c623[_0x6378('0x39')]);_0x33df94['attributes']=_[_0x6378('0x3b')](_0x12c623['model'],qs['fields'](_0x503481['query'][_0x6378('0x3d')]));_0x33df94[_0x6378('0x3c')]=_0x33df94[_0x6378('0x3c')][_0x6378('0x4d')]?_0x33df94['attributes']:_0x12c623[_0x6378('0x38')];if(_0x503481[_0x6378('0x39')][_0x6378('0x4e')]){_0x33df94[_0x6378('0x49')]=[{'all':!![]}];}_0x33df94=_[_0x6378('0x45')]({},_0x33df94,_0x503481[_0x6378('0x47')]);return db[_0x6378('0x48')][_0x6378('0x4f')](_0x33df94)[_0x6378('0x1b')](handleEntityNotFound(_0x37a887,null))[_0x6378('0x1b')](respondWithResult(_0x37a887,null))['catch'](handleError(_0x37a887,null));};exports[_0x6378('0x50')]=function(_0x321070,_0x348145){return db[_0x6378('0x48')][_0x6378('0x50')](_0x321070[_0x6378('0x51')],{})['then'](respondWithResult(_0x348145,0xc9))[_0x6378('0x52')](handleError(_0x348145,null));};exports[_0x6378('0x53')]=function(_0x56d384,_0x2be1f1){if(_0x56d384[_0x6378('0x51')]['id']){delete _0x56d384['body']['id'];}return db[_0x6378('0x48')][_0x6378('0x4f')]({'where':{'id':_0x56d384[_0x6378('0x54')]['id']}})[_0x6378('0x1b')](handleEntityNotFound(_0x2be1f1,null))['then'](saveUpdates(_0x56d384['body'],null))[_0x6378('0x1b')](respondWithResult(_0x2be1f1,null))[_0x6378('0x52')](handleError(_0x2be1f1,null));};exports['destroy']=function(_0x125c6d,_0x2ba1ca){return db[_0x6378('0x48')][_0x6378('0x4f')]({'where':{'id':_0x125c6d[_0x6378('0x54')]['id']}})[_0x6378('0x1b')](handleEntityNotFound(_0x2ba1ca,null))['then'](removeEntity(_0x2ba1ca,null))[_0x6378('0x52')](handleError(_0x2ba1ca,null));};exports[_0x6378('0x55')]=function(_0x4ddc60,_0x223715,_0x2941b){var _0x30a61d={};var _0x3d370f={};var _0x43979f;var _0x3d1e38;return db[_0x6378('0x48')][_0x6378('0x56')]({'where':{'id':_0x4ddc60[_0x6378('0x54')]['id']}})[_0x6378('0x1b')](handleEntityNotFound(_0x223715,null))['then'](function(_0x1b2004){if(_0x1b2004){_0x43979f=_0x1b2004;_0x3d370f[_0x6378('0x38')]=_['keys'](db['SalesforceField'][_0x6378('0x36')]);_0x3d370f[_0x6378('0x39')]=_['keys'](_0x4ddc60['query']);_0x3d370f[_0x6378('0x3a')]=_[_0x6378('0x3b')](_0x3d370f[_0x6378('0x38')],_0x3d370f['query']);_0x30a61d['attributes']=_[_0x6378('0x3b')](_0x3d370f['model'],qs[_0x6378('0x3d')](_0x4ddc60[_0x6378('0x39')]['fields']));_0x30a61d['attributes']=_0x30a61d['attributes'][_0x6378('0x4d')]?_0x30a61d['attributes']:_0x3d370f[_0x6378('0x38')];_0x30a61d[_0x6378('0x40')]=qs['sort'](_0x4ddc60[_0x6378('0x39')][_0x6378('0x41')]);_0x30a61d['where']=qs[_0x6378('0x3a')](_['pick'](_0x4ddc60[_0x6378('0x39')],_0x3d370f[_0x6378('0x3a')]));if(_0x4ddc60[_0x6378('0x39')]['filter']){_0x30a61d[_0x6378('0x42')]=_['merge'](_0x30a61d[_0x6378('0x42')],{'$or':_['map'](_0x30a61d[_0x6378('0x3c')],function(_0x19bca3){var _0x333aa9={};_0x333aa9[_0x19bca3]={'$like':'%'+_0x4ddc60[_0x6378('0x39')][_0x6378('0x44')]+'%'};return _0x333aa9;})});}_0x30a61d=_['merge']({},_0x30a61d,_0x4ddc60['options']);return _0x43979f['getFields'](_0x30a61d);}})[_0x6378('0x1b')](function(_0x5f4f92){if(_0x5f4f92){_0x3d1e38=_0x5f4f92[_0x6378('0x4d')];if(!_0x4ddc60['query'][_0x6378('0x57')](_0x6378('0x3e'))){_0x30a61d[_0x6378('0x3f')]=qs[_0x6378('0x3f')](_0x4ddc60[_0x6378('0x39')]['limit']);_0x30a61d[_0x6378('0x29')]=qs[_0x6378('0x29')](_0x4ddc60[_0x6378('0x39')][_0x6378('0x29')]);}return _0x43979f['getFields'](_0x30a61d);}})[_0x6378('0x1b')](function(_0x4b6efd){if(_0x4b6efd){return _0x4b6efd?{'count':_0x3d1e38,'rows':_0x4b6efd}:null;}})['then'](respondWithResult(_0x223715,null))[_0x6378('0x52')](handleError(_0x223715,null));};exports[_0x6378('0x58')]=function(_0x2c5fb8,_0x21d621,_0xa19def){var _0x37893e={};var _0x3456f4={};var _0x3fa955;var _0x92995f;return db[_0x6378('0x48')][_0x6378('0x56')]({'where':{'id':_0x2c5fb8[_0x6378('0x54')]['id']}})['then'](handleEntityNotFound(_0x21d621,null))[_0x6378('0x1b')](function(_0x2580c5){if(_0x2580c5){_0x3fa955=_0x2580c5;_0x3456f4[_0x6378('0x38')]=_['keys'](db['SalesforceField']['rawAttributes']);_0x3456f4[_0x6378('0x39')]=_[_0x6378('0x4c')](_0x2c5fb8[_0x6378('0x39')]);_0x3456f4[_0x6378('0x3a')]=_[_0x6378('0x3b')](_0x3456f4[_0x6378('0x38')],_0x3456f4[_0x6378('0x39')]);_0x37893e[_0x6378('0x3c')]=_['intersection'](_0x3456f4[_0x6378('0x38')],qs[_0x6378('0x3d')](_0x2c5fb8[_0x6378('0x39')][_0x6378('0x3d')]));_0x37893e[_0x6378('0x3c')]=_0x37893e['attributes'][_0x6378('0x4d')]?_0x37893e[_0x6378('0x3c')]:_0x3456f4[_0x6378('0x38')];_0x37893e[_0x6378('0x40')]=qs[_0x6378('0x41')](_0x2c5fb8[_0x6378('0x39')][_0x6378('0x41')]);_0x37893e[_0x6378('0x42')]=qs[_0x6378('0x3a')](_[_0x6378('0x43')](_0x2c5fb8['query'],_0x3456f4[_0x6378('0x3a')]));if(_0x2c5fb8[_0x6378('0x39')]['filter']){_0x37893e[_0x6378('0x42')]=_[_0x6378('0x45')](_0x37893e[_0x6378('0x42')],{'$or':_[_0x6378('0x35')](_0x37893e[_0x6378('0x3c')],function(_0x3dffe){var _0x5d8e81={};_0x5d8e81[_0x3dffe]={'$like':'%'+_0x2c5fb8[_0x6378('0x39')][_0x6378('0x44')]+'%'};return _0x5d8e81;})});}_0x37893e=_[_0x6378('0x45')]({},_0x37893e,_0x2c5fb8[_0x6378('0x47')]);return _0x3fa955[_0x6378('0x58')](_0x37893e);}})['then'](function(_0x59925a){if(_0x59925a){_0x92995f=_0x59925a[_0x6378('0x4d')];if(!_0x2c5fb8[_0x6378('0x39')][_0x6378('0x57')](_0x6378('0x3e'))){_0x37893e[_0x6378('0x3f')]=qs[_0x6378('0x3f')](_0x2c5fb8[_0x6378('0x39')][_0x6378('0x3f')]);_0x37893e['offset']=qs[_0x6378('0x29')](_0x2c5fb8[_0x6378('0x39')][_0x6378('0x29')]);}return _0x3fa955[_0x6378('0x58')](_0x37893e);}})[_0x6378('0x1b')](function(_0x17bbb5){if(_0x17bbb5){return _0x17bbb5?{'count':_0x92995f,'rows':_0x17bbb5}:null;}})['then'](respondWithResult(_0x21d621,null))[_0x6378('0x52')](handleError(_0x21d621,null));};exports['getDescriptions']=function(_0xa9f421,_0x420244,_0x2ec0b8){var _0x501551={};var _0x40c5e6={};var _0x491653;var _0x2e460d;return db[_0x6378('0x48')]['findOne']({'where':{'id':_0xa9f421['params']['id']}})[_0x6378('0x1b')](handleEntityNotFound(_0x420244,null))[_0x6378('0x1b')](function(_0x3e1b3e){if(_0x3e1b3e){_0x491653=_0x3e1b3e;_0x40c5e6['model']=_['keys'](db['SalesforceField'][_0x6378('0x36')]);_0x40c5e6[_0x6378('0x39')]=_[_0x6378('0x4c')](_0xa9f421[_0x6378('0x39')]);_0x40c5e6['filters']=_[_0x6378('0x3b')](_0x40c5e6[_0x6378('0x38')],_0x40c5e6[_0x6378('0x39')]);_0x501551[_0x6378('0x3c')]=_[_0x6378('0x3b')](_0x40c5e6[_0x6378('0x38')],qs[_0x6378('0x3d')](_0xa9f421[_0x6378('0x39')][_0x6378('0x3d')]));_0x501551['attributes']=_0x501551[_0x6378('0x3c')][_0x6378('0x4d')]?_0x501551[_0x6378('0x3c')]:_0x40c5e6[_0x6378('0x38')];_0x501551[_0x6378('0x40')]=qs[_0x6378('0x41')](_0xa9f421['query'][_0x6378('0x41')]);_0x501551['where']=qs[_0x6378('0x3a')](_['pick'](_0xa9f421[_0x6378('0x39')],_0x40c5e6['filters']));if(_0xa9f421[_0x6378('0x39')][_0x6378('0x44')]){_0x501551['where']=_[_0x6378('0x45')](_0x501551['where'],{'$or':_[_0x6378('0x35')](_0x501551[_0x6378('0x3c')],function(_0x410b11){var _0x5ae4e9={};_0x5ae4e9[_0x410b11]={'$like':'%'+_0xa9f421[_0x6378('0x39')]['filter']+'%'};return _0x5ae4e9;})});}_0x501551=_[_0x6378('0x45')]({},_0x501551,_0xa9f421[_0x6378('0x47')]);return _0x491653[_0x6378('0x59')](_0x501551);}})[_0x6378('0x1b')](function(_0x3b790e){if(_0x3b790e){_0x2e460d=_0x3b790e[_0x6378('0x4d')];if(!_0xa9f421[_0x6378('0x39')]['hasOwnProperty'](_0x6378('0x3e'))){_0x501551[_0x6378('0x3f')]=qs['limit'](_0xa9f421[_0x6378('0x39')]['limit']);_0x501551[_0x6378('0x29')]=qs[_0x6378('0x29')](_0xa9f421['query']['offset']);}return _0x491653[_0x6378('0x59')](_0x501551);}})[_0x6378('0x1b')](function(_0x3acd2a){if(_0x3acd2a){return _0x3acd2a?{'count':_0x2e460d,'rows':_0x3acd2a}:null;}})[_0x6378('0x1b')](respondWithResult(_0x420244,null))[_0x6378('0x52')](handleError(_0x420244,null));};