Built motion from commit da617fac.|2.6.6
[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 _0xfa12=['jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','sendStatus','status','end','offset','undefined','limit','count','Content-Range','json','save','then','destroy','error','stack','name','send','fieldName','key','model','map','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','sort','pick','filter','where','type','VIRTUAL','merge','SalesforceConfiguration','includeAll','include','rows','catch','params','rawAttributes','length','body','update','find','getFields','findOne','SalesforceField','order','getSubjects','options','getDescriptions','eml-format','rimraf','zip-dir','moment','bluebird','path','sox','to-csv','fs-extra','squel','crypto'];(function(_0x25905f,_0x4e631a){var _0x4042dc=function(_0x2a9176){while(--_0x2a9176){_0x25905f['push'](_0x25905f['shift']());}};_0x4042dc(++_0x4e631a);}(_0xfa12,0x1bd));var _0x2fa1=function(_0x38c04e,_0x5968fa){_0x38c04e=_0x38c04e-0x0;var _0x3776d7=_0xfa12[_0x38c04e];return _0x3776d7;};'use strict';var emlformat=require(_0x2fa1('0x0'));var rimraf=require(_0x2fa1('0x1'));var zipdir=require(_0x2fa1('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x2fa1('0x3'));var BPromise=require(_0x2fa1('0x4'));var Mustache=require('mustache');var util=require('util');var path=require(_0x2fa1('0x5'));var sox=require(_0x2fa1('0x6'));var csv=require(_0x2fa1('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x2fa1('0x8'));var _=require('lodash');var squel=require(_0x2fa1('0x9'));var crypto=require(_0x2fa1('0xa'));var jsforce=require(_0x2fa1('0xb'));var deskjs=require(_0x2fa1('0xc'));var toCsv=require(_0x2fa1('0x7'));var querystring=require(_0x2fa1('0xd'));var Papa=require('papaparse');var Redis=require(_0x2fa1('0xe'));var authService=require(_0x2fa1('0xf'));var qs=require(_0x2fa1('0x10'));var as=require(_0x2fa1('0x11'));var hardwareService=require(_0x2fa1('0x12'));var logger=require(_0x2fa1('0x13'))(_0x2fa1('0x14'));var utils=require(_0x2fa1('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0x2fa1('0x16'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x4365ce,_0x59f697){_0x59f697=_0x59f697||0xcc;return function(_0x44a525){if(_0x44a525){return _0x4365ce[_0x2fa1('0x17')](_0x59f697);}return _0x4365ce[_0x2fa1('0x18')](_0x59f697)[_0x2fa1('0x19')]();};}function respondWithResult(_0xc99b5e,_0x226fc7){_0x226fc7=_0x226fc7||0xc8;return function(_0x534898){if(_0x534898){return _0xc99b5e[_0x2fa1('0x18')](_0x226fc7)['json'](_0x534898);}};}function respondWithFilteredResult(_0x1d3515,_0x1be9ea){return function(_0x5d7602){if(_0x5d7602){var _0x2800a9=typeof _0x1be9ea[_0x2fa1('0x1a')]===_0x2fa1('0x1b')&&typeof _0x1be9ea[_0x2fa1('0x1c')]===_0x2fa1('0x1b');var _0x4dfed9=_0x5d7602['count'];var _0xf45e3f=_0x2800a9?0x0:_0x1be9ea['offset'];var _0x4209e6=_0x2800a9?_0x5d7602[_0x2fa1('0x1d')]:_0x1be9ea[_0x2fa1('0x1a')]+_0x1be9ea['limit'];var _0x156186;if(_0x4209e6>=_0x4dfed9){_0x4209e6=_0x4dfed9;_0x156186=0xc8;}else{_0x156186=0xce;}_0x1d3515[_0x2fa1('0x18')](_0x156186);return _0x1d3515['set'](_0x2fa1('0x1e'),_0xf45e3f+'-'+_0x4209e6+'/'+_0x4dfed9)[_0x2fa1('0x1f')](_0x5d7602);}return null;};}function patchUpdates(_0x4c9fbf){return function(_0x1a8038){try{jsonpatch['apply'](_0x1a8038,_0x4c9fbf,!![]);}catch(_0x11d253){return BPromise['reject'](_0x11d253);}return _0x1a8038[_0x2fa1('0x20')]();};}function saveUpdates(_0x531f3f,_0x4defdd){return function(_0x3ddf8a){if(_0x3ddf8a){return _0x3ddf8a['update'](_0x531f3f)[_0x2fa1('0x21')](function(_0x1ac35a){return _0x1ac35a;});}return null;};}function removeEntity(_0x35c18c,_0x544848){return function(_0x592379){if(_0x592379){return _0x592379[_0x2fa1('0x22')]()[_0x2fa1('0x21')](function(){_0x35c18c[_0x2fa1('0x18')](0xcc)[_0x2fa1('0x19')]();});}};}function handleEntityNotFound(_0x1fd5f3,_0x5c841e){return function(_0x32b88d){if(!_0x32b88d){_0x1fd5f3[_0x2fa1('0x17')](0x194);}return _0x32b88d;};}function handleError(_0x930cd5,_0x291fb2){_0x291fb2=_0x291fb2||0x1f4;return function(_0x19daba){logger[_0x2fa1('0x23')](_0x19daba[_0x2fa1('0x24')]);if(_0x19daba[_0x2fa1('0x25')]){delete _0x19daba[_0x2fa1('0x25')];}_0x930cd5['status'](_0x291fb2)[_0x2fa1('0x26')](_0x19daba);};}exports['index']=function(_0x2f4623,_0x29875f){var _0x56de59={},_0x2758d0={},_0x2551ef={'count':0x0,'rows':[]};var _0x234b21=_['map'](db['SalesforceConfiguration']['rawAttributes'],function(_0x499b40){return{'name':_0x499b40[_0x2fa1('0x27')],'type':_0x499b40['type'][_0x2fa1('0x28')]};});_0x2758d0[_0x2fa1('0x29')]=_[_0x2fa1('0x2a')](_0x234b21,_0x2fa1('0x25'));_0x2758d0[_0x2fa1('0x2b')]=_[_0x2fa1('0x2c')](_0x2f4623[_0x2fa1('0x2b')]);_0x2758d0[_0x2fa1('0x2d')]=_[_0x2fa1('0x2e')](_0x2758d0[_0x2fa1('0x29')],_0x2758d0[_0x2fa1('0x2b')]);_0x56de59[_0x2fa1('0x2f')]=_[_0x2fa1('0x2e')](_0x2758d0[_0x2fa1('0x29')],qs[_0x2fa1('0x30')](_0x2f4623['query'][_0x2fa1('0x30')]));_0x56de59[_0x2fa1('0x2f')]=_0x56de59[_0x2fa1('0x2f')]['length']?_0x56de59[_0x2fa1('0x2f')]:_0x2758d0[_0x2fa1('0x29')];if(!_0x2f4623['query'][_0x2fa1('0x31')](_0x2fa1('0x32'))){_0x56de59['limit']=qs[_0x2fa1('0x1c')](_0x2f4623[_0x2fa1('0x2b')][_0x2fa1('0x1c')]);_0x56de59['offset']=qs['offset'](_0x2f4623['query'][_0x2fa1('0x1a')]);}_0x56de59['order']=qs[_0x2fa1('0x33')](_0x2f4623[_0x2fa1('0x2b')]['sort']);_0x56de59['where']=qs[_0x2fa1('0x2d')](_[_0x2fa1('0x34')](_0x2f4623['query'],_0x2758d0[_0x2fa1('0x2d')]),_0x234b21);if(_0x2f4623['query'][_0x2fa1('0x35')]){_0x56de59[_0x2fa1('0x36')]=_['merge'](_0x56de59[_0x2fa1('0x36')],{'$or':_[_0x2fa1('0x2a')](_0x234b21,function(_0x4ffb38){if(_0x4ffb38[_0x2fa1('0x37')]!==_0x2fa1('0x38')){var _0x2d8a77={};_0x2d8a77[_0x4ffb38['name']]={'$like':'%'+_0x2f4623[_0x2fa1('0x2b')]['filter']+'%'};return _0x2d8a77;}})});}_0x56de59=_[_0x2fa1('0x39')]({},_0x56de59,_0x2f4623['options']);var _0x4a2878={'where':_0x56de59['where']};return db[_0x2fa1('0x3a')]['count'](_0x4a2878)[_0x2fa1('0x21')](function(_0x395cba){_0x2551ef['count']=_0x395cba;if(_0x2f4623[_0x2fa1('0x2b')][_0x2fa1('0x3b')]){_0x56de59[_0x2fa1('0x3c')]=[{'all':!![]}];}return db[_0x2fa1('0x3a')]['findAll'](_0x56de59);})['then'](function(_0x1cb199){_0x2551ef[_0x2fa1('0x3d')]=_0x1cb199;return _0x2551ef;})['then'](respondWithFilteredResult(_0x29875f,_0x56de59))[_0x2fa1('0x3e')](handleError(_0x29875f,null));};exports['show']=function(_0x365a90,_0x4136fa){var _0x5558b0={'raw':![],'where':{'id':_0x365a90[_0x2fa1('0x3f')]['id']}},_0x583fe4={};_0x583fe4['model']=_[_0x2fa1('0x2c')](db[_0x2fa1('0x3a')][_0x2fa1('0x40')]);_0x583fe4['query']=_['keys'](_0x365a90[_0x2fa1('0x2b')]);_0x583fe4[_0x2fa1('0x2d')]=_[_0x2fa1('0x2e')](_0x583fe4[_0x2fa1('0x29')],_0x583fe4[_0x2fa1('0x2b')]);_0x5558b0['attributes']=_[_0x2fa1('0x2e')](_0x583fe4[_0x2fa1('0x29')],qs[_0x2fa1('0x30')](_0x365a90[_0x2fa1('0x2b')][_0x2fa1('0x30')]));_0x5558b0[_0x2fa1('0x2f')]=_0x5558b0['attributes'][_0x2fa1('0x41')]?_0x5558b0[_0x2fa1('0x2f')]:_0x583fe4[_0x2fa1('0x29')];if(_0x365a90['query'][_0x2fa1('0x3b')]){_0x5558b0[_0x2fa1('0x3c')]=[{'all':!![]}];}_0x5558b0=_['merge']({},_0x5558b0,_0x365a90['options']);return db['SalesforceConfiguration']['find'](_0x5558b0)[_0x2fa1('0x21')](handleEntityNotFound(_0x4136fa,null))['then'](respondWithResult(_0x4136fa,null))['catch'](handleError(_0x4136fa,null));};exports['create']=function(_0x1919d3,_0x361137){return db[_0x2fa1('0x3a')]['create'](_0x1919d3[_0x2fa1('0x42')],{})[_0x2fa1('0x21')](respondWithResult(_0x361137,0xc9))[_0x2fa1('0x3e')](handleError(_0x361137,null));};exports[_0x2fa1('0x43')]=function(_0x37004f,_0xf1ceb7){if(_0x37004f[_0x2fa1('0x42')]['id']){delete _0x37004f[_0x2fa1('0x42')]['id'];}return db[_0x2fa1('0x3a')][_0x2fa1('0x44')]({'where':{'id':_0x37004f[_0x2fa1('0x3f')]['id']}})[_0x2fa1('0x21')](handleEntityNotFound(_0xf1ceb7,null))[_0x2fa1('0x21')](saveUpdates(_0x37004f['body'],null))[_0x2fa1('0x21')](respondWithResult(_0xf1ceb7,null))[_0x2fa1('0x3e')](handleError(_0xf1ceb7,null));};exports['destroy']=function(_0x37d487,_0x32deff){return db[_0x2fa1('0x3a')][_0x2fa1('0x44')]({'where':{'id':_0x37d487['params']['id']}})[_0x2fa1('0x21')](handleEntityNotFound(_0x32deff,null))[_0x2fa1('0x21')](removeEntity(_0x32deff,null))[_0x2fa1('0x3e')](handleError(_0x32deff,null));};exports[_0x2fa1('0x45')]=function(_0x23e9a1,_0x32a854,_0x16ff8a){var _0x5251fe={};var _0x29ca13={};var _0x1d628a;var _0x21931a;return db[_0x2fa1('0x3a')][_0x2fa1('0x46')]({'where':{'id':_0x23e9a1[_0x2fa1('0x3f')]['id']}})[_0x2fa1('0x21')](handleEntityNotFound(_0x32a854,null))[_0x2fa1('0x21')](function(_0x2ddf99){if(_0x2ddf99){_0x1d628a=_0x2ddf99;_0x29ca13[_0x2fa1('0x29')]=_[_0x2fa1('0x2c')](db[_0x2fa1('0x47')]['rawAttributes']);_0x29ca13[_0x2fa1('0x2b')]=_['keys'](_0x23e9a1['query']);_0x29ca13['filters']=_[_0x2fa1('0x2e')](_0x29ca13['model'],_0x29ca13[_0x2fa1('0x2b')]);_0x5251fe['attributes']=_[_0x2fa1('0x2e')](_0x29ca13[_0x2fa1('0x29')],qs[_0x2fa1('0x30')](_0x23e9a1[_0x2fa1('0x2b')][_0x2fa1('0x30')]));_0x5251fe[_0x2fa1('0x2f')]=_0x5251fe[_0x2fa1('0x2f')][_0x2fa1('0x41')]?_0x5251fe[_0x2fa1('0x2f')]:_0x29ca13[_0x2fa1('0x29')];_0x5251fe[_0x2fa1('0x48')]=qs[_0x2fa1('0x33')](_0x23e9a1[_0x2fa1('0x2b')]['sort']);_0x5251fe[_0x2fa1('0x36')]=qs[_0x2fa1('0x2d')](_[_0x2fa1('0x34')](_0x23e9a1[_0x2fa1('0x2b')],_0x29ca13[_0x2fa1('0x2d')]));if(_0x23e9a1[_0x2fa1('0x2b')][_0x2fa1('0x35')]){_0x5251fe[_0x2fa1('0x36')]=_[_0x2fa1('0x39')](_0x5251fe[_0x2fa1('0x36')],{'$or':_[_0x2fa1('0x2a')](_0x5251fe[_0x2fa1('0x2f')],function(_0xc77884){var _0x2b7ad9={};_0x2b7ad9[_0xc77884]={'$like':'%'+_0x23e9a1[_0x2fa1('0x2b')][_0x2fa1('0x35')]+'%'};return _0x2b7ad9;})});}_0x5251fe=_[_0x2fa1('0x39')]({},_0x5251fe,_0x23e9a1['options']);return _0x1d628a[_0x2fa1('0x45')](_0x5251fe);}})[_0x2fa1('0x21')](function(_0x5ac7d7){if(_0x5ac7d7){_0x21931a=_0x5ac7d7[_0x2fa1('0x41')];if(!_0x23e9a1[_0x2fa1('0x2b')]['hasOwnProperty'](_0x2fa1('0x32'))){_0x5251fe[_0x2fa1('0x1c')]=qs[_0x2fa1('0x1c')](_0x23e9a1[_0x2fa1('0x2b')][_0x2fa1('0x1c')]);_0x5251fe['offset']=qs[_0x2fa1('0x1a')](_0x23e9a1[_0x2fa1('0x2b')][_0x2fa1('0x1a')]);}return _0x1d628a[_0x2fa1('0x45')](_0x5251fe);}})[_0x2fa1('0x21')](function(_0x1a3f1f){if(_0x1a3f1f){return _0x1a3f1f?{'count':_0x21931a,'rows':_0x1a3f1f}:null;}})[_0x2fa1('0x21')](respondWithResult(_0x32a854,null))['catch'](handleError(_0x32a854,null));};exports[_0x2fa1('0x49')]=function(_0x894460,_0x5512da,_0x510b03){var _0x190cd4={};var _0x16dfa1={};var _0x5c7b5c;var _0x4ff01;return db[_0x2fa1('0x3a')]['findOne']({'where':{'id':_0x894460['params']['id']}})[_0x2fa1('0x21')](handleEntityNotFound(_0x5512da,null))['then'](function(_0x17a589){if(_0x17a589){_0x5c7b5c=_0x17a589;_0x16dfa1[_0x2fa1('0x29')]=_[_0x2fa1('0x2c')](db[_0x2fa1('0x47')][_0x2fa1('0x40')]);_0x16dfa1[_0x2fa1('0x2b')]=_[_0x2fa1('0x2c')](_0x894460[_0x2fa1('0x2b')]);_0x16dfa1[_0x2fa1('0x2d')]=_['intersection'](_0x16dfa1[_0x2fa1('0x29')],_0x16dfa1[_0x2fa1('0x2b')]);_0x190cd4['attributes']=_[_0x2fa1('0x2e')](_0x16dfa1[_0x2fa1('0x29')],qs[_0x2fa1('0x30')](_0x894460[_0x2fa1('0x2b')][_0x2fa1('0x30')]));_0x190cd4[_0x2fa1('0x2f')]=_0x190cd4[_0x2fa1('0x2f')][_0x2fa1('0x41')]?_0x190cd4['attributes']:_0x16dfa1[_0x2fa1('0x29')];_0x190cd4[_0x2fa1('0x48')]=qs[_0x2fa1('0x33')](_0x894460['query'][_0x2fa1('0x33')]);_0x190cd4['where']=qs[_0x2fa1('0x2d')](_[_0x2fa1('0x34')](_0x894460[_0x2fa1('0x2b')],_0x16dfa1[_0x2fa1('0x2d')]));if(_0x894460[_0x2fa1('0x2b')][_0x2fa1('0x35')]){_0x190cd4[_0x2fa1('0x36')]=_[_0x2fa1('0x39')](_0x190cd4['where'],{'$or':_[_0x2fa1('0x2a')](_0x190cd4[_0x2fa1('0x2f')],function(_0x176514){var _0x38b9be={};_0x38b9be[_0x176514]={'$like':'%'+_0x894460[_0x2fa1('0x2b')]['filter']+'%'};return _0x38b9be;})});}_0x190cd4=_[_0x2fa1('0x39')]({},_0x190cd4,_0x894460[_0x2fa1('0x4a')]);return _0x5c7b5c[_0x2fa1('0x49')](_0x190cd4);}})[_0x2fa1('0x21')](function(_0x60a0a){if(_0x60a0a){_0x4ff01=_0x60a0a[_0x2fa1('0x41')];if(!_0x894460[_0x2fa1('0x2b')]['hasOwnProperty'](_0x2fa1('0x32'))){_0x190cd4['limit']=qs[_0x2fa1('0x1c')](_0x894460[_0x2fa1('0x2b')][_0x2fa1('0x1c')]);_0x190cd4[_0x2fa1('0x1a')]=qs['offset'](_0x894460[_0x2fa1('0x2b')][_0x2fa1('0x1a')]);}return _0x5c7b5c[_0x2fa1('0x49')](_0x190cd4);}})[_0x2fa1('0x21')](function(_0x3ee582){if(_0x3ee582){return _0x3ee582?{'count':_0x4ff01,'rows':_0x3ee582}:null;}})[_0x2fa1('0x21')](respondWithResult(_0x5512da,null))[_0x2fa1('0x3e')](handleError(_0x5512da,null));};exports['getDescriptions']=function(_0xcc5d9a,_0x2fe694,_0x5834ea){var _0x1dc550={};var _0x415315={};var _0xd014e7;var _0xafb85c;return db['SalesforceConfiguration'][_0x2fa1('0x46')]({'where':{'id':_0xcc5d9a[_0x2fa1('0x3f')]['id']}})[_0x2fa1('0x21')](handleEntityNotFound(_0x2fe694,null))['then'](function(_0x48c813){if(_0x48c813){_0xd014e7=_0x48c813;_0x415315[_0x2fa1('0x29')]=_[_0x2fa1('0x2c')](db[_0x2fa1('0x47')][_0x2fa1('0x40')]);_0x415315[_0x2fa1('0x2b')]=_[_0x2fa1('0x2c')](_0xcc5d9a[_0x2fa1('0x2b')]);_0x415315[_0x2fa1('0x2d')]=_['intersection'](_0x415315['model'],_0x415315[_0x2fa1('0x2b')]);_0x1dc550[_0x2fa1('0x2f')]=_[_0x2fa1('0x2e')](_0x415315['model'],qs[_0x2fa1('0x30')](_0xcc5d9a['query']['fields']));_0x1dc550[_0x2fa1('0x2f')]=_0x1dc550['attributes'][_0x2fa1('0x41')]?_0x1dc550[_0x2fa1('0x2f')]:_0x415315[_0x2fa1('0x29')];_0x1dc550[_0x2fa1('0x48')]=qs[_0x2fa1('0x33')](_0xcc5d9a['query'][_0x2fa1('0x33')]);_0x1dc550['where']=qs['filters'](_[_0x2fa1('0x34')](_0xcc5d9a[_0x2fa1('0x2b')],_0x415315[_0x2fa1('0x2d')]));if(_0xcc5d9a['query'][_0x2fa1('0x35')]){_0x1dc550[_0x2fa1('0x36')]=_[_0x2fa1('0x39')](_0x1dc550['where'],{'$or':_[_0x2fa1('0x2a')](_0x1dc550[_0x2fa1('0x2f')],function(_0x52988a){var _0x2f0968={};_0x2f0968[_0x52988a]={'$like':'%'+_0xcc5d9a['query']['filter']+'%'};return _0x2f0968;})});}_0x1dc550=_['merge']({},_0x1dc550,_0xcc5d9a[_0x2fa1('0x4a')]);return _0xd014e7[_0x2fa1('0x4b')](_0x1dc550);}})[_0x2fa1('0x21')](function(_0x49f0a5){if(_0x49f0a5){_0xafb85c=_0x49f0a5['length'];if(!_0xcc5d9a['query'][_0x2fa1('0x31')]('nolimit')){_0x1dc550['limit']=qs[_0x2fa1('0x1c')](_0xcc5d9a[_0x2fa1('0x2b')][_0x2fa1('0x1c')]);_0x1dc550[_0x2fa1('0x1a')]=qs[_0x2fa1('0x1a')](_0xcc5d9a[_0x2fa1('0x2b')]['offset']);}return _0xd014e7[_0x2fa1('0x4b')](_0x1dc550);}})[_0x2fa1('0x21')](function(_0x31053e){if(_0x31053e){return _0x31053e?{'count':_0xafb85c,'rows':_0x31053e}:null;}})[_0x2fa1('0x21')](respondWithResult(_0x2fe694,null))[_0x2fa1('0x3e')](handleError(_0x2fe694,null));};