5dd629980f6977b4ae357062a858158be215326d
[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 _0xc885=['find','getFields','findOne','SalesforceField','getSubjects','getDescriptions','eml-format','rimraf','zip-dir','request-promise','bluebird','util','path','sox','to-csv','lodash','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','destroy','error','stack','name','send','index','SalesforceConfiguration','rawAttributes','fieldName','type','key','model','map','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','include','rows','catch','show','params','includeAll','create','body'];(function(_0xa822a0,_0x38e2cc){var _0xaf7e66=function(_0x349fce){while(--_0x349fce){_0xa822a0['push'](_0xa822a0['shift']());}};_0xaf7e66(++_0x38e2cc);}(_0xc885,0xfc));var _0x5c88=function(_0x3a2f98,_0x2cf76f){_0x3a2f98=_0x3a2f98-0x0;var _0x343dad=_0xc885[_0x3a2f98];return _0x343dad;};'use strict';var emlformat=require(_0x5c88('0x0'));var rimraf=require(_0x5c88('0x1'));var zipdir=require(_0x5c88('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x5c88('0x3'));var moment=require('moment');var BPromise=require(_0x5c88('0x4'));var Mustache=require('mustache');var util=require(_0x5c88('0x5'));var path=require(_0x5c88('0x6'));var sox=require(_0x5c88('0x7'));var csv=require(_0x5c88('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x5c88('0x9'));var squel=require('squel');var crypto=require(_0x5c88('0xa'));var jsforce=require(_0x5c88('0xb'));var deskjs=require('desk.js');var toCsv=require(_0x5c88('0x8'));var querystring=require(_0x5c88('0xc'));var Papa=require(_0x5c88('0xd'));var Redis=require(_0x5c88('0xe'));var authService=require(_0x5c88('0xf'));var qs=require(_0x5c88('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x5c88('0x11'));var logger=require(_0x5c88('0x12'))(_0x5c88('0x13'));var utils=require(_0x5c88('0x14'));var config=require(_0x5c88('0x15'));var licenseUtil=require('../../config/license/util');var db=require(_0x5c88('0x16'))['db'];function respondWithStatusCode(_0x7b5707,_0x1079d9){_0x1079d9=_0x1079d9||0xcc;return function(_0x13d78e){if(_0x13d78e){return _0x7b5707[_0x5c88('0x17')](_0x1079d9);}return _0x7b5707[_0x5c88('0x18')](_0x1079d9)[_0x5c88('0x19')]();};}function respondWithResult(_0x1660c2,_0x33a072){_0x33a072=_0x33a072||0xc8;return function(_0x4b9992){if(_0x4b9992){return _0x1660c2[_0x5c88('0x18')](_0x33a072)[_0x5c88('0x1a')](_0x4b9992);}};}function respondWithFilteredResult(_0x7546e0,_0xa4cb95){return function(_0x2e780e){if(_0x2e780e){var _0x1e92fc=typeof _0xa4cb95[_0x5c88('0x1b')]===_0x5c88('0x1c')&&typeof _0xa4cb95[_0x5c88('0x1d')]==='undefined';var _0x639f0b=_0x2e780e[_0x5c88('0x1e')];var _0x2c44d5=_0x1e92fc?0x0:_0xa4cb95[_0x5c88('0x1b')];var _0x5a677e=_0x1e92fc?_0x2e780e[_0x5c88('0x1e')]:_0xa4cb95[_0x5c88('0x1b')]+_0xa4cb95[_0x5c88('0x1d')];var _0x51a539;if(_0x5a677e>=_0x639f0b){_0x5a677e=_0x639f0b;_0x51a539=0xc8;}else{_0x51a539=0xce;}_0x7546e0[_0x5c88('0x18')](_0x51a539);return _0x7546e0[_0x5c88('0x1f')](_0x5c88('0x20'),_0x2c44d5+'-'+_0x5a677e+'/'+_0x639f0b)['json'](_0x2e780e);}return null;};}function patchUpdates(_0xc3f6ed){return function(_0x46a42e){try{jsonpatch[_0x5c88('0x21')](_0x46a42e,_0xc3f6ed,!![]);}catch(_0x55b4ea){return BPromise[_0x5c88('0x22')](_0x55b4ea);}return _0x46a42e[_0x5c88('0x23')]();};}function saveUpdates(_0x500026,_0x3d8917){return function(_0x50027c){if(_0x50027c){return _0x50027c[_0x5c88('0x24')](_0x500026)[_0x5c88('0x25')](function(_0x51938e){return _0x51938e;});}return null;};}function removeEntity(_0x798328,_0x134b45){return function(_0x3e6112){if(_0x3e6112){return _0x3e6112[_0x5c88('0x26')]()['then'](function(){_0x798328[_0x5c88('0x18')](0xcc)[_0x5c88('0x19')]();});}};}function handleEntityNotFound(_0x480ac7,_0x3182a5){return function(_0x52baa8){if(!_0x52baa8){_0x480ac7['sendStatus'](0x194);}return _0x52baa8;};}function handleError(_0x2f7e80,_0x1eecf2){_0x1eecf2=_0x1eecf2||0x1f4;return function(_0x4ceec7){logger[_0x5c88('0x27')](_0x4ceec7[_0x5c88('0x28')]);if(_0x4ceec7[_0x5c88('0x29')]){delete _0x4ceec7[_0x5c88('0x29')];}_0x2f7e80[_0x5c88('0x18')](_0x1eecf2)[_0x5c88('0x2a')](_0x4ceec7);};}exports[_0x5c88('0x2b')]=function(_0x3d0a81,_0x279cbc){var _0x3a258a={},_0x4e0e73={},_0x34a010={'count':0x0,'rows':[]};var _0x540567=_['map'](db[_0x5c88('0x2c')][_0x5c88('0x2d')],function(_0x43a08b){return{'name':_0x43a08b[_0x5c88('0x2e')],'type':_0x43a08b[_0x5c88('0x2f')][_0x5c88('0x30')]};});_0x4e0e73[_0x5c88('0x31')]=_[_0x5c88('0x32')](_0x540567,_0x5c88('0x29'));_0x4e0e73[_0x5c88('0x33')]=_[_0x5c88('0x34')](_0x3d0a81[_0x5c88('0x33')]);_0x4e0e73[_0x5c88('0x35')]=_['intersection'](_0x4e0e73['model'],_0x4e0e73['query']);_0x3a258a[_0x5c88('0x36')]=_[_0x5c88('0x37')](_0x4e0e73[_0x5c88('0x31')],qs[_0x5c88('0x38')](_0x3d0a81[_0x5c88('0x33')][_0x5c88('0x38')]));_0x3a258a[_0x5c88('0x36')]=_0x3a258a[_0x5c88('0x36')][_0x5c88('0x39')]?_0x3a258a[_0x5c88('0x36')]:_0x4e0e73[_0x5c88('0x31')];if(!_0x3d0a81[_0x5c88('0x33')][_0x5c88('0x3a')](_0x5c88('0x3b'))){_0x3a258a[_0x5c88('0x1d')]=qs['limit'](_0x3d0a81['query'][_0x5c88('0x1d')]);_0x3a258a['offset']=qs['offset'](_0x3d0a81[_0x5c88('0x33')][_0x5c88('0x1b')]);}_0x3a258a[_0x5c88('0x3c')]=qs[_0x5c88('0x3d')](_0x3d0a81[_0x5c88('0x33')][_0x5c88('0x3d')]);_0x3a258a[_0x5c88('0x3e')]=qs[_0x5c88('0x35')](_[_0x5c88('0x3f')](_0x3d0a81[_0x5c88('0x33')],_0x4e0e73[_0x5c88('0x35')]),_0x540567);if(_0x3d0a81[_0x5c88('0x33')][_0x5c88('0x40')]){_0x3a258a['where']=_[_0x5c88('0x41')](_0x3a258a[_0x5c88('0x3e')],{'$or':_[_0x5c88('0x32')](_0x540567,function(_0x24001a){if(_0x24001a['type']!==_0x5c88('0x42')){var _0x2d0e73={};_0x2d0e73[_0x24001a[_0x5c88('0x29')]]={'$like':'%'+_0x3d0a81[_0x5c88('0x33')][_0x5c88('0x40')]+'%'};return _0x2d0e73;}})});}_0x3a258a=_[_0x5c88('0x41')]({},_0x3a258a,_0x3d0a81[_0x5c88('0x43')]);var _0x2babc8={'where':_0x3a258a[_0x5c88('0x3e')]};return db[_0x5c88('0x2c')][_0x5c88('0x1e')](_0x2babc8)[_0x5c88('0x25')](function(_0x43b59f){_0x34a010[_0x5c88('0x1e')]=_0x43b59f;if(_0x3d0a81['query']['includeAll']){_0x3a258a[_0x5c88('0x44')]=[{'all':!![]}];}return db[_0x5c88('0x2c')]['findAll'](_0x3a258a);})[_0x5c88('0x25')](function(_0x1f2513){_0x34a010[_0x5c88('0x45')]=_0x1f2513;return _0x34a010;})[_0x5c88('0x25')](respondWithFilteredResult(_0x279cbc,_0x3a258a))[_0x5c88('0x46')](handleError(_0x279cbc,null));};exports[_0x5c88('0x47')]=function(_0x2f737c,_0x3e0ba8){var _0x3cc1fb={'raw':![],'where':{'id':_0x2f737c[_0x5c88('0x48')]['id']}},_0x523e9e={};_0x523e9e[_0x5c88('0x31')]=_[_0x5c88('0x34')](db[_0x5c88('0x2c')][_0x5c88('0x2d')]);_0x523e9e[_0x5c88('0x33')]=_['keys'](_0x2f737c[_0x5c88('0x33')]);_0x523e9e[_0x5c88('0x35')]=_[_0x5c88('0x37')](_0x523e9e[_0x5c88('0x31')],_0x523e9e['query']);_0x3cc1fb[_0x5c88('0x36')]=_[_0x5c88('0x37')](_0x523e9e[_0x5c88('0x31')],qs[_0x5c88('0x38')](_0x2f737c['query'][_0x5c88('0x38')]));_0x3cc1fb[_0x5c88('0x36')]=_0x3cc1fb[_0x5c88('0x36')][_0x5c88('0x39')]?_0x3cc1fb[_0x5c88('0x36')]:_0x523e9e[_0x5c88('0x31')];if(_0x2f737c[_0x5c88('0x33')][_0x5c88('0x49')]){_0x3cc1fb['include']=[{'all':!![]}];}_0x3cc1fb=_[_0x5c88('0x41')]({},_0x3cc1fb,_0x2f737c[_0x5c88('0x43')]);return db['SalesforceConfiguration']['find'](_0x3cc1fb)['then'](handleEntityNotFound(_0x3e0ba8,null))['then'](respondWithResult(_0x3e0ba8,null))[_0x5c88('0x46')](handleError(_0x3e0ba8,null));};exports[_0x5c88('0x4a')]=function(_0x6808b3,_0x809294){return db[_0x5c88('0x2c')][_0x5c88('0x4a')](_0x6808b3['body'],{})[_0x5c88('0x25')](respondWithResult(_0x809294,0xc9))[_0x5c88('0x46')](handleError(_0x809294,null));};exports['update']=function(_0xd09310,_0x545204){if(_0xd09310[_0x5c88('0x4b')]['id']){delete _0xd09310[_0x5c88('0x4b')]['id'];}return db[_0x5c88('0x2c')]['find']({'where':{'id':_0xd09310[_0x5c88('0x48')]['id']}})[_0x5c88('0x25')](handleEntityNotFound(_0x545204,null))[_0x5c88('0x25')](saveUpdates(_0xd09310[_0x5c88('0x4b')],null))['then'](respondWithResult(_0x545204,null))['catch'](handleError(_0x545204,null));};exports[_0x5c88('0x26')]=function(_0x1faf7a,_0x22da4c){return db[_0x5c88('0x2c')][_0x5c88('0x4c')]({'where':{'id':_0x1faf7a[_0x5c88('0x48')]['id']}})['then'](handleEntityNotFound(_0x22da4c,null))[_0x5c88('0x25')](removeEntity(_0x22da4c,null))['catch'](handleError(_0x22da4c,null));};exports[_0x5c88('0x4d')]=function(_0x3d46b2,_0x1a8833,_0x286d41){var _0x3f678e={};var _0x21d369={};var _0x47bb28;var _0x2cc611;return db[_0x5c88('0x2c')][_0x5c88('0x4e')]({'where':{'id':_0x3d46b2[_0x5c88('0x48')]['id']}})['then'](handleEntityNotFound(_0x1a8833,null))[_0x5c88('0x25')](function(_0x5e18ee){if(_0x5e18ee){_0x47bb28=_0x5e18ee;_0x21d369['model']=_[_0x5c88('0x34')](db[_0x5c88('0x4f')][_0x5c88('0x2d')]);_0x21d369['query']=_['keys'](_0x3d46b2[_0x5c88('0x33')]);_0x21d369[_0x5c88('0x35')]=_[_0x5c88('0x37')](_0x21d369[_0x5c88('0x31')],_0x21d369['query']);_0x3f678e[_0x5c88('0x36')]=_[_0x5c88('0x37')](_0x21d369[_0x5c88('0x31')],qs[_0x5c88('0x38')](_0x3d46b2['query'][_0x5c88('0x38')]));_0x3f678e[_0x5c88('0x36')]=_0x3f678e['attributes']['length']?_0x3f678e['attributes']:_0x21d369[_0x5c88('0x31')];_0x3f678e[_0x5c88('0x3c')]=qs['sort'](_0x3d46b2[_0x5c88('0x33')][_0x5c88('0x3d')]);_0x3f678e[_0x5c88('0x3e')]=qs['filters'](_['pick'](_0x3d46b2[_0x5c88('0x33')],_0x21d369[_0x5c88('0x35')]));if(_0x3d46b2['query'][_0x5c88('0x40')]){_0x3f678e[_0x5c88('0x3e')]=_[_0x5c88('0x41')](_0x3f678e[_0x5c88('0x3e')],{'$or':_['map'](_0x3f678e[_0x5c88('0x36')],function(_0x2d659d){var _0x5cd2bf={};_0x5cd2bf[_0x2d659d]={'$like':'%'+_0x3d46b2[_0x5c88('0x33')][_0x5c88('0x40')]+'%'};return _0x5cd2bf;})});}_0x3f678e=_[_0x5c88('0x41')]({},_0x3f678e,_0x3d46b2['options']);return _0x47bb28[_0x5c88('0x4d')](_0x3f678e);}})[_0x5c88('0x25')](function(_0x3bd674){if(_0x3bd674){_0x2cc611=_0x3bd674['length'];if(!_0x3d46b2[_0x5c88('0x33')][_0x5c88('0x3a')](_0x5c88('0x3b'))){_0x3f678e[_0x5c88('0x1d')]=qs[_0x5c88('0x1d')](_0x3d46b2[_0x5c88('0x33')][_0x5c88('0x1d')]);_0x3f678e[_0x5c88('0x1b')]=qs[_0x5c88('0x1b')](_0x3d46b2[_0x5c88('0x33')][_0x5c88('0x1b')]);}return _0x47bb28[_0x5c88('0x4d')](_0x3f678e);}})['then'](function(_0x4e51b4){if(_0x4e51b4){return _0x4e51b4?{'count':_0x2cc611,'rows':_0x4e51b4}:null;}})[_0x5c88('0x25')](respondWithResult(_0x1a8833,null))[_0x5c88('0x46')](handleError(_0x1a8833,null));};exports[_0x5c88('0x50')]=function(_0x375b22,_0x3b6906,_0x1ad858){var _0x38f871={};var _0x3dc056={};var _0x202271;var _0x4aa375;return db[_0x5c88('0x2c')][_0x5c88('0x4e')]({'where':{'id':_0x375b22['params']['id']}})[_0x5c88('0x25')](handleEntityNotFound(_0x3b6906,null))[_0x5c88('0x25')](function(_0x547c85){if(_0x547c85){_0x202271=_0x547c85;_0x3dc056[_0x5c88('0x31')]=_[_0x5c88('0x34')](db[_0x5c88('0x4f')][_0x5c88('0x2d')]);_0x3dc056[_0x5c88('0x33')]=_[_0x5c88('0x34')](_0x375b22[_0x5c88('0x33')]);_0x3dc056['filters']=_['intersection'](_0x3dc056[_0x5c88('0x31')],_0x3dc056['query']);_0x38f871[_0x5c88('0x36')]=_['intersection'](_0x3dc056[_0x5c88('0x31')],qs['fields'](_0x375b22[_0x5c88('0x33')][_0x5c88('0x38')]));_0x38f871[_0x5c88('0x36')]=_0x38f871['attributes'][_0x5c88('0x39')]?_0x38f871[_0x5c88('0x36')]:_0x3dc056[_0x5c88('0x31')];_0x38f871['order']=qs[_0x5c88('0x3d')](_0x375b22[_0x5c88('0x33')][_0x5c88('0x3d')]);_0x38f871['where']=qs['filters'](_[_0x5c88('0x3f')](_0x375b22['query'],_0x3dc056[_0x5c88('0x35')]));if(_0x375b22[_0x5c88('0x33')][_0x5c88('0x40')]){_0x38f871[_0x5c88('0x3e')]=_[_0x5c88('0x41')](_0x38f871['where'],{'$or':_['map'](_0x38f871[_0x5c88('0x36')],function(_0x5826e6){var _0x1671b7={};_0x1671b7[_0x5826e6]={'$like':'%'+_0x375b22[_0x5c88('0x33')][_0x5c88('0x40')]+'%'};return _0x1671b7;})});}_0x38f871=_[_0x5c88('0x41')]({},_0x38f871,_0x375b22[_0x5c88('0x43')]);return _0x202271['getSubjects'](_0x38f871);}})[_0x5c88('0x25')](function(_0x34db88){if(_0x34db88){_0x4aa375=_0x34db88[_0x5c88('0x39')];if(!_0x375b22[_0x5c88('0x33')][_0x5c88('0x3a')](_0x5c88('0x3b'))){_0x38f871[_0x5c88('0x1d')]=qs[_0x5c88('0x1d')](_0x375b22['query'][_0x5c88('0x1d')]);_0x38f871[_0x5c88('0x1b')]=qs['offset'](_0x375b22['query'][_0x5c88('0x1b')]);}return _0x202271[_0x5c88('0x50')](_0x38f871);}})[_0x5c88('0x25')](function(_0x597cbf){if(_0x597cbf){return _0x597cbf?{'count':_0x4aa375,'rows':_0x597cbf}:null;}})[_0x5c88('0x25')](respondWithResult(_0x3b6906,null))[_0x5c88('0x46')](handleError(_0x3b6906,null));};exports[_0x5c88('0x51')]=function(_0x2784aa,_0x31aa41,_0x41b033){var _0x49f148={};var _0x3d9303={};var _0x50f6ec;var _0xe1bf44;return db[_0x5c88('0x2c')]['findOne']({'where':{'id':_0x2784aa['params']['id']}})[_0x5c88('0x25')](handleEntityNotFound(_0x31aa41,null))['then'](function(_0x41f6a7){if(_0x41f6a7){_0x50f6ec=_0x41f6a7;_0x3d9303[_0x5c88('0x31')]=_[_0x5c88('0x34')](db[_0x5c88('0x4f')]['rawAttributes']);_0x3d9303[_0x5c88('0x33')]=_[_0x5c88('0x34')](_0x2784aa[_0x5c88('0x33')]);_0x3d9303['filters']=_[_0x5c88('0x37')](_0x3d9303[_0x5c88('0x31')],_0x3d9303['query']);_0x49f148[_0x5c88('0x36')]=_[_0x5c88('0x37')](_0x3d9303[_0x5c88('0x31')],qs[_0x5c88('0x38')](_0x2784aa[_0x5c88('0x33')][_0x5c88('0x38')]));_0x49f148[_0x5c88('0x36')]=_0x49f148[_0x5c88('0x36')][_0x5c88('0x39')]?_0x49f148[_0x5c88('0x36')]:_0x3d9303[_0x5c88('0x31')];_0x49f148['order']=qs[_0x5c88('0x3d')](_0x2784aa[_0x5c88('0x33')]['sort']);_0x49f148[_0x5c88('0x3e')]=qs['filters'](_['pick'](_0x2784aa[_0x5c88('0x33')],_0x3d9303[_0x5c88('0x35')]));if(_0x2784aa['query'][_0x5c88('0x40')]){_0x49f148['where']=_['merge'](_0x49f148[_0x5c88('0x3e')],{'$or':_[_0x5c88('0x32')](_0x49f148[_0x5c88('0x36')],function(_0x3fb5ad){var _0xc76d89={};_0xc76d89[_0x3fb5ad]={'$like':'%'+_0x2784aa[_0x5c88('0x33')][_0x5c88('0x40')]+'%'};return _0xc76d89;})});}_0x49f148=_[_0x5c88('0x41')]({},_0x49f148,_0x2784aa['options']);return _0x50f6ec[_0x5c88('0x51')](_0x49f148);}})[_0x5c88('0x25')](function(_0x127adb){if(_0x127adb){_0xe1bf44=_0x127adb['length'];if(!_0x2784aa[_0x5c88('0x33')][_0x5c88('0x3a')](_0x5c88('0x3b'))){_0x49f148[_0x5c88('0x1d')]=qs[_0x5c88('0x1d')](_0x2784aa['query'][_0x5c88('0x1d')]);_0x49f148[_0x5c88('0x1b')]=qs[_0x5c88('0x1b')](_0x2784aa[_0x5c88('0x33')][_0x5c88('0x1b')]);}return _0x50f6ec['getDescriptions'](_0x49f148);}})[_0x5c88('0x25')](function(_0x36a202){if(_0x36a202){return _0x36a202?{'count':_0xe1bf44,'rows':_0x36a202}:null;}})[_0x5c88('0x25')](respondWithResult(_0x31aa41,null))[_0x5c88('0x46')](handleError(_0x31aa41,null));};