0787a17e3b67be3677828798ee36823f7a323e88
[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 _0xfd69=['order','pick','filter','getDescriptions','eml-format','rimraf','zip-dir','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','offset','undefined','count','limit','set','json','apply','reject','update','destroy','then','end','error','stack','name','index','SalesforceConfiguration','fieldName','type','key','query','filters','intersection','model','fields','attributes','length','hasOwnProperty','sort','where','merge','map','VIRTUAL','options','includeAll','findAll','rows','keys','rawAttributes','find','catch','create','body','params','getFields','findOne','SalesforceField','nolimit','getSubjects'];(function(_0x58121c,_0x118aec){var _0xadeab2=function(_0x91bbc5){while(--_0x91bbc5){_0x58121c['push'](_0x58121c['shift']());}};_0xadeab2(++_0x118aec);}(_0xfd69,0xa4));var _0x9fd6=function(_0x337d1a,_0x43ebf3){_0x337d1a=_0x337d1a-0x0;var _0x3475fb=_0xfd69[_0x337d1a];return _0x3475fb;};'use strict';var emlformat=require(_0x9fd6('0x0'));var rimraf=require(_0x9fd6('0x1'));var zipdir=require(_0x9fd6('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x9fd6('0x3'));var BPromise=require(_0x9fd6('0x4'));var Mustache=require(_0x9fd6('0x5'));var util=require(_0x9fd6('0x6'));var path=require(_0x9fd6('0x7'));var sox=require(_0x9fd6('0x8'));var csv=require(_0x9fd6('0x9'));var ejs=require(_0x9fd6('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x9fd6('0xb'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x9fd6('0xc'));var deskjs=require(_0x9fd6('0xd'));var toCsv=require(_0x9fd6('0x9'));var querystring=require(_0x9fd6('0xe'));var Papa=require(_0x9fd6('0xf'));var Redis=require(_0x9fd6('0x10'));var authService=require(_0x9fd6('0x11'));var qs=require(_0x9fd6('0x12'));var as=require(_0x9fd6('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x9fd6('0x14'));var utils=require(_0x9fd6('0x15'));var config=require(_0x9fd6('0x16'));var licenseUtil=require(_0x9fd6('0x17'));var db=require(_0x9fd6('0x18'))['db'];function respondWithStatusCode(_0x210982,_0xc1c93a){_0xc1c93a=_0xc1c93a||0xcc;return function(_0x4cb167){if(_0x4cb167){return _0x210982[_0x9fd6('0x19')](_0xc1c93a);}return _0x210982[_0x9fd6('0x1a')](_0xc1c93a)['end']();};}function respondWithResult(_0xd2bdd,_0x26d302){_0x26d302=_0x26d302||0xc8;return function(_0x52e70a){if(_0x52e70a){return _0xd2bdd[_0x9fd6('0x1a')](_0x26d302)['json'](_0x52e70a);}};}function respondWithFilteredResult(_0xe97986,_0x1c57ef){return function(_0x4d9b39){if(_0x4d9b39){var _0x8dcfaf=typeof _0x1c57ef[_0x9fd6('0x1b')]==='undefined'&&typeof _0x1c57ef['limit']===_0x9fd6('0x1c');var _0x14d399=_0x4d9b39[_0x9fd6('0x1d')];var _0x2f981d=_0x8dcfaf?0x0:_0x1c57ef['offset'];var _0x901bf3=_0x8dcfaf?_0x4d9b39[_0x9fd6('0x1d')]:_0x1c57ef[_0x9fd6('0x1b')]+_0x1c57ef[_0x9fd6('0x1e')];var _0x5b9929;if(_0x901bf3>=_0x14d399){_0x901bf3=_0x14d399;_0x5b9929=0xc8;}else{_0x5b9929=0xce;}_0xe97986['status'](_0x5b9929);return _0xe97986[_0x9fd6('0x1f')]('Content-Range',_0x2f981d+'-'+_0x901bf3+'/'+_0x14d399)[_0x9fd6('0x20')](_0x4d9b39);}return null;};}function patchUpdates(_0x37ea64){return function(_0x45a1e1){try{jsonpatch[_0x9fd6('0x21')](_0x45a1e1,_0x37ea64,!![]);}catch(_0x3fb5a5){return BPromise[_0x9fd6('0x22')](_0x3fb5a5);}return _0x45a1e1['save']();};}function saveUpdates(_0x480172,_0x1433e4){return function(_0x430efb){if(_0x430efb){return _0x430efb[_0x9fd6('0x23')](_0x480172)['then'](function(_0x790b86){return _0x790b86;});}return null;};}function removeEntity(_0x1f2f32,_0x2475bb){return function(_0x363982){if(_0x363982){return _0x363982[_0x9fd6('0x24')]()[_0x9fd6('0x25')](function(){_0x1f2f32[_0x9fd6('0x1a')](0xcc)[_0x9fd6('0x26')]();});}};}function handleEntityNotFound(_0x53e50d,_0x423f42){return function(_0x7e7abe){if(!_0x7e7abe){_0x53e50d[_0x9fd6('0x19')](0x194);}return _0x7e7abe;};}function handleError(_0xc18ea4,_0x33d7b5){_0x33d7b5=_0x33d7b5||0x1f4;return function(_0x4d4ace){logger[_0x9fd6('0x27')](_0x4d4ace[_0x9fd6('0x28')]);if(_0x4d4ace[_0x9fd6('0x29')]){delete _0x4d4ace['name'];}_0xc18ea4[_0x9fd6('0x1a')](_0x33d7b5)['send'](_0x4d4ace);};}exports[_0x9fd6('0x2a')]=function(_0x244a56,_0x10a811){var _0x17c357={},_0x48c569={},_0x40d5b0={'count':0x0,'rows':[]};var _0x555dbb=_['map'](db[_0x9fd6('0x2b')]['rawAttributes'],function(_0x11c964){return{'name':_0x11c964[_0x9fd6('0x2c')],'type':_0x11c964[_0x9fd6('0x2d')][_0x9fd6('0x2e')]};});_0x48c569['model']=_['map'](_0x555dbb,'name');_0x48c569[_0x9fd6('0x2f')]=_['keys'](_0x244a56[_0x9fd6('0x2f')]);_0x48c569[_0x9fd6('0x30')]=_[_0x9fd6('0x31')](_0x48c569['model'],_0x48c569[_0x9fd6('0x2f')]);_0x17c357['attributes']=_[_0x9fd6('0x31')](_0x48c569[_0x9fd6('0x32')],qs[_0x9fd6('0x33')](_0x244a56[_0x9fd6('0x2f')]['fields']));_0x17c357[_0x9fd6('0x34')]=_0x17c357['attributes'][_0x9fd6('0x35')]?_0x17c357[_0x9fd6('0x34')]:_0x48c569[_0x9fd6('0x32')];if(!_0x244a56[_0x9fd6('0x2f')][_0x9fd6('0x36')]('nolimit')){_0x17c357[_0x9fd6('0x1e')]=qs[_0x9fd6('0x1e')](_0x244a56[_0x9fd6('0x2f')][_0x9fd6('0x1e')]);_0x17c357[_0x9fd6('0x1b')]=qs[_0x9fd6('0x1b')](_0x244a56['query']['offset']);}_0x17c357['order']=qs[_0x9fd6('0x37')](_0x244a56['query'][_0x9fd6('0x37')]);_0x17c357[_0x9fd6('0x38')]=qs[_0x9fd6('0x30')](_['pick'](_0x244a56['query'],_0x48c569[_0x9fd6('0x30')]),_0x555dbb);if(_0x244a56[_0x9fd6('0x2f')]['filter']){_0x17c357[_0x9fd6('0x38')]=_[_0x9fd6('0x39')](_0x17c357[_0x9fd6('0x38')],{'$or':_[_0x9fd6('0x3a')](_0x555dbb,function(_0x19e7d6){if(_0x19e7d6[_0x9fd6('0x2d')]!==_0x9fd6('0x3b')){var _0xa93654={};_0xa93654[_0x19e7d6[_0x9fd6('0x29')]]={'$like':'%'+_0x244a56['query']['filter']+'%'};return _0xa93654;}})});}_0x17c357=_[_0x9fd6('0x39')]({},_0x17c357,_0x244a56[_0x9fd6('0x3c')]);var _0x15fd80={'where':_0x17c357[_0x9fd6('0x38')]};return db[_0x9fd6('0x2b')][_0x9fd6('0x1d')](_0x15fd80)[_0x9fd6('0x25')](function(_0x344d12){_0x40d5b0['count']=_0x344d12;if(_0x244a56[_0x9fd6('0x2f')][_0x9fd6('0x3d')]){_0x17c357['include']=[{'all':!![]}];}return db['SalesforceConfiguration'][_0x9fd6('0x3e')](_0x17c357);})[_0x9fd6('0x25')](function(_0x10af9a){_0x40d5b0[_0x9fd6('0x3f')]=_0x10af9a;return _0x40d5b0;})['then'](respondWithFilteredResult(_0x10a811,_0x17c357))['catch'](handleError(_0x10a811,null));};exports['show']=function(_0x205fd6,_0xe46ae3){var _0x13f2f1={'raw':![],'where':{'id':_0x205fd6['params']['id']}},_0x453b55={};_0x453b55['model']=_[_0x9fd6('0x40')](db[_0x9fd6('0x2b')][_0x9fd6('0x41')]);_0x453b55[_0x9fd6('0x2f')]=_[_0x9fd6('0x40')](_0x205fd6['query']);_0x453b55[_0x9fd6('0x30')]=_[_0x9fd6('0x31')](_0x453b55['model'],_0x453b55[_0x9fd6('0x2f')]);_0x13f2f1['attributes']=_[_0x9fd6('0x31')](_0x453b55[_0x9fd6('0x32')],qs['fields'](_0x205fd6[_0x9fd6('0x2f')]['fields']));_0x13f2f1['attributes']=_0x13f2f1[_0x9fd6('0x34')]['length']?_0x13f2f1[_0x9fd6('0x34')]:_0x453b55[_0x9fd6('0x32')];if(_0x205fd6['query'][_0x9fd6('0x3d')]){_0x13f2f1['include']=[{'all':!![]}];}_0x13f2f1=_['merge']({},_0x13f2f1,_0x205fd6['options']);return db[_0x9fd6('0x2b')][_0x9fd6('0x42')](_0x13f2f1)[_0x9fd6('0x25')](handleEntityNotFound(_0xe46ae3,null))['then'](respondWithResult(_0xe46ae3,null))[_0x9fd6('0x43')](handleError(_0xe46ae3,null));};exports[_0x9fd6('0x44')]=function(_0xc80a57,_0x4d16a0){return db[_0x9fd6('0x2b')][_0x9fd6('0x44')](_0xc80a57[_0x9fd6('0x45')],{})[_0x9fd6('0x25')](respondWithResult(_0x4d16a0,0xc9))['catch'](handleError(_0x4d16a0,null));};exports[_0x9fd6('0x23')]=function(_0x358467,_0x34b9de){if(_0x358467[_0x9fd6('0x45')]['id']){delete _0x358467[_0x9fd6('0x45')]['id'];}return db['SalesforceConfiguration'][_0x9fd6('0x42')]({'where':{'id':_0x358467['params']['id']}})[_0x9fd6('0x25')](handleEntityNotFound(_0x34b9de,null))[_0x9fd6('0x25')](saveUpdates(_0x358467[_0x9fd6('0x45')],null))[_0x9fd6('0x25')](respondWithResult(_0x34b9de,null))['catch'](handleError(_0x34b9de,null));};exports['destroy']=function(_0x23e2f6,_0x12988f){return db[_0x9fd6('0x2b')]['find']({'where':{'id':_0x23e2f6[_0x9fd6('0x46')]['id']}})[_0x9fd6('0x25')](handleEntityNotFound(_0x12988f,null))[_0x9fd6('0x25')](removeEntity(_0x12988f,null))[_0x9fd6('0x43')](handleError(_0x12988f,null));};exports[_0x9fd6('0x47')]=function(_0x10a382,_0x1452c0,_0xc5c0c7){var _0x2ecf4d={};var _0x19f124={};var _0x1c7348;var _0x7f9feb;return db['SalesforceConfiguration'][_0x9fd6('0x48')]({'where':{'id':_0x10a382[_0x9fd6('0x46')]['id']}})[_0x9fd6('0x25')](handleEntityNotFound(_0x1452c0,null))['then'](function(_0x303f7f){if(_0x303f7f){_0x1c7348=_0x303f7f;_0x19f124[_0x9fd6('0x32')]=_['keys'](db[_0x9fd6('0x49')][_0x9fd6('0x41')]);_0x19f124[_0x9fd6('0x2f')]=_[_0x9fd6('0x40')](_0x10a382[_0x9fd6('0x2f')]);_0x19f124['filters']=_[_0x9fd6('0x31')](_0x19f124[_0x9fd6('0x32')],_0x19f124[_0x9fd6('0x2f')]);_0x2ecf4d['attributes']=_['intersection'](_0x19f124['model'],qs['fields'](_0x10a382['query'][_0x9fd6('0x33')]));_0x2ecf4d[_0x9fd6('0x34')]=_0x2ecf4d[_0x9fd6('0x34')][_0x9fd6('0x35')]?_0x2ecf4d[_0x9fd6('0x34')]:_0x19f124[_0x9fd6('0x32')];_0x2ecf4d['order']=qs[_0x9fd6('0x37')](_0x10a382[_0x9fd6('0x2f')][_0x9fd6('0x37')]);_0x2ecf4d['where']=qs['filters'](_['pick'](_0x10a382['query'],_0x19f124[_0x9fd6('0x30')]));if(_0x10a382['query']['filter']){_0x2ecf4d[_0x9fd6('0x38')]=_['merge'](_0x2ecf4d['where'],{'$or':_[_0x9fd6('0x3a')](_0x2ecf4d[_0x9fd6('0x34')],function(_0x274199){var _0x880512={};_0x880512[_0x274199]={'$like':'%'+_0x10a382[_0x9fd6('0x2f')]['filter']+'%'};return _0x880512;})});}_0x2ecf4d=_[_0x9fd6('0x39')]({},_0x2ecf4d,_0x10a382['options']);return _0x1c7348[_0x9fd6('0x47')](_0x2ecf4d);}})[_0x9fd6('0x25')](function(_0x4761bd){if(_0x4761bd){_0x7f9feb=_0x4761bd[_0x9fd6('0x35')];if(!_0x10a382[_0x9fd6('0x2f')][_0x9fd6('0x36')](_0x9fd6('0x4a'))){_0x2ecf4d[_0x9fd6('0x1e')]=qs[_0x9fd6('0x1e')](_0x10a382[_0x9fd6('0x2f')][_0x9fd6('0x1e')]);_0x2ecf4d[_0x9fd6('0x1b')]=qs['offset'](_0x10a382['query'][_0x9fd6('0x1b')]);}return _0x1c7348[_0x9fd6('0x47')](_0x2ecf4d);}})['then'](function(_0xe67201){if(_0xe67201){return _0xe67201?{'count':_0x7f9feb,'rows':_0xe67201}:null;}})[_0x9fd6('0x25')](respondWithResult(_0x1452c0,null))[_0x9fd6('0x43')](handleError(_0x1452c0,null));};exports[_0x9fd6('0x4b')]=function(_0x457dad,_0xf2117,_0x1d852c){var _0x12e369={};var _0x370878={};var _0x1a8fbd;var _0x53caa7;return db[_0x9fd6('0x2b')][_0x9fd6('0x48')]({'where':{'id':_0x457dad['params']['id']}})['then'](handleEntityNotFound(_0xf2117,null))[_0x9fd6('0x25')](function(_0x21ff02){if(_0x21ff02){_0x1a8fbd=_0x21ff02;_0x370878[_0x9fd6('0x32')]=_[_0x9fd6('0x40')](db[_0x9fd6('0x49')][_0x9fd6('0x41')]);_0x370878[_0x9fd6('0x2f')]=_[_0x9fd6('0x40')](_0x457dad['query']);_0x370878['filters']=_[_0x9fd6('0x31')](_0x370878['model'],_0x370878[_0x9fd6('0x2f')]);_0x12e369[_0x9fd6('0x34')]=_[_0x9fd6('0x31')](_0x370878['model'],qs[_0x9fd6('0x33')](_0x457dad[_0x9fd6('0x2f')][_0x9fd6('0x33')]));_0x12e369[_0x9fd6('0x34')]=_0x12e369[_0x9fd6('0x34')][_0x9fd6('0x35')]?_0x12e369['attributes']:_0x370878[_0x9fd6('0x32')];_0x12e369[_0x9fd6('0x4c')]=qs['sort'](_0x457dad['query'][_0x9fd6('0x37')]);_0x12e369['where']=qs[_0x9fd6('0x30')](_[_0x9fd6('0x4d')](_0x457dad[_0x9fd6('0x2f')],_0x370878[_0x9fd6('0x30')]));if(_0x457dad['query'][_0x9fd6('0x4e')]){_0x12e369[_0x9fd6('0x38')]=_[_0x9fd6('0x39')](_0x12e369[_0x9fd6('0x38')],{'$or':_[_0x9fd6('0x3a')](_0x12e369[_0x9fd6('0x34')],function(_0x521388){var _0x19349b={};_0x19349b[_0x521388]={'$like':'%'+_0x457dad[_0x9fd6('0x2f')]['filter']+'%'};return _0x19349b;})});}_0x12e369=_[_0x9fd6('0x39')]({},_0x12e369,_0x457dad[_0x9fd6('0x3c')]);return _0x1a8fbd[_0x9fd6('0x4b')](_0x12e369);}})['then'](function(_0x2e8384){if(_0x2e8384){_0x53caa7=_0x2e8384[_0x9fd6('0x35')];if(!_0x457dad[_0x9fd6('0x2f')][_0x9fd6('0x36')]('nolimit')){_0x12e369[_0x9fd6('0x1e')]=qs[_0x9fd6('0x1e')](_0x457dad[_0x9fd6('0x2f')][_0x9fd6('0x1e')]);_0x12e369['offset']=qs[_0x9fd6('0x1b')](_0x457dad[_0x9fd6('0x2f')][_0x9fd6('0x1b')]);}return _0x1a8fbd['getSubjects'](_0x12e369);}})[_0x9fd6('0x25')](function(_0x37d01f){if(_0x37d01f){return _0x37d01f?{'count':_0x53caa7,'rows':_0x37d01f}:null;}})[_0x9fd6('0x25')](respondWithResult(_0xf2117,null))[_0x9fd6('0x43')](handleError(_0xf2117,null));};exports[_0x9fd6('0x4f')]=function(_0x1d79ff,_0x5888e6,_0x523412){var _0x12f453={};var _0x249b36={};var _0x355250;var _0x4e0e33;return db[_0x9fd6('0x2b')][_0x9fd6('0x48')]({'where':{'id':_0x1d79ff['params']['id']}})[_0x9fd6('0x25')](handleEntityNotFound(_0x5888e6,null))[_0x9fd6('0x25')](function(_0x52ffaf){if(_0x52ffaf){_0x355250=_0x52ffaf;_0x249b36[_0x9fd6('0x32')]=_[_0x9fd6('0x40')](db[_0x9fd6('0x49')][_0x9fd6('0x41')]);_0x249b36[_0x9fd6('0x2f')]=_[_0x9fd6('0x40')](_0x1d79ff[_0x9fd6('0x2f')]);_0x249b36[_0x9fd6('0x30')]=_[_0x9fd6('0x31')](_0x249b36[_0x9fd6('0x32')],_0x249b36['query']);_0x12f453['attributes']=_[_0x9fd6('0x31')](_0x249b36['model'],qs[_0x9fd6('0x33')](_0x1d79ff[_0x9fd6('0x2f')][_0x9fd6('0x33')]));_0x12f453[_0x9fd6('0x34')]=_0x12f453[_0x9fd6('0x34')][_0x9fd6('0x35')]?_0x12f453[_0x9fd6('0x34')]:_0x249b36['model'];_0x12f453[_0x9fd6('0x4c')]=qs[_0x9fd6('0x37')](_0x1d79ff[_0x9fd6('0x2f')]['sort']);_0x12f453[_0x9fd6('0x38')]=qs[_0x9fd6('0x30')](_[_0x9fd6('0x4d')](_0x1d79ff['query'],_0x249b36[_0x9fd6('0x30')]));if(_0x1d79ff['query'][_0x9fd6('0x4e')]){_0x12f453['where']=_[_0x9fd6('0x39')](_0x12f453['where'],{'$or':_[_0x9fd6('0x3a')](_0x12f453[_0x9fd6('0x34')],function(_0x3d59b2){var _0x19b4bc={};_0x19b4bc[_0x3d59b2]={'$like':'%'+_0x1d79ff['query']['filter']+'%'};return _0x19b4bc;})});}_0x12f453=_[_0x9fd6('0x39')]({},_0x12f453,_0x1d79ff[_0x9fd6('0x3c')]);return _0x355250[_0x9fd6('0x4f')](_0x12f453);}})[_0x9fd6('0x25')](function(_0x3ceaab){if(_0x3ceaab){_0x4e0e33=_0x3ceaab[_0x9fd6('0x35')];if(!_0x1d79ff[_0x9fd6('0x2f')]['hasOwnProperty'](_0x9fd6('0x4a'))){_0x12f453[_0x9fd6('0x1e')]=qs[_0x9fd6('0x1e')](_0x1d79ff[_0x9fd6('0x2f')][_0x9fd6('0x1e')]);_0x12f453['offset']=qs['offset'](_0x1d79ff[_0x9fd6('0x2f')][_0x9fd6('0x1b')]);}return _0x355250[_0x9fd6('0x4f')](_0x12f453);}})[_0x9fd6('0x25')](function(_0x4a3c99){if(_0x4a3c99){return _0x4a3c99?{'count':_0x4e0e33,'rows':_0x4a3c99}:null;}})[_0x9fd6('0x25')](respondWithResult(_0x5888e6,null))[_0x9fd6('0x43')](handleError(_0x5888e6,null));};