Built motion from commit 753c950e.|2.5.42
[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 _0x2913=['key','model','query','filters','intersection','attributes','length','hasOwnProperty','order','sort','where','pick','merge','VIRTUAL','filter','options','includeAll','include','findAll','catch','params','keys','fields','find','create','body','destroy','getFields','findOne','getSubjects','SalesforceField','getDescriptions','nolimit','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','end','status','json','offset','undefined','count','limit','set','Content-Range','apply','reject','update','then','sendStatus','error','stack','name','send','index','map','SalesforceConfiguration','rawAttributes','fieldName','type'];(function(_0x16ab97,_0x27bf14){var _0x3a28aa=function(_0x3e949e){while(--_0x3e949e){_0x16ab97['push'](_0x16ab97['shift']());}};_0x3a28aa(++_0x27bf14);}(_0x2913,0x123));var _0x3291=function(_0x50224b,_0x57c61d){_0x50224b=_0x50224b-0x0;var _0x22b47b=_0x2913[_0x50224b];return _0x22b47b;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x3291('0x0'));var jsonpatch=require(_0x3291('0x1'));var rp=require('request-promise');var moment=require(_0x3291('0x2'));var BPromise=require(_0x3291('0x3'));var Mustache=require(_0x3291('0x4'));var util=require(_0x3291('0x5'));var path=require(_0x3291('0x6'));var sox=require(_0x3291('0x7'));var csv=require(_0x3291('0x8'));var ejs=require(_0x3291('0x9'));var fs=require('fs');var fs_extra=require(_0x3291('0xa'));var _=require(_0x3291('0xb'));var squel=require(_0x3291('0xc'));var crypto=require(_0x3291('0xd'));var jsforce=require(_0x3291('0xe'));var deskjs=require(_0x3291('0xf'));var toCsv=require(_0x3291('0x8'));var querystring=require(_0x3291('0x10'));var Papa=require(_0x3291('0x11'));var Redis=require(_0x3291('0x12'));var authService=require(_0x3291('0x13'));var qs=require(_0x3291('0x14'));var as=require(_0x3291('0x15'));var hardwareService=require(_0x3291('0x16'));var logger=require(_0x3291('0x17'))(_0x3291('0x18'));var utils=require(_0x3291('0x19'));var config=require(_0x3291('0x1a'));var licenseUtil=require(_0x3291('0x1b'));var db=require(_0x3291('0x1c'))['db'];function respondWithStatusCode(_0x404956,_0x44f538){_0x44f538=_0x44f538||0xcc;return function(_0x2c5a3e){if(_0x2c5a3e){return _0x404956['sendStatus'](_0x44f538);}return _0x404956['status'](_0x44f538)[_0x3291('0x1d')]();};}function respondWithResult(_0x2beb3a,_0x27e558){_0x27e558=_0x27e558||0xc8;return function(_0x370cd8){if(_0x370cd8){return _0x2beb3a[_0x3291('0x1e')](_0x27e558)[_0x3291('0x1f')](_0x370cd8);}};}function respondWithFilteredResult(_0x52b8ce,_0xa42735){return function(_0x22510d){if(_0x22510d){var _0x365e4b=typeof _0xa42735[_0x3291('0x20')]===_0x3291('0x21')&&typeof _0xa42735['limit']===_0x3291('0x21');var _0x3abba5=_0x22510d[_0x3291('0x22')];var _0x1d4022=_0x365e4b?0x0:_0xa42735[_0x3291('0x20')];var _0x39f492=_0x365e4b?_0x22510d[_0x3291('0x22')]:_0xa42735[_0x3291('0x20')]+_0xa42735[_0x3291('0x23')];var _0x2c1901;if(_0x39f492>=_0x3abba5){_0x39f492=_0x3abba5;_0x2c1901=0xc8;}else{_0x2c1901=0xce;}_0x52b8ce[_0x3291('0x1e')](_0x2c1901);return _0x52b8ce[_0x3291('0x24')](_0x3291('0x25'),_0x1d4022+'-'+_0x39f492+'/'+_0x3abba5)[_0x3291('0x1f')](_0x22510d);}return null;};}function patchUpdates(_0x38067c){return function(_0x183de3){try{jsonpatch[_0x3291('0x26')](_0x183de3,_0x38067c,!![]);}catch(_0x14a1ab){return BPromise[_0x3291('0x27')](_0x14a1ab);}return _0x183de3['save']();};}function saveUpdates(_0x57adbf,_0x18ce0b){return function(_0x30cfc8){if(_0x30cfc8){return _0x30cfc8[_0x3291('0x28')](_0x57adbf)[_0x3291('0x29')](function(_0x352045){return _0x352045;});}return null;};}function removeEntity(_0x39cb74,_0x4ac777){return function(_0x5e1206){if(_0x5e1206){return _0x5e1206['destroy']()[_0x3291('0x29')](function(){_0x39cb74['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x14e76b,_0x5d8a04){return function(_0x29dbf1){if(!_0x29dbf1){_0x14e76b[_0x3291('0x2a')](0x194);}return _0x29dbf1;};}function handleError(_0xfa8418,_0x30ab79){_0x30ab79=_0x30ab79||0x1f4;return function(_0x5af91f){logger[_0x3291('0x2b')](_0x5af91f[_0x3291('0x2c')]);if(_0x5af91f[_0x3291('0x2d')]){delete _0x5af91f[_0x3291('0x2d')];}_0xfa8418[_0x3291('0x1e')](_0x30ab79)[_0x3291('0x2e')](_0x5af91f);};}exports[_0x3291('0x2f')]=function(_0x599fd0,_0x456106){var _0x8c1561={},_0x5dfc33={},_0x2cd0df={'count':0x0,'rows':[]};var _0x4d3c67=_[_0x3291('0x30')](db[_0x3291('0x31')][_0x3291('0x32')],function(_0xa597bd){return{'name':_0xa597bd[_0x3291('0x33')],'type':_0xa597bd[_0x3291('0x34')][_0x3291('0x35')]};});_0x5dfc33[_0x3291('0x36')]=_[_0x3291('0x30')](_0x4d3c67,_0x3291('0x2d'));_0x5dfc33[_0x3291('0x37')]=_['keys'](_0x599fd0[_0x3291('0x37')]);_0x5dfc33[_0x3291('0x38')]=_[_0x3291('0x39')](_0x5dfc33[_0x3291('0x36')],_0x5dfc33[_0x3291('0x37')]);_0x8c1561[_0x3291('0x3a')]=_[_0x3291('0x39')](_0x5dfc33[_0x3291('0x36')],qs['fields'](_0x599fd0['query']['fields']));_0x8c1561[_0x3291('0x3a')]=_0x8c1561[_0x3291('0x3a')][_0x3291('0x3b')]?_0x8c1561['attributes']:_0x5dfc33[_0x3291('0x36')];if(!_0x599fd0[_0x3291('0x37')][_0x3291('0x3c')]('nolimit')){_0x8c1561['limit']=qs['limit'](_0x599fd0[_0x3291('0x37')][_0x3291('0x23')]);_0x8c1561[_0x3291('0x20')]=qs[_0x3291('0x20')](_0x599fd0[_0x3291('0x37')]['offset']);}_0x8c1561[_0x3291('0x3d')]=qs[_0x3291('0x3e')](_0x599fd0[_0x3291('0x37')][_0x3291('0x3e')]);_0x8c1561[_0x3291('0x3f')]=qs[_0x3291('0x38')](_[_0x3291('0x40')](_0x599fd0[_0x3291('0x37')],_0x5dfc33[_0x3291('0x38')]),_0x4d3c67);if(_0x599fd0[_0x3291('0x37')]['filter']){_0x8c1561[_0x3291('0x3f')]=_[_0x3291('0x41')](_0x8c1561[_0x3291('0x3f')],{'$or':_[_0x3291('0x30')](_0x4d3c67,function(_0x2711c2){if(_0x2711c2[_0x3291('0x34')]!==_0x3291('0x42')){var _0x5a7c6c={};_0x5a7c6c[_0x2711c2[_0x3291('0x2d')]]={'$like':'%'+_0x599fd0['query'][_0x3291('0x43')]+'%'};return _0x5a7c6c;}})});}_0x8c1561=_[_0x3291('0x41')]({},_0x8c1561,_0x599fd0[_0x3291('0x44')]);var _0x24cfc1={'where':_0x8c1561['where']};return db[_0x3291('0x31')][_0x3291('0x22')](_0x24cfc1)[_0x3291('0x29')](function(_0x187c1f){_0x2cd0df[_0x3291('0x22')]=_0x187c1f;if(_0x599fd0['query'][_0x3291('0x45')]){_0x8c1561[_0x3291('0x46')]=[{'all':!![]}];}return db[_0x3291('0x31')][_0x3291('0x47')](_0x8c1561);})['then'](function(_0x3478cf){_0x2cd0df['rows']=_0x3478cf;return _0x2cd0df;})['then'](respondWithFilteredResult(_0x456106,_0x8c1561))[_0x3291('0x48')](handleError(_0x456106,null));};exports['show']=function(_0x12a6ce,_0x538933){var _0xe52b93={'raw':![],'where':{'id':_0x12a6ce[_0x3291('0x49')]['id']}},_0x30c512={};_0x30c512['model']=_[_0x3291('0x4a')](db[_0x3291('0x31')][_0x3291('0x32')]);_0x30c512['query']=_['keys'](_0x12a6ce['query']);_0x30c512[_0x3291('0x38')]=_[_0x3291('0x39')](_0x30c512[_0x3291('0x36')],_0x30c512[_0x3291('0x37')]);_0xe52b93['attributes']=_[_0x3291('0x39')](_0x30c512[_0x3291('0x36')],qs[_0x3291('0x4b')](_0x12a6ce[_0x3291('0x37')][_0x3291('0x4b')]));_0xe52b93['attributes']=_0xe52b93[_0x3291('0x3a')][_0x3291('0x3b')]?_0xe52b93['attributes']:_0x30c512[_0x3291('0x36')];if(_0x12a6ce[_0x3291('0x37')][_0x3291('0x45')]){_0xe52b93[_0x3291('0x46')]=[{'all':!![]}];}_0xe52b93=_[_0x3291('0x41')]({},_0xe52b93,_0x12a6ce['options']);return db[_0x3291('0x31')][_0x3291('0x4c')](_0xe52b93)['then'](handleEntityNotFound(_0x538933,null))[_0x3291('0x29')](respondWithResult(_0x538933,null))['catch'](handleError(_0x538933,null));};exports[_0x3291('0x4d')]=function(_0x4d815e,_0x4fe389){return db[_0x3291('0x31')][_0x3291('0x4d')](_0x4d815e['body'],{})[_0x3291('0x29')](respondWithResult(_0x4fe389,0xc9))[_0x3291('0x48')](handleError(_0x4fe389,null));};exports[_0x3291('0x28')]=function(_0x24960f,_0x1fd035){if(_0x24960f['body']['id']){delete _0x24960f[_0x3291('0x4e')]['id'];}return db[_0x3291('0x31')][_0x3291('0x4c')]({'where':{'id':_0x24960f['params']['id']}})['then'](handleEntityNotFound(_0x1fd035,null))[_0x3291('0x29')](saveUpdates(_0x24960f[_0x3291('0x4e')],null))['then'](respondWithResult(_0x1fd035,null))['catch'](handleError(_0x1fd035,null));};exports[_0x3291('0x4f')]=function(_0x3c6eab,_0x4005c2){return db[_0x3291('0x31')][_0x3291('0x4c')]({'where':{'id':_0x3c6eab[_0x3291('0x49')]['id']}})['then'](handleEntityNotFound(_0x4005c2,null))['then'](removeEntity(_0x4005c2,null))[_0x3291('0x48')](handleError(_0x4005c2,null));};exports[_0x3291('0x50')]=function(_0x1462dc,_0x1d3ed5,_0x36d41d){var _0x346128={};var _0x238448={};var _0x9a37c3;var _0x11356d;return db[_0x3291('0x31')][_0x3291('0x51')]({'where':{'id':_0x1462dc[_0x3291('0x49')]['id']}})[_0x3291('0x29')](handleEntityNotFound(_0x1d3ed5,null))[_0x3291('0x29')](function(_0x377e6d){if(_0x377e6d){_0x9a37c3=_0x377e6d;_0x238448[_0x3291('0x36')]=_['keys'](db['SalesforceField'][_0x3291('0x32')]);_0x238448['query']=_[_0x3291('0x4a')](_0x1462dc[_0x3291('0x37')]);_0x238448[_0x3291('0x38')]=_[_0x3291('0x39')](_0x238448[_0x3291('0x36')],_0x238448['query']);_0x346128[_0x3291('0x3a')]=_[_0x3291('0x39')](_0x238448['model'],qs[_0x3291('0x4b')](_0x1462dc[_0x3291('0x37')][_0x3291('0x4b')]));_0x346128[_0x3291('0x3a')]=_0x346128[_0x3291('0x3a')][_0x3291('0x3b')]?_0x346128['attributes']:_0x238448[_0x3291('0x36')];_0x346128[_0x3291('0x3d')]=qs[_0x3291('0x3e')](_0x1462dc['query'][_0x3291('0x3e')]);_0x346128['where']=qs[_0x3291('0x38')](_[_0x3291('0x40')](_0x1462dc[_0x3291('0x37')],_0x238448[_0x3291('0x38')]));if(_0x1462dc[_0x3291('0x37')][_0x3291('0x43')]){_0x346128[_0x3291('0x3f')]=_[_0x3291('0x41')](_0x346128[_0x3291('0x3f')],{'$or':_['map'](_0x346128[_0x3291('0x3a')],function(_0x197873){var _0xec6c2a={};_0xec6c2a[_0x197873]={'$like':'%'+_0x1462dc[_0x3291('0x37')][_0x3291('0x43')]+'%'};return _0xec6c2a;})});}_0x346128=_['merge']({},_0x346128,_0x1462dc[_0x3291('0x44')]);return _0x9a37c3[_0x3291('0x50')](_0x346128);}})['then'](function(_0x56fc7b){if(_0x56fc7b){_0x11356d=_0x56fc7b['length'];if(!_0x1462dc['query'][_0x3291('0x3c')]('nolimit')){_0x346128[_0x3291('0x23')]=qs[_0x3291('0x23')](_0x1462dc[_0x3291('0x37')][_0x3291('0x23')]);_0x346128[_0x3291('0x20')]=qs[_0x3291('0x20')](_0x1462dc[_0x3291('0x37')][_0x3291('0x20')]);}return _0x9a37c3['getFields'](_0x346128);}})[_0x3291('0x29')](function(_0x49b6eb){if(_0x49b6eb){return _0x49b6eb?{'count':_0x11356d,'rows':_0x49b6eb}:null;}})['then'](respondWithResult(_0x1d3ed5,null))['catch'](handleError(_0x1d3ed5,null));};exports[_0x3291('0x52')]=function(_0x42b7a3,_0x43aa69,_0x504d01){var _0x483a52={};var _0x544259={};var _0x5e0a07;var _0x2070a1;return db[_0x3291('0x31')]['findOne']({'where':{'id':_0x42b7a3[_0x3291('0x49')]['id']}})[_0x3291('0x29')](handleEntityNotFound(_0x43aa69,null))[_0x3291('0x29')](function(_0x367680){if(_0x367680){_0x5e0a07=_0x367680;_0x544259[_0x3291('0x36')]=_[_0x3291('0x4a')](db[_0x3291('0x53')][_0x3291('0x32')]);_0x544259['query']=_[_0x3291('0x4a')](_0x42b7a3[_0x3291('0x37')]);_0x544259['filters']=_[_0x3291('0x39')](_0x544259[_0x3291('0x36')],_0x544259[_0x3291('0x37')]);_0x483a52[_0x3291('0x3a')]=_['intersection'](_0x544259[_0x3291('0x36')],qs[_0x3291('0x4b')](_0x42b7a3[_0x3291('0x37')][_0x3291('0x4b')]));_0x483a52['attributes']=_0x483a52['attributes'][_0x3291('0x3b')]?_0x483a52['attributes']:_0x544259[_0x3291('0x36')];_0x483a52[_0x3291('0x3d')]=qs[_0x3291('0x3e')](_0x42b7a3[_0x3291('0x37')][_0x3291('0x3e')]);_0x483a52['where']=qs[_0x3291('0x38')](_[_0x3291('0x40')](_0x42b7a3[_0x3291('0x37')],_0x544259[_0x3291('0x38')]));if(_0x42b7a3['query'][_0x3291('0x43')]){_0x483a52[_0x3291('0x3f')]=_[_0x3291('0x41')](_0x483a52[_0x3291('0x3f')],{'$or':_[_0x3291('0x30')](_0x483a52[_0x3291('0x3a')],function(_0x1cb2b2){var _0x54b75a={};_0x54b75a[_0x1cb2b2]={'$like':'%'+_0x42b7a3['query'][_0x3291('0x43')]+'%'};return _0x54b75a;})});}_0x483a52=_[_0x3291('0x41')]({},_0x483a52,_0x42b7a3['options']);return _0x5e0a07[_0x3291('0x52')](_0x483a52);}})[_0x3291('0x29')](function(_0x337510){if(_0x337510){_0x2070a1=_0x337510[_0x3291('0x3b')];if(!_0x42b7a3[_0x3291('0x37')][_0x3291('0x3c')]('nolimit')){_0x483a52['limit']=qs[_0x3291('0x23')](_0x42b7a3['query'][_0x3291('0x23')]);_0x483a52[_0x3291('0x20')]=qs[_0x3291('0x20')](_0x42b7a3['query'][_0x3291('0x20')]);}return _0x5e0a07[_0x3291('0x52')](_0x483a52);}})[_0x3291('0x29')](function(_0x2994c4){if(_0x2994c4){return _0x2994c4?{'count':_0x2070a1,'rows':_0x2994c4}:null;}})[_0x3291('0x29')](respondWithResult(_0x43aa69,null))['catch'](handleError(_0x43aa69,null));};exports[_0x3291('0x54')]=function(_0x4ccdbb,_0x52f317,_0x1f4c6b){var _0x16ed62={};var _0x2102ac={};var _0x22ba32;var _0x373e81;return db[_0x3291('0x31')]['findOne']({'where':{'id':_0x4ccdbb[_0x3291('0x49')]['id']}})['then'](handleEntityNotFound(_0x52f317,null))[_0x3291('0x29')](function(_0x1a0a37){if(_0x1a0a37){_0x22ba32=_0x1a0a37;_0x2102ac['model']=_[_0x3291('0x4a')](db['SalesforceField'][_0x3291('0x32')]);_0x2102ac[_0x3291('0x37')]=_[_0x3291('0x4a')](_0x4ccdbb[_0x3291('0x37')]);_0x2102ac['filters']=_['intersection'](_0x2102ac[_0x3291('0x36')],_0x2102ac[_0x3291('0x37')]);_0x16ed62['attributes']=_[_0x3291('0x39')](_0x2102ac['model'],qs[_0x3291('0x4b')](_0x4ccdbb[_0x3291('0x37')][_0x3291('0x4b')]));_0x16ed62[_0x3291('0x3a')]=_0x16ed62[_0x3291('0x3a')]['length']?_0x16ed62[_0x3291('0x3a')]:_0x2102ac[_0x3291('0x36')];_0x16ed62[_0x3291('0x3d')]=qs[_0x3291('0x3e')](_0x4ccdbb[_0x3291('0x37')][_0x3291('0x3e')]);_0x16ed62[_0x3291('0x3f')]=qs[_0x3291('0x38')](_['pick'](_0x4ccdbb[_0x3291('0x37')],_0x2102ac[_0x3291('0x38')]));if(_0x4ccdbb[_0x3291('0x37')]['filter']){_0x16ed62[_0x3291('0x3f')]=_['merge'](_0x16ed62[_0x3291('0x3f')],{'$or':_[_0x3291('0x30')](_0x16ed62[_0x3291('0x3a')],function(_0x1c5342){var _0x2916bf={};_0x2916bf[_0x1c5342]={'$like':'%'+_0x4ccdbb[_0x3291('0x37')][_0x3291('0x43')]+'%'};return _0x2916bf;})});}_0x16ed62=_[_0x3291('0x41')]({},_0x16ed62,_0x4ccdbb[_0x3291('0x44')]);return _0x22ba32[_0x3291('0x54')](_0x16ed62);}})[_0x3291('0x29')](function(_0x27d710){if(_0x27d710){_0x373e81=_0x27d710['length'];if(!_0x4ccdbb[_0x3291('0x37')][_0x3291('0x3c')](_0x3291('0x55'))){_0x16ed62[_0x3291('0x23')]=qs[_0x3291('0x23')](_0x4ccdbb[_0x3291('0x37')][_0x3291('0x23')]);_0x16ed62[_0x3291('0x20')]=qs[_0x3291('0x20')](_0x4ccdbb[_0x3291('0x37')][_0x3291('0x20')]);}return _0x22ba32[_0x3291('0x54')](_0x16ed62);}})[_0x3291('0x29')](function(_0x48dcc1){if(_0x48dcc1){return _0x48dcc1?{'count':_0x373e81,'rows':_0x48dcc1}:null;}})['then'](respondWithResult(_0x52f317,null))[_0x3291('0x48')](handleError(_0x52f317,null));};