Built motion from commit (unavailable).|2.5.25
[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 _0xc535=['options','find','create','body','destroy','getFields','findOne','SalesforceField','getSubjects','getDescriptions','html-pdf','eml-format','rimraf','zip-dir','util','sox','to-csv','squel','crypto','jsforce','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','http','request','info','request\x20sent','error','SalesforceConfiguration,\x20%s,\x20%s','message','result','sendStatus','status','json','count','limit','set','Content-Range','apply','reject','save','then','stack','name','send','index','SalesforceConfiguration','fieldName','type','key','map','query','filters','intersection','attributes','model','fields','length','hasOwnProperty','nolimit','offset','order','sort','pick','filter','where','merge','VIRTUAL','includeAll','include','findAll','rows','catch','show','params','rawAttributes','keys'];(function(_0x1cd154,_0x465b41){var _0x22ed1a=function(_0x4c96f7){while(--_0x4c96f7){_0x1cd154['push'](_0x1cd154['shift']());}};_0x22ed1a(++_0x465b41);}(_0xc535,0x106));var _0x5c53=function(_0x4a5153,_0x5852f7){_0x4a5153=_0x4a5153-0x0;var _0x359059=_0xc535[_0x4a5153];return _0x359059;};'use strict';var pdf=require(_0x5c53('0x0'));var emlformat=require(_0x5c53('0x1'));var rimraf=require(_0x5c53('0x2'));var zipdir=require(_0x5c53('0x3'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x5c53('0x4'));var path=require('path');var sox=require(_0x5c53('0x5'));var csv=require(_0x5c53('0x6'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0x5c53('0x7'));var crypto=require(_0x5c53('0x8'));var jsforce=require(_0x5c53('0x9'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x5c53('0xa'));var Papa=require(_0x5c53('0xb'));var Redis=require('ioredis');var authService=require(_0x5c53('0xc'));var qs=require(_0x5c53('0xd'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x5c53('0xe'));var logger=require(_0x5c53('0xf'))(_0x5c53('0x10'));var utils=require(_0x5c53('0x11'));var config=require(_0x5c53('0x12'));var licenseUtil=require('../../config/license/util');var db=require(_0x5c53('0x13'))['db'];var jayson=require('jayson/promise');var client=jayson['client'][_0x5c53('0x14')]({'port':0x232a});function respondWithRpcPromise(_0x349683,_0x4ca806,_0x1aeff6,_0x3b3d88){return new BPromise(function(_0x45010e,_0x54ab9a){var _0x4a0802=_0x3b3d88||client;return _0x4a0802[_0x5c53('0x15')](_0x349683,_0x1aeff6)['then'](function(_0x584e52){logger[_0x5c53('0x16')]('SalesforceConfiguration,\x20%s,\x20%s',_0x4ca806,'request\x20sent');logger['debug']('SalesforceConfiguration,\x20%s,\x20%s,\x20%s',_0x4ca806,_0x5c53('0x17'),JSON['stringify'](_0x584e52));if(_0x584e52[_0x5c53('0x18')]){if(_0x584e52['error']['code']===0x1f4){logger[_0x5c53('0x18')](_0x5c53('0x19'),_0x4ca806,_0x584e52[_0x5c53('0x18')][_0x5c53('0x1a')]);return _0x54ab9a(_0x584e52[_0x5c53('0x18')][_0x5c53('0x1a')]);}logger[_0x5c53('0x18')](_0x5c53('0x19'),_0x4ca806,_0x584e52[_0x5c53('0x18')]['message']);return _0x45010e(_0x584e52[_0x5c53('0x18')][_0x5c53('0x1a')]);}else{logger[_0x5c53('0x16')](_0x5c53('0x19'),_0x4ca806,_0x5c53('0x17'));_0x45010e(_0x584e52[_0x5c53('0x1b')][_0x5c53('0x1a')]);}})['catch'](function(_0x3eae6d){logger[_0x5c53('0x18')](_0x5c53('0x19'),_0x4ca806,_0x3eae6d);_0x54ab9a(_0x3eae6d);});});}function respondWithStatusCode(_0x45a9af,_0x3d43f5){_0x3d43f5=_0x3d43f5||0xcc;return function(_0x24a1a1){if(_0x24a1a1){return _0x45a9af[_0x5c53('0x1c')](_0x3d43f5);}return _0x45a9af[_0x5c53('0x1d')](_0x3d43f5)['end']();};}function respondWithResult(_0x4dd4fe,_0x5d5baf){_0x5d5baf=_0x5d5baf||0xc8;return function(_0x381e85){if(_0x381e85){return _0x4dd4fe[_0x5c53('0x1d')](_0x5d5baf)[_0x5c53('0x1e')](_0x381e85);}};}function respondWithFilteredResult(_0x409b49,_0x37953d){return function(_0x5843d4){if(_0x5843d4){var _0x4adca6=_0x5843d4[_0x5c53('0x1f')],_0x2081c5=_0x37953d['offset'],_0x11263c=_0x37953d['offset']+_0x37953d[_0x5c53('0x20')],_0x55d9a4;if(_0x11263c>=_0x4adca6){_0x11263c=_0x4adca6;_0x55d9a4=0xc8;}else{_0x55d9a4=0xce;}_0x409b49[_0x5c53('0x1d')](_0x55d9a4);return _0x409b49[_0x5c53('0x21')](_0x5c53('0x22'),_0x2081c5+'-'+_0x11263c+'/'+_0x4adca6)['json'](_0x5843d4);}return null;};}function patchUpdates(_0x37e1f2){return function(_0x122aa1){try{jsonpatch[_0x5c53('0x23')](_0x122aa1,_0x37e1f2,!![]);}catch(_0x2dee3b){return BPromise[_0x5c53('0x24')](_0x2dee3b);}return _0x122aa1[_0x5c53('0x25')]();};}function saveUpdates(_0x24bf1f,_0x59005b){return function(_0x5ed529){if(_0x5ed529){return _0x5ed529['update'](_0x24bf1f)[_0x5c53('0x26')](function(_0x259ba6){return _0x259ba6;});}return null;};}function removeEntity(_0x2c6ff6,_0x133013){return function(_0x3f6167){if(_0x3f6167){return _0x3f6167['destroy']()[_0x5c53('0x26')](function(){_0x2c6ff6[_0x5c53('0x1d')](0xcc)['end']();});}};}function handleEntityNotFound(_0xbe47d4,_0x5703cb){return function(_0x3b32ee){if(!_0x3b32ee){_0xbe47d4[_0x5c53('0x1c')](0x194);}return _0x3b32ee;};}function handleError(_0x444d74,_0x42dcea){_0x42dcea=_0x42dcea||0x1f4;return function(_0xc1df62){logger[_0x5c53('0x18')](_0xc1df62[_0x5c53('0x27')]);if(_0xc1df62[_0x5c53('0x28')]){delete _0xc1df62[_0x5c53('0x28')];}_0x444d74[_0x5c53('0x1d')](_0x42dcea)[_0x5c53('0x29')](_0xc1df62);};}exports[_0x5c53('0x2a')]=function(_0x5748de,_0x3a3822){var _0xb5a48={},_0x1e8ebf={},_0x42a712={'count':0x0,'rows':[]};var _0x2e0f65=_['map'](db[_0x5c53('0x2b')]['rawAttributes'],function(_0x1657ea){return{'name':_0x1657ea[_0x5c53('0x2c')],'type':_0x1657ea[_0x5c53('0x2d')][_0x5c53('0x2e')]};});_0x1e8ebf['model']=_[_0x5c53('0x2f')](_0x2e0f65,_0x5c53('0x28'));_0x1e8ebf[_0x5c53('0x30')]=_['keys'](_0x5748de[_0x5c53('0x30')]);_0x1e8ebf[_0x5c53('0x31')]=_[_0x5c53('0x32')](_0x1e8ebf['model'],_0x1e8ebf[_0x5c53('0x30')]);_0xb5a48[_0x5c53('0x33')]=_[_0x5c53('0x32')](_0x1e8ebf[_0x5c53('0x34')],qs[_0x5c53('0x35')](_0x5748de[_0x5c53('0x30')][_0x5c53('0x35')]));_0xb5a48[_0x5c53('0x33')]=_0xb5a48[_0x5c53('0x33')][_0x5c53('0x36')]?_0xb5a48[_0x5c53('0x33')]:_0x1e8ebf[_0x5c53('0x34')];if(!_0x5748de['query'][_0x5c53('0x37')](_0x5c53('0x38'))){_0xb5a48[_0x5c53('0x20')]=qs[_0x5c53('0x20')](_0x5748de[_0x5c53('0x30')][_0x5c53('0x20')]);_0xb5a48[_0x5c53('0x39')]=qs[_0x5c53('0x39')](_0x5748de[_0x5c53('0x30')]['offset']);}_0xb5a48[_0x5c53('0x3a')]=qs[_0x5c53('0x3b')](_0x5748de[_0x5c53('0x30')]['sort']);_0xb5a48['where']=qs['filters'](_[_0x5c53('0x3c')](_0x5748de[_0x5c53('0x30')],_0x1e8ebf[_0x5c53('0x31')]),_0x2e0f65);if(_0x5748de[_0x5c53('0x30')][_0x5c53('0x3d')]){_0xb5a48[_0x5c53('0x3e')]=_[_0x5c53('0x3f')](_0xb5a48[_0x5c53('0x3e')],{'$or':_[_0x5c53('0x2f')](_0x2e0f65,function(_0x4b4357){if(_0x4b4357[_0x5c53('0x2d')]!==_0x5c53('0x40')){var _0x54bb9f={};_0x54bb9f[_0x4b4357[_0x5c53('0x28')]]={'$like':'%'+_0x5748de[_0x5c53('0x30')][_0x5c53('0x3d')]+'%'};return _0x54bb9f;}})});}_0xb5a48=_[_0x5c53('0x3f')]({},_0xb5a48,_0x5748de['options']);var _0x1b7d62={'where':_0xb5a48['where']};return db[_0x5c53('0x2b')][_0x5c53('0x1f')](_0x1b7d62)[_0x5c53('0x26')](function(_0x3d127f){_0x42a712['count']=_0x3d127f;if(_0x5748de[_0x5c53('0x30')][_0x5c53('0x41')]){_0xb5a48[_0x5c53('0x42')]=[{'all':!![]}];}return db['SalesforceConfiguration'][_0x5c53('0x43')](_0xb5a48);})[_0x5c53('0x26')](function(_0xf86fb6){_0x42a712[_0x5c53('0x44')]=_0xf86fb6;return _0x42a712;})[_0x5c53('0x26')](respondWithFilteredResult(_0x3a3822,_0xb5a48))[_0x5c53('0x45')](handleError(_0x3a3822,null));};exports[_0x5c53('0x46')]=function(_0x3dba54,_0x3e973a){var _0x46d524={'raw':![],'where':{'id':_0x3dba54[_0x5c53('0x47')]['id']}},_0x55f1ae={};_0x55f1ae[_0x5c53('0x34')]=_['keys'](db[_0x5c53('0x2b')][_0x5c53('0x48')]);_0x55f1ae[_0x5c53('0x30')]=_[_0x5c53('0x49')](_0x3dba54[_0x5c53('0x30')]);_0x55f1ae[_0x5c53('0x31')]=_[_0x5c53('0x32')](_0x55f1ae[_0x5c53('0x34')],_0x55f1ae[_0x5c53('0x30')]);_0x46d524['attributes']=_[_0x5c53('0x32')](_0x55f1ae[_0x5c53('0x34')],qs['fields'](_0x3dba54[_0x5c53('0x30')][_0x5c53('0x35')]));_0x46d524[_0x5c53('0x33')]=_0x46d524['attributes'][_0x5c53('0x36')]?_0x46d524['attributes']:_0x55f1ae['model'];if(_0x3dba54[_0x5c53('0x30')][_0x5c53('0x41')]){_0x46d524[_0x5c53('0x42')]=[{'all':!![]}];}_0x46d524=_[_0x5c53('0x3f')]({},_0x46d524,_0x3dba54[_0x5c53('0x4a')]);return db['SalesforceConfiguration'][_0x5c53('0x4b')](_0x46d524)[_0x5c53('0x26')](handleEntityNotFound(_0x3e973a,null))[_0x5c53('0x26')](respondWithResult(_0x3e973a,null))[_0x5c53('0x45')](handleError(_0x3e973a,null));};exports[_0x5c53('0x4c')]=function(_0x532b1a,_0x2be033){return db['SalesforceConfiguration'][_0x5c53('0x4c')](_0x532b1a[_0x5c53('0x4d')],{})[_0x5c53('0x26')](respondWithResult(_0x2be033,0xc9))[_0x5c53('0x45')](handleError(_0x2be033,null));};exports['update']=function(_0x5b559b,_0x158292){if(_0x5b559b[_0x5c53('0x4d')]['id']){delete _0x5b559b[_0x5c53('0x4d')]['id'];}return db[_0x5c53('0x2b')][_0x5c53('0x4b')]({'where':{'id':_0x5b559b[_0x5c53('0x47')]['id']}})[_0x5c53('0x26')](handleEntityNotFound(_0x158292,null))['then'](saveUpdates(_0x5b559b[_0x5c53('0x4d')],null))[_0x5c53('0x26')](respondWithResult(_0x158292,null))['catch'](handleError(_0x158292,null));};exports[_0x5c53('0x4e')]=function(_0x574961,_0x46bf3e){return db[_0x5c53('0x2b')][_0x5c53('0x4b')]({'where':{'id':_0x574961[_0x5c53('0x47')]['id']}})[_0x5c53('0x26')](handleEntityNotFound(_0x46bf3e,null))['then'](removeEntity(_0x46bf3e,null))['catch'](handleError(_0x46bf3e,null));};exports[_0x5c53('0x4f')]=function(_0x460607,_0xccc225,_0x32448c){var _0x28082a={};var _0xbbeb63={};var _0x30fe2d;var _0x43f418;return db[_0x5c53('0x2b')][_0x5c53('0x50')]({'where':{'id':_0x460607['params']['id']}})['then'](handleEntityNotFound(_0xccc225,null))[_0x5c53('0x26')](function(_0x39f993){if(_0x39f993){_0x30fe2d=_0x39f993;_0xbbeb63['model']=_[_0x5c53('0x49')](db[_0x5c53('0x51')][_0x5c53('0x48')]);_0xbbeb63['query']=_[_0x5c53('0x49')](_0x460607[_0x5c53('0x30')]);_0xbbeb63[_0x5c53('0x31')]=_[_0x5c53('0x32')](_0xbbeb63[_0x5c53('0x34')],_0xbbeb63[_0x5c53('0x30')]);_0x28082a[_0x5c53('0x33')]=_[_0x5c53('0x32')](_0xbbeb63[_0x5c53('0x34')],qs[_0x5c53('0x35')](_0x460607[_0x5c53('0x30')][_0x5c53('0x35')]));_0x28082a['attributes']=_0x28082a['attributes'][_0x5c53('0x36')]?_0x28082a[_0x5c53('0x33')]:_0xbbeb63['model'];_0x28082a['order']=qs[_0x5c53('0x3b')](_0x460607[_0x5c53('0x30')]['sort']);_0x28082a[_0x5c53('0x3e')]=qs[_0x5c53('0x31')](_[_0x5c53('0x3c')](_0x460607[_0x5c53('0x30')],_0xbbeb63[_0x5c53('0x31')]));if(_0x460607['query'][_0x5c53('0x3d')]){_0x28082a['where']=_[_0x5c53('0x3f')](_0x28082a[_0x5c53('0x3e')],{'$or':_['map'](_0x28082a['attributes'],function(_0x3a84c1){var _0x3094eb={};_0x3094eb[_0x3a84c1]={'$like':'%'+_0x460607[_0x5c53('0x30')][_0x5c53('0x3d')]+'%'};return _0x3094eb;})});}_0x28082a=_['merge']({},_0x28082a,_0x460607[_0x5c53('0x4a')]);return _0x30fe2d['getFields'](_0x28082a);}})[_0x5c53('0x26')](function(_0x5a7fd2){if(_0x5a7fd2){_0x43f418=_0x5a7fd2[_0x5c53('0x36')];if(!_0x460607[_0x5c53('0x30')][_0x5c53('0x37')](_0x5c53('0x38'))){_0x28082a[_0x5c53('0x20')]=qs['limit'](_0x460607[_0x5c53('0x30')]['limit']);_0x28082a[_0x5c53('0x39')]=qs['offset'](_0x460607['query']['offset']);}return _0x30fe2d[_0x5c53('0x4f')](_0x28082a);}})['then'](function(_0x3c645c){if(_0x3c645c){return _0x3c645c?{'count':_0x43f418,'rows':_0x3c645c}:null;}})[_0x5c53('0x26')](respondWithResult(_0xccc225,null))[_0x5c53('0x45')](handleError(_0xccc225,null));};exports['getSubjects']=function(_0x40d3d5,_0x2672bd,_0x2d0150){var _0x4ad88a={};var _0xb05ae4={};var _0x3e2b64;var _0xf6a20f;return db[_0x5c53('0x2b')]['findOne']({'where':{'id':_0x40d3d5['params']['id']}})[_0x5c53('0x26')](handleEntityNotFound(_0x2672bd,null))[_0x5c53('0x26')](function(_0x3d27bb){if(_0x3d27bb){_0x3e2b64=_0x3d27bb;_0xb05ae4[_0x5c53('0x34')]=_[_0x5c53('0x49')](db['SalesforceField'][_0x5c53('0x48')]);_0xb05ae4[_0x5c53('0x30')]=_['keys'](_0x40d3d5['query']);_0xb05ae4[_0x5c53('0x31')]=_[_0x5c53('0x32')](_0xb05ae4[_0x5c53('0x34')],_0xb05ae4[_0x5c53('0x30')]);_0x4ad88a[_0x5c53('0x33')]=_[_0x5c53('0x32')](_0xb05ae4[_0x5c53('0x34')],qs['fields'](_0x40d3d5[_0x5c53('0x30')]['fields']));_0x4ad88a['attributes']=_0x4ad88a[_0x5c53('0x33')][_0x5c53('0x36')]?_0x4ad88a[_0x5c53('0x33')]:_0xb05ae4['model'];_0x4ad88a[_0x5c53('0x3a')]=qs[_0x5c53('0x3b')](_0x40d3d5['query'][_0x5c53('0x3b')]);_0x4ad88a[_0x5c53('0x3e')]=qs[_0x5c53('0x31')](_[_0x5c53('0x3c')](_0x40d3d5[_0x5c53('0x30')],_0xb05ae4[_0x5c53('0x31')]));if(_0x40d3d5[_0x5c53('0x30')][_0x5c53('0x3d')]){_0x4ad88a[_0x5c53('0x3e')]=_[_0x5c53('0x3f')](_0x4ad88a[_0x5c53('0x3e')],{'$or':_[_0x5c53('0x2f')](_0x4ad88a[_0x5c53('0x33')],function(_0x26264c){var _0x3a86e9={};_0x3a86e9[_0x26264c]={'$like':'%'+_0x40d3d5[_0x5c53('0x30')][_0x5c53('0x3d')]+'%'};return _0x3a86e9;})});}_0x4ad88a=_[_0x5c53('0x3f')]({},_0x4ad88a,_0x40d3d5['options']);return _0x3e2b64[_0x5c53('0x52')](_0x4ad88a);}})['then'](function(_0x152d5b){if(_0x152d5b){_0xf6a20f=_0x152d5b[_0x5c53('0x36')];if(!_0x40d3d5[_0x5c53('0x30')][_0x5c53('0x37')](_0x5c53('0x38'))){_0x4ad88a['limit']=qs[_0x5c53('0x20')](_0x40d3d5[_0x5c53('0x30')][_0x5c53('0x20')]);_0x4ad88a[_0x5c53('0x39')]=qs[_0x5c53('0x39')](_0x40d3d5[_0x5c53('0x30')][_0x5c53('0x39')]);}return _0x3e2b64['getSubjects'](_0x4ad88a);}})[_0x5c53('0x26')](function(_0x5da4ea){if(_0x5da4ea){return _0x5da4ea?{'count':_0xf6a20f,'rows':_0x5da4ea}:null;}})[_0x5c53('0x26')](respondWithResult(_0x2672bd,null))[_0x5c53('0x45')](handleError(_0x2672bd,null));};exports['getDescriptions']=function(_0x4f9b04,_0x3b2db5,_0x1c4231){var _0x23edee={};var _0x2903ca={};var _0x533693;var _0x3847b5;return db[_0x5c53('0x2b')][_0x5c53('0x50')]({'where':{'id':_0x4f9b04[_0x5c53('0x47')]['id']}})[_0x5c53('0x26')](handleEntityNotFound(_0x3b2db5,null))['then'](function(_0x4ed5df){if(_0x4ed5df){_0x533693=_0x4ed5df;_0x2903ca[_0x5c53('0x34')]=_[_0x5c53('0x49')](db[_0x5c53('0x51')][_0x5c53('0x48')]);_0x2903ca['query']=_['keys'](_0x4f9b04['query']);_0x2903ca[_0x5c53('0x31')]=_[_0x5c53('0x32')](_0x2903ca[_0x5c53('0x34')],_0x2903ca[_0x5c53('0x30')]);_0x23edee[_0x5c53('0x33')]=_[_0x5c53('0x32')](_0x2903ca[_0x5c53('0x34')],qs['fields'](_0x4f9b04[_0x5c53('0x30')][_0x5c53('0x35')]));_0x23edee['attributes']=_0x23edee['attributes'][_0x5c53('0x36')]?_0x23edee['attributes']:_0x2903ca[_0x5c53('0x34')];_0x23edee['order']=qs['sort'](_0x4f9b04[_0x5c53('0x30')][_0x5c53('0x3b')]);_0x23edee['where']=qs[_0x5c53('0x31')](_[_0x5c53('0x3c')](_0x4f9b04[_0x5c53('0x30')],_0x2903ca[_0x5c53('0x31')]));if(_0x4f9b04[_0x5c53('0x30')]['filter']){_0x23edee[_0x5c53('0x3e')]=_[_0x5c53('0x3f')](_0x23edee[_0x5c53('0x3e')],{'$or':_[_0x5c53('0x2f')](_0x23edee[_0x5c53('0x33')],function(_0x4a2d05){var _0x4608b8={};_0x4608b8[_0x4a2d05]={'$like':'%'+_0x4f9b04['query'][_0x5c53('0x3d')]+'%'};return _0x4608b8;})});}_0x23edee=_[_0x5c53('0x3f')]({},_0x23edee,_0x4f9b04[_0x5c53('0x4a')]);return _0x533693[_0x5c53('0x53')](_0x23edee);}})[_0x5c53('0x26')](function(_0x39045a){if(_0x39045a){_0x3847b5=_0x39045a[_0x5c53('0x36')];if(!_0x4f9b04['query'][_0x5c53('0x37')](_0x5c53('0x38'))){_0x23edee['limit']=qs[_0x5c53('0x20')](_0x4f9b04['query'][_0x5c53('0x20')]);_0x23edee['offset']=qs[_0x5c53('0x39')](_0x4f9b04['query'][_0x5c53('0x39')]);}return _0x533693[_0x5c53('0x53')](_0x23edee);}})['then'](function(_0x3d9de0){if(_0x3d9de0){return _0x3d9de0?{'count':_0x3847b5,'rows':_0x3d9de0}:null;}})[_0x5c53('0x26')](respondWithResult(_0x3b2db5,null))[_0x5c53('0x45')](handleError(_0x3b2db5,null));};