4d739bdbe0c96dc989ef1e29390d3f7ee75edcf7
[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 _0x5d96=['../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','limit','undefined','count','set','apply','reject','save','update','then','error','name','send','index','type','key','model','map','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','filter','where','merge','VIRTUAL','options','SalesforceConfiguration','includeAll','include','rows','catch','params','rawAttributes','find','create','body','destroy','getFields','findOne','SalesforceField','length','sort','getSubjects','pick','getDescriptions','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','util','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs'];(function(_0x1ebe90,_0x5d29fc){var _0x447c82=function(_0x1c2646){while(--_0x1c2646){_0x1ebe90['push'](_0x1ebe90['shift']());}};_0x447c82(++_0x5d29fc);}(_0x5d96,0xdf));var _0x65d9=function(_0xb77d9b,_0x406c11){_0xb77d9b=_0xb77d9b-0x0;var _0x5cc5e1=_0x5d96[_0xb77d9b];return _0x5cc5e1;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x65d9('0x0'));var zipdir=require(_0x65d9('0x1'));var jsonpatch=require(_0x65d9('0x2'));var rp=require(_0x65d9('0x3'));var moment=require('moment');var BPromise=require(_0x65d9('0x4'));var Mustache=require('mustache');var util=require(_0x65d9('0x5'));var path=require('path');var sox=require(_0x65d9('0x6'));var csv=require(_0x65d9('0x7'));var ejs=require(_0x65d9('0x8'));var fs=require('fs');var fs_extra=require(_0x65d9('0x9'));var _=require(_0x65d9('0xa'));var squel=require(_0x65d9('0xb'));var crypto=require(_0x65d9('0xc'));var jsforce=require(_0x65d9('0xd'));var deskjs=require(_0x65d9('0xe'));var toCsv=require(_0x65d9('0x7'));var querystring=require(_0x65d9('0xf'));var Papa=require(_0x65d9('0x10'));var Redis=require(_0x65d9('0x11'));var authService=require(_0x65d9('0x12'));var qs=require(_0x65d9('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x65d9('0x14'));var logger=require(_0x65d9('0x15'))(_0x65d9('0x16'));var utils=require(_0x65d9('0x17'));var config=require(_0x65d9('0x18'));var licenseUtil=require('../../config/license/util');var db=require(_0x65d9('0x19'))['db'];function respondWithStatusCode(_0xea0622,_0x25c393){_0x25c393=_0x25c393||0xcc;return function(_0x570d44){if(_0x570d44){return _0xea0622[_0x65d9('0x1a')](_0x25c393);}return _0xea0622[_0x65d9('0x1b')](_0x25c393)[_0x65d9('0x1c')]();};}function respondWithResult(_0x3727b3,_0x3cc5a3){_0x3cc5a3=_0x3cc5a3||0xc8;return function(_0x3e6c21){if(_0x3e6c21){return _0x3727b3[_0x65d9('0x1b')](_0x3cc5a3)[_0x65d9('0x1d')](_0x3e6c21);}};}function respondWithFilteredResult(_0x4fc784,_0x3550a9){return function(_0x22315a){if(_0x22315a){var _0x1fad9e=typeof _0x3550a9[_0x65d9('0x1e')]==='undefined'&&typeof _0x3550a9[_0x65d9('0x1f')]===_0x65d9('0x20');var _0x5eac15=_0x22315a[_0x65d9('0x21')];var _0x3350da=_0x1fad9e?0x0:_0x3550a9[_0x65d9('0x1e')];var _0x2c7f83=_0x1fad9e?_0x22315a['count']:_0x3550a9['offset']+_0x3550a9[_0x65d9('0x1f')];var _0x13079b;if(_0x2c7f83>=_0x5eac15){_0x2c7f83=_0x5eac15;_0x13079b=0xc8;}else{_0x13079b=0xce;}_0x4fc784[_0x65d9('0x1b')](_0x13079b);return _0x4fc784[_0x65d9('0x22')]('Content-Range',_0x3350da+'-'+_0x2c7f83+'/'+_0x5eac15)[_0x65d9('0x1d')](_0x22315a);}return null;};}function patchUpdates(_0x376e0d){return function(_0xd6a0eb){try{jsonpatch[_0x65d9('0x23')](_0xd6a0eb,_0x376e0d,!![]);}catch(_0x5ccffb){return BPromise[_0x65d9('0x24')](_0x5ccffb);}return _0xd6a0eb[_0x65d9('0x25')]();};}function saveUpdates(_0xa52563,_0x5db9a3){return function(_0x50c89c){if(_0x50c89c){return _0x50c89c[_0x65d9('0x26')](_0xa52563)[_0x65d9('0x27')](function(_0x8e8b1d){return _0x8e8b1d;});}return null;};}function removeEntity(_0x3c5bb9,_0x4b20cf){return function(_0x12b79f){if(_0x12b79f){return _0x12b79f['destroy']()['then'](function(){_0x3c5bb9[_0x65d9('0x1b')](0xcc)[_0x65d9('0x1c')]();});}};}function handleEntityNotFound(_0x31f930,_0x512568){return function(_0x35f20d){if(!_0x35f20d){_0x31f930[_0x65d9('0x1a')](0x194);}return _0x35f20d;};}function handleError(_0x3e0f41,_0x39467a){_0x39467a=_0x39467a||0x1f4;return function(_0x2a9e2f){logger[_0x65d9('0x28')](_0x2a9e2f['stack']);if(_0x2a9e2f['name']){delete _0x2a9e2f[_0x65d9('0x29')];}_0x3e0f41[_0x65d9('0x1b')](_0x39467a)[_0x65d9('0x2a')](_0x2a9e2f);};}exports[_0x65d9('0x2b')]=function(_0x571682,_0x431fb3){var _0x19b77e={},_0x3df92d={},_0x2eff6d={'count':0x0,'rows':[]};var _0x19e2a9=_['map'](db['SalesforceConfiguration']['rawAttributes'],function(_0x209e04){return{'name':_0x209e04['fieldName'],'type':_0x209e04[_0x65d9('0x2c')][_0x65d9('0x2d')]};});_0x3df92d[_0x65d9('0x2e')]=_[_0x65d9('0x2f')](_0x19e2a9,'name');_0x3df92d[_0x65d9('0x30')]=_[_0x65d9('0x31')](_0x571682[_0x65d9('0x30')]);_0x3df92d[_0x65d9('0x32')]=_[_0x65d9('0x33')](_0x3df92d['model'],_0x3df92d['query']);_0x19b77e[_0x65d9('0x34')]=_[_0x65d9('0x33')](_0x3df92d[_0x65d9('0x2e')],qs[_0x65d9('0x35')](_0x571682['query'][_0x65d9('0x35')]));_0x19b77e[_0x65d9('0x34')]=_0x19b77e[_0x65d9('0x34')]['length']?_0x19b77e[_0x65d9('0x34')]:_0x3df92d[_0x65d9('0x2e')];if(!_0x571682['query'][_0x65d9('0x36')](_0x65d9('0x37'))){_0x19b77e['limit']=qs[_0x65d9('0x1f')](_0x571682[_0x65d9('0x30')][_0x65d9('0x1f')]);_0x19b77e[_0x65d9('0x1e')]=qs[_0x65d9('0x1e')](_0x571682[_0x65d9('0x30')]['offset']);}_0x19b77e[_0x65d9('0x38')]=qs['sort'](_0x571682[_0x65d9('0x30')]['sort']);_0x19b77e['where']=qs[_0x65d9('0x32')](_['pick'](_0x571682[_0x65d9('0x30')],_0x3df92d[_0x65d9('0x32')]),_0x19e2a9);if(_0x571682[_0x65d9('0x30')][_0x65d9('0x39')]){_0x19b77e[_0x65d9('0x3a')]=_[_0x65d9('0x3b')](_0x19b77e[_0x65d9('0x3a')],{'$or':_[_0x65d9('0x2f')](_0x19e2a9,function(_0x434b39){if(_0x434b39['type']!==_0x65d9('0x3c')){var _0x317b40={};_0x317b40[_0x434b39['name']]={'$like':'%'+_0x571682[_0x65d9('0x30')][_0x65d9('0x39')]+'%'};return _0x317b40;}})});}_0x19b77e=_[_0x65d9('0x3b')]({},_0x19b77e,_0x571682[_0x65d9('0x3d')]);var _0x31c8bc={'where':_0x19b77e[_0x65d9('0x3a')]};return db[_0x65d9('0x3e')][_0x65d9('0x21')](_0x31c8bc)['then'](function(_0x3050dd){_0x2eff6d['count']=_0x3050dd;if(_0x571682['query'][_0x65d9('0x3f')]){_0x19b77e[_0x65d9('0x40')]=[{'all':!![]}];}return db[_0x65d9('0x3e')]['findAll'](_0x19b77e);})['then'](function(_0x62f620){_0x2eff6d[_0x65d9('0x41')]=_0x62f620;return _0x2eff6d;})[_0x65d9('0x27')](respondWithFilteredResult(_0x431fb3,_0x19b77e))[_0x65d9('0x42')](handleError(_0x431fb3,null));};exports['show']=function(_0x541ed9,_0x3fb3bd){var _0x3fa1d4={'raw':![],'where':{'id':_0x541ed9[_0x65d9('0x43')]['id']}},_0x312adf={};_0x312adf[_0x65d9('0x2e')]=_[_0x65d9('0x31')](db[_0x65d9('0x3e')][_0x65d9('0x44')]);_0x312adf[_0x65d9('0x30')]=_[_0x65d9('0x31')](_0x541ed9[_0x65d9('0x30')]);_0x312adf[_0x65d9('0x32')]=_[_0x65d9('0x33')](_0x312adf[_0x65d9('0x2e')],_0x312adf[_0x65d9('0x30')]);_0x3fa1d4[_0x65d9('0x34')]=_[_0x65d9('0x33')](_0x312adf[_0x65d9('0x2e')],qs[_0x65d9('0x35')](_0x541ed9['query'][_0x65d9('0x35')]));_0x3fa1d4[_0x65d9('0x34')]=_0x3fa1d4[_0x65d9('0x34')]['length']?_0x3fa1d4[_0x65d9('0x34')]:_0x312adf[_0x65d9('0x2e')];if(_0x541ed9[_0x65d9('0x30')][_0x65d9('0x3f')]){_0x3fa1d4[_0x65d9('0x40')]=[{'all':!![]}];}_0x3fa1d4=_[_0x65d9('0x3b')]({},_0x3fa1d4,_0x541ed9[_0x65d9('0x3d')]);return db[_0x65d9('0x3e')][_0x65d9('0x45')](_0x3fa1d4)[_0x65d9('0x27')](handleEntityNotFound(_0x3fb3bd,null))[_0x65d9('0x27')](respondWithResult(_0x3fb3bd,null))[_0x65d9('0x42')](handleError(_0x3fb3bd,null));};exports[_0x65d9('0x46')]=function(_0x4958cd,_0x60b788){return db[_0x65d9('0x3e')][_0x65d9('0x46')](_0x4958cd[_0x65d9('0x47')],{})['then'](respondWithResult(_0x60b788,0xc9))[_0x65d9('0x42')](handleError(_0x60b788,null));};exports[_0x65d9('0x26')]=function(_0x42e995,_0x48e5de){if(_0x42e995[_0x65d9('0x47')]['id']){delete _0x42e995[_0x65d9('0x47')]['id'];}return db['SalesforceConfiguration'][_0x65d9('0x45')]({'where':{'id':_0x42e995[_0x65d9('0x43')]['id']}})['then'](handleEntityNotFound(_0x48e5de,null))['then'](saveUpdates(_0x42e995[_0x65d9('0x47')],null))[_0x65d9('0x27')](respondWithResult(_0x48e5de,null))[_0x65d9('0x42')](handleError(_0x48e5de,null));};exports[_0x65d9('0x48')]=function(_0x19e942,_0x18b985){return db[_0x65d9('0x3e')][_0x65d9('0x45')]({'where':{'id':_0x19e942['params']['id']}})[_0x65d9('0x27')](handleEntityNotFound(_0x18b985,null))[_0x65d9('0x27')](removeEntity(_0x18b985,null))['catch'](handleError(_0x18b985,null));};exports[_0x65d9('0x49')]=function(_0x29ca5e,_0xbb70e1,_0x2efd3d){var _0x4da545={};var _0x1987c8={};var _0x40f34d;var _0x345cb7;return db[_0x65d9('0x3e')][_0x65d9('0x4a')]({'where':{'id':_0x29ca5e[_0x65d9('0x43')]['id']}})['then'](handleEntityNotFound(_0xbb70e1,null))[_0x65d9('0x27')](function(_0x46a0b3){if(_0x46a0b3){_0x40f34d=_0x46a0b3;_0x1987c8[_0x65d9('0x2e')]=_[_0x65d9('0x31')](db[_0x65d9('0x4b')][_0x65d9('0x44')]);_0x1987c8[_0x65d9('0x30')]=_[_0x65d9('0x31')](_0x29ca5e[_0x65d9('0x30')]);_0x1987c8['filters']=_[_0x65d9('0x33')](_0x1987c8[_0x65d9('0x2e')],_0x1987c8[_0x65d9('0x30')]);_0x4da545[_0x65d9('0x34')]=_[_0x65d9('0x33')](_0x1987c8[_0x65d9('0x2e')],qs[_0x65d9('0x35')](_0x29ca5e[_0x65d9('0x30')][_0x65d9('0x35')]));_0x4da545[_0x65d9('0x34')]=_0x4da545['attributes'][_0x65d9('0x4c')]?_0x4da545[_0x65d9('0x34')]:_0x1987c8[_0x65d9('0x2e')];_0x4da545[_0x65d9('0x38')]=qs['sort'](_0x29ca5e['query'][_0x65d9('0x4d')]);_0x4da545[_0x65d9('0x3a')]=qs[_0x65d9('0x32')](_['pick'](_0x29ca5e[_0x65d9('0x30')],_0x1987c8[_0x65d9('0x32')]));if(_0x29ca5e[_0x65d9('0x30')][_0x65d9('0x39')]){_0x4da545['where']=_[_0x65d9('0x3b')](_0x4da545[_0x65d9('0x3a')],{'$or':_[_0x65d9('0x2f')](_0x4da545['attributes'],function(_0x161745){var _0xcc1aab={};_0xcc1aab[_0x161745]={'$like':'%'+_0x29ca5e[_0x65d9('0x30')]['filter']+'%'};return _0xcc1aab;})});}_0x4da545=_[_0x65d9('0x3b')]({},_0x4da545,_0x29ca5e[_0x65d9('0x3d')]);return _0x40f34d['getFields'](_0x4da545);}})['then'](function(_0x22c093){if(_0x22c093){_0x345cb7=_0x22c093[_0x65d9('0x4c')];if(!_0x29ca5e['query'][_0x65d9('0x36')](_0x65d9('0x37'))){_0x4da545['limit']=qs[_0x65d9('0x1f')](_0x29ca5e[_0x65d9('0x30')][_0x65d9('0x1f')]);_0x4da545['offset']=qs['offset'](_0x29ca5e[_0x65d9('0x30')][_0x65d9('0x1e')]);}return _0x40f34d[_0x65d9('0x49')](_0x4da545);}})[_0x65d9('0x27')](function(_0x25dff4){if(_0x25dff4){return _0x25dff4?{'count':_0x345cb7,'rows':_0x25dff4}:null;}})['then'](respondWithResult(_0xbb70e1,null))[_0x65d9('0x42')](handleError(_0xbb70e1,null));};exports[_0x65d9('0x4e')]=function(_0x3fc53b,_0x49cfe6,_0x47d6c8){var _0x539d59={};var _0x2af9e2={};var _0x34459d;var _0x6f78f0;return db['SalesforceConfiguration'][_0x65d9('0x4a')]({'where':{'id':_0x3fc53b['params']['id']}})[_0x65d9('0x27')](handleEntityNotFound(_0x49cfe6,null))['then'](function(_0x1b4104){if(_0x1b4104){_0x34459d=_0x1b4104;_0x2af9e2[_0x65d9('0x2e')]=_['keys'](db[_0x65d9('0x4b')][_0x65d9('0x44')]);_0x2af9e2[_0x65d9('0x30')]=_['keys'](_0x3fc53b[_0x65d9('0x30')]);_0x2af9e2['filters']=_['intersection'](_0x2af9e2['model'],_0x2af9e2[_0x65d9('0x30')]);_0x539d59[_0x65d9('0x34')]=_[_0x65d9('0x33')](_0x2af9e2[_0x65d9('0x2e')],qs[_0x65d9('0x35')](_0x3fc53b[_0x65d9('0x30')][_0x65d9('0x35')]));_0x539d59[_0x65d9('0x34')]=_0x539d59[_0x65d9('0x34')][_0x65d9('0x4c')]?_0x539d59['attributes']:_0x2af9e2[_0x65d9('0x2e')];_0x539d59[_0x65d9('0x38')]=qs['sort'](_0x3fc53b[_0x65d9('0x30')]['sort']);_0x539d59['where']=qs[_0x65d9('0x32')](_[_0x65d9('0x4f')](_0x3fc53b[_0x65d9('0x30')],_0x2af9e2[_0x65d9('0x32')]));if(_0x3fc53b[_0x65d9('0x30')][_0x65d9('0x39')]){_0x539d59[_0x65d9('0x3a')]=_[_0x65d9('0x3b')](_0x539d59[_0x65d9('0x3a')],{'$or':_[_0x65d9('0x2f')](_0x539d59[_0x65d9('0x34')],function(_0x54cb55){var _0x1e1564={};_0x1e1564[_0x54cb55]={'$like':'%'+_0x3fc53b[_0x65d9('0x30')]['filter']+'%'};return _0x1e1564;})});}_0x539d59=_['merge']({},_0x539d59,_0x3fc53b['options']);return _0x34459d[_0x65d9('0x4e')](_0x539d59);}})['then'](function(_0x231081){if(_0x231081){_0x6f78f0=_0x231081[_0x65d9('0x4c')];if(!_0x3fc53b[_0x65d9('0x30')][_0x65d9('0x36')](_0x65d9('0x37'))){_0x539d59[_0x65d9('0x1f')]=qs[_0x65d9('0x1f')](_0x3fc53b[_0x65d9('0x30')][_0x65d9('0x1f')]);_0x539d59[_0x65d9('0x1e')]=qs[_0x65d9('0x1e')](_0x3fc53b[_0x65d9('0x30')]['offset']);}return _0x34459d[_0x65d9('0x4e')](_0x539d59);}})[_0x65d9('0x27')](function(_0x2029fc){if(_0x2029fc){return _0x2029fc?{'count':_0x6f78f0,'rows':_0x2029fc}:null;}})[_0x65d9('0x27')](respondWithResult(_0x49cfe6,null))['catch'](handleError(_0x49cfe6,null));};exports[_0x65d9('0x50')]=function(_0x5f0e73,_0x277ecf,_0x87d0b0){var _0x547ca2={};var _0x563d3f={};var _0x258ff4;var _0x13a5dc;return db['SalesforceConfiguration'][_0x65d9('0x4a')]({'where':{'id':_0x5f0e73[_0x65d9('0x43')]['id']}})[_0x65d9('0x27')](handleEntityNotFound(_0x277ecf,null))[_0x65d9('0x27')](function(_0x107700){if(_0x107700){_0x258ff4=_0x107700;_0x563d3f[_0x65d9('0x2e')]=_['keys'](db[_0x65d9('0x4b')][_0x65d9('0x44')]);_0x563d3f[_0x65d9('0x30')]=_[_0x65d9('0x31')](_0x5f0e73[_0x65d9('0x30')]);_0x563d3f[_0x65d9('0x32')]=_[_0x65d9('0x33')](_0x563d3f[_0x65d9('0x2e')],_0x563d3f['query']);_0x547ca2['attributes']=_['intersection'](_0x563d3f[_0x65d9('0x2e')],qs[_0x65d9('0x35')](_0x5f0e73[_0x65d9('0x30')][_0x65d9('0x35')]));_0x547ca2[_0x65d9('0x34')]=_0x547ca2[_0x65d9('0x34')][_0x65d9('0x4c')]?_0x547ca2[_0x65d9('0x34')]:_0x563d3f['model'];_0x547ca2[_0x65d9('0x38')]=qs['sort'](_0x5f0e73['query'][_0x65d9('0x4d')]);_0x547ca2['where']=qs[_0x65d9('0x32')](_[_0x65d9('0x4f')](_0x5f0e73[_0x65d9('0x30')],_0x563d3f[_0x65d9('0x32')]));if(_0x5f0e73[_0x65d9('0x30')]['filter']){_0x547ca2[_0x65d9('0x3a')]=_[_0x65d9('0x3b')](_0x547ca2['where'],{'$or':_[_0x65d9('0x2f')](_0x547ca2['attributes'],function(_0x1c6594){var _0x285aee={};_0x285aee[_0x1c6594]={'$like':'%'+_0x5f0e73[_0x65d9('0x30')][_0x65d9('0x39')]+'%'};return _0x285aee;})});}_0x547ca2=_['merge']({},_0x547ca2,_0x5f0e73[_0x65d9('0x3d')]);return _0x258ff4[_0x65d9('0x50')](_0x547ca2);}})[_0x65d9('0x27')](function(_0x43d940){if(_0x43d940){_0x13a5dc=_0x43d940['length'];if(!_0x5f0e73[_0x65d9('0x30')][_0x65d9('0x36')](_0x65d9('0x37'))){_0x547ca2[_0x65d9('0x1f')]=qs[_0x65d9('0x1f')](_0x5f0e73['query'][_0x65d9('0x1f')]);_0x547ca2[_0x65d9('0x1e')]=qs[_0x65d9('0x1e')](_0x5f0e73[_0x65d9('0x30')][_0x65d9('0x1e')]);}return _0x258ff4[_0x65d9('0x50')](_0x547ca2);}})[_0x65d9('0x27')](function(_0xb154a0){if(_0xb154a0){return _0xb154a0?{'count':_0x13a5dc,'rows':_0xb154a0}:null;}})[_0x65d9('0x27')](respondWithResult(_0x277ecf,null))[_0x65d9('0x42')](handleError(_0x277ecf,null));};