4339667862455e4e24f73c9becb67bf17c13a0c9
[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 _0x5df0=['offset','undefined','count','save','then','destroy','name','send','render','merge','contact','agent','interaction','account','index','map','SalesforceConfiguration','rawAttributes','fieldName','type','key','model','keys','intersection','query','fields','attributes','hasOwnProperty','limit','sort','where','filters','pick','filter','options','includeAll','include','rows','params','length','create','body','update','find','getFields','findOne','order','nolimit','getSubjects','getDescriptions','SalesforceField','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','path','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/license/util','../../mysqldb','request','request\x20sent','debug','SalesforceConfiguration,\x20%s,\x20%s,\x20%s','error','code','SalesforceConfiguration,\x20%s,\x20%s','message','result','catch','sendStatus','status','end','json'];(function(_0x21a9d9,_0x4d5ac8){var _0x46adce=function(_0xfdd336){while(--_0xfdd336){_0x21a9d9['push'](_0x21a9d9['shift']());}};_0x46adce(++_0x4d5ac8);}(_0x5df0,0x144));var _0x05df=function(_0x153ec2,_0x546ed6){_0x153ec2=_0x153ec2-0x0;var _0x68eebf=_0x5df0[_0x153ec2];return _0x68eebf;};'use strict';var emlformat=require(_0x05df('0x0'));var rimraf=require(_0x05df('0x1'));var zipdir=require(_0x05df('0x2'));var jsonpatch=require(_0x05df('0x3'));var rp=require(_0x05df('0x4'));var moment=require(_0x05df('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x05df('0x6'));var util=require('util');var path=require(_0x05df('0x7'));var sox=require('sox');var csv=require(_0x05df('0x8'));var ejs=require(_0x05df('0x9'));var fs=require('fs');var fs_extra=require(_0x05df('0xa'));var _=require(_0x05df('0xb'));var squel=require('squel');var crypto=require(_0x05df('0xc'));var jsforce=require(_0x05df('0xd'));var deskjs=require(_0x05df('0xe'));var toCsv=require(_0x05df('0x8'));var querystring=require(_0x05df('0xf'));var Papa=require(_0x05df('0x10'));var Redis=require(_0x05df('0x11'));var authService=require(_0x05df('0x12'));var qs=require(_0x05df('0x13'));var as=require(_0x05df('0x14'));var hardwareService=require(_0x05df('0x15'));var logger=require(_0x05df('0x16'))(_0x05df('0x17'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x05df('0x18'));var db=require(_0x05df('0x19'))['db'];var jayson=require('jayson/promise');var client=jayson['client']['http']({'port':0x232a});function respondWithRpcPromise(_0x203817,_0x128db3,_0x30e0bf,_0x3f5de1){return new BPromise(function(_0xfddda4,_0x4f561c){var _0xdcc2e6=_0x3f5de1||client;return _0xdcc2e6[_0x05df('0x1a')](_0x203817,_0x30e0bf)['then'](function(_0x46555b){logger['info']('SalesforceConfiguration,\x20%s,\x20%s',_0x128db3,_0x05df('0x1b'));logger[_0x05df('0x1c')](_0x05df('0x1d'),_0x128db3,_0x05df('0x1b'),JSON['stringify'](_0x46555b));if(_0x46555b[_0x05df('0x1e')]){if(_0x46555b[_0x05df('0x1e')][_0x05df('0x1f')]===0x1f4){logger[_0x05df('0x1e')](_0x05df('0x20'),_0x128db3,_0x46555b['error'][_0x05df('0x21')]);return _0x4f561c(_0x46555b['error'][_0x05df('0x21')]);}logger[_0x05df('0x1e')](_0x05df('0x20'),_0x128db3,_0x46555b['error']['message']);return _0xfddda4(_0x46555b[_0x05df('0x1e')][_0x05df('0x21')]);}else{logger['info']('SalesforceConfiguration,\x20%s,\x20%s',_0x128db3,'request\x20sent');_0xfddda4(_0x46555b[_0x05df('0x22')][_0x05df('0x21')]);}})[_0x05df('0x23')](function(_0x45cb73){logger['error']('SalesforceConfiguration,\x20%s,\x20%s',_0x128db3,_0x45cb73);_0x4f561c(_0x45cb73);});});}function respondWithStatusCode(_0x3a60d3,_0x27032d){_0x27032d=_0x27032d||0xcc;return function(_0x4eef9){if(_0x4eef9){return _0x3a60d3[_0x05df('0x24')](_0x27032d);}return _0x3a60d3[_0x05df('0x25')](_0x27032d)[_0x05df('0x26')]();};}function respondWithResult(_0x19819f,_0x143d10){_0x143d10=_0x143d10||0xc8;return function(_0x2444e8){if(_0x2444e8){return _0x19819f[_0x05df('0x25')](_0x143d10)[_0x05df('0x27')](_0x2444e8);}};}function respondWithFilteredResult(_0x12da9e,_0x8d469f){return function(_0x4fcad8){if(_0x4fcad8){var _0x4fdefb=typeof _0x8d469f[_0x05df('0x28')]===_0x05df('0x29')&&typeof _0x8d469f['limit']===_0x05df('0x29');var _0x47cf65=_0x4fcad8[_0x05df('0x2a')];var _0x4809f9=_0x4fdefb?0x0:_0x8d469f[_0x05df('0x28')];var _0x428d7a=_0x4fdefb?_0x4fcad8['count']:_0x8d469f[_0x05df('0x28')]+_0x8d469f['limit'];var _0x2cac3e;if(_0x428d7a>=_0x47cf65){_0x428d7a=_0x47cf65;_0x2cac3e=0xc8;}else{_0x2cac3e=0xce;}_0x12da9e['status'](_0x2cac3e);return _0x12da9e['set']('Content-Range',_0x4809f9+'-'+_0x428d7a+'/'+_0x47cf65)[_0x05df('0x27')](_0x4fcad8);}return null;};}function patchUpdates(_0x14c356){return function(_0xc8a713){try{jsonpatch['apply'](_0xc8a713,_0x14c356,!![]);}catch(_0x36f8f4){return BPromise['reject'](_0x36f8f4);}return _0xc8a713[_0x05df('0x2b')]();};}function saveUpdates(_0x9fb414,_0x2c9279){return function(_0x3d01f4){if(_0x3d01f4){return _0x3d01f4['update'](_0x9fb414)[_0x05df('0x2c')](function(_0xa898c5){return _0xa898c5;});}return null;};}function removeEntity(_0x1ce205,_0xe3a52e){return function(_0x3d774e){if(_0x3d774e){return _0x3d774e[_0x05df('0x2d')]()[_0x05df('0x2c')](function(){_0x1ce205[_0x05df('0x25')](0xcc)[_0x05df('0x26')]();});}};}function handleEntityNotFound(_0x2bf902,_0x33963a){return function(_0x316e9a){if(!_0x316e9a){_0x2bf902[_0x05df('0x24')](0x194);}return _0x316e9a;};}function handleError(_0x53f3e1,_0x972590){_0x972590=_0x972590||0x1f4;return function(_0x55ada7){logger[_0x05df('0x1e')](_0x55ada7['stack']);if(_0x55ada7[_0x05df('0x2e')]){delete _0x55ada7[_0x05df('0x2e')];}_0x53f3e1['status'](_0x972590)[_0x05df('0x2f')](_0x55ada7);};}function getMustacheRender(_0x34efb5,_0xc8014e){return Mustache[_0x05df('0x30')](_0x34efb5,_[_0x05df('0x31')](_0xc8014e['body'],{'contact':_0xc8014e[_0x05df('0x32')],'message':_0xc8014e[_0x05df('0x21')],'agent':_0xc8014e[_0x05df('0x33')],'interaction':_0xc8014e[_0x05df('0x34')],'account':_0xc8014e[_0x05df('0x35')]}))||'';}exports[_0x05df('0x36')]=function(_0x51d21b,_0x4d8a98){var _0x235de1={},_0x3ab84c={},_0x458f72={'count':0x0,'rows':[]};var _0x42d2ff=_[_0x05df('0x37')](db[_0x05df('0x38')][_0x05df('0x39')],function(_0x2f970f){return{'name':_0x2f970f[_0x05df('0x3a')],'type':_0x2f970f[_0x05df('0x3b')][_0x05df('0x3c')]};});_0x3ab84c[_0x05df('0x3d')]=_[_0x05df('0x37')](_0x42d2ff,_0x05df('0x2e'));_0x3ab84c['query']=_[_0x05df('0x3e')](_0x51d21b['query']);_0x3ab84c['filters']=_[_0x05df('0x3f')](_0x3ab84c['model'],_0x3ab84c[_0x05df('0x40')]);_0x235de1['attributes']=_['intersection'](_0x3ab84c[_0x05df('0x3d')],qs[_0x05df('0x41')](_0x51d21b[_0x05df('0x40')][_0x05df('0x41')]));_0x235de1[_0x05df('0x42')]=_0x235de1[_0x05df('0x42')]['length']?_0x235de1[_0x05df('0x42')]:_0x3ab84c[_0x05df('0x3d')];if(!_0x51d21b['query'][_0x05df('0x43')]('nolimit')){_0x235de1[_0x05df('0x44')]=qs['limit'](_0x51d21b['query'][_0x05df('0x44')]);_0x235de1[_0x05df('0x28')]=qs[_0x05df('0x28')](_0x51d21b[_0x05df('0x40')][_0x05df('0x28')]);}_0x235de1['order']=qs[_0x05df('0x45')](_0x51d21b[_0x05df('0x40')][_0x05df('0x45')]);_0x235de1[_0x05df('0x46')]=qs[_0x05df('0x47')](_[_0x05df('0x48')](_0x51d21b[_0x05df('0x40')],_0x3ab84c['filters']),_0x42d2ff);if(_0x51d21b['query'][_0x05df('0x49')]){_0x235de1['where']=_['merge'](_0x235de1['where'],{'$or':_[_0x05df('0x37')](_0x42d2ff,function(_0x3f5544){if(_0x3f5544[_0x05df('0x3b')]!=='VIRTUAL'){var _0x4afe4d={};_0x4afe4d[_0x3f5544[_0x05df('0x2e')]]={'$like':'%'+_0x51d21b[_0x05df('0x40')][_0x05df('0x49')]+'%'};return _0x4afe4d;}})});}_0x235de1=_[_0x05df('0x31')]({},_0x235de1,_0x51d21b[_0x05df('0x4a')]);var _0x3af6f2={'where':_0x235de1['where']};return db['SalesforceConfiguration'][_0x05df('0x2a')](_0x3af6f2)[_0x05df('0x2c')](function(_0x32dae8){_0x458f72[_0x05df('0x2a')]=_0x32dae8;if(_0x51d21b[_0x05df('0x40')][_0x05df('0x4b')]){_0x235de1[_0x05df('0x4c')]=[{'all':!![]}];}return db[_0x05df('0x38')]['findAll'](_0x235de1);})[_0x05df('0x2c')](function(_0x1f94bd){_0x458f72[_0x05df('0x4d')]=_0x1f94bd;return _0x458f72;})[_0x05df('0x2c')](respondWithFilteredResult(_0x4d8a98,_0x235de1))[_0x05df('0x23')](handleError(_0x4d8a98,null));};exports['show']=function(_0x3960c0,_0x180cc3){var _0x28871b={'raw':![],'where':{'id':_0x3960c0[_0x05df('0x4e')]['id']}},_0x1432af={};_0x1432af[_0x05df('0x3d')]=_['keys'](db['SalesforceConfiguration'][_0x05df('0x39')]);_0x1432af['query']=_[_0x05df('0x3e')](_0x3960c0[_0x05df('0x40')]);_0x1432af[_0x05df('0x47')]=_[_0x05df('0x3f')](_0x1432af[_0x05df('0x3d')],_0x1432af[_0x05df('0x40')]);_0x28871b[_0x05df('0x42')]=_[_0x05df('0x3f')](_0x1432af[_0x05df('0x3d')],qs['fields'](_0x3960c0[_0x05df('0x40')]['fields']));_0x28871b[_0x05df('0x42')]=_0x28871b['attributes'][_0x05df('0x4f')]?_0x28871b[_0x05df('0x42')]:_0x1432af[_0x05df('0x3d')];if(_0x3960c0[_0x05df('0x40')][_0x05df('0x4b')]){_0x28871b[_0x05df('0x4c')]=[{'all':!![]}];}_0x28871b=_[_0x05df('0x31')]({},_0x28871b,_0x3960c0['options']);return db['SalesforceConfiguration']['find'](_0x28871b)[_0x05df('0x2c')](handleEntityNotFound(_0x180cc3,null))[_0x05df('0x2c')](respondWithResult(_0x180cc3,null))[_0x05df('0x23')](handleError(_0x180cc3,null));};exports['create']=function(_0x372260,_0x12c59a){return db[_0x05df('0x38')][_0x05df('0x50')](_0x372260[_0x05df('0x51')],{})[_0x05df('0x2c')](respondWithResult(_0x12c59a,0xc9))[_0x05df('0x23')](handleError(_0x12c59a,null));};exports[_0x05df('0x52')]=function(_0x1b7fb5,_0x278536){if(_0x1b7fb5[_0x05df('0x51')]['id']){delete _0x1b7fb5[_0x05df('0x51')]['id'];}return db['SalesforceConfiguration']['find']({'where':{'id':_0x1b7fb5[_0x05df('0x4e')]['id']}})[_0x05df('0x2c')](handleEntityNotFound(_0x278536,null))['then'](saveUpdates(_0x1b7fb5['body'],null))[_0x05df('0x2c')](respondWithResult(_0x278536,null))['catch'](handleError(_0x278536,null));};exports[_0x05df('0x2d')]=function(_0x317456,_0x546f63){return db[_0x05df('0x38')][_0x05df('0x53')]({'where':{'id':_0x317456[_0x05df('0x4e')]['id']}})['then'](handleEntityNotFound(_0x546f63,null))[_0x05df('0x2c')](removeEntity(_0x546f63,null))[_0x05df('0x23')](handleError(_0x546f63,null));};exports[_0x05df('0x54')]=function(_0x86d07e,_0x3edb41,_0x25c0ce){var _0x70790c={};var _0x445c03={};var _0x1081f1;var _0x394cba;return db[_0x05df('0x38')][_0x05df('0x55')]({'where':{'id':_0x86d07e['params']['id']}})[_0x05df('0x2c')](handleEntityNotFound(_0x3edb41,null))[_0x05df('0x2c')](function(_0x2336ff){if(_0x2336ff){_0x1081f1=_0x2336ff;_0x445c03[_0x05df('0x3d')]=_[_0x05df('0x3e')](db['SalesforceField'][_0x05df('0x39')]);_0x445c03[_0x05df('0x40')]=_[_0x05df('0x3e')](_0x86d07e['query']);_0x445c03[_0x05df('0x47')]=_['intersection'](_0x445c03['model'],_0x445c03['query']);_0x70790c[_0x05df('0x42')]=_[_0x05df('0x3f')](_0x445c03[_0x05df('0x3d')],qs[_0x05df('0x41')](_0x86d07e['query']['fields']));_0x70790c['attributes']=_0x70790c[_0x05df('0x42')][_0x05df('0x4f')]?_0x70790c[_0x05df('0x42')]:_0x445c03[_0x05df('0x3d')];_0x70790c[_0x05df('0x56')]=qs[_0x05df('0x45')](_0x86d07e[_0x05df('0x40')][_0x05df('0x45')]);_0x70790c[_0x05df('0x46')]=qs['filters'](_['pick'](_0x86d07e[_0x05df('0x40')],_0x445c03['filters']));if(_0x86d07e[_0x05df('0x40')]['filter']){_0x70790c['where']=_[_0x05df('0x31')](_0x70790c['where'],{'$or':_['map'](_0x70790c[_0x05df('0x42')],function(_0x4fcece){var _0x131b78={};_0x131b78[_0x4fcece]={'$like':'%'+_0x86d07e[_0x05df('0x40')][_0x05df('0x49')]+'%'};return _0x131b78;})});}_0x70790c=_[_0x05df('0x31')]({},_0x70790c,_0x86d07e['options']);return _0x1081f1['getFields'](_0x70790c);}})[_0x05df('0x2c')](function(_0x120f05){if(_0x120f05){_0x394cba=_0x120f05[_0x05df('0x4f')];if(!_0x86d07e[_0x05df('0x40')][_0x05df('0x43')](_0x05df('0x57'))){_0x70790c[_0x05df('0x44')]=qs[_0x05df('0x44')](_0x86d07e[_0x05df('0x40')][_0x05df('0x44')]);_0x70790c[_0x05df('0x28')]=qs[_0x05df('0x28')](_0x86d07e[_0x05df('0x40')][_0x05df('0x28')]);}return _0x1081f1[_0x05df('0x54')](_0x70790c);}})['then'](function(_0x16eb06){if(_0x16eb06){return _0x16eb06?{'count':_0x394cba,'rows':_0x16eb06}:null;}})['then'](respondWithResult(_0x3edb41,null))['catch'](handleError(_0x3edb41,null));};exports[_0x05df('0x58')]=function(_0x388b50,_0x287888,_0x207cae){var _0x48cfb7={};var _0x27e252={};var _0x1daae0;var _0x53789f;return db[_0x05df('0x38')]['findOne']({'where':{'id':_0x388b50[_0x05df('0x4e')]['id']}})[_0x05df('0x2c')](handleEntityNotFound(_0x287888,null))[_0x05df('0x2c')](function(_0x36e2db){if(_0x36e2db){_0x1daae0=_0x36e2db;_0x27e252[_0x05df('0x3d')]=_[_0x05df('0x3e')](db['SalesforceField'][_0x05df('0x39')]);_0x27e252[_0x05df('0x40')]=_[_0x05df('0x3e')](_0x388b50['query']);_0x27e252[_0x05df('0x47')]=_[_0x05df('0x3f')](_0x27e252[_0x05df('0x3d')],_0x27e252[_0x05df('0x40')]);_0x48cfb7['attributes']=_['intersection'](_0x27e252[_0x05df('0x3d')],qs[_0x05df('0x41')](_0x388b50[_0x05df('0x40')][_0x05df('0x41')]));_0x48cfb7[_0x05df('0x42')]=_0x48cfb7[_0x05df('0x42')][_0x05df('0x4f')]?_0x48cfb7[_0x05df('0x42')]:_0x27e252['model'];_0x48cfb7[_0x05df('0x56')]=qs[_0x05df('0x45')](_0x388b50[_0x05df('0x40')][_0x05df('0x45')]);_0x48cfb7['where']=qs[_0x05df('0x47')](_[_0x05df('0x48')](_0x388b50['query'],_0x27e252[_0x05df('0x47')]));if(_0x388b50[_0x05df('0x40')][_0x05df('0x49')]){_0x48cfb7[_0x05df('0x46')]=_[_0x05df('0x31')](_0x48cfb7[_0x05df('0x46')],{'$or':_[_0x05df('0x37')](_0x48cfb7['attributes'],function(_0x5dc426){var _0x233e29={};_0x233e29[_0x5dc426]={'$like':'%'+_0x388b50[_0x05df('0x40')][_0x05df('0x49')]+'%'};return _0x233e29;})});}_0x48cfb7=_['merge']({},_0x48cfb7,_0x388b50[_0x05df('0x4a')]);return _0x1daae0[_0x05df('0x58')](_0x48cfb7);}})[_0x05df('0x2c')](function(_0x2079c3){if(_0x2079c3){_0x53789f=_0x2079c3[_0x05df('0x4f')];if(!_0x388b50[_0x05df('0x40')]['hasOwnProperty'](_0x05df('0x57'))){_0x48cfb7[_0x05df('0x44')]=qs[_0x05df('0x44')](_0x388b50[_0x05df('0x40')][_0x05df('0x44')]);_0x48cfb7[_0x05df('0x28')]=qs[_0x05df('0x28')](_0x388b50[_0x05df('0x40')][_0x05df('0x28')]);}return _0x1daae0[_0x05df('0x58')](_0x48cfb7);}})[_0x05df('0x2c')](function(_0x2be68a){if(_0x2be68a){return _0x2be68a?{'count':_0x53789f,'rows':_0x2be68a}:null;}})[_0x05df('0x2c')](respondWithResult(_0x287888,null))[_0x05df('0x23')](handleError(_0x287888,null));};exports[_0x05df('0x59')]=function(_0x4609ae,_0x5dfd14,_0x4f67fb){var _0x5c4692={};var _0x1e61c7={};var _0xda0601;var _0x35f703;return db[_0x05df('0x38')]['findOne']({'where':{'id':_0x4609ae[_0x05df('0x4e')]['id']}})[_0x05df('0x2c')](handleEntityNotFound(_0x5dfd14,null))[_0x05df('0x2c')](function(_0x80400){if(_0x80400){_0xda0601=_0x80400;_0x1e61c7[_0x05df('0x3d')]=_[_0x05df('0x3e')](db[_0x05df('0x5a')][_0x05df('0x39')]);_0x1e61c7[_0x05df('0x40')]=_[_0x05df('0x3e')](_0x4609ae[_0x05df('0x40')]);_0x1e61c7[_0x05df('0x47')]=_['intersection'](_0x1e61c7[_0x05df('0x3d')],_0x1e61c7[_0x05df('0x40')]);_0x5c4692[_0x05df('0x42')]=_['intersection'](_0x1e61c7[_0x05df('0x3d')],qs[_0x05df('0x41')](_0x4609ae['query'][_0x05df('0x41')]));_0x5c4692[_0x05df('0x42')]=_0x5c4692[_0x05df('0x42')][_0x05df('0x4f')]?_0x5c4692[_0x05df('0x42')]:_0x1e61c7[_0x05df('0x3d')];_0x5c4692[_0x05df('0x56')]=qs[_0x05df('0x45')](_0x4609ae['query'][_0x05df('0x45')]);_0x5c4692[_0x05df('0x46')]=qs['filters'](_[_0x05df('0x48')](_0x4609ae[_0x05df('0x40')],_0x1e61c7[_0x05df('0x47')]));if(_0x4609ae[_0x05df('0x40')][_0x05df('0x49')]){_0x5c4692[_0x05df('0x46')]=_[_0x05df('0x31')](_0x5c4692['where'],{'$or':_['map'](_0x5c4692[_0x05df('0x42')],function(_0x4900fb){var _0x24740a={};_0x24740a[_0x4900fb]={'$like':'%'+_0x4609ae['query']['filter']+'%'};return _0x24740a;})});}_0x5c4692=_[_0x05df('0x31')]({},_0x5c4692,_0x4609ae[_0x05df('0x4a')]);return _0xda0601[_0x05df('0x59')](_0x5c4692);}})[_0x05df('0x2c')](function(_0x38f1bd){if(_0x38f1bd){_0x35f703=_0x38f1bd[_0x05df('0x4f')];if(!_0x4609ae[_0x05df('0x40')]['hasOwnProperty'](_0x05df('0x57'))){_0x5c4692[_0x05df('0x44')]=qs['limit'](_0x4609ae[_0x05df('0x40')][_0x05df('0x44')]);_0x5c4692[_0x05df('0x28')]=qs[_0x05df('0x28')](_0x4609ae[_0x05df('0x40')][_0x05df('0x28')]);}return _0xda0601['getDescriptions'](_0x5c4692);}})['then'](function(_0x119720){if(_0x119720){return _0x119720?{'count':_0x35f703,'rows':_0x119720}:null;}})['then'](respondWithResult(_0x5dfd14,null))[_0x05df('0x23')](handleError(_0x5dfd14,null));};