Built motion from commit ba71417a.|2.6.28
[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 _0x1d57=['json','undefined','limit','offset','set','Content-Range','reject','save','then','destroy','end','error','name','send','SalesforceConfiguration','fieldName','type','model','map','query','filters','intersection','attributes','fields','length','order','sort','where','filter','merge','options','count','includeAll','include','rows','catch','show','params','keys','rawAttributes','create','body','find','getFields','findOne','hasOwnProperty','nolimit','getSubjects','SalesforceField','pick','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','path','to-csv','fs-extra','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../config/license/hardware','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status'];(function(_0x321bb2,_0x202794){var _0x9c12ed=function(_0x263dd3){while(--_0x263dd3){_0x321bb2['push'](_0x321bb2['shift']());}};_0x9c12ed(++_0x202794);}(_0x1d57,0x1a0));var _0x71d5=function(_0x37dee5,_0x894eb5){_0x37dee5=_0x37dee5-0x0;var _0x42544b=_0x1d57[_0x37dee5];return _0x42544b;};'use strict';var emlformat=require(_0x71d5('0x0'));var rimraf=require(_0x71d5('0x1'));var zipdir=require(_0x71d5('0x2'));var jsonpatch=require(_0x71d5('0x3'));var rp=require(_0x71d5('0x4'));var moment=require(_0x71d5('0x5'));var BPromise=require(_0x71d5('0x6'));var Mustache=require('mustache');var util=require('util');var path=require(_0x71d5('0x7'));var sox=require('sox');var csv=require(_0x71d5('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x71d5('0x9'));var _=require('lodash');var squel=require('squel');var crypto=require(_0x71d5('0xa'));var jsforce=require(_0x71d5('0xb'));var deskjs=require(_0x71d5('0xc'));var toCsv=require('to-csv');var querystring=require(_0x71d5('0xd'));var Papa=require('papaparse');var Redis=require(_0x71d5('0xe'));var authService=require(_0x71d5('0xf'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x71d5('0x10'));var logger=require('../../config/logger')('api');var utils=require(_0x71d5('0x11'));var config=require(_0x71d5('0x12'));var licenseUtil=require('../../config/license/util');var db=require(_0x71d5('0x13'))['db'];function respondWithStatusCode(_0x549235,_0xd71d69){_0xd71d69=_0xd71d69||0xcc;return function(_0x1b2d2d){if(_0x1b2d2d){return _0x549235[_0x71d5('0x14')](_0xd71d69);}return _0x549235[_0x71d5('0x15')](_0xd71d69)['end']();};}function respondWithResult(_0x508ecc,_0x177460){_0x177460=_0x177460||0xc8;return function(_0x384ef8){if(_0x384ef8){return _0x508ecc[_0x71d5('0x15')](_0x177460)[_0x71d5('0x16')](_0x384ef8);}};}function respondWithFilteredResult(_0x982348,_0xdfbd85){return function(_0x23dd91){if(_0x23dd91){var _0x1372d1=typeof _0xdfbd85['offset']===_0x71d5('0x17')&&typeof _0xdfbd85[_0x71d5('0x18')]===_0x71d5('0x17');var _0x30d74a=_0x23dd91['count'];var _0x53149d=_0x1372d1?0x0:_0xdfbd85[_0x71d5('0x19')];var _0x559190=_0x1372d1?_0x23dd91['count']:_0xdfbd85[_0x71d5('0x19')]+_0xdfbd85[_0x71d5('0x18')];var _0x383e50;if(_0x559190>=_0x30d74a){_0x559190=_0x30d74a;_0x383e50=0xc8;}else{_0x383e50=0xce;}_0x982348[_0x71d5('0x15')](_0x383e50);return _0x982348[_0x71d5('0x1a')](_0x71d5('0x1b'),_0x53149d+'-'+_0x559190+'/'+_0x30d74a)[_0x71d5('0x16')](_0x23dd91);}return null;};}function patchUpdates(_0x4f1c4c){return function(_0x2fa7ae){try{jsonpatch['apply'](_0x2fa7ae,_0x4f1c4c,!![]);}catch(_0x1d2a72){return BPromise[_0x71d5('0x1c')](_0x1d2a72);}return _0x2fa7ae[_0x71d5('0x1d')]();};}function saveUpdates(_0x455514,_0x1d39fa){return function(_0x3f25a0){if(_0x3f25a0){return _0x3f25a0['update'](_0x455514)[_0x71d5('0x1e')](function(_0x5800d0){return _0x5800d0;});}return null;};}function removeEntity(_0x41c2e1,_0x49babf){return function(_0x1da1e3){if(_0x1da1e3){return _0x1da1e3[_0x71d5('0x1f')]()[_0x71d5('0x1e')](function(){_0x41c2e1[_0x71d5('0x15')](0xcc)[_0x71d5('0x20')]();});}};}function handleEntityNotFound(_0x306b87,_0x2b52e2){return function(_0xed54b5){if(!_0xed54b5){_0x306b87[_0x71d5('0x14')](0x194);}return _0xed54b5;};}function handleError(_0x38fcec,_0x1f336c){_0x1f336c=_0x1f336c||0x1f4;return function(_0x739a){logger[_0x71d5('0x21')](_0x739a['stack']);if(_0x739a[_0x71d5('0x22')]){delete _0x739a[_0x71d5('0x22')];}_0x38fcec[_0x71d5('0x15')](_0x1f336c)[_0x71d5('0x23')](_0x739a);};}exports['index']=function(_0x3065fd,_0x191dbc){var _0x56e47f={},_0x506c17={},_0x10da6c={'count':0x0,'rows':[]};var _0x5ccfcb=_['map'](db[_0x71d5('0x24')]['rawAttributes'],function(_0x592b66){return{'name':_0x592b66[_0x71d5('0x25')],'type':_0x592b66[_0x71d5('0x26')]['key']};});_0x506c17[_0x71d5('0x27')]=_[_0x71d5('0x28')](_0x5ccfcb,_0x71d5('0x22'));_0x506c17[_0x71d5('0x29')]=_['keys'](_0x3065fd[_0x71d5('0x29')]);_0x506c17[_0x71d5('0x2a')]=_[_0x71d5('0x2b')](_0x506c17['model'],_0x506c17['query']);_0x56e47f[_0x71d5('0x2c')]=_['intersection'](_0x506c17[_0x71d5('0x27')],qs[_0x71d5('0x2d')](_0x3065fd[_0x71d5('0x29')][_0x71d5('0x2d')]));_0x56e47f['attributes']=_0x56e47f[_0x71d5('0x2c')][_0x71d5('0x2e')]?_0x56e47f[_0x71d5('0x2c')]:_0x506c17['model'];if(!_0x3065fd['query']['hasOwnProperty']('nolimit')){_0x56e47f[_0x71d5('0x18')]=qs['limit'](_0x3065fd[_0x71d5('0x29')][_0x71d5('0x18')]);_0x56e47f['offset']=qs[_0x71d5('0x19')](_0x3065fd[_0x71d5('0x29')][_0x71d5('0x19')]);}_0x56e47f[_0x71d5('0x2f')]=qs[_0x71d5('0x30')](_0x3065fd[_0x71d5('0x29')][_0x71d5('0x30')]);_0x56e47f[_0x71d5('0x31')]=qs[_0x71d5('0x2a')](_['pick'](_0x3065fd['query'],_0x506c17[_0x71d5('0x2a')]),_0x5ccfcb);if(_0x3065fd[_0x71d5('0x29')][_0x71d5('0x32')]){_0x56e47f['where']=_[_0x71d5('0x33')](_0x56e47f[_0x71d5('0x31')],{'$or':_[_0x71d5('0x28')](_0x5ccfcb,function(_0x5ce712){if(_0x5ce712[_0x71d5('0x26')]!=='VIRTUAL'){var _0x4911ff={};_0x4911ff[_0x5ce712['name']]={'$like':'%'+_0x3065fd[_0x71d5('0x29')][_0x71d5('0x32')]+'%'};return _0x4911ff;}})});}_0x56e47f=_[_0x71d5('0x33')]({},_0x56e47f,_0x3065fd[_0x71d5('0x34')]);var _0x2bab80={'where':_0x56e47f['where']};return db[_0x71d5('0x24')][_0x71d5('0x35')](_0x2bab80)[_0x71d5('0x1e')](function(_0x121c0e){_0x10da6c[_0x71d5('0x35')]=_0x121c0e;if(_0x3065fd[_0x71d5('0x29')][_0x71d5('0x36')]){_0x56e47f[_0x71d5('0x37')]=[{'all':!![]}];}return db[_0x71d5('0x24')]['findAll'](_0x56e47f);})[_0x71d5('0x1e')](function(_0x150c08){_0x10da6c[_0x71d5('0x38')]=_0x150c08;return _0x10da6c;})[_0x71d5('0x1e')](respondWithFilteredResult(_0x191dbc,_0x56e47f))[_0x71d5('0x39')](handleError(_0x191dbc,null));};exports[_0x71d5('0x3a')]=function(_0x373f07,_0x78f4ba){var _0x130459={'raw':![],'where':{'id':_0x373f07[_0x71d5('0x3b')]['id']}},_0x56acd5={};_0x56acd5[_0x71d5('0x27')]=_[_0x71d5('0x3c')](db[_0x71d5('0x24')][_0x71d5('0x3d')]);_0x56acd5[_0x71d5('0x29')]=_[_0x71d5('0x3c')](_0x373f07[_0x71d5('0x29')]);_0x56acd5[_0x71d5('0x2a')]=_[_0x71d5('0x2b')](_0x56acd5[_0x71d5('0x27')],_0x56acd5[_0x71d5('0x29')]);_0x130459[_0x71d5('0x2c')]=_['intersection'](_0x56acd5[_0x71d5('0x27')],qs[_0x71d5('0x2d')](_0x373f07['query']['fields']));_0x130459[_0x71d5('0x2c')]=_0x130459[_0x71d5('0x2c')][_0x71d5('0x2e')]?_0x130459[_0x71d5('0x2c')]:_0x56acd5[_0x71d5('0x27')];if(_0x373f07[_0x71d5('0x29')][_0x71d5('0x36')]){_0x130459['include']=[{'all':!![]}];}_0x130459=_[_0x71d5('0x33')]({},_0x130459,_0x373f07[_0x71d5('0x34')]);return db[_0x71d5('0x24')]['find'](_0x130459)[_0x71d5('0x1e')](handleEntityNotFound(_0x78f4ba,null))[_0x71d5('0x1e')](respondWithResult(_0x78f4ba,null))['catch'](handleError(_0x78f4ba,null));};exports[_0x71d5('0x3e')]=function(_0x9710a0,_0x3fe18a){return db[_0x71d5('0x24')][_0x71d5('0x3e')](_0x9710a0[_0x71d5('0x3f')],{})[_0x71d5('0x1e')](respondWithResult(_0x3fe18a,0xc9))[_0x71d5('0x39')](handleError(_0x3fe18a,null));};exports['update']=function(_0x3054b7,_0x18ddf7){if(_0x3054b7[_0x71d5('0x3f')]['id']){delete _0x3054b7[_0x71d5('0x3f')]['id'];}return db[_0x71d5('0x24')][_0x71d5('0x40')]({'where':{'id':_0x3054b7['params']['id']}})[_0x71d5('0x1e')](handleEntityNotFound(_0x18ddf7,null))[_0x71d5('0x1e')](saveUpdates(_0x3054b7[_0x71d5('0x3f')],null))[_0x71d5('0x1e')](respondWithResult(_0x18ddf7,null))['catch'](handleError(_0x18ddf7,null));};exports[_0x71d5('0x1f')]=function(_0x1c6144,_0x4def36){return db[_0x71d5('0x24')][_0x71d5('0x40')]({'where':{'id':_0x1c6144[_0x71d5('0x3b')]['id']}})[_0x71d5('0x1e')](handleEntityNotFound(_0x4def36,null))[_0x71d5('0x1e')](removeEntity(_0x4def36,null))['catch'](handleError(_0x4def36,null));};exports[_0x71d5('0x41')]=function(_0x3470f1,_0x21ab6a,_0x4f5105){var _0x3df657={};var _0x2ec62c={};var _0x397a3d;var _0xfc2d06;return db[_0x71d5('0x24')][_0x71d5('0x42')]({'where':{'id':_0x3470f1['params']['id']}})[_0x71d5('0x1e')](handleEntityNotFound(_0x21ab6a,null))['then'](function(_0x90e5c7){if(_0x90e5c7){_0x397a3d=_0x90e5c7;_0x2ec62c['model']=_[_0x71d5('0x3c')](db['SalesforceField']['rawAttributes']);_0x2ec62c[_0x71d5('0x29')]=_['keys'](_0x3470f1[_0x71d5('0x29')]);_0x2ec62c[_0x71d5('0x2a')]=_['intersection'](_0x2ec62c[_0x71d5('0x27')],_0x2ec62c[_0x71d5('0x29')]);_0x3df657['attributes']=_[_0x71d5('0x2b')](_0x2ec62c[_0x71d5('0x27')],qs['fields'](_0x3470f1[_0x71d5('0x29')][_0x71d5('0x2d')]));_0x3df657['attributes']=_0x3df657[_0x71d5('0x2c')][_0x71d5('0x2e')]?_0x3df657[_0x71d5('0x2c')]:_0x2ec62c[_0x71d5('0x27')];_0x3df657[_0x71d5('0x2f')]=qs[_0x71d5('0x30')](_0x3470f1[_0x71d5('0x29')]['sort']);_0x3df657['where']=qs[_0x71d5('0x2a')](_['pick'](_0x3470f1['query'],_0x2ec62c['filters']));if(_0x3470f1[_0x71d5('0x29')][_0x71d5('0x32')]){_0x3df657[_0x71d5('0x31')]=_[_0x71d5('0x33')](_0x3df657[_0x71d5('0x31')],{'$or':_[_0x71d5('0x28')](_0x3df657[_0x71d5('0x2c')],function(_0x1274e7){var _0x5a4894={};_0x5a4894[_0x1274e7]={'$like':'%'+_0x3470f1[_0x71d5('0x29')][_0x71d5('0x32')]+'%'};return _0x5a4894;})});}_0x3df657=_[_0x71d5('0x33')]({},_0x3df657,_0x3470f1[_0x71d5('0x34')]);return _0x397a3d[_0x71d5('0x41')](_0x3df657);}})['then'](function(_0xc3b1c6){if(_0xc3b1c6){_0xfc2d06=_0xc3b1c6[_0x71d5('0x2e')];if(!_0x3470f1['query'][_0x71d5('0x43')](_0x71d5('0x44'))){_0x3df657['limit']=qs['limit'](_0x3470f1[_0x71d5('0x29')][_0x71d5('0x18')]);_0x3df657[_0x71d5('0x19')]=qs[_0x71d5('0x19')](_0x3470f1[_0x71d5('0x29')][_0x71d5('0x19')]);}return _0x397a3d[_0x71d5('0x41')](_0x3df657);}})[_0x71d5('0x1e')](function(_0x3fbc87){if(_0x3fbc87){return _0x3fbc87?{'count':_0xfc2d06,'rows':_0x3fbc87}:null;}})[_0x71d5('0x1e')](respondWithResult(_0x21ab6a,null))['catch'](handleError(_0x21ab6a,null));};exports[_0x71d5('0x45')]=function(_0x1cbb21,_0x5ca905,_0x3a5445){var _0x22ffb3={};var _0x25aece={};var _0x9f62d8;var _0x2fd7a1;return db[_0x71d5('0x24')][_0x71d5('0x42')]({'where':{'id':_0x1cbb21['params']['id']}})['then'](handleEntityNotFound(_0x5ca905,null))['then'](function(_0xc6dd7e){if(_0xc6dd7e){_0x9f62d8=_0xc6dd7e;_0x25aece[_0x71d5('0x27')]=_[_0x71d5('0x3c')](db[_0x71d5('0x46')]['rawAttributes']);_0x25aece[_0x71d5('0x29')]=_[_0x71d5('0x3c')](_0x1cbb21[_0x71d5('0x29')]);_0x25aece['filters']=_[_0x71d5('0x2b')](_0x25aece[_0x71d5('0x27')],_0x25aece[_0x71d5('0x29')]);_0x22ffb3[_0x71d5('0x2c')]=_['intersection'](_0x25aece[_0x71d5('0x27')],qs[_0x71d5('0x2d')](_0x1cbb21['query'][_0x71d5('0x2d')]));_0x22ffb3[_0x71d5('0x2c')]=_0x22ffb3['attributes'][_0x71d5('0x2e')]?_0x22ffb3[_0x71d5('0x2c')]:_0x25aece[_0x71d5('0x27')];_0x22ffb3[_0x71d5('0x2f')]=qs[_0x71d5('0x30')](_0x1cbb21['query']['sort']);_0x22ffb3[_0x71d5('0x31')]=qs[_0x71d5('0x2a')](_[_0x71d5('0x47')](_0x1cbb21[_0x71d5('0x29')],_0x25aece['filters']));if(_0x1cbb21[_0x71d5('0x29')][_0x71d5('0x32')]){_0x22ffb3[_0x71d5('0x31')]=_[_0x71d5('0x33')](_0x22ffb3[_0x71d5('0x31')],{'$or':_['map'](_0x22ffb3['attributes'],function(_0x3db5ff){var _0x4b7043={};_0x4b7043[_0x3db5ff]={'$like':'%'+_0x1cbb21[_0x71d5('0x29')]['filter']+'%'};return _0x4b7043;})});}_0x22ffb3=_[_0x71d5('0x33')]({},_0x22ffb3,_0x1cbb21[_0x71d5('0x34')]);return _0x9f62d8[_0x71d5('0x45')](_0x22ffb3);}})['then'](function(_0x277017){if(_0x277017){_0x2fd7a1=_0x277017[_0x71d5('0x2e')];if(!_0x1cbb21[_0x71d5('0x29')][_0x71d5('0x43')](_0x71d5('0x44'))){_0x22ffb3[_0x71d5('0x18')]=qs[_0x71d5('0x18')](_0x1cbb21[_0x71d5('0x29')][_0x71d5('0x18')]);_0x22ffb3[_0x71d5('0x19')]=qs[_0x71d5('0x19')](_0x1cbb21[_0x71d5('0x29')][_0x71d5('0x19')]);}return _0x9f62d8[_0x71d5('0x45')](_0x22ffb3);}})['then'](function(_0xa33d63){if(_0xa33d63){return _0xa33d63?{'count':_0x2fd7a1,'rows':_0xa33d63}:null;}})['then'](respondWithResult(_0x5ca905,null))['catch'](handleError(_0x5ca905,null));};exports['getDescriptions']=function(_0x3f76d3,_0x5da434,_0x578553){var _0x2e5487={};var _0x5ef629={};var _0x519808;var _0x1d0536;return db['SalesforceConfiguration'][_0x71d5('0x42')]({'where':{'id':_0x3f76d3[_0x71d5('0x3b')]['id']}})['then'](handleEntityNotFound(_0x5da434,null))[_0x71d5('0x1e')](function(_0x328d25){if(_0x328d25){_0x519808=_0x328d25;_0x5ef629[_0x71d5('0x27')]=_[_0x71d5('0x3c')](db[_0x71d5('0x46')][_0x71d5('0x3d')]);_0x5ef629[_0x71d5('0x29')]=_[_0x71d5('0x3c')](_0x3f76d3[_0x71d5('0x29')]);_0x5ef629[_0x71d5('0x2a')]=_['intersection'](_0x5ef629[_0x71d5('0x27')],_0x5ef629['query']);_0x2e5487[_0x71d5('0x2c')]=_[_0x71d5('0x2b')](_0x5ef629['model'],qs[_0x71d5('0x2d')](_0x3f76d3[_0x71d5('0x29')]['fields']));_0x2e5487[_0x71d5('0x2c')]=_0x2e5487[_0x71d5('0x2c')][_0x71d5('0x2e')]?_0x2e5487[_0x71d5('0x2c')]:_0x5ef629[_0x71d5('0x27')];_0x2e5487[_0x71d5('0x2f')]=qs[_0x71d5('0x30')](_0x3f76d3[_0x71d5('0x29')][_0x71d5('0x30')]);_0x2e5487[_0x71d5('0x31')]=qs['filters'](_[_0x71d5('0x47')](_0x3f76d3['query'],_0x5ef629['filters']));if(_0x3f76d3[_0x71d5('0x29')][_0x71d5('0x32')]){_0x2e5487[_0x71d5('0x31')]=_[_0x71d5('0x33')](_0x2e5487[_0x71d5('0x31')],{'$or':_[_0x71d5('0x28')](_0x2e5487[_0x71d5('0x2c')],function(_0x2289aa){var _0x30ba3a={};_0x30ba3a[_0x2289aa]={'$like':'%'+_0x3f76d3[_0x71d5('0x29')][_0x71d5('0x32')]+'%'};return _0x30ba3a;})});}_0x2e5487=_[_0x71d5('0x33')]({},_0x2e5487,_0x3f76d3[_0x71d5('0x34')]);return _0x519808[_0x71d5('0x48')](_0x2e5487);}})[_0x71d5('0x1e')](function(_0x4756d0){if(_0x4756d0){_0x1d0536=_0x4756d0['length'];if(!_0x3f76d3[_0x71d5('0x29')][_0x71d5('0x43')](_0x71d5('0x44'))){_0x2e5487[_0x71d5('0x18')]=qs[_0x71d5('0x18')](_0x3f76d3[_0x71d5('0x29')][_0x71d5('0x18')]);_0x2e5487[_0x71d5('0x19')]=qs[_0x71d5('0x19')](_0x3f76d3[_0x71d5('0x29')]['offset']);}return _0x519808['getDescriptions'](_0x2e5487);}})[_0x71d5('0x1e')](function(_0x2071b8){if(_0x2071b8){return _0x2071b8?{'count':_0x1d0536,'rows':_0x2071b8}:null;}})[_0x71d5('0x1e')](respondWithResult(_0x5da434,null))[_0x71d5('0x39')](handleError(_0x5da434,null));};