f6fd30eea1ce081a3100bd8baab76820b4f3cbae
[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 _0xe4ef=['util','path','sox','to-csv','ejs','lodash','crypto','desk.js','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','set','apply','reject','then','error','stack','name','send','map','SalesforceConfiguration','rawAttributes','fieldName','type','key','query','keys','filters','intersection','model','fields','attributes','length','nolimit','order','sort','pick','filter','where','merge','VIRTUAL','options','count','includeAll','include','findAll','rows','catch','params','find','create','body','update','getFields','SalesforceField','hasOwnProperty','getSubjects','findOne','getDescriptions','eml-format','zip-dir','request-promise','moment','bluebird','mustache'];(function(_0x492f02,_0x113699){var _0x209ec8=function(_0xf561e7){while(--_0xf561e7){_0x492f02['push'](_0x492f02['shift']());}};_0x209ec8(++_0x113699);}(_0xe4ef,0x17b));var _0xfe4e=function(_0x12a61f,_0x41c2d3){_0x12a61f=_0x12a61f-0x0;var _0x466cda=_0xe4ef[_0x12a61f];return _0x466cda;};'use strict';var emlformat=require(_0xfe4e('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xfe4e('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0xfe4e('0x2'));var moment=require(_0xfe4e('0x3'));var BPromise=require(_0xfe4e('0x4'));var Mustache=require(_0xfe4e('0x5'));var util=require(_0xfe4e('0x6'));var path=require(_0xfe4e('0x7'));var sox=require(_0xfe4e('0x8'));var csv=require(_0xfe4e('0x9'));var ejs=require(_0xfe4e('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xfe4e('0xb'));var squel=require('squel');var crypto=require(_0xfe4e('0xc'));var jsforce=require('jsforce');var deskjs=require(_0xfe4e('0xd'));var toCsv=require(_0xfe4e('0x9'));var querystring=require('querystring');var Papa=require(_0xfe4e('0xe'));var Redis=require(_0xfe4e('0xf'));var authService=require('../../components/auth/service');var qs=require(_0xfe4e('0x10'));var as=require(_0xfe4e('0x11'));var hardwareService=require(_0xfe4e('0x12'));var logger=require(_0xfe4e('0x13'))('api');var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0xfe4e('0x14'));var db=require(_0xfe4e('0x15'))['db'];function respondWithStatusCode(_0x5cb3d8,_0x2e5d61){_0x2e5d61=_0x2e5d61||0xcc;return function(_0x31d9d6){if(_0x31d9d6){return _0x5cb3d8[_0xfe4e('0x16')](_0x2e5d61);}return _0x5cb3d8[_0xfe4e('0x17')](_0x2e5d61)[_0xfe4e('0x18')]();};}function respondWithResult(_0x50b19d,_0x86c1b6){_0x86c1b6=_0x86c1b6||0xc8;return function(_0x107dbc){if(_0x107dbc){return _0x50b19d[_0xfe4e('0x17')](_0x86c1b6)[_0xfe4e('0x19')](_0x107dbc);}};}function respondWithFilteredResult(_0x5308c5,_0x422c88){return function(_0x3c1cad){if(_0x3c1cad){var _0x378d5e=typeof _0x422c88[_0xfe4e('0x1a')]===_0xfe4e('0x1b')&&typeof _0x422c88[_0xfe4e('0x1c')]==='undefined';var _0x488058=_0x3c1cad['count'];var _0x1fc51b=_0x378d5e?0x0:_0x422c88[_0xfe4e('0x1a')];var _0x1a3ac3=_0x378d5e?_0x3c1cad['count']:_0x422c88[_0xfe4e('0x1a')]+_0x422c88[_0xfe4e('0x1c')];var _0x565df4;if(_0x1a3ac3>=_0x488058){_0x1a3ac3=_0x488058;_0x565df4=0xc8;}else{_0x565df4=0xce;}_0x5308c5[_0xfe4e('0x17')](_0x565df4);return _0x5308c5[_0xfe4e('0x1d')]('Content-Range',_0x1fc51b+'-'+_0x1a3ac3+'/'+_0x488058)[_0xfe4e('0x19')](_0x3c1cad);}return null;};}function patchUpdates(_0xa4b52){return function(_0x47ef51){try{jsonpatch[_0xfe4e('0x1e')](_0x47ef51,_0xa4b52,!![]);}catch(_0x123d53){return BPromise[_0xfe4e('0x1f')](_0x123d53);}return _0x47ef51['save']();};}function saveUpdates(_0x35d3f8,_0x554362){return function(_0x4b2191){if(_0x4b2191){return _0x4b2191['update'](_0x35d3f8)[_0xfe4e('0x20')](function(_0x1d92d0){return _0x1d92d0;});}return null;};}function removeEntity(_0xd2a820,_0x13330b){return function(_0x234ea6){if(_0x234ea6){return _0x234ea6['destroy']()['then'](function(){_0xd2a820['status'](0xcc)[_0xfe4e('0x18')]();});}};}function handleEntityNotFound(_0x5afc1a,_0x4fec2d){return function(_0x3e1fe3){if(!_0x3e1fe3){_0x5afc1a[_0xfe4e('0x16')](0x194);}return _0x3e1fe3;};}function handleError(_0x2d11d1,_0x3652d0){_0x3652d0=_0x3652d0||0x1f4;return function(_0x1bf68f){logger[_0xfe4e('0x21')](_0x1bf68f[_0xfe4e('0x22')]);if(_0x1bf68f[_0xfe4e('0x23')]){delete _0x1bf68f[_0xfe4e('0x23')];}_0x2d11d1[_0xfe4e('0x17')](_0x3652d0)[_0xfe4e('0x24')](_0x1bf68f);};}exports['index']=function(_0x43779e,_0x5489a5){var _0x179818={},_0x335ee1={},_0x365962={'count':0x0,'rows':[]};var _0x314d6e=_[_0xfe4e('0x25')](db[_0xfe4e('0x26')][_0xfe4e('0x27')],function(_0x104ac8){return{'name':_0x104ac8[_0xfe4e('0x28')],'type':_0x104ac8[_0xfe4e('0x29')][_0xfe4e('0x2a')]};});_0x335ee1['model']=_[_0xfe4e('0x25')](_0x314d6e,_0xfe4e('0x23'));_0x335ee1[_0xfe4e('0x2b')]=_[_0xfe4e('0x2c')](_0x43779e[_0xfe4e('0x2b')]);_0x335ee1[_0xfe4e('0x2d')]=_[_0xfe4e('0x2e')](_0x335ee1['model'],_0x335ee1[_0xfe4e('0x2b')]);_0x179818['attributes']=_[_0xfe4e('0x2e')](_0x335ee1[_0xfe4e('0x2f')],qs[_0xfe4e('0x30')](_0x43779e[_0xfe4e('0x2b')][_0xfe4e('0x30')]));_0x179818[_0xfe4e('0x31')]=_0x179818[_0xfe4e('0x31')][_0xfe4e('0x32')]?_0x179818[_0xfe4e('0x31')]:_0x335ee1[_0xfe4e('0x2f')];if(!_0x43779e[_0xfe4e('0x2b')]['hasOwnProperty'](_0xfe4e('0x33'))){_0x179818[_0xfe4e('0x1c')]=qs[_0xfe4e('0x1c')](_0x43779e['query'][_0xfe4e('0x1c')]);_0x179818[_0xfe4e('0x1a')]=qs[_0xfe4e('0x1a')](_0x43779e[_0xfe4e('0x2b')][_0xfe4e('0x1a')]);}_0x179818[_0xfe4e('0x34')]=qs[_0xfe4e('0x35')](_0x43779e['query'][_0xfe4e('0x35')]);_0x179818['where']=qs[_0xfe4e('0x2d')](_[_0xfe4e('0x36')](_0x43779e[_0xfe4e('0x2b')],_0x335ee1[_0xfe4e('0x2d')]),_0x314d6e);if(_0x43779e[_0xfe4e('0x2b')][_0xfe4e('0x37')]){_0x179818[_0xfe4e('0x38')]=_[_0xfe4e('0x39')](_0x179818[_0xfe4e('0x38')],{'$or':_[_0xfe4e('0x25')](_0x314d6e,function(_0x2b5c5c){if(_0x2b5c5c[_0xfe4e('0x29')]!==_0xfe4e('0x3a')){var _0x52e3d4={};_0x52e3d4[_0x2b5c5c['name']]={'$like':'%'+_0x43779e[_0xfe4e('0x2b')][_0xfe4e('0x37')]+'%'};return _0x52e3d4;}})});}_0x179818=_[_0xfe4e('0x39')]({},_0x179818,_0x43779e[_0xfe4e('0x3b')]);var _0x4424e1={'where':_0x179818['where']};return db[_0xfe4e('0x26')][_0xfe4e('0x3c')](_0x4424e1)['then'](function(_0x827fb7){_0x365962[_0xfe4e('0x3c')]=_0x827fb7;if(_0x43779e[_0xfe4e('0x2b')][_0xfe4e('0x3d')]){_0x179818[_0xfe4e('0x3e')]=[{'all':!![]}];}return db['SalesforceConfiguration'][_0xfe4e('0x3f')](_0x179818);})['then'](function(_0x4c5436){_0x365962[_0xfe4e('0x40')]=_0x4c5436;return _0x365962;})[_0xfe4e('0x20')](respondWithFilteredResult(_0x5489a5,_0x179818))[_0xfe4e('0x41')](handleError(_0x5489a5,null));};exports['show']=function(_0x1a804d,_0x56856a){var _0x505bca={'raw':![],'where':{'id':_0x1a804d[_0xfe4e('0x42')]['id']}},_0x1dd97a={};_0x1dd97a[_0xfe4e('0x2f')]=_[_0xfe4e('0x2c')](db[_0xfe4e('0x26')][_0xfe4e('0x27')]);_0x1dd97a[_0xfe4e('0x2b')]=_[_0xfe4e('0x2c')](_0x1a804d[_0xfe4e('0x2b')]);_0x1dd97a['filters']=_[_0xfe4e('0x2e')](_0x1dd97a[_0xfe4e('0x2f')],_0x1dd97a[_0xfe4e('0x2b')]);_0x505bca[_0xfe4e('0x31')]=_[_0xfe4e('0x2e')](_0x1dd97a['model'],qs[_0xfe4e('0x30')](_0x1a804d['query'][_0xfe4e('0x30')]));_0x505bca['attributes']=_0x505bca[_0xfe4e('0x31')][_0xfe4e('0x32')]?_0x505bca['attributes']:_0x1dd97a[_0xfe4e('0x2f')];if(_0x1a804d[_0xfe4e('0x2b')][_0xfe4e('0x3d')]){_0x505bca[_0xfe4e('0x3e')]=[{'all':!![]}];}_0x505bca=_[_0xfe4e('0x39')]({},_0x505bca,_0x1a804d[_0xfe4e('0x3b')]);return db[_0xfe4e('0x26')][_0xfe4e('0x43')](_0x505bca)[_0xfe4e('0x20')](handleEntityNotFound(_0x56856a,null))[_0xfe4e('0x20')](respondWithResult(_0x56856a,null))['catch'](handleError(_0x56856a,null));};exports[_0xfe4e('0x44')]=function(_0xf5e333,_0x21e90d){return db[_0xfe4e('0x26')][_0xfe4e('0x44')](_0xf5e333[_0xfe4e('0x45')],{})[_0xfe4e('0x20')](respondWithResult(_0x21e90d,0xc9))['catch'](handleError(_0x21e90d,null));};exports[_0xfe4e('0x46')]=function(_0x263f70,_0x420323){if(_0x263f70['body']['id']){delete _0x263f70[_0xfe4e('0x45')]['id'];}return db[_0xfe4e('0x26')][_0xfe4e('0x43')]({'where':{'id':_0x263f70[_0xfe4e('0x42')]['id']}})[_0xfe4e('0x20')](handleEntityNotFound(_0x420323,null))[_0xfe4e('0x20')](saveUpdates(_0x263f70[_0xfe4e('0x45')],null))['then'](respondWithResult(_0x420323,null))[_0xfe4e('0x41')](handleError(_0x420323,null));};exports['destroy']=function(_0x453cbc,_0x41c056){return db[_0xfe4e('0x26')][_0xfe4e('0x43')]({'where':{'id':_0x453cbc[_0xfe4e('0x42')]['id']}})[_0xfe4e('0x20')](handleEntityNotFound(_0x41c056,null))['then'](removeEntity(_0x41c056,null))['catch'](handleError(_0x41c056,null));};exports[_0xfe4e('0x47')]=function(_0x7c0713,_0x33ab52,_0x316641){var _0x142c62={};var _0x2560bb={};var _0x752ece;var _0x2b896a;return db[_0xfe4e('0x26')]['findOne']({'where':{'id':_0x7c0713[_0xfe4e('0x42')]['id']}})[_0xfe4e('0x20')](handleEntityNotFound(_0x33ab52,null))['then'](function(_0x161d25){if(_0x161d25){_0x752ece=_0x161d25;_0x2560bb[_0xfe4e('0x2f')]=_[_0xfe4e('0x2c')](db[_0xfe4e('0x48')]['rawAttributes']);_0x2560bb['query']=_[_0xfe4e('0x2c')](_0x7c0713[_0xfe4e('0x2b')]);_0x2560bb[_0xfe4e('0x2d')]=_[_0xfe4e('0x2e')](_0x2560bb[_0xfe4e('0x2f')],_0x2560bb[_0xfe4e('0x2b')]);_0x142c62[_0xfe4e('0x31')]=_[_0xfe4e('0x2e')](_0x2560bb[_0xfe4e('0x2f')],qs[_0xfe4e('0x30')](_0x7c0713[_0xfe4e('0x2b')][_0xfe4e('0x30')]));_0x142c62[_0xfe4e('0x31')]=_0x142c62[_0xfe4e('0x31')]['length']?_0x142c62['attributes']:_0x2560bb[_0xfe4e('0x2f')];_0x142c62[_0xfe4e('0x34')]=qs[_0xfe4e('0x35')](_0x7c0713[_0xfe4e('0x2b')][_0xfe4e('0x35')]);_0x142c62[_0xfe4e('0x38')]=qs['filters'](_[_0xfe4e('0x36')](_0x7c0713[_0xfe4e('0x2b')],_0x2560bb[_0xfe4e('0x2d')]));if(_0x7c0713[_0xfe4e('0x2b')][_0xfe4e('0x37')]){_0x142c62['where']=_[_0xfe4e('0x39')](_0x142c62[_0xfe4e('0x38')],{'$or':_[_0xfe4e('0x25')](_0x142c62[_0xfe4e('0x31')],function(_0x53fecc){var _0x16c2d8={};_0x16c2d8[_0x53fecc]={'$like':'%'+_0x7c0713[_0xfe4e('0x2b')][_0xfe4e('0x37')]+'%'};return _0x16c2d8;})});}_0x142c62=_[_0xfe4e('0x39')]({},_0x142c62,_0x7c0713[_0xfe4e('0x3b')]);return _0x752ece['getFields'](_0x142c62);}})[_0xfe4e('0x20')](function(_0x5d3225){if(_0x5d3225){_0x2b896a=_0x5d3225[_0xfe4e('0x32')];if(!_0x7c0713['query'][_0xfe4e('0x49')](_0xfe4e('0x33'))){_0x142c62[_0xfe4e('0x1c')]=qs['limit'](_0x7c0713[_0xfe4e('0x2b')][_0xfe4e('0x1c')]);_0x142c62[_0xfe4e('0x1a')]=qs[_0xfe4e('0x1a')](_0x7c0713[_0xfe4e('0x2b')]['offset']);}return _0x752ece[_0xfe4e('0x47')](_0x142c62);}})[_0xfe4e('0x20')](function(_0x2a81f0){if(_0x2a81f0){return _0x2a81f0?{'count':_0x2b896a,'rows':_0x2a81f0}:null;}})[_0xfe4e('0x20')](respondWithResult(_0x33ab52,null))['catch'](handleError(_0x33ab52,null));};exports[_0xfe4e('0x4a')]=function(_0x4a4769,_0x37720d,_0x3ed37b){var _0x161585={};var _0x2099ba={};var _0x1238ec;var _0x1b8c62;return db[_0xfe4e('0x26')][_0xfe4e('0x4b')]({'where':{'id':_0x4a4769[_0xfe4e('0x42')]['id']}})['then'](handleEntityNotFound(_0x37720d,null))['then'](function(_0x5c3b87){if(_0x5c3b87){_0x1238ec=_0x5c3b87;_0x2099ba['model']=_[_0xfe4e('0x2c')](db[_0xfe4e('0x48')]['rawAttributes']);_0x2099ba[_0xfe4e('0x2b')]=_[_0xfe4e('0x2c')](_0x4a4769[_0xfe4e('0x2b')]);_0x2099ba[_0xfe4e('0x2d')]=_[_0xfe4e('0x2e')](_0x2099ba['model'],_0x2099ba[_0xfe4e('0x2b')]);_0x161585[_0xfe4e('0x31')]=_[_0xfe4e('0x2e')](_0x2099ba['model'],qs[_0xfe4e('0x30')](_0x4a4769[_0xfe4e('0x2b')][_0xfe4e('0x30')]));_0x161585[_0xfe4e('0x31')]=_0x161585['attributes'][_0xfe4e('0x32')]?_0x161585[_0xfe4e('0x31')]:_0x2099ba['model'];_0x161585[_0xfe4e('0x34')]=qs[_0xfe4e('0x35')](_0x4a4769['query']['sort']);_0x161585['where']=qs[_0xfe4e('0x2d')](_[_0xfe4e('0x36')](_0x4a4769[_0xfe4e('0x2b')],_0x2099ba[_0xfe4e('0x2d')]));if(_0x4a4769[_0xfe4e('0x2b')][_0xfe4e('0x37')]){_0x161585[_0xfe4e('0x38')]=_[_0xfe4e('0x39')](_0x161585[_0xfe4e('0x38')],{'$or':_[_0xfe4e('0x25')](_0x161585['attributes'],function(_0x2cdbdd){var _0x1f0d56={};_0x1f0d56[_0x2cdbdd]={'$like':'%'+_0x4a4769[_0xfe4e('0x2b')]['filter']+'%'};return _0x1f0d56;})});}_0x161585=_[_0xfe4e('0x39')]({},_0x161585,_0x4a4769[_0xfe4e('0x3b')]);return _0x1238ec[_0xfe4e('0x4a')](_0x161585);}})[_0xfe4e('0x20')](function(_0x4535e){if(_0x4535e){_0x1b8c62=_0x4535e[_0xfe4e('0x32')];if(!_0x4a4769[_0xfe4e('0x2b')][_0xfe4e('0x49')](_0xfe4e('0x33'))){_0x161585['limit']=qs['limit'](_0x4a4769[_0xfe4e('0x2b')][_0xfe4e('0x1c')]);_0x161585[_0xfe4e('0x1a')]=qs['offset'](_0x4a4769[_0xfe4e('0x2b')][_0xfe4e('0x1a')]);}return _0x1238ec[_0xfe4e('0x4a')](_0x161585);}})[_0xfe4e('0x20')](function(_0x14568d){if(_0x14568d){return _0x14568d?{'count':_0x1b8c62,'rows':_0x14568d}:null;}})[_0xfe4e('0x20')](respondWithResult(_0x37720d,null))[_0xfe4e('0x41')](handleError(_0x37720d,null));};exports[_0xfe4e('0x4c')]=function(_0x320e86,_0xabd580,_0xa977cc){var _0x5876e2={};var _0x9bfad0={};var _0x55f7f8;var _0x5d139c;return db[_0xfe4e('0x26')]['findOne']({'where':{'id':_0x320e86[_0xfe4e('0x42')]['id']}})[_0xfe4e('0x20')](handleEntityNotFound(_0xabd580,null))[_0xfe4e('0x20')](function(_0x73716a){if(_0x73716a){_0x55f7f8=_0x73716a;_0x9bfad0['model']=_[_0xfe4e('0x2c')](db['SalesforceField']['rawAttributes']);_0x9bfad0[_0xfe4e('0x2b')]=_[_0xfe4e('0x2c')](_0x320e86[_0xfe4e('0x2b')]);_0x9bfad0[_0xfe4e('0x2d')]=_[_0xfe4e('0x2e')](_0x9bfad0[_0xfe4e('0x2f')],_0x9bfad0[_0xfe4e('0x2b')]);_0x5876e2[_0xfe4e('0x31')]=_[_0xfe4e('0x2e')](_0x9bfad0[_0xfe4e('0x2f')],qs[_0xfe4e('0x30')](_0x320e86[_0xfe4e('0x2b')]['fields']));_0x5876e2[_0xfe4e('0x31')]=_0x5876e2[_0xfe4e('0x31')]['length']?_0x5876e2['attributes']:_0x9bfad0['model'];_0x5876e2[_0xfe4e('0x34')]=qs[_0xfe4e('0x35')](_0x320e86[_0xfe4e('0x2b')][_0xfe4e('0x35')]);_0x5876e2[_0xfe4e('0x38')]=qs[_0xfe4e('0x2d')](_[_0xfe4e('0x36')](_0x320e86[_0xfe4e('0x2b')],_0x9bfad0[_0xfe4e('0x2d')]));if(_0x320e86['query'][_0xfe4e('0x37')]){_0x5876e2[_0xfe4e('0x38')]=_['merge'](_0x5876e2[_0xfe4e('0x38')],{'$or':_[_0xfe4e('0x25')](_0x5876e2[_0xfe4e('0x31')],function(_0x3f94ef){var _0x559494={};_0x559494[_0x3f94ef]={'$like':'%'+_0x320e86[_0xfe4e('0x2b')][_0xfe4e('0x37')]+'%'};return _0x559494;})});}_0x5876e2=_[_0xfe4e('0x39')]({},_0x5876e2,_0x320e86[_0xfe4e('0x3b')]);return _0x55f7f8['getDescriptions'](_0x5876e2);}})[_0xfe4e('0x20')](function(_0x1230b3){if(_0x1230b3){_0x5d139c=_0x1230b3[_0xfe4e('0x32')];if(!_0x320e86[_0xfe4e('0x2b')][_0xfe4e('0x49')]('nolimit')){_0x5876e2['limit']=qs[_0xfe4e('0x1c')](_0x320e86[_0xfe4e('0x2b')]['limit']);_0x5876e2['offset']=qs[_0xfe4e('0x1a')](_0x320e86['query'][_0xfe4e('0x1a')]);}return _0x55f7f8['getDescriptions'](_0x5876e2);}})[_0xfe4e('0x20')](function(_0x111d8a){if(_0x111d8a){return _0x111d8a?{'count':_0x5d139c,'rows':_0x111d8a}:null;}})[_0xfe4e('0x20')](respondWithResult(_0xabd580,null))[_0xfe4e('0x41')](handleError(_0xabd580,null));};