Built motion from commit 092f8824.|2.5.49
[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 _0x3f96=['type','filter','merge','includeAll','findAll','rows','catch','params','keys','length','include','find','create','body','update','getFields','SalesforceField','nolimit','getSubjects','findOne','order','options','getDescriptions','fast-json-patch','request-promise','bluebird','mustache','util','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/environment','../../mysqldb','sendStatus','status','end','json','undefined','count','offset','limit','set','apply','reject','save','then','destroy','error','stack','name','send','index','map','SalesforceConfiguration','rawAttributes','key','model','query','filters','intersection','attributes','fields','hasOwnProperty','sort','where','pick'];(function(_0x3df223,_0x1740fc){var _0x562d11=function(_0x343009){while(--_0x343009){_0x3df223['push'](_0x3df223['shift']());}};_0x562d11(++_0x1740fc);}(_0x3f96,0x19d));var _0x63f9=function(_0x43cec1,_0x20287d){_0x43cec1=_0x43cec1-0x0;var _0x3a2908=_0x3f96[_0x43cec1];return _0x3a2908;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x63f9('0x0'));var rp=require(_0x63f9('0x1'));var moment=require('moment');var BPromise=require(_0x63f9('0x2'));var Mustache=require(_0x63f9('0x3'));var util=require(_0x63f9('0x4'));var path=require('path');var sox=require('sox');var csv=require(_0x63f9('0x5'));var ejs=require(_0x63f9('0x6'));var fs=require('fs');var fs_extra=require(_0x63f9('0x7'));var _=require(_0x63f9('0x8'));var squel=require(_0x63f9('0x9'));var crypto=require(_0x63f9('0xa'));var jsforce=require(_0x63f9('0xb'));var deskjs=require(_0x63f9('0xc'));var toCsv=require(_0x63f9('0x5'));var querystring=require(_0x63f9('0xd'));var Papa=require(_0x63f9('0xe'));var Redis=require(_0x63f9('0xf'));var authService=require(_0x63f9('0x10'));var qs=require(_0x63f9('0x11'));var as=require(_0x63f9('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x63f9('0x13'))('api');var utils=require('../../config/utils');var config=require(_0x63f9('0x14'));var licenseUtil=require('../../config/license/util');var db=require(_0x63f9('0x15'))['db'];function respondWithStatusCode(_0x47b853,_0x2b05e0){_0x2b05e0=_0x2b05e0||0xcc;return function(_0x11e9ab){if(_0x11e9ab){return _0x47b853[_0x63f9('0x16')](_0x2b05e0);}return _0x47b853[_0x63f9('0x17')](_0x2b05e0)[_0x63f9('0x18')]();};}function respondWithResult(_0x280d0f,_0x1dbca5){_0x1dbca5=_0x1dbca5||0xc8;return function(_0x21efdd){if(_0x21efdd){return _0x280d0f['status'](_0x1dbca5)[_0x63f9('0x19')](_0x21efdd);}};}function respondWithFilteredResult(_0x5da17d,_0x28c3a1){return function(_0x3d2970){if(_0x3d2970){var _0xeeebdb=typeof _0x28c3a1['offset']==='undefined'&&typeof _0x28c3a1['limit']===_0x63f9('0x1a');var _0x4dab8a=_0x3d2970[_0x63f9('0x1b')];var _0x5b76fa=_0xeeebdb?0x0:_0x28c3a1[_0x63f9('0x1c')];var _0x4e39a8=_0xeeebdb?_0x3d2970[_0x63f9('0x1b')]:_0x28c3a1[_0x63f9('0x1c')]+_0x28c3a1[_0x63f9('0x1d')];var _0x2c4386;if(_0x4e39a8>=_0x4dab8a){_0x4e39a8=_0x4dab8a;_0x2c4386=0xc8;}else{_0x2c4386=0xce;}_0x5da17d[_0x63f9('0x17')](_0x2c4386);return _0x5da17d[_0x63f9('0x1e')]('Content-Range',_0x5b76fa+'-'+_0x4e39a8+'/'+_0x4dab8a)[_0x63f9('0x19')](_0x3d2970);}return null;};}function patchUpdates(_0x5113f6){return function(_0x38862d){try{jsonpatch[_0x63f9('0x1f')](_0x38862d,_0x5113f6,!![]);}catch(_0x561613){return BPromise[_0x63f9('0x20')](_0x561613);}return _0x38862d[_0x63f9('0x21')]();};}function saveUpdates(_0x105d65,_0x2e1102){return function(_0x54ddb0){if(_0x54ddb0){return _0x54ddb0['update'](_0x105d65)[_0x63f9('0x22')](function(_0x3a3205){return _0x3a3205;});}return null;};}function removeEntity(_0x5496b6,_0x4bd13a){return function(_0x2aae90){if(_0x2aae90){return _0x2aae90[_0x63f9('0x23')]()[_0x63f9('0x22')](function(){_0x5496b6[_0x63f9('0x17')](0xcc)[_0x63f9('0x18')]();});}};}function handleEntityNotFound(_0x772dda,_0x88ee4a){return function(_0x2446bd){if(!_0x2446bd){_0x772dda[_0x63f9('0x16')](0x194);}return _0x2446bd;};}function handleError(_0x47129f,_0x5c9df5){_0x5c9df5=_0x5c9df5||0x1f4;return function(_0x21ce91){logger[_0x63f9('0x24')](_0x21ce91[_0x63f9('0x25')]);if(_0x21ce91[_0x63f9('0x26')]){delete _0x21ce91[_0x63f9('0x26')];}_0x47129f['status'](_0x5c9df5)[_0x63f9('0x27')](_0x21ce91);};}exports[_0x63f9('0x28')]=function(_0x19b5c3,_0x302ed9){var _0x49015b={},_0x408e7d={},_0x2c9778={'count':0x0,'rows':[]};var _0x366ba1=_[_0x63f9('0x29')](db[_0x63f9('0x2a')][_0x63f9('0x2b')],function(_0x156195){return{'name':_0x156195['fieldName'],'type':_0x156195['type'][_0x63f9('0x2c')]};});_0x408e7d[_0x63f9('0x2d')]=_[_0x63f9('0x29')](_0x366ba1,_0x63f9('0x26'));_0x408e7d[_0x63f9('0x2e')]=_['keys'](_0x19b5c3[_0x63f9('0x2e')]);_0x408e7d[_0x63f9('0x2f')]=_[_0x63f9('0x30')](_0x408e7d[_0x63f9('0x2d')],_0x408e7d[_0x63f9('0x2e')]);_0x49015b[_0x63f9('0x31')]=_[_0x63f9('0x30')](_0x408e7d[_0x63f9('0x2d')],qs[_0x63f9('0x32')](_0x19b5c3[_0x63f9('0x2e')][_0x63f9('0x32')]));_0x49015b[_0x63f9('0x31')]=_0x49015b['attributes']['length']?_0x49015b[_0x63f9('0x31')]:_0x408e7d[_0x63f9('0x2d')];if(!_0x19b5c3[_0x63f9('0x2e')][_0x63f9('0x33')]('nolimit')){_0x49015b[_0x63f9('0x1d')]=qs[_0x63f9('0x1d')](_0x19b5c3[_0x63f9('0x2e')][_0x63f9('0x1d')]);_0x49015b[_0x63f9('0x1c')]=qs['offset'](_0x19b5c3[_0x63f9('0x2e')][_0x63f9('0x1c')]);}_0x49015b['order']=qs[_0x63f9('0x34')](_0x19b5c3[_0x63f9('0x2e')][_0x63f9('0x34')]);_0x49015b[_0x63f9('0x35')]=qs[_0x63f9('0x2f')](_[_0x63f9('0x36')](_0x19b5c3[_0x63f9('0x2e')],_0x408e7d[_0x63f9('0x2f')]),_0x366ba1);if(_0x19b5c3['query']['filter']){_0x49015b['where']=_['merge'](_0x49015b[_0x63f9('0x35')],{'$or':_[_0x63f9('0x29')](_0x366ba1,function(_0x48a51a){if(_0x48a51a[_0x63f9('0x37')]!=='VIRTUAL'){var _0x3cf29e={};_0x3cf29e[_0x48a51a[_0x63f9('0x26')]]={'$like':'%'+_0x19b5c3[_0x63f9('0x2e')][_0x63f9('0x38')]+'%'};return _0x3cf29e;}})});}_0x49015b=_[_0x63f9('0x39')]({},_0x49015b,_0x19b5c3['options']);var _0x447d22={'where':_0x49015b[_0x63f9('0x35')]};return db[_0x63f9('0x2a')]['count'](_0x447d22)['then'](function(_0x30399a){_0x2c9778[_0x63f9('0x1b')]=_0x30399a;if(_0x19b5c3['query'][_0x63f9('0x3a')]){_0x49015b['include']=[{'all':!![]}];}return db[_0x63f9('0x2a')][_0x63f9('0x3b')](_0x49015b);})[_0x63f9('0x22')](function(_0x338b58){_0x2c9778[_0x63f9('0x3c')]=_0x338b58;return _0x2c9778;})['then'](respondWithFilteredResult(_0x302ed9,_0x49015b))[_0x63f9('0x3d')](handleError(_0x302ed9,null));};exports['show']=function(_0x4171c6,_0x2157a6){var _0x30cfac={'raw':![],'where':{'id':_0x4171c6[_0x63f9('0x3e')]['id']}},_0x2f9107={};_0x2f9107[_0x63f9('0x2d')]=_[_0x63f9('0x3f')](db[_0x63f9('0x2a')][_0x63f9('0x2b')]);_0x2f9107['query']=_['keys'](_0x4171c6[_0x63f9('0x2e')]);_0x2f9107[_0x63f9('0x2f')]=_[_0x63f9('0x30')](_0x2f9107[_0x63f9('0x2d')],_0x2f9107[_0x63f9('0x2e')]);_0x30cfac['attributes']=_[_0x63f9('0x30')](_0x2f9107[_0x63f9('0x2d')],qs[_0x63f9('0x32')](_0x4171c6['query'][_0x63f9('0x32')]));_0x30cfac['attributes']=_0x30cfac[_0x63f9('0x31')][_0x63f9('0x40')]?_0x30cfac['attributes']:_0x2f9107[_0x63f9('0x2d')];if(_0x4171c6['query'][_0x63f9('0x3a')]){_0x30cfac[_0x63f9('0x41')]=[{'all':!![]}];}_0x30cfac=_[_0x63f9('0x39')]({},_0x30cfac,_0x4171c6['options']);return db['SalesforceConfiguration'][_0x63f9('0x42')](_0x30cfac)[_0x63f9('0x22')](handleEntityNotFound(_0x2157a6,null))['then'](respondWithResult(_0x2157a6,null))['catch'](handleError(_0x2157a6,null));};exports[_0x63f9('0x43')]=function(_0x8e7c07,_0x583196){return db[_0x63f9('0x2a')][_0x63f9('0x43')](_0x8e7c07[_0x63f9('0x44')],{})[_0x63f9('0x22')](respondWithResult(_0x583196,0xc9))[_0x63f9('0x3d')](handleError(_0x583196,null));};exports[_0x63f9('0x45')]=function(_0x5bb778,_0x2fbba3){if(_0x5bb778['body']['id']){delete _0x5bb778[_0x63f9('0x44')]['id'];}return db[_0x63f9('0x2a')][_0x63f9('0x42')]({'where':{'id':_0x5bb778[_0x63f9('0x3e')]['id']}})['then'](handleEntityNotFound(_0x2fbba3,null))[_0x63f9('0x22')](saveUpdates(_0x5bb778['body'],null))[_0x63f9('0x22')](respondWithResult(_0x2fbba3,null))[_0x63f9('0x3d')](handleError(_0x2fbba3,null));};exports[_0x63f9('0x23')]=function(_0xa7712d,_0x4532ff){return db['SalesforceConfiguration'][_0x63f9('0x42')]({'where':{'id':_0xa7712d[_0x63f9('0x3e')]['id']}})[_0x63f9('0x22')](handleEntityNotFound(_0x4532ff,null))[_0x63f9('0x22')](removeEntity(_0x4532ff,null))[_0x63f9('0x3d')](handleError(_0x4532ff,null));};exports[_0x63f9('0x46')]=function(_0x5dcea8,_0x5f1d14,_0x319dbe){var _0x2bdf53={};var _0x2a044d={};var _0x1f8ea8;var _0x22045d;return db[_0x63f9('0x2a')]['findOne']({'where':{'id':_0x5dcea8[_0x63f9('0x3e')]['id']}})[_0x63f9('0x22')](handleEntityNotFound(_0x5f1d14,null))[_0x63f9('0x22')](function(_0x1d3bb8){if(_0x1d3bb8){_0x1f8ea8=_0x1d3bb8;_0x2a044d[_0x63f9('0x2d')]=_['keys'](db[_0x63f9('0x47')][_0x63f9('0x2b')]);_0x2a044d['query']=_[_0x63f9('0x3f')](_0x5dcea8[_0x63f9('0x2e')]);_0x2a044d['filters']=_[_0x63f9('0x30')](_0x2a044d['model'],_0x2a044d[_0x63f9('0x2e')]);_0x2bdf53[_0x63f9('0x31')]=_[_0x63f9('0x30')](_0x2a044d[_0x63f9('0x2d')],qs[_0x63f9('0x32')](_0x5dcea8[_0x63f9('0x2e')][_0x63f9('0x32')]));_0x2bdf53[_0x63f9('0x31')]=_0x2bdf53[_0x63f9('0x31')]['length']?_0x2bdf53[_0x63f9('0x31')]:_0x2a044d['model'];_0x2bdf53['order']=qs['sort'](_0x5dcea8[_0x63f9('0x2e')]['sort']);_0x2bdf53['where']=qs['filters'](_[_0x63f9('0x36')](_0x5dcea8[_0x63f9('0x2e')],_0x2a044d[_0x63f9('0x2f')]));if(_0x5dcea8['query'][_0x63f9('0x38')]){_0x2bdf53[_0x63f9('0x35')]=_['merge'](_0x2bdf53['where'],{'$or':_[_0x63f9('0x29')](_0x2bdf53[_0x63f9('0x31')],function(_0x39e1ef){var _0x3c80a5={};_0x3c80a5[_0x39e1ef]={'$like':'%'+_0x5dcea8[_0x63f9('0x2e')][_0x63f9('0x38')]+'%'};return _0x3c80a5;})});}_0x2bdf53=_[_0x63f9('0x39')]({},_0x2bdf53,_0x5dcea8['options']);return _0x1f8ea8[_0x63f9('0x46')](_0x2bdf53);}})[_0x63f9('0x22')](function(_0x4b868d){if(_0x4b868d){_0x22045d=_0x4b868d['length'];if(!_0x5dcea8[_0x63f9('0x2e')][_0x63f9('0x33')](_0x63f9('0x48'))){_0x2bdf53[_0x63f9('0x1d')]=qs[_0x63f9('0x1d')](_0x5dcea8[_0x63f9('0x2e')]['limit']);_0x2bdf53[_0x63f9('0x1c')]=qs[_0x63f9('0x1c')](_0x5dcea8[_0x63f9('0x2e')][_0x63f9('0x1c')]);}return _0x1f8ea8[_0x63f9('0x46')](_0x2bdf53);}})[_0x63f9('0x22')](function(_0x15d445){if(_0x15d445){return _0x15d445?{'count':_0x22045d,'rows':_0x15d445}:null;}})['then'](respondWithResult(_0x5f1d14,null))[_0x63f9('0x3d')](handleError(_0x5f1d14,null));};exports[_0x63f9('0x49')]=function(_0x1fc41e,_0x54952c,_0x46e59b){var _0x182221={};var _0x127890={};var _0xaac517;var _0x4119e8;return db['SalesforceConfiguration'][_0x63f9('0x4a')]({'where':{'id':_0x1fc41e[_0x63f9('0x3e')]['id']}})['then'](handleEntityNotFound(_0x54952c,null))[_0x63f9('0x22')](function(_0x3fd029){if(_0x3fd029){_0xaac517=_0x3fd029;_0x127890[_0x63f9('0x2d')]=_[_0x63f9('0x3f')](db[_0x63f9('0x47')]['rawAttributes']);_0x127890[_0x63f9('0x2e')]=_['keys'](_0x1fc41e['query']);_0x127890[_0x63f9('0x2f')]=_[_0x63f9('0x30')](_0x127890[_0x63f9('0x2d')],_0x127890[_0x63f9('0x2e')]);_0x182221[_0x63f9('0x31')]=_[_0x63f9('0x30')](_0x127890[_0x63f9('0x2d')],qs[_0x63f9('0x32')](_0x1fc41e[_0x63f9('0x2e')][_0x63f9('0x32')]));_0x182221[_0x63f9('0x31')]=_0x182221[_0x63f9('0x31')][_0x63f9('0x40')]?_0x182221[_0x63f9('0x31')]:_0x127890['model'];_0x182221[_0x63f9('0x4b')]=qs[_0x63f9('0x34')](_0x1fc41e['query']['sort']);_0x182221[_0x63f9('0x35')]=qs[_0x63f9('0x2f')](_[_0x63f9('0x36')](_0x1fc41e[_0x63f9('0x2e')],_0x127890[_0x63f9('0x2f')]));if(_0x1fc41e[_0x63f9('0x2e')]['filter']){_0x182221[_0x63f9('0x35')]=_['merge'](_0x182221[_0x63f9('0x35')],{'$or':_['map'](_0x182221[_0x63f9('0x31')],function(_0x214df8){var _0xfe5f4a={};_0xfe5f4a[_0x214df8]={'$like':'%'+_0x1fc41e[_0x63f9('0x2e')][_0x63f9('0x38')]+'%'};return _0xfe5f4a;})});}_0x182221=_['merge']({},_0x182221,_0x1fc41e[_0x63f9('0x4c')]);return _0xaac517[_0x63f9('0x49')](_0x182221);}})[_0x63f9('0x22')](function(_0x2336a8){if(_0x2336a8){_0x4119e8=_0x2336a8['length'];if(!_0x1fc41e[_0x63f9('0x2e')]['hasOwnProperty'](_0x63f9('0x48'))){_0x182221[_0x63f9('0x1d')]=qs[_0x63f9('0x1d')](_0x1fc41e[_0x63f9('0x2e')][_0x63f9('0x1d')]);_0x182221[_0x63f9('0x1c')]=qs[_0x63f9('0x1c')](_0x1fc41e['query']['offset']);}return _0xaac517[_0x63f9('0x49')](_0x182221);}})[_0x63f9('0x22')](function(_0x30a5f9){if(_0x30a5f9){return _0x30a5f9?{'count':_0x4119e8,'rows':_0x30a5f9}:null;}})[_0x63f9('0x22')](respondWithResult(_0x54952c,null))[_0x63f9('0x3d')](handleError(_0x54952c,null));};exports[_0x63f9('0x4d')]=function(_0x719783,_0x165ca4,_0x16bda9){var _0x261439={};var _0x3394e1={};var _0x187ecf;var _0x4835b8;return db[_0x63f9('0x2a')][_0x63f9('0x4a')]({'where':{'id':_0x719783['params']['id']}})[_0x63f9('0x22')](handleEntityNotFound(_0x165ca4,null))[_0x63f9('0x22')](function(_0x5859d5){if(_0x5859d5){_0x187ecf=_0x5859d5;_0x3394e1[_0x63f9('0x2d')]=_[_0x63f9('0x3f')](db['SalesforceField'][_0x63f9('0x2b')]);_0x3394e1[_0x63f9('0x2e')]=_['keys'](_0x719783['query']);_0x3394e1[_0x63f9('0x2f')]=_[_0x63f9('0x30')](_0x3394e1[_0x63f9('0x2d')],_0x3394e1['query']);_0x261439[_0x63f9('0x31')]=_[_0x63f9('0x30')](_0x3394e1[_0x63f9('0x2d')],qs[_0x63f9('0x32')](_0x719783['query']['fields']));_0x261439[_0x63f9('0x31')]=_0x261439['attributes'][_0x63f9('0x40')]?_0x261439[_0x63f9('0x31')]:_0x3394e1[_0x63f9('0x2d')];_0x261439[_0x63f9('0x4b')]=qs[_0x63f9('0x34')](_0x719783['query']['sort']);_0x261439[_0x63f9('0x35')]=qs[_0x63f9('0x2f')](_['pick'](_0x719783[_0x63f9('0x2e')],_0x3394e1[_0x63f9('0x2f')]));if(_0x719783[_0x63f9('0x2e')][_0x63f9('0x38')]){_0x261439['where']=_['merge'](_0x261439[_0x63f9('0x35')],{'$or':_[_0x63f9('0x29')](_0x261439[_0x63f9('0x31')],function(_0x59a1c9){var _0x525b75={};_0x525b75[_0x59a1c9]={'$like':'%'+_0x719783[_0x63f9('0x2e')]['filter']+'%'};return _0x525b75;})});}_0x261439=_['merge']({},_0x261439,_0x719783[_0x63f9('0x4c')]);return _0x187ecf[_0x63f9('0x4d')](_0x261439);}})['then'](function(_0x217e26){if(_0x217e26){_0x4835b8=_0x217e26[_0x63f9('0x40')];if(!_0x719783[_0x63f9('0x2e')][_0x63f9('0x33')](_0x63f9('0x48'))){_0x261439[_0x63f9('0x1d')]=qs['limit'](_0x719783[_0x63f9('0x2e')][_0x63f9('0x1d')]);_0x261439[_0x63f9('0x1c')]=qs[_0x63f9('0x1c')](_0x719783[_0x63f9('0x2e')][_0x63f9('0x1c')]);}return _0x187ecf[_0x63f9('0x4d')](_0x261439);}})[_0x63f9('0x22')](function(_0x5e18ea){if(_0x5e18ea){return _0x5e18ea?{'count':_0x4835b8,'rows':_0x5e18ea}:null;}})[_0x63f9('0x22')](respondWithResult(_0x165ca4,null))[_0x63f9('0x3d')](handleError(_0x165ca4,null));};