2b3dfef5280965bd91e39faa27ada85a6a8fa9b2
[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 _0x0745=['attributes','fields','length','hasOwnProperty','limit','order','sort','where','filter','merge','type','VIRTUAL','includeAll','include','findAll','rows','show','params','find','create','body','getFields','findOne','rawAttributes','pick','options','nolimit','getSubjects','SalesforceField','getDescriptions','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','jayson/promise','http','request','then','info','SalesforceConfiguration,\x20%s,\x20%s','request\x20sent','debug','SalesforceConfiguration,\x20%s,\x20%s,\x20%s','error','code','message','result','catch','sendStatus','status','end','json','count','offset','set','apply','reject','save','update','destroy','stack','name','send','index','map','SalesforceConfiguration','model','query','keys','filters','intersection'];(function(_0x5b1f02,_0x2ae95d){var _0x51381b=function(_0x3a266b){while(--_0x3a266b){_0x5b1f02['push'](_0x5b1f02['shift']());}};_0x51381b(++_0x2ae95d);}(_0x0745,0x1f4));var _0x5074=function(_0x13b8f3,_0x442821){_0x13b8f3=_0x13b8f3-0x0;var _0x1a6d06=_0x0745[_0x13b8f3];return _0x1a6d06;};'use strict';var pdf=require(_0x5074('0x0'));var emlformat=require(_0x5074('0x1'));var rimraf=require(_0x5074('0x2'));var zipdir=require(_0x5074('0x3'));var jsonpatch=require(_0x5074('0x4'));var rp=require('request-promise');var moment=require(_0x5074('0x5'));var BPromise=require(_0x5074('0x6'));var Mustache=require(_0x5074('0x7'));var util=require(_0x5074('0x8'));var path=require(_0x5074('0x9'));var sox=require('sox');var csv=require(_0x5074('0xa'));var ejs=require(_0x5074('0xb'));var fs=require('fs');var _=require(_0x5074('0xc'));var squel=require(_0x5074('0xd'));var crypto=require('crypto');var jsforce=require(_0x5074('0xe'));var deskjs=require(_0x5074('0xf'));var toCsv=require('to-csv');var querystring=require(_0x5074('0x10'));var Papa=require(_0x5074('0x11'));var Redis=require(_0x5074('0x12'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x5074('0x13'));var hardwareService=require(_0x5074('0x14'));var logger=require(_0x5074('0x15'))(_0x5074('0x16'));var utils=require(_0x5074('0x17'));var config=require(_0x5074('0x18'));var licenseUtil=require(_0x5074('0x19'));var db=require(_0x5074('0x1a'))['db'];var jayson=require(_0x5074('0x1b'));var client=jayson['client'][_0x5074('0x1c')]({'port':0x232a});function respondWithRpcPromise(_0x4ad244,_0x37a2be,_0x400944,_0x5b37d8){return new BPromise(function(_0x19dd4d,_0xf82e41){var _0x117556=_0x5b37d8||client;return _0x117556[_0x5074('0x1d')](_0x4ad244,_0x400944)[_0x5074('0x1e')](function(_0x24cdcc){logger[_0x5074('0x1f')](_0x5074('0x20'),_0x37a2be,_0x5074('0x21'));logger[_0x5074('0x22')](_0x5074('0x23'),_0x37a2be,'request\x20sent',JSON['stringify'](_0x24cdcc));if(_0x24cdcc[_0x5074('0x24')]){if(_0x24cdcc[_0x5074('0x24')][_0x5074('0x25')]===0x1f4){logger[_0x5074('0x24')](_0x5074('0x20'),_0x37a2be,_0x24cdcc[_0x5074('0x24')][_0x5074('0x26')]);return _0xf82e41(_0x24cdcc[_0x5074('0x24')]['message']);}logger[_0x5074('0x24')](_0x5074('0x20'),_0x37a2be,_0x24cdcc[_0x5074('0x24')]['message']);return _0x19dd4d(_0x24cdcc[_0x5074('0x24')][_0x5074('0x26')]);}else{logger[_0x5074('0x1f')](_0x5074('0x20'),_0x37a2be,_0x5074('0x21'));_0x19dd4d(_0x24cdcc[_0x5074('0x27')][_0x5074('0x26')]);}})[_0x5074('0x28')](function(_0x41bd7f){logger[_0x5074('0x24')](_0x5074('0x20'),_0x37a2be,_0x41bd7f);_0xf82e41(_0x41bd7f);});});}function respondWithStatusCode(_0x4ffe63,_0x2b5267){_0x2b5267=_0x2b5267||0xcc;return function(_0x17150a){if(_0x17150a){return _0x4ffe63[_0x5074('0x29')](_0x2b5267);}return _0x4ffe63[_0x5074('0x2a')](_0x2b5267)[_0x5074('0x2b')]();};}function respondWithResult(_0x40edaa,_0x559405){_0x559405=_0x559405||0xc8;return function(_0x394e9e){if(_0x394e9e){return _0x40edaa[_0x5074('0x2a')](_0x559405)[_0x5074('0x2c')](_0x394e9e);}};}function respondWithFilteredResult(_0x3d6075,_0x3f6945){return function(_0x287d47){if(_0x287d47){var _0x33dbf5=_0x287d47[_0x5074('0x2d')],_0x56256e=_0x3f6945[_0x5074('0x2e')],_0x1c3567=_0x3f6945['offset']+_0x3f6945['limit'],_0x3d3cb0;if(_0x1c3567>=_0x33dbf5){_0x1c3567=_0x33dbf5;_0x3d3cb0=0xc8;}else{_0x3d3cb0=0xce;}_0x3d6075['status'](_0x3d3cb0);return _0x3d6075[_0x5074('0x2f')]('Content-Range',_0x56256e+'-'+_0x1c3567+'/'+_0x33dbf5)[_0x5074('0x2c')](_0x287d47);}return null;};}function patchUpdates(_0x57962d){return function(_0x4794dd){try{jsonpatch[_0x5074('0x30')](_0x4794dd,_0x57962d,!![]);}catch(_0x2d1144){return BPromise[_0x5074('0x31')](_0x2d1144);}return _0x4794dd[_0x5074('0x32')]();};}function saveUpdates(_0x360409,_0x3413b8){return function(_0x3b8be7){if(_0x3b8be7){return _0x3b8be7[_0x5074('0x33')](_0x360409)[_0x5074('0x1e')](function(_0x8636a8){return _0x8636a8;});}return null;};}function removeEntity(_0x2aa9a8,_0x13f268){return function(_0xa45b04){if(_0xa45b04){return _0xa45b04[_0x5074('0x34')]()['then'](function(){_0x2aa9a8['status'](0xcc)[_0x5074('0x2b')]();});}};}function handleEntityNotFound(_0x2eea46,_0x41a557){return function(_0x5c9edb){if(!_0x5c9edb){_0x2eea46[_0x5074('0x29')](0x194);}return _0x5c9edb;};}function handleError(_0x3fe5fe,_0x42452c){_0x42452c=_0x42452c||0x1f4;return function(_0x5c29c8){logger[_0x5074('0x24')](_0x5c29c8[_0x5074('0x35')]);if(_0x5c29c8['name']){delete _0x5c29c8[_0x5074('0x36')];}_0x3fe5fe[_0x5074('0x2a')](_0x42452c)[_0x5074('0x37')](_0x5c29c8);};}exports[_0x5074('0x38')]=function(_0x1c206f,_0x2e2d3b){var _0x3c50d0={},_0x492cd8={},_0x5e2132={'count':0x0,'rows':[]};var _0x75035c=_[_0x5074('0x39')](db[_0x5074('0x3a')]['rawAttributes'],function(_0x32f964){return{'name':_0x32f964['fieldName'],'type':_0x32f964['type']['key']};});_0x492cd8[_0x5074('0x3b')]=_['map'](_0x75035c,_0x5074('0x36'));_0x492cd8[_0x5074('0x3c')]=_[_0x5074('0x3d')](_0x1c206f['query']);_0x492cd8[_0x5074('0x3e')]=_[_0x5074('0x3f')](_0x492cd8[_0x5074('0x3b')],_0x492cd8[_0x5074('0x3c')]);_0x3c50d0[_0x5074('0x40')]=_[_0x5074('0x3f')](_0x492cd8['model'],qs['fields'](_0x1c206f[_0x5074('0x3c')][_0x5074('0x41')]));_0x3c50d0[_0x5074('0x40')]=_0x3c50d0[_0x5074('0x40')][_0x5074('0x42')]?_0x3c50d0[_0x5074('0x40')]:_0x492cd8[_0x5074('0x3b')];if(!_0x1c206f[_0x5074('0x3c')][_0x5074('0x43')]('nolimit')){_0x3c50d0[_0x5074('0x44')]=qs[_0x5074('0x44')](_0x1c206f[_0x5074('0x3c')]['limit']);_0x3c50d0[_0x5074('0x2e')]=qs['offset'](_0x1c206f[_0x5074('0x3c')][_0x5074('0x2e')]);}_0x3c50d0[_0x5074('0x45')]=qs[_0x5074('0x46')](_0x1c206f['query'][_0x5074('0x46')]);_0x3c50d0[_0x5074('0x47')]=qs[_0x5074('0x3e')](_['pick'](_0x1c206f[_0x5074('0x3c')],_0x492cd8[_0x5074('0x3e')]),_0x75035c);if(_0x1c206f[_0x5074('0x3c')][_0x5074('0x48')]){_0x3c50d0[_0x5074('0x47')]=_[_0x5074('0x49')](_0x3c50d0['where'],{'$or':_[_0x5074('0x39')](_0x75035c,function(_0x3af8fc){if(_0x3af8fc[_0x5074('0x4a')]!==_0x5074('0x4b')){var _0xa4ab23={};_0xa4ab23[_0x3af8fc[_0x5074('0x36')]]={'$like':'%'+_0x1c206f[_0x5074('0x3c')][_0x5074('0x48')]+'%'};return _0xa4ab23;}})});}_0x3c50d0=_[_0x5074('0x49')]({},_0x3c50d0,_0x1c206f['options']);var _0x2a8b94={'where':_0x3c50d0['where']};return db[_0x5074('0x3a')][_0x5074('0x2d')](_0x2a8b94)[_0x5074('0x1e')](function(_0x5de26b){_0x5e2132['count']=_0x5de26b;if(_0x1c206f[_0x5074('0x3c')][_0x5074('0x4c')]){_0x3c50d0[_0x5074('0x4d')]=[{'all':!![]}];}return db[_0x5074('0x3a')][_0x5074('0x4e')](_0x3c50d0);})[_0x5074('0x1e')](function(_0x2d91ff){_0x5e2132[_0x5074('0x4f')]=_0x2d91ff;return _0x5e2132;})[_0x5074('0x1e')](respondWithFilteredResult(_0x2e2d3b,_0x3c50d0))['catch'](handleError(_0x2e2d3b,null));};exports[_0x5074('0x50')]=function(_0x2b4747,_0x7e9a00){var _0x49e927={'raw':![],'where':{'id':_0x2b4747[_0x5074('0x51')]['id']}},_0x389143={};_0x389143['model']=_[_0x5074('0x3d')](db['SalesforceConfiguration']['rawAttributes']);_0x389143[_0x5074('0x3c')]=_[_0x5074('0x3d')](_0x2b4747[_0x5074('0x3c')]);_0x389143[_0x5074('0x3e')]=_[_0x5074('0x3f')](_0x389143['model'],_0x389143[_0x5074('0x3c')]);_0x49e927[_0x5074('0x40')]=_[_0x5074('0x3f')](_0x389143[_0x5074('0x3b')],qs['fields'](_0x2b4747[_0x5074('0x3c')][_0x5074('0x41')]));_0x49e927['attributes']=_0x49e927[_0x5074('0x40')]['length']?_0x49e927[_0x5074('0x40')]:_0x389143[_0x5074('0x3b')];if(_0x2b4747[_0x5074('0x3c')][_0x5074('0x4c')]){_0x49e927[_0x5074('0x4d')]=[{'all':!![]}];}_0x49e927=_[_0x5074('0x49')]({},_0x49e927,_0x2b4747['options']);return db[_0x5074('0x3a')][_0x5074('0x52')](_0x49e927)[_0x5074('0x1e')](handleEntityNotFound(_0x7e9a00,null))[_0x5074('0x1e')](respondWithResult(_0x7e9a00,null))[_0x5074('0x28')](handleError(_0x7e9a00,null));};exports[_0x5074('0x53')]=function(_0x2ca46e,_0x24205e){return db[_0x5074('0x3a')]['create'](_0x2ca46e[_0x5074('0x54')],{})[_0x5074('0x1e')](respondWithResult(_0x24205e,0xc9))[_0x5074('0x28')](handleError(_0x24205e,null));};exports[_0x5074('0x33')]=function(_0x215b24,_0x3be597){if(_0x215b24[_0x5074('0x54')]['id']){delete _0x215b24[_0x5074('0x54')]['id'];}return db['SalesforceConfiguration'][_0x5074('0x52')]({'where':{'id':_0x215b24[_0x5074('0x51')]['id']}})[_0x5074('0x1e')](handleEntityNotFound(_0x3be597,null))['then'](saveUpdates(_0x215b24[_0x5074('0x54')],null))[_0x5074('0x1e')](respondWithResult(_0x3be597,null))[_0x5074('0x28')](handleError(_0x3be597,null));};exports[_0x5074('0x34')]=function(_0x260cb4,_0x4a4342){return db[_0x5074('0x3a')][_0x5074('0x52')]({'where':{'id':_0x260cb4['params']['id']}})[_0x5074('0x1e')](handleEntityNotFound(_0x4a4342,null))[_0x5074('0x1e')](removeEntity(_0x4a4342,null))['catch'](handleError(_0x4a4342,null));};exports[_0x5074('0x55')]=function(_0x1c745e,_0x1a2bee,_0x1a70cc){var _0xffd648={};var _0x4e1a84={};var _0xce1880;var _0x3bec13;return db[_0x5074('0x3a')][_0x5074('0x56')]({'where':{'id':_0x1c745e[_0x5074('0x51')]['id']}})[_0x5074('0x1e')](handleEntityNotFound(_0x1a2bee,null))[_0x5074('0x1e')](function(_0x449508){if(_0x449508){_0xce1880=_0x449508;_0x4e1a84[_0x5074('0x3b')]=_['keys'](db['SalesforceField'][_0x5074('0x57')]);_0x4e1a84[_0x5074('0x3c')]=_['keys'](_0x1c745e[_0x5074('0x3c')]);_0x4e1a84[_0x5074('0x3e')]=_['intersection'](_0x4e1a84['model'],_0x4e1a84['query']);_0xffd648[_0x5074('0x40')]=_[_0x5074('0x3f')](_0x4e1a84['model'],qs[_0x5074('0x41')](_0x1c745e[_0x5074('0x3c')]['fields']));_0xffd648[_0x5074('0x40')]=_0xffd648[_0x5074('0x40')][_0x5074('0x42')]?_0xffd648[_0x5074('0x40')]:_0x4e1a84[_0x5074('0x3b')];_0xffd648[_0x5074('0x45')]=qs['sort'](_0x1c745e[_0x5074('0x3c')][_0x5074('0x46')]);_0xffd648[_0x5074('0x47')]=qs[_0x5074('0x3e')](_[_0x5074('0x58')](_0x1c745e['query'],_0x4e1a84[_0x5074('0x3e')]));if(_0x1c745e[_0x5074('0x3c')][_0x5074('0x48')]){_0xffd648[_0x5074('0x47')]=_[_0x5074('0x49')](_0xffd648['where'],{'$or':_[_0x5074('0x39')](_0xffd648[_0x5074('0x40')],function(_0x43b1f3){var _0x1c92e5={};_0x1c92e5[_0x43b1f3]={'$like':'%'+_0x1c745e['query'][_0x5074('0x48')]+'%'};return _0x1c92e5;})});}_0xffd648=_[_0x5074('0x49')]({},_0xffd648,_0x1c745e[_0x5074('0x59')]);return _0xce1880[_0x5074('0x55')](_0xffd648);}})[_0x5074('0x1e')](function(_0x35c740){if(_0x35c740){_0x3bec13=_0x35c740[_0x5074('0x42')];if(!_0x1c745e[_0x5074('0x3c')][_0x5074('0x43')](_0x5074('0x5a'))){_0xffd648[_0x5074('0x44')]=qs['limit'](_0x1c745e[_0x5074('0x3c')][_0x5074('0x44')]);_0xffd648[_0x5074('0x2e')]=qs[_0x5074('0x2e')](_0x1c745e['query'][_0x5074('0x2e')]);}return _0xce1880[_0x5074('0x55')](_0xffd648);}})['then'](function(_0x4b4ccb){if(_0x4b4ccb){return _0x4b4ccb?{'count':_0x3bec13,'rows':_0x4b4ccb}:null;}})[_0x5074('0x1e')](respondWithResult(_0x1a2bee,null))[_0x5074('0x28')](handleError(_0x1a2bee,null));};exports[_0x5074('0x5b')]=function(_0x49fbd0,_0x2d4f90,_0x241104){var _0x3117bd={};var _0x3f7fed={};var _0x1f47b6;var _0x3fa607;return db['SalesforceConfiguration'][_0x5074('0x56')]({'where':{'id':_0x49fbd0[_0x5074('0x51')]['id']}})['then'](handleEntityNotFound(_0x2d4f90,null))[_0x5074('0x1e')](function(_0x253e6b){if(_0x253e6b){_0x1f47b6=_0x253e6b;_0x3f7fed[_0x5074('0x3b')]=_['keys'](db[_0x5074('0x5c')][_0x5074('0x57')]);_0x3f7fed[_0x5074('0x3c')]=_[_0x5074('0x3d')](_0x49fbd0[_0x5074('0x3c')]);_0x3f7fed[_0x5074('0x3e')]=_[_0x5074('0x3f')](_0x3f7fed[_0x5074('0x3b')],_0x3f7fed['query']);_0x3117bd[_0x5074('0x40')]=_[_0x5074('0x3f')](_0x3f7fed[_0x5074('0x3b')],qs[_0x5074('0x41')](_0x49fbd0['query'][_0x5074('0x41')]));_0x3117bd[_0x5074('0x40')]=_0x3117bd[_0x5074('0x40')]['length']?_0x3117bd[_0x5074('0x40')]:_0x3f7fed[_0x5074('0x3b')];_0x3117bd[_0x5074('0x45')]=qs[_0x5074('0x46')](_0x49fbd0[_0x5074('0x3c')][_0x5074('0x46')]);_0x3117bd['where']=qs['filters'](_[_0x5074('0x58')](_0x49fbd0[_0x5074('0x3c')],_0x3f7fed[_0x5074('0x3e')]));if(_0x49fbd0['query'][_0x5074('0x48')]){_0x3117bd[_0x5074('0x47')]=_[_0x5074('0x49')](_0x3117bd['where'],{'$or':_[_0x5074('0x39')](_0x3117bd[_0x5074('0x40')],function(_0x3b0c34){var _0x38c6f9={};_0x38c6f9[_0x3b0c34]={'$like':'%'+_0x49fbd0[_0x5074('0x3c')]['filter']+'%'};return _0x38c6f9;})});}_0x3117bd=_[_0x5074('0x49')]({},_0x3117bd,_0x49fbd0[_0x5074('0x59')]);return _0x1f47b6[_0x5074('0x5b')](_0x3117bd);}})[_0x5074('0x1e')](function(_0xa00aaf){if(_0xa00aaf){_0x3fa607=_0xa00aaf[_0x5074('0x42')];if(!_0x49fbd0['query'][_0x5074('0x43')](_0x5074('0x5a'))){_0x3117bd[_0x5074('0x44')]=qs[_0x5074('0x44')](_0x49fbd0[_0x5074('0x3c')][_0x5074('0x44')]);_0x3117bd[_0x5074('0x2e')]=qs[_0x5074('0x2e')](_0x49fbd0['query'][_0x5074('0x2e')]);}return _0x1f47b6[_0x5074('0x5b')](_0x3117bd);}})[_0x5074('0x1e')](function(_0x25271c){if(_0x25271c){return _0x25271c?{'count':_0x3fa607,'rows':_0x25271c}:null;}})['then'](respondWithResult(_0x2d4f90,null))['catch'](handleError(_0x2d4f90,null));};exports['getDescriptions']=function(_0x469a69,_0x449cea,_0x161418){var _0x27eade={};var _0x413449={};var _0x49a01a;var _0x1721d8;return db['SalesforceConfiguration'][_0x5074('0x56')]({'where':{'id':_0x469a69[_0x5074('0x51')]['id']}})[_0x5074('0x1e')](handleEntityNotFound(_0x449cea,null))[_0x5074('0x1e')](function(_0x1f6b3a){if(_0x1f6b3a){_0x49a01a=_0x1f6b3a;_0x413449['model']=_[_0x5074('0x3d')](db['SalesforceField'][_0x5074('0x57')]);_0x413449[_0x5074('0x3c')]=_[_0x5074('0x3d')](_0x469a69[_0x5074('0x3c')]);_0x413449[_0x5074('0x3e')]=_[_0x5074('0x3f')](_0x413449[_0x5074('0x3b')],_0x413449[_0x5074('0x3c')]);_0x27eade[_0x5074('0x40')]=_[_0x5074('0x3f')](_0x413449['model'],qs[_0x5074('0x41')](_0x469a69[_0x5074('0x3c')][_0x5074('0x41')]));_0x27eade[_0x5074('0x40')]=_0x27eade[_0x5074('0x40')][_0x5074('0x42')]?_0x27eade[_0x5074('0x40')]:_0x413449['model'];_0x27eade[_0x5074('0x45')]=qs[_0x5074('0x46')](_0x469a69[_0x5074('0x3c')][_0x5074('0x46')]);_0x27eade[_0x5074('0x47')]=qs[_0x5074('0x3e')](_[_0x5074('0x58')](_0x469a69[_0x5074('0x3c')],_0x413449[_0x5074('0x3e')]));if(_0x469a69['query']['filter']){_0x27eade[_0x5074('0x47')]=_[_0x5074('0x49')](_0x27eade['where'],{'$or':_[_0x5074('0x39')](_0x27eade[_0x5074('0x40')],function(_0x5cea08){var _0x50dc61={};_0x50dc61[_0x5cea08]={'$like':'%'+_0x469a69[_0x5074('0x3c')][_0x5074('0x48')]+'%'};return _0x50dc61;})});}_0x27eade=_['merge']({},_0x27eade,_0x469a69[_0x5074('0x59')]);return _0x49a01a[_0x5074('0x5d')](_0x27eade);}})['then'](function(_0x194256){if(_0x194256){_0x1721d8=_0x194256['length'];if(!_0x469a69[_0x5074('0x3c')]['hasOwnProperty'](_0x5074('0x5a'))){_0x27eade[_0x5074('0x44')]=qs[_0x5074('0x44')](_0x469a69['query']['limit']);_0x27eade[_0x5074('0x2e')]=qs['offset'](_0x469a69[_0x5074('0x3c')][_0x5074('0x2e')]);}return _0x49a01a[_0x5074('0x5d')](_0x27eade);}})[_0x5074('0x1e')](function(_0x170737){if(_0x170737){return _0x170737?{'count':_0x1721d8,'rows':_0x170737}:null;}})[_0x5074('0x1e')](respondWithResult(_0x449cea,null))[_0x5074('0x28')](handleError(_0x449cea,null));};