40cbe9839ac50de97a9199ee8f64fbe0982bf7bc
[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 _0x8fc5=['set','Content-Range','json','apply','reject','then','destroy','error','stack','name','send','index','SalesforceConfiguration','fieldName','type','key','model','map','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','filters','pick','filter','VIRTUAL','options','count','includeAll','findAll','rows','catch','show','rawAttributes','include','merge','find','create','update','body','params','getFields','findOne','SalesforceField','order','getSubjects','getDescriptions','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','ejs','lodash','squel','to-csv','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','sendStatus','status','end','offset','undefined','limit'];(function(_0x551aad,_0x279bf5){var _0x229e5a=function(_0x4015e5){while(--_0x4015e5){_0x551aad['push'](_0x551aad['shift']());}};_0x229e5a(++_0x279bf5);}(_0x8fc5,0x1ca));var _0x58fc=function(_0x44a4fb,_0x55c6ee){_0x44a4fb=_0x44a4fb-0x0;var _0x3d1526=_0x8fc5[_0x44a4fb];return _0x3d1526;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x58fc('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0x58fc('0x1'));var rp=require(_0x58fc('0x2'));var moment=require(_0x58fc('0x3'));var BPromise=require(_0x58fc('0x4'));var Mustache=require(_0x58fc('0x5'));var util=require('util');var path=require(_0x58fc('0x6'));var sox=require(_0x58fc('0x7'));var csv=require('to-csv');var ejs=require(_0x58fc('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x58fc('0x9'));var squel=require(_0x58fc('0xa'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x58fc('0xb'));var querystring=require(_0x58fc('0xc'));var Papa=require(_0x58fc('0xd'));var Redis=require(_0x58fc('0xe'));var authService=require('../../components/auth/service');var qs=require(_0x58fc('0xf'));var as=require(_0x58fc('0x10'));var hardwareService=require(_0x58fc('0x11'));var logger=require(_0x58fc('0x12'))(_0x58fc('0x13'));var utils=require(_0x58fc('0x14'));var config=require(_0x58fc('0x15'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x41eccd,_0x53c28c){_0x53c28c=_0x53c28c||0xcc;return function(_0x22d7f5){if(_0x22d7f5){return _0x41eccd[_0x58fc('0x16')](_0x53c28c);}return _0x41eccd[_0x58fc('0x17')](_0x53c28c)[_0x58fc('0x18')]();};}function respondWithResult(_0xfe286e,_0x125311){_0x125311=_0x125311||0xc8;return function(_0x4bc5c5){if(_0x4bc5c5){return _0xfe286e[_0x58fc('0x17')](_0x125311)['json'](_0x4bc5c5);}};}function respondWithFilteredResult(_0x29917e,_0x2e28f6){return function(_0x3202a4){if(_0x3202a4){var _0x3dad55=typeof _0x2e28f6[_0x58fc('0x19')]===_0x58fc('0x1a')&&typeof _0x2e28f6['limit']===_0x58fc('0x1a');var _0xe2ba6f=_0x3202a4['count'];var _0x1ce6c4=_0x3dad55?0x0:_0x2e28f6[_0x58fc('0x19')];var _0x477736=_0x3dad55?_0x3202a4['count']:_0x2e28f6['offset']+_0x2e28f6[_0x58fc('0x1b')];var _0x296fab;if(_0x477736>=_0xe2ba6f){_0x477736=_0xe2ba6f;_0x296fab=0xc8;}else{_0x296fab=0xce;}_0x29917e[_0x58fc('0x17')](_0x296fab);return _0x29917e[_0x58fc('0x1c')](_0x58fc('0x1d'),_0x1ce6c4+'-'+_0x477736+'/'+_0xe2ba6f)[_0x58fc('0x1e')](_0x3202a4);}return null;};}function patchUpdates(_0xe3d265){return function(_0x1b571f){try{jsonpatch[_0x58fc('0x1f')](_0x1b571f,_0xe3d265,!![]);}catch(_0x5e9489){return BPromise[_0x58fc('0x20')](_0x5e9489);}return _0x1b571f['save']();};}function saveUpdates(_0x163900,_0x12693f){return function(_0x216dbb){if(_0x216dbb){return _0x216dbb['update'](_0x163900)[_0x58fc('0x21')](function(_0x3346bd){return _0x3346bd;});}return null;};}function removeEntity(_0x439de6,_0x47f4ef){return function(_0x19aa33){if(_0x19aa33){return _0x19aa33[_0x58fc('0x22')]()[_0x58fc('0x21')](function(){_0x439de6[_0x58fc('0x17')](0xcc)[_0x58fc('0x18')]();});}};}function handleEntityNotFound(_0x3fdd7a,_0x3f44dd){return function(_0x5c2dae){if(!_0x5c2dae){_0x3fdd7a[_0x58fc('0x16')](0x194);}return _0x5c2dae;};}function handleError(_0x333155,_0x32fb0c){_0x32fb0c=_0x32fb0c||0x1f4;return function(_0x23a89e){logger[_0x58fc('0x23')](_0x23a89e[_0x58fc('0x24')]);if(_0x23a89e['name']){delete _0x23a89e[_0x58fc('0x25')];}_0x333155[_0x58fc('0x17')](_0x32fb0c)[_0x58fc('0x26')](_0x23a89e);};}exports[_0x58fc('0x27')]=function(_0x4cc896,_0x23724d){var _0xb2fdf2={},_0x6b1b84={},_0x44320f={'count':0x0,'rows':[]};var _0x1b9a6e=_['map'](db[_0x58fc('0x28')]['rawAttributes'],function(_0x40ffde){return{'name':_0x40ffde[_0x58fc('0x29')],'type':_0x40ffde[_0x58fc('0x2a')][_0x58fc('0x2b')]};});_0x6b1b84[_0x58fc('0x2c')]=_[_0x58fc('0x2d')](_0x1b9a6e,_0x58fc('0x25'));_0x6b1b84[_0x58fc('0x2e')]=_[_0x58fc('0x2f')](_0x4cc896[_0x58fc('0x2e')]);_0x6b1b84['filters']=_[_0x58fc('0x30')](_0x6b1b84['model'],_0x6b1b84[_0x58fc('0x2e')]);_0xb2fdf2[_0x58fc('0x31')]=_['intersection'](_0x6b1b84[_0x58fc('0x2c')],qs[_0x58fc('0x32')](_0x4cc896[_0x58fc('0x2e')][_0x58fc('0x32')]));_0xb2fdf2['attributes']=_0xb2fdf2[_0x58fc('0x31')][_0x58fc('0x33')]?_0xb2fdf2[_0x58fc('0x31')]:_0x6b1b84[_0x58fc('0x2c')];if(!_0x4cc896[_0x58fc('0x2e')][_0x58fc('0x34')](_0x58fc('0x35'))){_0xb2fdf2[_0x58fc('0x1b')]=qs[_0x58fc('0x1b')](_0x4cc896[_0x58fc('0x2e')][_0x58fc('0x1b')]);_0xb2fdf2[_0x58fc('0x19')]=qs[_0x58fc('0x19')](_0x4cc896[_0x58fc('0x2e')][_0x58fc('0x19')]);}_0xb2fdf2['order']=qs[_0x58fc('0x36')](_0x4cc896[_0x58fc('0x2e')][_0x58fc('0x36')]);_0xb2fdf2[_0x58fc('0x37')]=qs[_0x58fc('0x38')](_[_0x58fc('0x39')](_0x4cc896[_0x58fc('0x2e')],_0x6b1b84[_0x58fc('0x38')]),_0x1b9a6e);if(_0x4cc896[_0x58fc('0x2e')][_0x58fc('0x3a')]){_0xb2fdf2['where']=_['merge'](_0xb2fdf2[_0x58fc('0x37')],{'$or':_[_0x58fc('0x2d')](_0x1b9a6e,function(_0xa20102){if(_0xa20102[_0x58fc('0x2a')]!==_0x58fc('0x3b')){var _0x4d3911={};_0x4d3911[_0xa20102[_0x58fc('0x25')]]={'$like':'%'+_0x4cc896[_0x58fc('0x2e')][_0x58fc('0x3a')]+'%'};return _0x4d3911;}})});}_0xb2fdf2=_['merge']({},_0xb2fdf2,_0x4cc896[_0x58fc('0x3c')]);var _0x2ee6ff={'where':_0xb2fdf2[_0x58fc('0x37')]};return db['SalesforceConfiguration']['count'](_0x2ee6ff)[_0x58fc('0x21')](function(_0x5a7a16){_0x44320f[_0x58fc('0x3d')]=_0x5a7a16;if(_0x4cc896[_0x58fc('0x2e')][_0x58fc('0x3e')]){_0xb2fdf2['include']=[{'all':!![]}];}return db[_0x58fc('0x28')][_0x58fc('0x3f')](_0xb2fdf2);})[_0x58fc('0x21')](function(_0x4b3780){_0x44320f[_0x58fc('0x40')]=_0x4b3780;return _0x44320f;})['then'](respondWithFilteredResult(_0x23724d,_0xb2fdf2))[_0x58fc('0x41')](handleError(_0x23724d,null));};exports[_0x58fc('0x42')]=function(_0x1669cd,_0x5c1ef6){var _0x1a99ec={'raw':![],'where':{'id':_0x1669cd['params']['id']}},_0x2450d6={};_0x2450d6['model']=_[_0x58fc('0x2f')](db[_0x58fc('0x28')][_0x58fc('0x43')]);_0x2450d6[_0x58fc('0x2e')]=_[_0x58fc('0x2f')](_0x1669cd[_0x58fc('0x2e')]);_0x2450d6[_0x58fc('0x38')]=_['intersection'](_0x2450d6[_0x58fc('0x2c')],_0x2450d6[_0x58fc('0x2e')]);_0x1a99ec[_0x58fc('0x31')]=_[_0x58fc('0x30')](_0x2450d6[_0x58fc('0x2c')],qs[_0x58fc('0x32')](_0x1669cd[_0x58fc('0x2e')]['fields']));_0x1a99ec['attributes']=_0x1a99ec[_0x58fc('0x31')][_0x58fc('0x33')]?_0x1a99ec[_0x58fc('0x31')]:_0x2450d6[_0x58fc('0x2c')];if(_0x1669cd[_0x58fc('0x2e')][_0x58fc('0x3e')]){_0x1a99ec[_0x58fc('0x44')]=[{'all':!![]}];}_0x1a99ec=_[_0x58fc('0x45')]({},_0x1a99ec,_0x1669cd['options']);return db[_0x58fc('0x28')][_0x58fc('0x46')](_0x1a99ec)[_0x58fc('0x21')](handleEntityNotFound(_0x5c1ef6,null))[_0x58fc('0x21')](respondWithResult(_0x5c1ef6,null))['catch'](handleError(_0x5c1ef6,null));};exports[_0x58fc('0x47')]=function(_0x15cd03,_0x298548){return db[_0x58fc('0x28')]['create'](_0x15cd03['body'],{})[_0x58fc('0x21')](respondWithResult(_0x298548,0xc9))['catch'](handleError(_0x298548,null));};exports[_0x58fc('0x48')]=function(_0xb2fe9f,_0x2db38a){if(_0xb2fe9f[_0x58fc('0x49')]['id']){delete _0xb2fe9f[_0x58fc('0x49')]['id'];}return db[_0x58fc('0x28')][_0x58fc('0x46')]({'where':{'id':_0xb2fe9f[_0x58fc('0x4a')]['id']}})[_0x58fc('0x21')](handleEntityNotFound(_0x2db38a,null))[_0x58fc('0x21')](saveUpdates(_0xb2fe9f[_0x58fc('0x49')],null))[_0x58fc('0x21')](respondWithResult(_0x2db38a,null))[_0x58fc('0x41')](handleError(_0x2db38a,null));};exports[_0x58fc('0x22')]=function(_0x57e267,_0x1425ef){return db['SalesforceConfiguration'][_0x58fc('0x46')]({'where':{'id':_0x57e267[_0x58fc('0x4a')]['id']}})[_0x58fc('0x21')](handleEntityNotFound(_0x1425ef,null))[_0x58fc('0x21')](removeEntity(_0x1425ef,null))['catch'](handleError(_0x1425ef,null));};exports[_0x58fc('0x4b')]=function(_0x2f338b,_0x6f3bc,_0xfb8ddc){var _0x14dbf4={};var _0x215e29={};var _0x1e456;var _0x1795a;return db[_0x58fc('0x28')][_0x58fc('0x4c')]({'where':{'id':_0x2f338b[_0x58fc('0x4a')]['id']}})['then'](handleEntityNotFound(_0x6f3bc,null))['then'](function(_0x572ea3){if(_0x572ea3){_0x1e456=_0x572ea3;_0x215e29[_0x58fc('0x2c')]=_[_0x58fc('0x2f')](db[_0x58fc('0x4d')][_0x58fc('0x43')]);_0x215e29[_0x58fc('0x2e')]=_[_0x58fc('0x2f')](_0x2f338b['query']);_0x215e29[_0x58fc('0x38')]=_[_0x58fc('0x30')](_0x215e29[_0x58fc('0x2c')],_0x215e29[_0x58fc('0x2e')]);_0x14dbf4[_0x58fc('0x31')]=_[_0x58fc('0x30')](_0x215e29[_0x58fc('0x2c')],qs['fields'](_0x2f338b[_0x58fc('0x2e')][_0x58fc('0x32')]));_0x14dbf4[_0x58fc('0x31')]=_0x14dbf4['attributes'][_0x58fc('0x33')]?_0x14dbf4[_0x58fc('0x31')]:_0x215e29[_0x58fc('0x2c')];_0x14dbf4[_0x58fc('0x4e')]=qs['sort'](_0x2f338b[_0x58fc('0x2e')][_0x58fc('0x36')]);_0x14dbf4['where']=qs[_0x58fc('0x38')](_[_0x58fc('0x39')](_0x2f338b[_0x58fc('0x2e')],_0x215e29[_0x58fc('0x38')]));if(_0x2f338b[_0x58fc('0x2e')]['filter']){_0x14dbf4[_0x58fc('0x37')]=_['merge'](_0x14dbf4[_0x58fc('0x37')],{'$or':_[_0x58fc('0x2d')](_0x14dbf4[_0x58fc('0x31')],function(_0x5a2560){var _0x32ee3c={};_0x32ee3c[_0x5a2560]={'$like':'%'+_0x2f338b[_0x58fc('0x2e')][_0x58fc('0x3a')]+'%'};return _0x32ee3c;})});}_0x14dbf4=_['merge']({},_0x14dbf4,_0x2f338b['options']);return _0x1e456[_0x58fc('0x4b')](_0x14dbf4);}})[_0x58fc('0x21')](function(_0x4a11c3){if(_0x4a11c3){_0x1795a=_0x4a11c3[_0x58fc('0x33')];if(!_0x2f338b['query'][_0x58fc('0x34')](_0x58fc('0x35'))){_0x14dbf4[_0x58fc('0x1b')]=qs['limit'](_0x2f338b[_0x58fc('0x2e')][_0x58fc('0x1b')]);_0x14dbf4[_0x58fc('0x19')]=qs[_0x58fc('0x19')](_0x2f338b[_0x58fc('0x2e')][_0x58fc('0x19')]);}return _0x1e456['getFields'](_0x14dbf4);}})[_0x58fc('0x21')](function(_0x4b10aa){if(_0x4b10aa){return _0x4b10aa?{'count':_0x1795a,'rows':_0x4b10aa}:null;}})[_0x58fc('0x21')](respondWithResult(_0x6f3bc,null))['catch'](handleError(_0x6f3bc,null));};exports[_0x58fc('0x4f')]=function(_0x127f44,_0x3e5a9a,_0x525a80){var _0x444474={};var _0x2545ae={};var _0x5e5c0f;var _0x67d245;return db['SalesforceConfiguration']['findOne']({'where':{'id':_0x127f44[_0x58fc('0x4a')]['id']}})[_0x58fc('0x21')](handleEntityNotFound(_0x3e5a9a,null))[_0x58fc('0x21')](function(_0x375144){if(_0x375144){_0x5e5c0f=_0x375144;_0x2545ae['model']=_[_0x58fc('0x2f')](db[_0x58fc('0x4d')][_0x58fc('0x43')]);_0x2545ae[_0x58fc('0x2e')]=_[_0x58fc('0x2f')](_0x127f44['query']);_0x2545ae['filters']=_[_0x58fc('0x30')](_0x2545ae['model'],_0x2545ae[_0x58fc('0x2e')]);_0x444474[_0x58fc('0x31')]=_[_0x58fc('0x30')](_0x2545ae[_0x58fc('0x2c')],qs['fields'](_0x127f44[_0x58fc('0x2e')][_0x58fc('0x32')]));_0x444474['attributes']=_0x444474[_0x58fc('0x31')]['length']?_0x444474[_0x58fc('0x31')]:_0x2545ae[_0x58fc('0x2c')];_0x444474['order']=qs[_0x58fc('0x36')](_0x127f44[_0x58fc('0x2e')][_0x58fc('0x36')]);_0x444474[_0x58fc('0x37')]=qs['filters'](_['pick'](_0x127f44[_0x58fc('0x2e')],_0x2545ae['filters']));if(_0x127f44[_0x58fc('0x2e')][_0x58fc('0x3a')]){_0x444474[_0x58fc('0x37')]=_[_0x58fc('0x45')](_0x444474[_0x58fc('0x37')],{'$or':_[_0x58fc('0x2d')](_0x444474[_0x58fc('0x31')],function(_0x5c45f0){var _0xb517c={};_0xb517c[_0x5c45f0]={'$like':'%'+_0x127f44['query'][_0x58fc('0x3a')]+'%'};return _0xb517c;})});}_0x444474=_[_0x58fc('0x45')]({},_0x444474,_0x127f44[_0x58fc('0x3c')]);return _0x5e5c0f[_0x58fc('0x4f')](_0x444474);}})[_0x58fc('0x21')](function(_0x3c9b0b){if(_0x3c9b0b){_0x67d245=_0x3c9b0b[_0x58fc('0x33')];if(!_0x127f44['query'][_0x58fc('0x34')](_0x58fc('0x35'))){_0x444474['limit']=qs[_0x58fc('0x1b')](_0x127f44[_0x58fc('0x2e')][_0x58fc('0x1b')]);_0x444474[_0x58fc('0x19')]=qs[_0x58fc('0x19')](_0x127f44[_0x58fc('0x2e')]['offset']);}return _0x5e5c0f['getSubjects'](_0x444474);}})[_0x58fc('0x21')](function(_0x2a442f){if(_0x2a442f){return _0x2a442f?{'count':_0x67d245,'rows':_0x2a442f}:null;}})['then'](respondWithResult(_0x3e5a9a,null))[_0x58fc('0x41')](handleError(_0x3e5a9a,null));};exports[_0x58fc('0x50')]=function(_0x25d314,_0x20bf86,_0x24e4fd){var _0x3be1d6={};var _0x135f4a={};var _0x109b18;var _0x9e9b11;return db[_0x58fc('0x28')][_0x58fc('0x4c')]({'where':{'id':_0x25d314[_0x58fc('0x4a')]['id']}})[_0x58fc('0x21')](handleEntityNotFound(_0x20bf86,null))['then'](function(_0x48ca60){if(_0x48ca60){_0x109b18=_0x48ca60;_0x135f4a[_0x58fc('0x2c')]=_[_0x58fc('0x2f')](db[_0x58fc('0x4d')]['rawAttributes']);_0x135f4a['query']=_[_0x58fc('0x2f')](_0x25d314[_0x58fc('0x2e')]);_0x135f4a['filters']=_[_0x58fc('0x30')](_0x135f4a[_0x58fc('0x2c')],_0x135f4a[_0x58fc('0x2e')]);_0x3be1d6[_0x58fc('0x31')]=_[_0x58fc('0x30')](_0x135f4a['model'],qs['fields'](_0x25d314[_0x58fc('0x2e')][_0x58fc('0x32')]));_0x3be1d6[_0x58fc('0x31')]=_0x3be1d6[_0x58fc('0x31')][_0x58fc('0x33')]?_0x3be1d6[_0x58fc('0x31')]:_0x135f4a[_0x58fc('0x2c')];_0x3be1d6[_0x58fc('0x4e')]=qs[_0x58fc('0x36')](_0x25d314[_0x58fc('0x2e')][_0x58fc('0x36')]);_0x3be1d6[_0x58fc('0x37')]=qs[_0x58fc('0x38')](_[_0x58fc('0x39')](_0x25d314[_0x58fc('0x2e')],_0x135f4a['filters']));if(_0x25d314[_0x58fc('0x2e')]['filter']){_0x3be1d6['where']=_[_0x58fc('0x45')](_0x3be1d6[_0x58fc('0x37')],{'$or':_[_0x58fc('0x2d')](_0x3be1d6[_0x58fc('0x31')],function(_0x38c806){var _0x30c7bd={};_0x30c7bd[_0x38c806]={'$like':'%'+_0x25d314[_0x58fc('0x2e')][_0x58fc('0x3a')]+'%'};return _0x30c7bd;})});}_0x3be1d6=_['merge']({},_0x3be1d6,_0x25d314[_0x58fc('0x3c')]);return _0x109b18['getDescriptions'](_0x3be1d6);}})[_0x58fc('0x21')](function(_0x84f9a8){if(_0x84f9a8){_0x9e9b11=_0x84f9a8['length'];if(!_0x25d314[_0x58fc('0x2e')][_0x58fc('0x34')](_0x58fc('0x35'))){_0x3be1d6[_0x58fc('0x1b')]=qs[_0x58fc('0x1b')](_0x25d314[_0x58fc('0x2e')][_0x58fc('0x1b')]);_0x3be1d6[_0x58fc('0x19')]=qs[_0x58fc('0x19')](_0x25d314[_0x58fc('0x2e')][_0x58fc('0x19')]);}return _0x109b18[_0x58fc('0x50')](_0x3be1d6);}})[_0x58fc('0x21')](function(_0x3332ab){if(_0x3332ab){return _0x3332ab?{'count':_0x9e9b11,'rows':_0x3332ab}:null;}})[_0x58fc('0x21')](respondWithResult(_0x20bf86,null))['catch'](handleError(_0x20bf86,null));};