3c7d5f18b97dd68df07c6f5804b929c353dbc898
[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 _0x74a1=['query','keys','filters','intersection','attributes','model','fields','hasOwnProperty','nolimit','order','sort','filter','merge','where','VIRTUAL','options','count','includeAll','include','rows','show','params','rawAttributes','length','find','create','body','update','getFields','SalesforceField','getSubjects','pick','getDescriptions','html-pdf','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','path','sox','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','jayson/promise','client','http','request','then','info','SalesforceConfiguration,\x20%s,\x20%s','request\x20sent','debug','SalesforceConfiguration,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','sendStatus','status','json','offset','limit','set','Content-Range','apply','reject','destroy','end','stack','name','send','index','map','SalesforceConfiguration','type','key'];(function(_0x19e35c,_0x29cd1e){var _0x3e1fe8=function(_0x17258b){while(--_0x17258b){_0x19e35c['push'](_0x19e35c['shift']());}};_0x3e1fe8(++_0x29cd1e);}(_0x74a1,0x199));var _0x174a=function(_0x546a88,_0x48d512){_0x546a88=_0x546a88-0x0;var _0x60ec43=_0x74a1[_0x546a88];return _0x60ec43;};'use strict';var pdf=require(_0x174a('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x174a('0x1'));var zipdir=require(_0x174a('0x2'));var jsonpatch=require(_0x174a('0x3'));var rp=require(_0x174a('0x4'));var moment=require(_0x174a('0x5'));var BPromise=require(_0x174a('0x6'));var Mustache=require('mustache');var util=require('util');var path=require(_0x174a('0x7'));var sox=require(_0x174a('0x8'));var csv=require('to-csv');var ejs=require(_0x174a('0x9'));var fs=require('fs');var _=require(_0x174a('0xa'));var squel=require(_0x174a('0xb'));var crypto=require(_0x174a('0xc'));var jsforce=require(_0x174a('0xd'));var deskjs=require(_0x174a('0xe'));var toCsv=require('to-csv');var querystring=require(_0x174a('0xf'));var Papa=require(_0x174a('0x10'));var Redis=require('ioredis');var authService=require(_0x174a('0x11'));var qs=require(_0x174a('0x12'));var as=require(_0x174a('0x13'));var hardwareService=require(_0x174a('0x14'));var logger=require(_0x174a('0x15'))('api');var utils=require(_0x174a('0x16'));var config=require(_0x174a('0x17'));var licenseUtil=require(_0x174a('0x18'));var db=require(_0x174a('0x19'))['db'];var jayson=require(_0x174a('0x1a'));var client=jayson[_0x174a('0x1b')][_0x174a('0x1c')]({'port':0x232a});function respondWithRpcPromise(_0x473c00,_0x16e5f7,_0xc082e9,_0x3f23d4){return new BPromise(function(_0x518135,_0xc70a69){var _0x3deaa7=_0x3f23d4||client;return _0x3deaa7[_0x174a('0x1d')](_0x473c00,_0xc082e9)[_0x174a('0x1e')](function(_0x6f3913){logger[_0x174a('0x1f')](_0x174a('0x20'),_0x16e5f7,_0x174a('0x21'));logger[_0x174a('0x22')](_0x174a('0x23'),_0x16e5f7,_0x174a('0x21'),JSON[_0x174a('0x24')](_0x6f3913));if(_0x6f3913['error']){if(_0x6f3913[_0x174a('0x25')][_0x174a('0x26')]===0x1f4){logger[_0x174a('0x25')]('SalesforceConfiguration,\x20%s,\x20%s',_0x16e5f7,_0x6f3913['error']['message']);return _0xc70a69(_0x6f3913[_0x174a('0x25')]['message']);}logger[_0x174a('0x25')]('SalesforceConfiguration,\x20%s,\x20%s',_0x16e5f7,_0x6f3913[_0x174a('0x25')][_0x174a('0x27')]);return _0x518135(_0x6f3913[_0x174a('0x25')][_0x174a('0x27')]);}else{logger[_0x174a('0x1f')](_0x174a('0x20'),_0x16e5f7,'request\x20sent');_0x518135(_0x6f3913[_0x174a('0x28')]['message']);}})[_0x174a('0x29')](function(_0x5be378){logger[_0x174a('0x25')](_0x174a('0x20'),_0x16e5f7,_0x5be378);_0xc70a69(_0x5be378);});});}function respondWithStatusCode(_0x2aa7f6,_0x1ec22f){_0x1ec22f=_0x1ec22f||0xcc;return function(_0x2aaa56){if(_0x2aaa56){return _0x2aa7f6[_0x174a('0x2a')](_0x1ec22f);}return _0x2aa7f6[_0x174a('0x2b')](_0x1ec22f)['end']();};}function respondWithResult(_0x5ec6bc,_0x193309){_0x193309=_0x193309||0xc8;return function(_0x546699){if(_0x546699){return _0x5ec6bc[_0x174a('0x2b')](_0x193309)[_0x174a('0x2c')](_0x546699);}};}function respondWithFilteredResult(_0xfbc807,_0x323000){return function(_0x495134){if(_0x495134){var _0x2b1d88=_0x495134['count'],_0x335a51=_0x323000[_0x174a('0x2d')],_0xd461ac=_0x323000[_0x174a('0x2d')]+_0x323000[_0x174a('0x2e')],_0x469518;if(_0xd461ac>=_0x2b1d88){_0xd461ac=_0x2b1d88;_0x469518=0xc8;}else{_0x469518=0xce;}_0xfbc807[_0x174a('0x2b')](_0x469518);return _0xfbc807[_0x174a('0x2f')](_0x174a('0x30'),_0x335a51+'-'+_0xd461ac+'/'+_0x2b1d88)[_0x174a('0x2c')](_0x495134);}return null;};}function patchUpdates(_0x40592e){return function(_0x143a0d){try{jsonpatch[_0x174a('0x31')](_0x143a0d,_0x40592e,!![]);}catch(_0x433b67){return BPromise[_0x174a('0x32')](_0x433b67);}return _0x143a0d['save']();};}function saveUpdates(_0x3307fc,_0x1f9681){return function(_0x4d88ec){if(_0x4d88ec){return _0x4d88ec['update'](_0x3307fc)['then'](function(_0x3c2854){return _0x3c2854;});}return null;};}function removeEntity(_0x5abd79,_0xe14a66){return function(_0x4cb187){if(_0x4cb187){return _0x4cb187[_0x174a('0x33')]()['then'](function(){_0x5abd79[_0x174a('0x2b')](0xcc)[_0x174a('0x34')]();});}};}function handleEntityNotFound(_0x1ea743,_0x389dd7){return function(_0x2abfbd){if(!_0x2abfbd){_0x1ea743[_0x174a('0x2a')](0x194);}return _0x2abfbd;};}function handleError(_0x1bf4de,_0x45438f){_0x45438f=_0x45438f||0x1f4;return function(_0x2e292b){logger['error'](_0x2e292b[_0x174a('0x35')]);if(_0x2e292b[_0x174a('0x36')]){delete _0x2e292b[_0x174a('0x36')];}_0x1bf4de[_0x174a('0x2b')](_0x45438f)[_0x174a('0x37')](_0x2e292b);};}exports[_0x174a('0x38')]=function(_0x5e781c,_0x221d9c){var _0x1725ae={},_0x21c715={},_0x922bcc={'count':0x0,'rows':[]};var _0x551734=_[_0x174a('0x39')](db[_0x174a('0x3a')]['rawAttributes'],function(_0x54ce3e){return{'name':_0x54ce3e['fieldName'],'type':_0x54ce3e[_0x174a('0x3b')][_0x174a('0x3c')]};});_0x21c715['model']=_[_0x174a('0x39')](_0x551734,_0x174a('0x36'));_0x21c715[_0x174a('0x3d')]=_[_0x174a('0x3e')](_0x5e781c[_0x174a('0x3d')]);_0x21c715[_0x174a('0x3f')]=_[_0x174a('0x40')](_0x21c715['model'],_0x21c715[_0x174a('0x3d')]);_0x1725ae[_0x174a('0x41')]=_[_0x174a('0x40')](_0x21c715[_0x174a('0x42')],qs[_0x174a('0x43')](_0x5e781c[_0x174a('0x3d')][_0x174a('0x43')]));_0x1725ae[_0x174a('0x41')]=_0x1725ae[_0x174a('0x41')]['length']?_0x1725ae[_0x174a('0x41')]:_0x21c715[_0x174a('0x42')];if(!_0x5e781c['query'][_0x174a('0x44')](_0x174a('0x45'))){_0x1725ae[_0x174a('0x2e')]=qs['limit'](_0x5e781c[_0x174a('0x3d')][_0x174a('0x2e')]);_0x1725ae['offset']=qs['offset'](_0x5e781c['query'][_0x174a('0x2d')]);}_0x1725ae[_0x174a('0x46')]=qs[_0x174a('0x47')](_0x5e781c['query'][_0x174a('0x47')]);_0x1725ae['where']=qs[_0x174a('0x3f')](_['pick'](_0x5e781c['query'],_0x21c715[_0x174a('0x3f')]),_0x551734);if(_0x5e781c[_0x174a('0x3d')][_0x174a('0x48')]){_0x1725ae['where']=_[_0x174a('0x49')](_0x1725ae[_0x174a('0x4a')],{'$or':_[_0x174a('0x39')](_0x551734,function(_0x236b49){if(_0x236b49['type']!==_0x174a('0x4b')){var _0x5d92fd={};_0x5d92fd[_0x236b49['name']]={'$like':'%'+_0x5e781c[_0x174a('0x3d')][_0x174a('0x48')]+'%'};return _0x5d92fd;}})});}_0x1725ae=_['merge']({},_0x1725ae,_0x5e781c[_0x174a('0x4c')]);var _0x18837d={'where':_0x1725ae[_0x174a('0x4a')]};return db[_0x174a('0x3a')][_0x174a('0x4d')](_0x18837d)['then'](function(_0xa65539){_0x922bcc[_0x174a('0x4d')]=_0xa65539;if(_0x5e781c[_0x174a('0x3d')][_0x174a('0x4e')]){_0x1725ae[_0x174a('0x4f')]=[{'all':!![]}];}return db[_0x174a('0x3a')]['findAll'](_0x1725ae);})[_0x174a('0x1e')](function(_0x2978f0){_0x922bcc[_0x174a('0x50')]=_0x2978f0;return _0x922bcc;})[_0x174a('0x1e')](respondWithFilteredResult(_0x221d9c,_0x1725ae))[_0x174a('0x29')](handleError(_0x221d9c,null));};exports[_0x174a('0x51')]=function(_0x2fa339,_0x18d2ee){var _0x4b46e9={'raw':![],'where':{'id':_0x2fa339[_0x174a('0x52')]['id']}},_0xc14ad={};_0xc14ad[_0x174a('0x42')]=_[_0x174a('0x3e')](db['SalesforceConfiguration'][_0x174a('0x53')]);_0xc14ad['query']=_[_0x174a('0x3e')](_0x2fa339[_0x174a('0x3d')]);_0xc14ad[_0x174a('0x3f')]=_[_0x174a('0x40')](_0xc14ad['model'],_0xc14ad[_0x174a('0x3d')]);_0x4b46e9['attributes']=_['intersection'](_0xc14ad[_0x174a('0x42')],qs['fields'](_0x2fa339['query'][_0x174a('0x43')]));_0x4b46e9[_0x174a('0x41')]=_0x4b46e9[_0x174a('0x41')][_0x174a('0x54')]?_0x4b46e9[_0x174a('0x41')]:_0xc14ad['model'];if(_0x2fa339[_0x174a('0x3d')]['includeAll']){_0x4b46e9[_0x174a('0x4f')]=[{'all':!![]}];}_0x4b46e9=_[_0x174a('0x49')]({},_0x4b46e9,_0x2fa339[_0x174a('0x4c')]);return db[_0x174a('0x3a')][_0x174a('0x55')](_0x4b46e9)['then'](handleEntityNotFound(_0x18d2ee,null))[_0x174a('0x1e')](respondWithResult(_0x18d2ee,null))['catch'](handleError(_0x18d2ee,null));};exports[_0x174a('0x56')]=function(_0x56ea01,_0x548746){return db['SalesforceConfiguration'][_0x174a('0x56')](_0x56ea01[_0x174a('0x57')],{})[_0x174a('0x1e')](respondWithResult(_0x548746,0xc9))[_0x174a('0x29')](handleError(_0x548746,null));};exports[_0x174a('0x58')]=function(_0x477244,_0x507aad){if(_0x477244[_0x174a('0x57')]['id']){delete _0x477244['body']['id'];}return db[_0x174a('0x3a')]['find']({'where':{'id':_0x477244[_0x174a('0x52')]['id']}})[_0x174a('0x1e')](handleEntityNotFound(_0x507aad,null))[_0x174a('0x1e')](saveUpdates(_0x477244[_0x174a('0x57')],null))[_0x174a('0x1e')](respondWithResult(_0x507aad,null))['catch'](handleError(_0x507aad,null));};exports['destroy']=function(_0x4e02fe,_0x4ff754){return db['SalesforceConfiguration']['find']({'where':{'id':_0x4e02fe['params']['id']}})[_0x174a('0x1e')](handleEntityNotFound(_0x4ff754,null))[_0x174a('0x1e')](removeEntity(_0x4ff754,null))['catch'](handleError(_0x4ff754,null));};exports[_0x174a('0x59')]=function(_0x176430,_0x3e3795,_0x279c1c){var _0x81ea88={};var _0x3d058d={};var _0x21d20d;var _0x39f308;return db[_0x174a('0x3a')]['findOne']({'where':{'id':_0x176430[_0x174a('0x52')]['id']}})[_0x174a('0x1e')](handleEntityNotFound(_0x3e3795,null))[_0x174a('0x1e')](function(_0x1147ac){if(_0x1147ac){_0x21d20d=_0x1147ac;_0x3d058d[_0x174a('0x42')]=_[_0x174a('0x3e')](db[_0x174a('0x5a')][_0x174a('0x53')]);_0x3d058d[_0x174a('0x3d')]=_[_0x174a('0x3e')](_0x176430[_0x174a('0x3d')]);_0x3d058d[_0x174a('0x3f')]=_[_0x174a('0x40')](_0x3d058d[_0x174a('0x42')],_0x3d058d[_0x174a('0x3d')]);_0x81ea88[_0x174a('0x41')]=_['intersection'](_0x3d058d[_0x174a('0x42')],qs[_0x174a('0x43')](_0x176430[_0x174a('0x3d')][_0x174a('0x43')]));_0x81ea88['attributes']=_0x81ea88[_0x174a('0x41')][_0x174a('0x54')]?_0x81ea88[_0x174a('0x41')]:_0x3d058d[_0x174a('0x42')];_0x81ea88[_0x174a('0x46')]=qs[_0x174a('0x47')](_0x176430['query'][_0x174a('0x47')]);_0x81ea88['where']=qs['filters'](_['pick'](_0x176430[_0x174a('0x3d')],_0x3d058d[_0x174a('0x3f')]));if(_0x176430[_0x174a('0x3d')][_0x174a('0x48')]){_0x81ea88[_0x174a('0x4a')]=_[_0x174a('0x49')](_0x81ea88[_0x174a('0x4a')],{'$or':_['map'](_0x81ea88['attributes'],function(_0x59d8ee){var _0x278b3b={};_0x278b3b[_0x59d8ee]={'$like':'%'+_0x176430['query'][_0x174a('0x48')]+'%'};return _0x278b3b;})});}_0x81ea88=_['merge']({},_0x81ea88,_0x176430[_0x174a('0x4c')]);return _0x21d20d[_0x174a('0x59')](_0x81ea88);}})[_0x174a('0x1e')](function(_0x255ea2){if(_0x255ea2){_0x39f308=_0x255ea2['length'];if(!_0x176430[_0x174a('0x3d')][_0x174a('0x44')](_0x174a('0x45'))){_0x81ea88[_0x174a('0x2e')]=qs[_0x174a('0x2e')](_0x176430[_0x174a('0x3d')][_0x174a('0x2e')]);_0x81ea88['offset']=qs[_0x174a('0x2d')](_0x176430[_0x174a('0x3d')][_0x174a('0x2d')]);}return _0x21d20d[_0x174a('0x59')](_0x81ea88);}})[_0x174a('0x1e')](function(_0x3aaed0){if(_0x3aaed0){return _0x3aaed0?{'count':_0x39f308,'rows':_0x3aaed0}:null;}})[_0x174a('0x1e')](respondWithResult(_0x3e3795,null))[_0x174a('0x29')](handleError(_0x3e3795,null));};exports[_0x174a('0x5b')]=function(_0x5a6c4f,_0x400759,_0x2cbe46){var _0xcf0fe4={};var _0x394df0={};var _0x1fb4e2;var _0x379f40;return db[_0x174a('0x3a')]['findOne']({'where':{'id':_0x5a6c4f[_0x174a('0x52')]['id']}})['then'](handleEntityNotFound(_0x400759,null))[_0x174a('0x1e')](function(_0x426e3c){if(_0x426e3c){_0x1fb4e2=_0x426e3c;_0x394df0[_0x174a('0x42')]=_['keys'](db['SalesforceField'][_0x174a('0x53')]);_0x394df0['query']=_[_0x174a('0x3e')](_0x5a6c4f[_0x174a('0x3d')]);_0x394df0[_0x174a('0x3f')]=_[_0x174a('0x40')](_0x394df0[_0x174a('0x42')],_0x394df0[_0x174a('0x3d')]);_0xcf0fe4['attributes']=_['intersection'](_0x394df0[_0x174a('0x42')],qs[_0x174a('0x43')](_0x5a6c4f[_0x174a('0x3d')]['fields']));_0xcf0fe4[_0x174a('0x41')]=_0xcf0fe4[_0x174a('0x41')][_0x174a('0x54')]?_0xcf0fe4[_0x174a('0x41')]:_0x394df0[_0x174a('0x42')];_0xcf0fe4[_0x174a('0x46')]=qs['sort'](_0x5a6c4f[_0x174a('0x3d')][_0x174a('0x47')]);_0xcf0fe4[_0x174a('0x4a')]=qs['filters'](_[_0x174a('0x5c')](_0x5a6c4f[_0x174a('0x3d')],_0x394df0[_0x174a('0x3f')]));if(_0x5a6c4f[_0x174a('0x3d')][_0x174a('0x48')]){_0xcf0fe4[_0x174a('0x4a')]=_['merge'](_0xcf0fe4[_0x174a('0x4a')],{'$or':_[_0x174a('0x39')](_0xcf0fe4[_0x174a('0x41')],function(_0x58e982){var _0x4795da={};_0x4795da[_0x58e982]={'$like':'%'+_0x5a6c4f[_0x174a('0x3d')][_0x174a('0x48')]+'%'};return _0x4795da;})});}_0xcf0fe4=_[_0x174a('0x49')]({},_0xcf0fe4,_0x5a6c4f[_0x174a('0x4c')]);return _0x1fb4e2[_0x174a('0x5b')](_0xcf0fe4);}})[_0x174a('0x1e')](function(_0x4bb910){if(_0x4bb910){_0x379f40=_0x4bb910[_0x174a('0x54')];if(!_0x5a6c4f[_0x174a('0x3d')][_0x174a('0x44')](_0x174a('0x45'))){_0xcf0fe4['limit']=qs[_0x174a('0x2e')](_0x5a6c4f[_0x174a('0x3d')][_0x174a('0x2e')]);_0xcf0fe4[_0x174a('0x2d')]=qs['offset'](_0x5a6c4f['query'][_0x174a('0x2d')]);}return _0x1fb4e2[_0x174a('0x5b')](_0xcf0fe4);}})['then'](function(_0x5efd60){if(_0x5efd60){return _0x5efd60?{'count':_0x379f40,'rows':_0x5efd60}:null;}})[_0x174a('0x1e')](respondWithResult(_0x400759,null))[_0x174a('0x29')](handleError(_0x400759,null));};exports[_0x174a('0x5d')]=function(_0x179b3d,_0x4090b4,_0x371b01){var _0x18f51a={};var _0x587d71={};var _0x55408f;var _0x9158e;return db[_0x174a('0x3a')]['findOne']({'where':{'id':_0x179b3d[_0x174a('0x52')]['id']}})[_0x174a('0x1e')](handleEntityNotFound(_0x4090b4,null))[_0x174a('0x1e')](function(_0x3b468){if(_0x3b468){_0x55408f=_0x3b468;_0x587d71[_0x174a('0x42')]=_[_0x174a('0x3e')](db[_0x174a('0x5a')]['rawAttributes']);_0x587d71[_0x174a('0x3d')]=_[_0x174a('0x3e')](_0x179b3d[_0x174a('0x3d')]);_0x587d71[_0x174a('0x3f')]=_['intersection'](_0x587d71[_0x174a('0x42')],_0x587d71[_0x174a('0x3d')]);_0x18f51a[_0x174a('0x41')]=_[_0x174a('0x40')](_0x587d71[_0x174a('0x42')],qs[_0x174a('0x43')](_0x179b3d[_0x174a('0x3d')][_0x174a('0x43')]));_0x18f51a[_0x174a('0x41')]=_0x18f51a[_0x174a('0x41')][_0x174a('0x54')]?_0x18f51a['attributes']:_0x587d71[_0x174a('0x42')];_0x18f51a[_0x174a('0x46')]=qs['sort'](_0x179b3d[_0x174a('0x3d')]['sort']);_0x18f51a['where']=qs['filters'](_[_0x174a('0x5c')](_0x179b3d[_0x174a('0x3d')],_0x587d71[_0x174a('0x3f')]));if(_0x179b3d[_0x174a('0x3d')][_0x174a('0x48')]){_0x18f51a[_0x174a('0x4a')]=_[_0x174a('0x49')](_0x18f51a[_0x174a('0x4a')],{'$or':_['map'](_0x18f51a[_0x174a('0x41')],function(_0x20eab2){var _0x4c3706={};_0x4c3706[_0x20eab2]={'$like':'%'+_0x179b3d['query'][_0x174a('0x48')]+'%'};return _0x4c3706;})});}_0x18f51a=_[_0x174a('0x49')]({},_0x18f51a,_0x179b3d[_0x174a('0x4c')]);return _0x55408f[_0x174a('0x5d')](_0x18f51a);}})[_0x174a('0x1e')](function(_0x5a67e3){if(_0x5a67e3){_0x9158e=_0x5a67e3[_0x174a('0x54')];if(!_0x179b3d['query'][_0x174a('0x44')]('nolimit')){_0x18f51a[_0x174a('0x2e')]=qs[_0x174a('0x2e')](_0x179b3d[_0x174a('0x3d')][_0x174a('0x2e')]);_0x18f51a[_0x174a('0x2d')]=qs[_0x174a('0x2d')](_0x179b3d['query'][_0x174a('0x2d')]);}return _0x55408f[_0x174a('0x5d')](_0x18f51a);}})['then'](function(_0x19c335){if(_0x19c335){return _0x19c335?{'count':_0x9158e,'rows':_0x19c335}:null;}})['then'](respondWithResult(_0x4090b4,null))['catch'](handleError(_0x4090b4,null));};