Built motion from commit ddca4d0d.|2.5.47
[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 _0x5541=['attributes','intersection','hasOwnProperty','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','findAll','rows','catch','show','params','keys','rawAttributes','fields','create','body','find','findOne','SalesforceField','length','nolimit','getSubjects','getDescriptions','eml-format','zip-dir','fast-json-patch','bluebird','util','path','sox','to-csv','lodash','jsforce','desk.js','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','end','status','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','destroy','stack','name','send','index','map','SalesforceConfiguration','type','query','filters','model'];(function(_0x2215d2,_0x563782){var _0x2bb13a=function(_0x1bb042){while(--_0x1bb042){_0x2215d2['push'](_0x2215d2['shift']());}};_0x2bb13a(++_0x563782);}(_0x5541,0x1df));var _0x1554=function(_0x30cc1a,_0x162bbc){_0x30cc1a=_0x30cc1a-0x0;var _0xb3f18f=_0x5541[_0x30cc1a];return _0xb3f18f;};'use strict';var emlformat=require(_0x1554('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x1554('0x1'));var jsonpatch=require(_0x1554('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x1554('0x3'));var Mustache=require('mustache');var util=require(_0x1554('0x4'));var path=require(_0x1554('0x5'));var sox=require(_0x1554('0x6'));var csv=require(_0x1554('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x1554('0x8'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x1554('0x9'));var deskjs=require(_0x1554('0xa'));var toCsv=require(_0x1554('0x7'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x1554('0xb'));var authService=require('../../components/auth/service');var qs=require(_0x1554('0xc'));var as=require(_0x1554('0xd'));var hardwareService=require(_0x1554('0xe'));var logger=require(_0x1554('0xf'))(_0x1554('0x10'));var utils=require(_0x1554('0x11'));var config=require(_0x1554('0x12'));var licenseUtil=require('../../config/license/util');var db=require(_0x1554('0x13'))['db'];function respondWithStatusCode(_0x14e5ac,_0x78042f){_0x78042f=_0x78042f||0xcc;return function(_0xac7cf8){if(_0xac7cf8){return _0x14e5ac[_0x1554('0x14')](_0x78042f);}return _0x14e5ac['status'](_0x78042f)[_0x1554('0x15')]();};}function respondWithResult(_0x45230d,_0x5c26ba){_0x5c26ba=_0x5c26ba||0xc8;return function(_0x52a0eb){if(_0x52a0eb){return _0x45230d[_0x1554('0x16')](_0x5c26ba)[_0x1554('0x17')](_0x52a0eb);}};}function respondWithFilteredResult(_0x583955,_0x3fbf5b){return function(_0xfa1a8e){if(_0xfa1a8e){var _0x26b2d3=typeof _0x3fbf5b[_0x1554('0x18')]===_0x1554('0x19')&&typeof _0x3fbf5b[_0x1554('0x1a')]===_0x1554('0x19');var _0x36a71e=_0xfa1a8e[_0x1554('0x1b')];var _0x35a6e5=_0x26b2d3?0x0:_0x3fbf5b[_0x1554('0x18')];var _0x21648c=_0x26b2d3?_0xfa1a8e[_0x1554('0x1b')]:_0x3fbf5b['offset']+_0x3fbf5b[_0x1554('0x1a')];var _0x1dab87;if(_0x21648c>=_0x36a71e){_0x21648c=_0x36a71e;_0x1dab87=0xc8;}else{_0x1dab87=0xce;}_0x583955[_0x1554('0x16')](_0x1dab87);return _0x583955[_0x1554('0x1c')](_0x1554('0x1d'),_0x35a6e5+'-'+_0x21648c+'/'+_0x36a71e)[_0x1554('0x17')](_0xfa1a8e);}return null;};}function patchUpdates(_0x5dfc05){return function(_0x5b25a6){try{jsonpatch[_0x1554('0x1e')](_0x5b25a6,_0x5dfc05,!![]);}catch(_0x2f0b46){return BPromise[_0x1554('0x1f')](_0x2f0b46);}return _0x5b25a6[_0x1554('0x20')]();};}function saveUpdates(_0x353339,_0x20b215){return function(_0x9d164e){if(_0x9d164e){return _0x9d164e[_0x1554('0x21')](_0x353339)[_0x1554('0x22')](function(_0x3bc177){return _0x3bc177;});}return null;};}function removeEntity(_0x5a1ca5,_0x391c30){return function(_0x28bf6d){if(_0x28bf6d){return _0x28bf6d[_0x1554('0x23')]()[_0x1554('0x22')](function(){_0x5a1ca5['status'](0xcc)[_0x1554('0x15')]();});}};}function handleEntityNotFound(_0x3912f3,_0x4f133b){return function(_0x31a1ab){if(!_0x31a1ab){_0x3912f3['sendStatus'](0x194);}return _0x31a1ab;};}function handleError(_0xdb9442,_0x5eaa66){_0x5eaa66=_0x5eaa66||0x1f4;return function(_0x392cf3){logger['error'](_0x392cf3[_0x1554('0x24')]);if(_0x392cf3[_0x1554('0x25')]){delete _0x392cf3['name'];}_0xdb9442['status'](_0x5eaa66)[_0x1554('0x26')](_0x392cf3);};}exports[_0x1554('0x27')]=function(_0x3a8467,_0x26b7b9){var _0x2efe7d={},_0x293cfe={},_0x582f7e={'count':0x0,'rows':[]};var _0x3ddeef=_[_0x1554('0x28')](db[_0x1554('0x29')]['rawAttributes'],function(_0xc2342b){return{'name':_0xc2342b['fieldName'],'type':_0xc2342b[_0x1554('0x2a')]['key']};});_0x293cfe['model']=_[_0x1554('0x28')](_0x3ddeef,'name');_0x293cfe[_0x1554('0x2b')]=_['keys'](_0x3a8467[_0x1554('0x2b')]);_0x293cfe[_0x1554('0x2c')]=_['intersection'](_0x293cfe[_0x1554('0x2d')],_0x293cfe[_0x1554('0x2b')]);_0x2efe7d[_0x1554('0x2e')]=_[_0x1554('0x2f')](_0x293cfe[_0x1554('0x2d')],qs['fields'](_0x3a8467[_0x1554('0x2b')]['fields']));_0x2efe7d[_0x1554('0x2e')]=_0x2efe7d['attributes']['length']?_0x2efe7d[_0x1554('0x2e')]:_0x293cfe[_0x1554('0x2d')];if(!_0x3a8467[_0x1554('0x2b')][_0x1554('0x30')]('nolimit')){_0x2efe7d[_0x1554('0x1a')]=qs[_0x1554('0x1a')](_0x3a8467[_0x1554('0x2b')][_0x1554('0x1a')]);_0x2efe7d[_0x1554('0x18')]=qs['offset'](_0x3a8467['query']['offset']);}_0x2efe7d[_0x1554('0x31')]=qs[_0x1554('0x32')](_0x3a8467[_0x1554('0x2b')][_0x1554('0x32')]);_0x2efe7d[_0x1554('0x33')]=qs[_0x1554('0x2c')](_[_0x1554('0x34')](_0x3a8467[_0x1554('0x2b')],_0x293cfe[_0x1554('0x2c')]),_0x3ddeef);if(_0x3a8467['query'][_0x1554('0x35')]){_0x2efe7d['where']=_[_0x1554('0x36')](_0x2efe7d[_0x1554('0x33')],{'$or':_[_0x1554('0x28')](_0x3ddeef,function(_0x2ab0ea){if(_0x2ab0ea[_0x1554('0x2a')]!==_0x1554('0x37')){var _0x37540a={};_0x37540a[_0x2ab0ea[_0x1554('0x25')]]={'$like':'%'+_0x3a8467[_0x1554('0x2b')][_0x1554('0x35')]+'%'};return _0x37540a;}})});}_0x2efe7d=_[_0x1554('0x36')]({},_0x2efe7d,_0x3a8467[_0x1554('0x38')]);var _0x26a4c2={'where':_0x2efe7d['where']};return db[_0x1554('0x29')]['count'](_0x26a4c2)[_0x1554('0x22')](function(_0x92782a){_0x582f7e['count']=_0x92782a;if(_0x3a8467[_0x1554('0x2b')][_0x1554('0x39')]){_0x2efe7d['include']=[{'all':!![]}];}return db[_0x1554('0x29')][_0x1554('0x3a')](_0x2efe7d);})[_0x1554('0x22')](function(_0x19885a){_0x582f7e[_0x1554('0x3b')]=_0x19885a;return _0x582f7e;})['then'](respondWithFilteredResult(_0x26b7b9,_0x2efe7d))[_0x1554('0x3c')](handleError(_0x26b7b9,null));};exports[_0x1554('0x3d')]=function(_0x26d80f,_0x35a30f){var _0x2ad8c9={'raw':![],'where':{'id':_0x26d80f[_0x1554('0x3e')]['id']}},_0x449118={};_0x449118['model']=_[_0x1554('0x3f')](db['SalesforceConfiguration'][_0x1554('0x40')]);_0x449118[_0x1554('0x2b')]=_[_0x1554('0x3f')](_0x26d80f[_0x1554('0x2b')]);_0x449118['filters']=_[_0x1554('0x2f')](_0x449118['model'],_0x449118[_0x1554('0x2b')]);_0x2ad8c9[_0x1554('0x2e')]=_[_0x1554('0x2f')](_0x449118['model'],qs[_0x1554('0x41')](_0x26d80f[_0x1554('0x2b')][_0x1554('0x41')]));_0x2ad8c9[_0x1554('0x2e')]=_0x2ad8c9[_0x1554('0x2e')]['length']?_0x2ad8c9[_0x1554('0x2e')]:_0x449118[_0x1554('0x2d')];if(_0x26d80f[_0x1554('0x2b')][_0x1554('0x39')]){_0x2ad8c9['include']=[{'all':!![]}];}_0x2ad8c9=_[_0x1554('0x36')]({},_0x2ad8c9,_0x26d80f['options']);return db[_0x1554('0x29')]['find'](_0x2ad8c9)['then'](handleEntityNotFound(_0x35a30f,null))[_0x1554('0x22')](respondWithResult(_0x35a30f,null))[_0x1554('0x3c')](handleError(_0x35a30f,null));};exports[_0x1554('0x42')]=function(_0x5ea43a,_0x362185){return db[_0x1554('0x29')][_0x1554('0x42')](_0x5ea43a[_0x1554('0x43')],{})[_0x1554('0x22')](respondWithResult(_0x362185,0xc9))[_0x1554('0x3c')](handleError(_0x362185,null));};exports['update']=function(_0x5c0481,_0x1e3cff){if(_0x5c0481[_0x1554('0x43')]['id']){delete _0x5c0481[_0x1554('0x43')]['id'];}return db['SalesforceConfiguration'][_0x1554('0x44')]({'where':{'id':_0x5c0481['params']['id']}})[_0x1554('0x22')](handleEntityNotFound(_0x1e3cff,null))[_0x1554('0x22')](saveUpdates(_0x5c0481[_0x1554('0x43')],null))['then'](respondWithResult(_0x1e3cff,null))[_0x1554('0x3c')](handleError(_0x1e3cff,null));};exports[_0x1554('0x23')]=function(_0x1b4d63,_0x408fcc){return db[_0x1554('0x29')][_0x1554('0x44')]({'where':{'id':_0x1b4d63[_0x1554('0x3e')]['id']}})['then'](handleEntityNotFound(_0x408fcc,null))[_0x1554('0x22')](removeEntity(_0x408fcc,null))['catch'](handleError(_0x408fcc,null));};exports['getFields']=function(_0x22dbf5,_0x40789a,_0x4ae8e8){var _0x4bb73e={};var _0x11f8f8={};var _0xd256b1;var _0x199863;return db[_0x1554('0x29')][_0x1554('0x45')]({'where':{'id':_0x22dbf5['params']['id']}})['then'](handleEntityNotFound(_0x40789a,null))[_0x1554('0x22')](function(_0x4d15b4){if(_0x4d15b4){_0xd256b1=_0x4d15b4;_0x11f8f8['model']=_[_0x1554('0x3f')](db[_0x1554('0x46')][_0x1554('0x40')]);_0x11f8f8[_0x1554('0x2b')]=_['keys'](_0x22dbf5[_0x1554('0x2b')]);_0x11f8f8[_0x1554('0x2c')]=_[_0x1554('0x2f')](_0x11f8f8[_0x1554('0x2d')],_0x11f8f8['query']);_0x4bb73e[_0x1554('0x2e')]=_['intersection'](_0x11f8f8[_0x1554('0x2d')],qs[_0x1554('0x41')](_0x22dbf5[_0x1554('0x2b')][_0x1554('0x41')]));_0x4bb73e[_0x1554('0x2e')]=_0x4bb73e[_0x1554('0x2e')]['length']?_0x4bb73e['attributes']:_0x11f8f8[_0x1554('0x2d')];_0x4bb73e[_0x1554('0x31')]=qs[_0x1554('0x32')](_0x22dbf5[_0x1554('0x2b')]['sort']);_0x4bb73e[_0x1554('0x33')]=qs[_0x1554('0x2c')](_[_0x1554('0x34')](_0x22dbf5[_0x1554('0x2b')],_0x11f8f8['filters']));if(_0x22dbf5[_0x1554('0x2b')][_0x1554('0x35')]){_0x4bb73e['where']=_['merge'](_0x4bb73e[_0x1554('0x33')],{'$or':_[_0x1554('0x28')](_0x4bb73e[_0x1554('0x2e')],function(_0x47be08){var _0x5b0845={};_0x5b0845[_0x47be08]={'$like':'%'+_0x22dbf5[_0x1554('0x2b')][_0x1554('0x35')]+'%'};return _0x5b0845;})});}_0x4bb73e=_[_0x1554('0x36')]({},_0x4bb73e,_0x22dbf5[_0x1554('0x38')]);return _0xd256b1['getFields'](_0x4bb73e);}})[_0x1554('0x22')](function(_0x45c173){if(_0x45c173){_0x199863=_0x45c173[_0x1554('0x47')];if(!_0x22dbf5[_0x1554('0x2b')][_0x1554('0x30')](_0x1554('0x48'))){_0x4bb73e[_0x1554('0x1a')]=qs[_0x1554('0x1a')](_0x22dbf5['query']['limit']);_0x4bb73e[_0x1554('0x18')]=qs[_0x1554('0x18')](_0x22dbf5[_0x1554('0x2b')][_0x1554('0x18')]);}return _0xd256b1['getFields'](_0x4bb73e);}})[_0x1554('0x22')](function(_0x546a7b){if(_0x546a7b){return _0x546a7b?{'count':_0x199863,'rows':_0x546a7b}:null;}})['then'](respondWithResult(_0x40789a,null))[_0x1554('0x3c')](handleError(_0x40789a,null));};exports[_0x1554('0x49')]=function(_0x2f2f09,_0x2fcab5,_0x2e2739){var _0xe25dd5={};var _0x47b4d8={};var _0xb7e3d7;var _0xf3ea64;return db[_0x1554('0x29')]['findOne']({'where':{'id':_0x2f2f09[_0x1554('0x3e')]['id']}})[_0x1554('0x22')](handleEntityNotFound(_0x2fcab5,null))[_0x1554('0x22')](function(_0x6b5062){if(_0x6b5062){_0xb7e3d7=_0x6b5062;_0x47b4d8[_0x1554('0x2d')]=_['keys'](db[_0x1554('0x46')][_0x1554('0x40')]);_0x47b4d8['query']=_['keys'](_0x2f2f09['query']);_0x47b4d8['filters']=_[_0x1554('0x2f')](_0x47b4d8[_0x1554('0x2d')],_0x47b4d8[_0x1554('0x2b')]);_0xe25dd5['attributes']=_['intersection'](_0x47b4d8[_0x1554('0x2d')],qs[_0x1554('0x41')](_0x2f2f09[_0x1554('0x2b')]['fields']));_0xe25dd5[_0x1554('0x2e')]=_0xe25dd5[_0x1554('0x2e')][_0x1554('0x47')]?_0xe25dd5[_0x1554('0x2e')]:_0x47b4d8[_0x1554('0x2d')];_0xe25dd5[_0x1554('0x31')]=qs[_0x1554('0x32')](_0x2f2f09['query'][_0x1554('0x32')]);_0xe25dd5[_0x1554('0x33')]=qs[_0x1554('0x2c')](_['pick'](_0x2f2f09[_0x1554('0x2b')],_0x47b4d8[_0x1554('0x2c')]));if(_0x2f2f09[_0x1554('0x2b')][_0x1554('0x35')]){_0xe25dd5[_0x1554('0x33')]=_['merge'](_0xe25dd5[_0x1554('0x33')],{'$or':_['map'](_0xe25dd5[_0x1554('0x2e')],function(_0x44fa86){var _0x39b201={};_0x39b201[_0x44fa86]={'$like':'%'+_0x2f2f09[_0x1554('0x2b')]['filter']+'%'};return _0x39b201;})});}_0xe25dd5=_['merge']({},_0xe25dd5,_0x2f2f09['options']);return _0xb7e3d7[_0x1554('0x49')](_0xe25dd5);}})['then'](function(_0x135d72){if(_0x135d72){_0xf3ea64=_0x135d72[_0x1554('0x47')];if(!_0x2f2f09[_0x1554('0x2b')][_0x1554('0x30')](_0x1554('0x48'))){_0xe25dd5[_0x1554('0x1a')]=qs[_0x1554('0x1a')](_0x2f2f09[_0x1554('0x2b')][_0x1554('0x1a')]);_0xe25dd5[_0x1554('0x18')]=qs[_0x1554('0x18')](_0x2f2f09['query'][_0x1554('0x18')]);}return _0xb7e3d7[_0x1554('0x49')](_0xe25dd5);}})[_0x1554('0x22')](function(_0x58135c){if(_0x58135c){return _0x58135c?{'count':_0xf3ea64,'rows':_0x58135c}:null;}})[_0x1554('0x22')](respondWithResult(_0x2fcab5,null))[_0x1554('0x3c')](handleError(_0x2fcab5,null));};exports[_0x1554('0x4a')]=function(_0x28642e,_0x8ea37b,_0x16265a){var _0x18854a={};var _0x308edb={};var _0x40b5ec;var _0x15be7c;return db[_0x1554('0x29')]['findOne']({'where':{'id':_0x28642e[_0x1554('0x3e')]['id']}})['then'](handleEntityNotFound(_0x8ea37b,null))['then'](function(_0x418e2e){if(_0x418e2e){_0x40b5ec=_0x418e2e;_0x308edb['model']=_[_0x1554('0x3f')](db[_0x1554('0x46')][_0x1554('0x40')]);_0x308edb[_0x1554('0x2b')]=_['keys'](_0x28642e[_0x1554('0x2b')]);_0x308edb[_0x1554('0x2c')]=_[_0x1554('0x2f')](_0x308edb[_0x1554('0x2d')],_0x308edb['query']);_0x18854a[_0x1554('0x2e')]=_[_0x1554('0x2f')](_0x308edb[_0x1554('0x2d')],qs[_0x1554('0x41')](_0x28642e[_0x1554('0x2b')]['fields']));_0x18854a[_0x1554('0x2e')]=_0x18854a['attributes']['length']?_0x18854a[_0x1554('0x2e')]:_0x308edb[_0x1554('0x2d')];_0x18854a[_0x1554('0x31')]=qs[_0x1554('0x32')](_0x28642e['query']['sort']);_0x18854a[_0x1554('0x33')]=qs[_0x1554('0x2c')](_[_0x1554('0x34')](_0x28642e[_0x1554('0x2b')],_0x308edb[_0x1554('0x2c')]));if(_0x28642e[_0x1554('0x2b')][_0x1554('0x35')]){_0x18854a[_0x1554('0x33')]=_[_0x1554('0x36')](_0x18854a[_0x1554('0x33')],{'$or':_[_0x1554('0x28')](_0x18854a[_0x1554('0x2e')],function(_0x2f0348){var _0x3ea0db={};_0x3ea0db[_0x2f0348]={'$like':'%'+_0x28642e[_0x1554('0x2b')][_0x1554('0x35')]+'%'};return _0x3ea0db;})});}_0x18854a=_[_0x1554('0x36')]({},_0x18854a,_0x28642e['options']);return _0x40b5ec[_0x1554('0x4a')](_0x18854a);}})[_0x1554('0x22')](function(_0x3e28e1){if(_0x3e28e1){_0x15be7c=_0x3e28e1[_0x1554('0x47')];if(!_0x28642e['query'][_0x1554('0x30')]('nolimit')){_0x18854a[_0x1554('0x1a')]=qs[_0x1554('0x1a')](_0x28642e['query'][_0x1554('0x1a')]);_0x18854a['offset']=qs[_0x1554('0x18')](_0x28642e['query'][_0x1554('0x18')]);}return _0x40b5ec[_0x1554('0x4a')](_0x18854a);}})['then'](function(_0x3e3bae){if(_0x3e3bae){return _0x3e3bae?{'count':_0x15be7c,'rows':_0x3e3bae}:null;}})['then'](respondWithResult(_0x8ea37b,null))['catch'](handleError(_0x8ea37b,null));};