Built motion from commit 10af8726.|2.6.34
[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 _0x8f51=['ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','json','offset','undefined','limit','status','set','apply','reject','save','update','destroy','end','error','stack','name','send','index','map','SalesforceConfiguration','fieldName','type','model','query','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','filters','filter','where','merge','VIRTUAL','options','then','count','includeAll','findAll','rows','catch','show','rawAttributes','keys','length','include','find','create','body','params','getFields','findOne','SalesforceField','pick','getSubjects','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring'];(function(_0xbf8ebe,_0x3b69a5){var _0x1e25e8=function(_0x40c390){while(--_0x40c390){_0xbf8ebe['push'](_0xbf8ebe['shift']());}};_0x1e25e8(++_0x3b69a5);}(_0x8f51,0x9c));var _0x18f5=function(_0x152121,_0x120c53){_0x152121=_0x152121-0x0;var _0x592a85=_0x8f51[_0x152121];return _0x592a85;};'use strict';var emlformat=require(_0x18f5('0x0'));var rimraf=require(_0x18f5('0x1'));var zipdir=require(_0x18f5('0x2'));var jsonpatch=require(_0x18f5('0x3'));var rp=require(_0x18f5('0x4'));var moment=require(_0x18f5('0x5'));var BPromise=require(_0x18f5('0x6'));var Mustache=require(_0x18f5('0x7'));var util=require('util');var path=require(_0x18f5('0x8'));var sox=require('sox');var csv=require(_0x18f5('0x9'));var ejs=require(_0x18f5('0xa'));var fs=require('fs');var fs_extra=require(_0x18f5('0xb'));var _=require(_0x18f5('0xc'));var squel=require(_0x18f5('0xd'));var crypto=require(_0x18f5('0xe'));var jsforce=require(_0x18f5('0xf'));var deskjs=require(_0x18f5('0x10'));var toCsv=require(_0x18f5('0x9'));var querystring=require(_0x18f5('0x11'));var Papa=require('papaparse');var Redis=require(_0x18f5('0x12'));var authService=require(_0x18f5('0x13'));var qs=require(_0x18f5('0x14'));var as=require(_0x18f5('0x15'));var hardwareService=require(_0x18f5('0x16'));var logger=require(_0x18f5('0x17'))(_0x18f5('0x18'));var utils=require(_0x18f5('0x19'));var config=require(_0x18f5('0x1a'));var licenseUtil=require(_0x18f5('0x1b'));var db=require(_0x18f5('0x1c'))['db'];function respondWithStatusCode(_0x34180b,_0x4c7b8c){_0x4c7b8c=_0x4c7b8c||0xcc;return function(_0x114734){if(_0x114734){return _0x34180b[_0x18f5('0x1d')](_0x4c7b8c);}return _0x34180b['status'](_0x4c7b8c)['end']();};}function respondWithResult(_0x32cf9b,_0x39b8f6){_0x39b8f6=_0x39b8f6||0xc8;return function(_0x37a50a){if(_0x37a50a){return _0x32cf9b['status'](_0x39b8f6)[_0x18f5('0x1e')](_0x37a50a);}};}function respondWithFilteredResult(_0xca159e,_0x26d507){return function(_0x307823){if(_0x307823){var _0xd675d1=typeof _0x26d507[_0x18f5('0x1f')]===_0x18f5('0x20')&&typeof _0x26d507['limit']===_0x18f5('0x20');var _0x114012=_0x307823['count'];var _0x59281a=_0xd675d1?0x0:_0x26d507[_0x18f5('0x1f')];var _0x2ec8d1=_0xd675d1?_0x307823['count']:_0x26d507[_0x18f5('0x1f')]+_0x26d507[_0x18f5('0x21')];var _0x48a06d;if(_0x2ec8d1>=_0x114012){_0x2ec8d1=_0x114012;_0x48a06d=0xc8;}else{_0x48a06d=0xce;}_0xca159e[_0x18f5('0x22')](_0x48a06d);return _0xca159e[_0x18f5('0x23')]('Content-Range',_0x59281a+'-'+_0x2ec8d1+'/'+_0x114012)[_0x18f5('0x1e')](_0x307823);}return null;};}function patchUpdates(_0x44fd43){return function(_0x4fea23){try{jsonpatch[_0x18f5('0x24')](_0x4fea23,_0x44fd43,!![]);}catch(_0x11a5ea){return BPromise[_0x18f5('0x25')](_0x11a5ea);}return _0x4fea23[_0x18f5('0x26')]();};}function saveUpdates(_0x9d4ae8,_0x2f97e1){return function(_0x33dbb3){if(_0x33dbb3){return _0x33dbb3[_0x18f5('0x27')](_0x9d4ae8)['then'](function(_0x4c133d){return _0x4c133d;});}return null;};}function removeEntity(_0x232939,_0x302412){return function(_0xeac769){if(_0xeac769){return _0xeac769[_0x18f5('0x28')]()['then'](function(){_0x232939[_0x18f5('0x22')](0xcc)[_0x18f5('0x29')]();});}};}function handleEntityNotFound(_0x3a1840,_0x545f04){return function(_0x6063c7){if(!_0x6063c7){_0x3a1840[_0x18f5('0x1d')](0x194);}return _0x6063c7;};}function handleError(_0x275584,_0x504862){_0x504862=_0x504862||0x1f4;return function(_0xf1382f){logger[_0x18f5('0x2a')](_0xf1382f[_0x18f5('0x2b')]);if(_0xf1382f[_0x18f5('0x2c')]){delete _0xf1382f[_0x18f5('0x2c')];}_0x275584[_0x18f5('0x22')](_0x504862)[_0x18f5('0x2d')](_0xf1382f);};}exports[_0x18f5('0x2e')]=function(_0xbb32d0,_0x52c72b){var _0x3ba25c={},_0x3718bd={},_0xc8d3eb={'count':0x0,'rows':[]};var _0x810be2=_[_0x18f5('0x2f')](db[_0x18f5('0x30')]['rawAttributes'],function(_0x1b73c0){return{'name':_0x1b73c0[_0x18f5('0x31')],'type':_0x1b73c0[_0x18f5('0x32')]['key']};});_0x3718bd[_0x18f5('0x33')]=_[_0x18f5('0x2f')](_0x810be2,_0x18f5('0x2c'));_0x3718bd[_0x18f5('0x34')]=_['keys'](_0xbb32d0[_0x18f5('0x34')]);_0x3718bd['filters']=_[_0x18f5('0x35')](_0x3718bd[_0x18f5('0x33')],_0x3718bd[_0x18f5('0x34')]);_0x3ba25c[_0x18f5('0x36')]=_[_0x18f5('0x35')](_0x3718bd['model'],qs['fields'](_0xbb32d0[_0x18f5('0x34')][_0x18f5('0x37')]));_0x3ba25c['attributes']=_0x3ba25c[_0x18f5('0x36')]['length']?_0x3ba25c[_0x18f5('0x36')]:_0x3718bd[_0x18f5('0x33')];if(!_0xbb32d0[_0x18f5('0x34')][_0x18f5('0x38')](_0x18f5('0x39'))){_0x3ba25c[_0x18f5('0x21')]=qs[_0x18f5('0x21')](_0xbb32d0[_0x18f5('0x34')][_0x18f5('0x21')]);_0x3ba25c[_0x18f5('0x1f')]=qs[_0x18f5('0x1f')](_0xbb32d0[_0x18f5('0x34')][_0x18f5('0x1f')]);}_0x3ba25c[_0x18f5('0x3a')]=qs[_0x18f5('0x3b')](_0xbb32d0[_0x18f5('0x34')][_0x18f5('0x3b')]);_0x3ba25c['where']=qs[_0x18f5('0x3c')](_['pick'](_0xbb32d0[_0x18f5('0x34')],_0x3718bd[_0x18f5('0x3c')]),_0x810be2);if(_0xbb32d0[_0x18f5('0x34')][_0x18f5('0x3d')]){_0x3ba25c[_0x18f5('0x3e')]=_[_0x18f5('0x3f')](_0x3ba25c[_0x18f5('0x3e')],{'$or':_[_0x18f5('0x2f')](_0x810be2,function(_0x2f7615){if(_0x2f7615[_0x18f5('0x32')]!==_0x18f5('0x40')){var _0xc596db={};_0xc596db[_0x2f7615['name']]={'$like':'%'+_0xbb32d0[_0x18f5('0x34')][_0x18f5('0x3d')]+'%'};return _0xc596db;}})});}_0x3ba25c=_[_0x18f5('0x3f')]({},_0x3ba25c,_0xbb32d0[_0x18f5('0x41')]);var _0x17d5b5={'where':_0x3ba25c[_0x18f5('0x3e')]};return db[_0x18f5('0x30')]['count'](_0x17d5b5)[_0x18f5('0x42')](function(_0x58ea5a){_0xc8d3eb[_0x18f5('0x43')]=_0x58ea5a;if(_0xbb32d0['query'][_0x18f5('0x44')]){_0x3ba25c['include']=[{'all':!![]}];}return db[_0x18f5('0x30')][_0x18f5('0x45')](_0x3ba25c);})['then'](function(_0xff993e){_0xc8d3eb[_0x18f5('0x46')]=_0xff993e;return _0xc8d3eb;})[_0x18f5('0x42')](respondWithFilteredResult(_0x52c72b,_0x3ba25c))[_0x18f5('0x47')](handleError(_0x52c72b,null));};exports[_0x18f5('0x48')]=function(_0x389995,_0x23fb7e){var _0x19e65a={'raw':![],'where':{'id':_0x389995['params']['id']}},_0x3395d8={};_0x3395d8['model']=_['keys'](db[_0x18f5('0x30')][_0x18f5('0x49')]);_0x3395d8['query']=_[_0x18f5('0x4a')](_0x389995['query']);_0x3395d8[_0x18f5('0x3c')]=_[_0x18f5('0x35')](_0x3395d8['model'],_0x3395d8[_0x18f5('0x34')]);_0x19e65a[_0x18f5('0x36')]=_['intersection'](_0x3395d8['model'],qs[_0x18f5('0x37')](_0x389995[_0x18f5('0x34')][_0x18f5('0x37')]));_0x19e65a[_0x18f5('0x36')]=_0x19e65a['attributes'][_0x18f5('0x4b')]?_0x19e65a[_0x18f5('0x36')]:_0x3395d8[_0x18f5('0x33')];if(_0x389995[_0x18f5('0x34')]['includeAll']){_0x19e65a[_0x18f5('0x4c')]=[{'all':!![]}];}_0x19e65a=_[_0x18f5('0x3f')]({},_0x19e65a,_0x389995['options']);return db[_0x18f5('0x30')][_0x18f5('0x4d')](_0x19e65a)['then'](handleEntityNotFound(_0x23fb7e,null))['then'](respondWithResult(_0x23fb7e,null))[_0x18f5('0x47')](handleError(_0x23fb7e,null));};exports[_0x18f5('0x4e')]=function(_0x568112,_0x184b27){return db['SalesforceConfiguration'][_0x18f5('0x4e')](_0x568112[_0x18f5('0x4f')],{})[_0x18f5('0x42')](respondWithResult(_0x184b27,0xc9))[_0x18f5('0x47')](handleError(_0x184b27,null));};exports[_0x18f5('0x27')]=function(_0x555dc2,_0x5b36b9){if(_0x555dc2[_0x18f5('0x4f')]['id']){delete _0x555dc2[_0x18f5('0x4f')]['id'];}return db[_0x18f5('0x30')][_0x18f5('0x4d')]({'where':{'id':_0x555dc2[_0x18f5('0x50')]['id']}})[_0x18f5('0x42')](handleEntityNotFound(_0x5b36b9,null))[_0x18f5('0x42')](saveUpdates(_0x555dc2[_0x18f5('0x4f')],null))[_0x18f5('0x42')](respondWithResult(_0x5b36b9,null))[_0x18f5('0x47')](handleError(_0x5b36b9,null));};exports[_0x18f5('0x28')]=function(_0x3ae651,_0x1f2900){return db['SalesforceConfiguration'][_0x18f5('0x4d')]({'where':{'id':_0x3ae651[_0x18f5('0x50')]['id']}})[_0x18f5('0x42')](handleEntityNotFound(_0x1f2900,null))['then'](removeEntity(_0x1f2900,null))[_0x18f5('0x47')](handleError(_0x1f2900,null));};exports[_0x18f5('0x51')]=function(_0x1fb5f7,_0x543d6d,_0x7aa4dd){var _0x478737={};var _0x35e4f9={};var _0x5e0c8f;var _0x3c7b79;return db['SalesforceConfiguration'][_0x18f5('0x52')]({'where':{'id':_0x1fb5f7[_0x18f5('0x50')]['id']}})['then'](handleEntityNotFound(_0x543d6d,null))[_0x18f5('0x42')](function(_0x39a173){if(_0x39a173){_0x5e0c8f=_0x39a173;_0x35e4f9[_0x18f5('0x33')]=_[_0x18f5('0x4a')](db[_0x18f5('0x53')][_0x18f5('0x49')]);_0x35e4f9[_0x18f5('0x34')]=_['keys'](_0x1fb5f7['query']);_0x35e4f9['filters']=_['intersection'](_0x35e4f9['model'],_0x35e4f9['query']);_0x478737[_0x18f5('0x36')]=_[_0x18f5('0x35')](_0x35e4f9['model'],qs[_0x18f5('0x37')](_0x1fb5f7[_0x18f5('0x34')][_0x18f5('0x37')]));_0x478737['attributes']=_0x478737[_0x18f5('0x36')][_0x18f5('0x4b')]?_0x478737[_0x18f5('0x36')]:_0x35e4f9['model'];_0x478737[_0x18f5('0x3a')]=qs[_0x18f5('0x3b')](_0x1fb5f7['query'][_0x18f5('0x3b')]);_0x478737['where']=qs[_0x18f5('0x3c')](_[_0x18f5('0x54')](_0x1fb5f7[_0x18f5('0x34')],_0x35e4f9[_0x18f5('0x3c')]));if(_0x1fb5f7[_0x18f5('0x34')]['filter']){_0x478737[_0x18f5('0x3e')]=_[_0x18f5('0x3f')](_0x478737[_0x18f5('0x3e')],{'$or':_['map'](_0x478737[_0x18f5('0x36')],function(_0x5d5f0b){var _0x433c3d={};_0x433c3d[_0x5d5f0b]={'$like':'%'+_0x1fb5f7['query'][_0x18f5('0x3d')]+'%'};return _0x433c3d;})});}_0x478737=_[_0x18f5('0x3f')]({},_0x478737,_0x1fb5f7[_0x18f5('0x41')]);return _0x5e0c8f[_0x18f5('0x51')](_0x478737);}})['then'](function(_0x3c9508){if(_0x3c9508){_0x3c7b79=_0x3c9508[_0x18f5('0x4b')];if(!_0x1fb5f7[_0x18f5('0x34')]['hasOwnProperty']('nolimit')){_0x478737[_0x18f5('0x21')]=qs[_0x18f5('0x21')](_0x1fb5f7['query'][_0x18f5('0x21')]);_0x478737[_0x18f5('0x1f')]=qs['offset'](_0x1fb5f7[_0x18f5('0x34')]['offset']);}return _0x5e0c8f['getFields'](_0x478737);}})[_0x18f5('0x42')](function(_0x15b984){if(_0x15b984){return _0x15b984?{'count':_0x3c7b79,'rows':_0x15b984}:null;}})[_0x18f5('0x42')](respondWithResult(_0x543d6d,null))[_0x18f5('0x47')](handleError(_0x543d6d,null));};exports[_0x18f5('0x55')]=function(_0x54ee91,_0x38ab5a,_0x4af6c8){var _0x545d9a={};var _0x258b83={};var _0x329834;var _0x5d5fbb;return db[_0x18f5('0x30')][_0x18f5('0x52')]({'where':{'id':_0x54ee91[_0x18f5('0x50')]['id']}})['then'](handleEntityNotFound(_0x38ab5a,null))['then'](function(_0x216c8e){if(_0x216c8e){_0x329834=_0x216c8e;_0x258b83[_0x18f5('0x33')]=_[_0x18f5('0x4a')](db[_0x18f5('0x53')]['rawAttributes']);_0x258b83[_0x18f5('0x34')]=_['keys'](_0x54ee91[_0x18f5('0x34')]);_0x258b83[_0x18f5('0x3c')]=_[_0x18f5('0x35')](_0x258b83[_0x18f5('0x33')],_0x258b83[_0x18f5('0x34')]);_0x545d9a[_0x18f5('0x36')]=_[_0x18f5('0x35')](_0x258b83[_0x18f5('0x33')],qs[_0x18f5('0x37')](_0x54ee91[_0x18f5('0x34')][_0x18f5('0x37')]));_0x545d9a[_0x18f5('0x36')]=_0x545d9a[_0x18f5('0x36')][_0x18f5('0x4b')]?_0x545d9a['attributes']:_0x258b83[_0x18f5('0x33')];_0x545d9a['order']=qs['sort'](_0x54ee91[_0x18f5('0x34')]['sort']);_0x545d9a[_0x18f5('0x3e')]=qs[_0x18f5('0x3c')](_[_0x18f5('0x54')](_0x54ee91[_0x18f5('0x34')],_0x258b83[_0x18f5('0x3c')]));if(_0x54ee91[_0x18f5('0x34')]['filter']){_0x545d9a[_0x18f5('0x3e')]=_['merge'](_0x545d9a[_0x18f5('0x3e')],{'$or':_[_0x18f5('0x2f')](_0x545d9a[_0x18f5('0x36')],function(_0x21c707){var _0x357f7e={};_0x357f7e[_0x21c707]={'$like':'%'+_0x54ee91[_0x18f5('0x34')][_0x18f5('0x3d')]+'%'};return _0x357f7e;})});}_0x545d9a=_[_0x18f5('0x3f')]({},_0x545d9a,_0x54ee91[_0x18f5('0x41')]);return _0x329834[_0x18f5('0x55')](_0x545d9a);}})[_0x18f5('0x42')](function(_0x5ae066){if(_0x5ae066){_0x5d5fbb=_0x5ae066['length'];if(!_0x54ee91[_0x18f5('0x34')]['hasOwnProperty']('nolimit')){_0x545d9a[_0x18f5('0x21')]=qs[_0x18f5('0x21')](_0x54ee91[_0x18f5('0x34')]['limit']);_0x545d9a[_0x18f5('0x1f')]=qs['offset'](_0x54ee91['query']['offset']);}return _0x329834[_0x18f5('0x55')](_0x545d9a);}})[_0x18f5('0x42')](function(_0x45dd86){if(_0x45dd86){return _0x45dd86?{'count':_0x5d5fbb,'rows':_0x45dd86}:null;}})[_0x18f5('0x42')](respondWithResult(_0x38ab5a,null))[_0x18f5('0x47')](handleError(_0x38ab5a,null));};exports[_0x18f5('0x56')]=function(_0x4baa90,_0x471249,_0x3e1f28){var _0x153232={};var _0x4f4808={};var _0x3ce262;var _0x1fce51;return db[_0x18f5('0x30')][_0x18f5('0x52')]({'where':{'id':_0x4baa90[_0x18f5('0x50')]['id']}})[_0x18f5('0x42')](handleEntityNotFound(_0x471249,null))[_0x18f5('0x42')](function(_0x3cef64){if(_0x3cef64){_0x3ce262=_0x3cef64;_0x4f4808[_0x18f5('0x33')]=_['keys'](db[_0x18f5('0x53')][_0x18f5('0x49')]);_0x4f4808[_0x18f5('0x34')]=_[_0x18f5('0x4a')](_0x4baa90[_0x18f5('0x34')]);_0x4f4808[_0x18f5('0x3c')]=_[_0x18f5('0x35')](_0x4f4808[_0x18f5('0x33')],_0x4f4808[_0x18f5('0x34')]);_0x153232['attributes']=_[_0x18f5('0x35')](_0x4f4808['model'],qs['fields'](_0x4baa90[_0x18f5('0x34')][_0x18f5('0x37')]));_0x153232[_0x18f5('0x36')]=_0x153232[_0x18f5('0x36')][_0x18f5('0x4b')]?_0x153232[_0x18f5('0x36')]:_0x4f4808[_0x18f5('0x33')];_0x153232[_0x18f5('0x3a')]=qs[_0x18f5('0x3b')](_0x4baa90[_0x18f5('0x34')]['sort']);_0x153232['where']=qs['filters'](_[_0x18f5('0x54')](_0x4baa90[_0x18f5('0x34')],_0x4f4808[_0x18f5('0x3c')]));if(_0x4baa90['query']['filter']){_0x153232[_0x18f5('0x3e')]=_[_0x18f5('0x3f')](_0x153232[_0x18f5('0x3e')],{'$or':_[_0x18f5('0x2f')](_0x153232[_0x18f5('0x36')],function(_0x1c4a3){var _0x31a8b5={};_0x31a8b5[_0x1c4a3]={'$like':'%'+_0x4baa90['query']['filter']+'%'};return _0x31a8b5;})});}_0x153232=_[_0x18f5('0x3f')]({},_0x153232,_0x4baa90[_0x18f5('0x41')]);return _0x3ce262[_0x18f5('0x56')](_0x153232);}})[_0x18f5('0x42')](function(_0x209817){if(_0x209817){_0x1fce51=_0x209817['length'];if(!_0x4baa90[_0x18f5('0x34')][_0x18f5('0x38')](_0x18f5('0x39'))){_0x153232['limit']=qs[_0x18f5('0x21')](_0x4baa90[_0x18f5('0x34')]['limit']);_0x153232[_0x18f5('0x1f')]=qs[_0x18f5('0x1f')](_0x4baa90[_0x18f5('0x34')][_0x18f5('0x1f')]);}return _0x3ce262['getDescriptions'](_0x153232);}})['then'](function(_0x293458){if(_0x293458){return _0x293458?{'count':_0x1fce51,'rows':_0x293458}:null;}})[_0x18f5('0x42')](respondWithResult(_0x471249,null))['catch'](handleError(_0x471249,null));};