c4da27d4c3dae4136626ad3c250898684619906f
[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 _0xed05=['then','destroy','sendStatus','error','stack','name','index','fieldName','type','key','model','map','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','merge','VIRTUAL','filter','options','SalesforceConfiguration','includeAll','rows','catch','show','params','rawAttributes','find','create','body','getFields','getSubjects','findOne','SalesforceField','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','fs-extra','squel','jsforce','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','end','status','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update'];(function(_0x5a77fc,_0x445e1a){var _0x5115c1=function(_0xfd65da){while(--_0xfd65da){_0x5a77fc['push'](_0x5a77fc['shift']());}};_0x5115c1(++_0x445e1a);}(_0xed05,0xcd));var _0x5ed0=function(_0x42e7e5,_0x29c6d8){_0x42e7e5=_0x42e7e5-0x0;var _0xdee224=_0xed05[_0x42e7e5];return _0xdee224;};'use strict';var emlformat=require(_0x5ed0('0x0'));var rimraf=require(_0x5ed0('0x1'));var zipdir=require(_0x5ed0('0x2'));var jsonpatch=require(_0x5ed0('0x3'));var rp=require(_0x5ed0('0x4'));var moment=require(_0x5ed0('0x5'));var BPromise=require(_0x5ed0('0x6'));var Mustache=require(_0x5ed0('0x7'));var util=require(_0x5ed0('0x8'));var path=require(_0x5ed0('0x9'));var sox=require(_0x5ed0('0xa'));var csv=require(_0x5ed0('0xb'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x5ed0('0xc'));var _=require('lodash');var squel=require(_0x5ed0('0xd'));var crypto=require('crypto');var jsforce=require(_0x5ed0('0xe'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x5ed0('0xf'));var Papa=require(_0x5ed0('0x10'));var Redis=require('ioredis');var authService=require(_0x5ed0('0x11'));var qs=require(_0x5ed0('0x12'));var as=require(_0x5ed0('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x5ed0('0x14'))(_0x5ed0('0x15'));var utils=require(_0x5ed0('0x16'));var config=require(_0x5ed0('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0x5ed0('0x18'))['db'];function respondWithStatusCode(_0x28a378,_0x3fedf8){_0x3fedf8=_0x3fedf8||0xcc;return function(_0x4bea9e){if(_0x4bea9e){return _0x28a378['sendStatus'](_0x3fedf8);}return _0x28a378['status'](_0x3fedf8)[_0x5ed0('0x19')]();};}function respondWithResult(_0x454192,_0x11dc91){_0x11dc91=_0x11dc91||0xc8;return function(_0x57adc7){if(_0x57adc7){return _0x454192[_0x5ed0('0x1a')](_0x11dc91)[_0x5ed0('0x1b')](_0x57adc7);}};}function respondWithFilteredResult(_0x33fb60,_0x56cadd){return function(_0x26c1c5){if(_0x26c1c5){var _0x365003=typeof _0x56cadd[_0x5ed0('0x1c')]===_0x5ed0('0x1d')&&typeof _0x56cadd[_0x5ed0('0x1e')]===_0x5ed0('0x1d');var _0x52b558=_0x26c1c5[_0x5ed0('0x1f')];var _0x30df6e=_0x365003?0x0:_0x56cadd['offset'];var _0x163cbf=_0x365003?_0x26c1c5['count']:_0x56cadd[_0x5ed0('0x1c')]+_0x56cadd[_0x5ed0('0x1e')];var _0x17621d;if(_0x163cbf>=_0x52b558){_0x163cbf=_0x52b558;_0x17621d=0xc8;}else{_0x17621d=0xce;}_0x33fb60[_0x5ed0('0x1a')](_0x17621d);return _0x33fb60[_0x5ed0('0x20')](_0x5ed0('0x21'),_0x30df6e+'-'+_0x163cbf+'/'+_0x52b558)[_0x5ed0('0x1b')](_0x26c1c5);}return null;};}function patchUpdates(_0x15b1a7){return function(_0x2f2718){try{jsonpatch[_0x5ed0('0x22')](_0x2f2718,_0x15b1a7,!![]);}catch(_0xfea00){return BPromise[_0x5ed0('0x23')](_0xfea00);}return _0x2f2718[_0x5ed0('0x24')]();};}function saveUpdates(_0x37e9d2,_0x55beb6){return function(_0x36148c){if(_0x36148c){return _0x36148c[_0x5ed0('0x25')](_0x37e9d2)[_0x5ed0('0x26')](function(_0x1b588c){return _0x1b588c;});}return null;};}function removeEntity(_0x2e6ce1,_0x28a5a0){return function(_0x1981db){if(_0x1981db){return _0x1981db[_0x5ed0('0x27')]()[_0x5ed0('0x26')](function(){_0x2e6ce1[_0x5ed0('0x1a')](0xcc)[_0x5ed0('0x19')]();});}};}function handleEntityNotFound(_0x1dd93f,_0x593241){return function(_0x30d67d){if(!_0x30d67d){_0x1dd93f[_0x5ed0('0x28')](0x194);}return _0x30d67d;};}function handleError(_0x505076,_0x51234d){_0x51234d=_0x51234d||0x1f4;return function(_0x4ee26c){logger[_0x5ed0('0x29')](_0x4ee26c[_0x5ed0('0x2a')]);if(_0x4ee26c['name']){delete _0x4ee26c[_0x5ed0('0x2b')];}_0x505076['status'](_0x51234d)['send'](_0x4ee26c);};}exports[_0x5ed0('0x2c')]=function(_0x515ea0,_0x49d072){var _0x10e561={},_0x5f0e15={},_0x5a0438={'count':0x0,'rows':[]};var _0x23191f=_['map'](db['SalesforceConfiguration']['rawAttributes'],function(_0x5cb387){return{'name':_0x5cb387[_0x5ed0('0x2d')],'type':_0x5cb387[_0x5ed0('0x2e')][_0x5ed0('0x2f')]};});_0x5f0e15[_0x5ed0('0x30')]=_[_0x5ed0('0x31')](_0x23191f,_0x5ed0('0x2b'));_0x5f0e15[_0x5ed0('0x32')]=_[_0x5ed0('0x33')](_0x515ea0[_0x5ed0('0x32')]);_0x5f0e15['filters']=_[_0x5ed0('0x34')](_0x5f0e15[_0x5ed0('0x30')],_0x5f0e15[_0x5ed0('0x32')]);_0x10e561[_0x5ed0('0x35')]=_[_0x5ed0('0x34')](_0x5f0e15[_0x5ed0('0x30')],qs[_0x5ed0('0x36')](_0x515ea0['query'][_0x5ed0('0x36')]));_0x10e561[_0x5ed0('0x35')]=_0x10e561[_0x5ed0('0x35')][_0x5ed0('0x37')]?_0x10e561[_0x5ed0('0x35')]:_0x5f0e15[_0x5ed0('0x30')];if(!_0x515ea0['query'][_0x5ed0('0x38')](_0x5ed0('0x39'))){_0x10e561[_0x5ed0('0x1e')]=qs[_0x5ed0('0x1e')](_0x515ea0['query'][_0x5ed0('0x1e')]);_0x10e561[_0x5ed0('0x1c')]=qs[_0x5ed0('0x1c')](_0x515ea0['query'][_0x5ed0('0x1c')]);}_0x10e561[_0x5ed0('0x3a')]=qs[_0x5ed0('0x3b')](_0x515ea0['query']['sort']);_0x10e561[_0x5ed0('0x3c')]=qs[_0x5ed0('0x3d')](_[_0x5ed0('0x3e')](_0x515ea0[_0x5ed0('0x32')],_0x5f0e15[_0x5ed0('0x3d')]),_0x23191f);if(_0x515ea0[_0x5ed0('0x32')]['filter']){_0x10e561['where']=_[_0x5ed0('0x3f')](_0x10e561['where'],{'$or':_[_0x5ed0('0x31')](_0x23191f,function(_0x2d7efa){if(_0x2d7efa[_0x5ed0('0x2e')]!==_0x5ed0('0x40')){var _0xdd8510={};_0xdd8510[_0x2d7efa['name']]={'$like':'%'+_0x515ea0['query'][_0x5ed0('0x41')]+'%'};return _0xdd8510;}})});}_0x10e561=_['merge']({},_0x10e561,_0x515ea0[_0x5ed0('0x42')]);var _0x21d1df={'where':_0x10e561[_0x5ed0('0x3c')]};return db[_0x5ed0('0x43')]['count'](_0x21d1df)[_0x5ed0('0x26')](function(_0x448ff4){_0x5a0438[_0x5ed0('0x1f')]=_0x448ff4;if(_0x515ea0[_0x5ed0('0x32')][_0x5ed0('0x44')]){_0x10e561['include']=[{'all':!![]}];}return db[_0x5ed0('0x43')]['findAll'](_0x10e561);})[_0x5ed0('0x26')](function(_0x5d1404){_0x5a0438[_0x5ed0('0x45')]=_0x5d1404;return _0x5a0438;})[_0x5ed0('0x26')](respondWithFilteredResult(_0x49d072,_0x10e561))[_0x5ed0('0x46')](handleError(_0x49d072,null));};exports[_0x5ed0('0x47')]=function(_0x2c81fc,_0x8ea5a3){var _0x143e6e={'raw':![],'where':{'id':_0x2c81fc[_0x5ed0('0x48')]['id']}},_0x448bde={};_0x448bde[_0x5ed0('0x30')]=_[_0x5ed0('0x33')](db[_0x5ed0('0x43')][_0x5ed0('0x49')]);_0x448bde[_0x5ed0('0x32')]=_[_0x5ed0('0x33')](_0x2c81fc[_0x5ed0('0x32')]);_0x448bde[_0x5ed0('0x3d')]=_[_0x5ed0('0x34')](_0x448bde[_0x5ed0('0x30')],_0x448bde[_0x5ed0('0x32')]);_0x143e6e[_0x5ed0('0x35')]=_[_0x5ed0('0x34')](_0x448bde[_0x5ed0('0x30')],qs[_0x5ed0('0x36')](_0x2c81fc[_0x5ed0('0x32')][_0x5ed0('0x36')]));_0x143e6e['attributes']=_0x143e6e[_0x5ed0('0x35')][_0x5ed0('0x37')]?_0x143e6e[_0x5ed0('0x35')]:_0x448bde[_0x5ed0('0x30')];if(_0x2c81fc['query'][_0x5ed0('0x44')]){_0x143e6e['include']=[{'all':!![]}];}_0x143e6e=_[_0x5ed0('0x3f')]({},_0x143e6e,_0x2c81fc['options']);return db['SalesforceConfiguration'][_0x5ed0('0x4a')](_0x143e6e)['then'](handleEntityNotFound(_0x8ea5a3,null))[_0x5ed0('0x26')](respondWithResult(_0x8ea5a3,null))[_0x5ed0('0x46')](handleError(_0x8ea5a3,null));};exports['create']=function(_0x2ba109,_0x5ab6da){return db['SalesforceConfiguration'][_0x5ed0('0x4b')](_0x2ba109[_0x5ed0('0x4c')],{})[_0x5ed0('0x26')](respondWithResult(_0x5ab6da,0xc9))[_0x5ed0('0x46')](handleError(_0x5ab6da,null));};exports[_0x5ed0('0x25')]=function(_0x41fd00,_0x4988cb){if(_0x41fd00[_0x5ed0('0x4c')]['id']){delete _0x41fd00[_0x5ed0('0x4c')]['id'];}return db['SalesforceConfiguration'][_0x5ed0('0x4a')]({'where':{'id':_0x41fd00[_0x5ed0('0x48')]['id']}})[_0x5ed0('0x26')](handleEntityNotFound(_0x4988cb,null))[_0x5ed0('0x26')](saveUpdates(_0x41fd00[_0x5ed0('0x4c')],null))[_0x5ed0('0x26')](respondWithResult(_0x4988cb,null))[_0x5ed0('0x46')](handleError(_0x4988cb,null));};exports['destroy']=function(_0x371ae0,_0x26bb03){return db['SalesforceConfiguration']['find']({'where':{'id':_0x371ae0['params']['id']}})[_0x5ed0('0x26')](handleEntityNotFound(_0x26bb03,null))[_0x5ed0('0x26')](removeEntity(_0x26bb03,null))[_0x5ed0('0x46')](handleError(_0x26bb03,null));};exports[_0x5ed0('0x4d')]=function(_0x15872a,_0x2dce77,_0x53e3b7){var _0x1e09dd={};var _0x4c2d9a={};var _0x17518c;var _0x33daac;return db[_0x5ed0('0x43')]['findOne']({'where':{'id':_0x15872a['params']['id']}})[_0x5ed0('0x26')](handleEntityNotFound(_0x2dce77,null))[_0x5ed0('0x26')](function(_0x26a420){if(_0x26a420){_0x17518c=_0x26a420;_0x4c2d9a[_0x5ed0('0x30')]=_[_0x5ed0('0x33')](db['SalesforceField']['rawAttributes']);_0x4c2d9a[_0x5ed0('0x32')]=_[_0x5ed0('0x33')](_0x15872a[_0x5ed0('0x32')]);_0x4c2d9a[_0x5ed0('0x3d')]=_[_0x5ed0('0x34')](_0x4c2d9a[_0x5ed0('0x30')],_0x4c2d9a[_0x5ed0('0x32')]);_0x1e09dd[_0x5ed0('0x35')]=_[_0x5ed0('0x34')](_0x4c2d9a[_0x5ed0('0x30')],qs[_0x5ed0('0x36')](_0x15872a[_0x5ed0('0x32')][_0x5ed0('0x36')]));_0x1e09dd['attributes']=_0x1e09dd[_0x5ed0('0x35')][_0x5ed0('0x37')]?_0x1e09dd['attributes']:_0x4c2d9a[_0x5ed0('0x30')];_0x1e09dd[_0x5ed0('0x3a')]=qs[_0x5ed0('0x3b')](_0x15872a[_0x5ed0('0x32')][_0x5ed0('0x3b')]);_0x1e09dd[_0x5ed0('0x3c')]=qs[_0x5ed0('0x3d')](_['pick'](_0x15872a['query'],_0x4c2d9a[_0x5ed0('0x3d')]));if(_0x15872a['query'][_0x5ed0('0x41')]){_0x1e09dd[_0x5ed0('0x3c')]=_[_0x5ed0('0x3f')](_0x1e09dd['where'],{'$or':_[_0x5ed0('0x31')](_0x1e09dd[_0x5ed0('0x35')],function(_0x2285ae){var _0x25f52b={};_0x25f52b[_0x2285ae]={'$like':'%'+_0x15872a['query'][_0x5ed0('0x41')]+'%'};return _0x25f52b;})});}_0x1e09dd=_[_0x5ed0('0x3f')]({},_0x1e09dd,_0x15872a['options']);return _0x17518c[_0x5ed0('0x4d')](_0x1e09dd);}})['then'](function(_0x520531){if(_0x520531){_0x33daac=_0x520531[_0x5ed0('0x37')];if(!_0x15872a['query'][_0x5ed0('0x38')](_0x5ed0('0x39'))){_0x1e09dd[_0x5ed0('0x1e')]=qs[_0x5ed0('0x1e')](_0x15872a[_0x5ed0('0x32')][_0x5ed0('0x1e')]);_0x1e09dd[_0x5ed0('0x1c')]=qs[_0x5ed0('0x1c')](_0x15872a[_0x5ed0('0x32')][_0x5ed0('0x1c')]);}return _0x17518c[_0x5ed0('0x4d')](_0x1e09dd);}})[_0x5ed0('0x26')](function(_0x592b3f){if(_0x592b3f){return _0x592b3f?{'count':_0x33daac,'rows':_0x592b3f}:null;}})[_0x5ed0('0x26')](respondWithResult(_0x2dce77,null))[_0x5ed0('0x46')](handleError(_0x2dce77,null));};exports[_0x5ed0('0x4e')]=function(_0x305073,_0x348060,_0x2d4067){var _0x992557={};var _0x1038e9={};var _0x2a21a8;var _0x165268;return db[_0x5ed0('0x43')][_0x5ed0('0x4f')]({'where':{'id':_0x305073[_0x5ed0('0x48')]['id']}})[_0x5ed0('0x26')](handleEntityNotFound(_0x348060,null))['then'](function(_0x58ef6d){if(_0x58ef6d){_0x2a21a8=_0x58ef6d;_0x1038e9[_0x5ed0('0x30')]=_[_0x5ed0('0x33')](db[_0x5ed0('0x50')][_0x5ed0('0x49')]);_0x1038e9[_0x5ed0('0x32')]=_[_0x5ed0('0x33')](_0x305073[_0x5ed0('0x32')]);_0x1038e9[_0x5ed0('0x3d')]=_[_0x5ed0('0x34')](_0x1038e9[_0x5ed0('0x30')],_0x1038e9[_0x5ed0('0x32')]);_0x992557[_0x5ed0('0x35')]=_[_0x5ed0('0x34')](_0x1038e9['model'],qs['fields'](_0x305073[_0x5ed0('0x32')]['fields']));_0x992557[_0x5ed0('0x35')]=_0x992557['attributes']['length']?_0x992557[_0x5ed0('0x35')]:_0x1038e9['model'];_0x992557['order']=qs[_0x5ed0('0x3b')](_0x305073['query'][_0x5ed0('0x3b')]);_0x992557[_0x5ed0('0x3c')]=qs[_0x5ed0('0x3d')](_['pick'](_0x305073[_0x5ed0('0x32')],_0x1038e9[_0x5ed0('0x3d')]));if(_0x305073[_0x5ed0('0x32')]['filter']){_0x992557[_0x5ed0('0x3c')]=_[_0x5ed0('0x3f')](_0x992557['where'],{'$or':_[_0x5ed0('0x31')](_0x992557[_0x5ed0('0x35')],function(_0x4fca8b){var _0x4b63ed={};_0x4b63ed[_0x4fca8b]={'$like':'%'+_0x305073[_0x5ed0('0x32')][_0x5ed0('0x41')]+'%'};return _0x4b63ed;})});}_0x992557=_[_0x5ed0('0x3f')]({},_0x992557,_0x305073[_0x5ed0('0x42')]);return _0x2a21a8[_0x5ed0('0x4e')](_0x992557);}})[_0x5ed0('0x26')](function(_0x37a5e3){if(_0x37a5e3){_0x165268=_0x37a5e3[_0x5ed0('0x37')];if(!_0x305073[_0x5ed0('0x32')][_0x5ed0('0x38')](_0x5ed0('0x39'))){_0x992557[_0x5ed0('0x1e')]=qs['limit'](_0x305073['query'][_0x5ed0('0x1e')]);_0x992557[_0x5ed0('0x1c')]=qs[_0x5ed0('0x1c')](_0x305073[_0x5ed0('0x32')][_0x5ed0('0x1c')]);}return _0x2a21a8[_0x5ed0('0x4e')](_0x992557);}})[_0x5ed0('0x26')](function(_0x202dfb){if(_0x202dfb){return _0x202dfb?{'count':_0x165268,'rows':_0x202dfb}:null;}})[_0x5ed0('0x26')](respondWithResult(_0x348060,null))[_0x5ed0('0x46')](handleError(_0x348060,null));};exports['getDescriptions']=function(_0x3c546d,_0x323425,_0x5bb5fd){var _0x234ca2={};var _0x12109e={};var _0x314c80;var _0xbdd3ea;return db[_0x5ed0('0x43')][_0x5ed0('0x4f')]({'where':{'id':_0x3c546d[_0x5ed0('0x48')]['id']}})[_0x5ed0('0x26')](handleEntityNotFound(_0x323425,null))[_0x5ed0('0x26')](function(_0x3e5342){if(_0x3e5342){_0x314c80=_0x3e5342;_0x12109e['model']=_[_0x5ed0('0x33')](db[_0x5ed0('0x50')][_0x5ed0('0x49')]);_0x12109e['query']=_[_0x5ed0('0x33')](_0x3c546d['query']);_0x12109e['filters']=_[_0x5ed0('0x34')](_0x12109e[_0x5ed0('0x30')],_0x12109e['query']);_0x234ca2[_0x5ed0('0x35')]=_[_0x5ed0('0x34')](_0x12109e[_0x5ed0('0x30')],qs['fields'](_0x3c546d['query'][_0x5ed0('0x36')]));_0x234ca2[_0x5ed0('0x35')]=_0x234ca2[_0x5ed0('0x35')][_0x5ed0('0x37')]?_0x234ca2[_0x5ed0('0x35')]:_0x12109e[_0x5ed0('0x30')];_0x234ca2[_0x5ed0('0x3a')]=qs[_0x5ed0('0x3b')](_0x3c546d[_0x5ed0('0x32')][_0x5ed0('0x3b')]);_0x234ca2['where']=qs[_0x5ed0('0x3d')](_[_0x5ed0('0x3e')](_0x3c546d[_0x5ed0('0x32')],_0x12109e[_0x5ed0('0x3d')]));if(_0x3c546d[_0x5ed0('0x32')][_0x5ed0('0x41')]){_0x234ca2[_0x5ed0('0x3c')]=_[_0x5ed0('0x3f')](_0x234ca2[_0x5ed0('0x3c')],{'$or':_[_0x5ed0('0x31')](_0x234ca2['attributes'],function(_0x5ba772){var _0x2f6e95={};_0x2f6e95[_0x5ba772]={'$like':'%'+_0x3c546d[_0x5ed0('0x32')][_0x5ed0('0x41')]+'%'};return _0x2f6e95;})});}_0x234ca2=_[_0x5ed0('0x3f')]({},_0x234ca2,_0x3c546d['options']);return _0x314c80['getDescriptions'](_0x234ca2);}})['then'](function(_0x55ddc8){if(_0x55ddc8){_0xbdd3ea=_0x55ddc8[_0x5ed0('0x37')];if(!_0x3c546d[_0x5ed0('0x32')][_0x5ed0('0x38')](_0x5ed0('0x39'))){_0x234ca2[_0x5ed0('0x1e')]=qs[_0x5ed0('0x1e')](_0x3c546d[_0x5ed0('0x32')][_0x5ed0('0x1e')]);_0x234ca2['offset']=qs['offset'](_0x3c546d[_0x5ed0('0x32')][_0x5ed0('0x1c')]);}return _0x314c80['getDescriptions'](_0x234ca2);}})['then'](function(_0x3a0728){if(_0x3a0728){return _0x3a0728?{'count':_0xbdd3ea,'rows':_0x3a0728}:null;}})[_0x5ed0('0x26')](respondWithResult(_0x323425,null))[_0x5ed0('0x46')](handleError(_0x323425,null));};