Built motion from commit 7a4eb044.|2.5.36
[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 _0x67b6=['sox','to-csv','ejs','fs-extra','squel','crypto','jsforce','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','json','offset','undefined','limit','count','status','Content-Range','save','update','then','end','error','stack','name','send','index','map','SalesforceConfiguration','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','order','sort','where','merge','VIRTUAL','filter','includeAll','include','findAll','rows','catch','show','params','length','options','find','create','body','destroy','getFields','nolimit','findOne','pick','getSubjects','SalesforceField','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x67b6,0xed));var _0x667b=function(_0xc7bbec,_0x351090){_0xc7bbec=_0xc7bbec-0x0;var _0x2d3f3c=_0x67b6[_0xc7bbec];return _0x2d3f3c;};'use strict';var emlformat=require(_0x667b('0x0'));var rimraf=require(_0x667b('0x1'));var zipdir=require(_0x667b('0x2'));var jsonpatch=require(_0x667b('0x3'));var rp=require(_0x667b('0x4'));var moment=require('moment');var BPromise=require(_0x667b('0x5'));var Mustache=require(_0x667b('0x6'));var util=require(_0x667b('0x7'));var path=require(_0x667b('0x8'));var sox=require(_0x667b('0x9'));var csv=require(_0x667b('0xa'));var ejs=require(_0x667b('0xb'));var fs=require('fs');var fs_extra=require(_0x667b('0xc'));var _=require('lodash');var squel=require(_0x667b('0xd'));var crypto=require(_0x667b('0xe'));var jsforce=require(_0x667b('0xf'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x667b('0x10'));var Redis=require('ioredis');var authService=require(_0x667b('0x11'));var qs=require(_0x667b('0x12'));var as=require(_0x667b('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x667b('0x14'))(_0x667b('0x15'));var utils=require(_0x667b('0x16'));var config=require(_0x667b('0x17'));var licenseUtil=require(_0x667b('0x18'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x225c9c,_0x272e4e){_0x272e4e=_0x272e4e||0xcc;return function(_0x4c4bcc){if(_0x4c4bcc){return _0x225c9c[_0x667b('0x19')](_0x272e4e);}return _0x225c9c['status'](_0x272e4e)['end']();};}function respondWithResult(_0x3c5224,_0x57524a){_0x57524a=_0x57524a||0xc8;return function(_0x1f2788){if(_0x1f2788){return _0x3c5224['status'](_0x57524a)[_0x667b('0x1a')](_0x1f2788);}};}function respondWithFilteredResult(_0x2b8faa,_0x496d2b){return function(_0x363846){if(_0x363846){var _0x2dacfa=typeof _0x496d2b[_0x667b('0x1b')]===_0x667b('0x1c')&&typeof _0x496d2b[_0x667b('0x1d')]==='undefined';var _0x26f2c3=_0x363846[_0x667b('0x1e')];var _0x343e75=_0x2dacfa?0x0:_0x496d2b['offset'];var _0x9d4102=_0x2dacfa?_0x363846[_0x667b('0x1e')]:_0x496d2b[_0x667b('0x1b')]+_0x496d2b['limit'];var _0x32f5eb;if(_0x9d4102>=_0x26f2c3){_0x9d4102=_0x26f2c3;_0x32f5eb=0xc8;}else{_0x32f5eb=0xce;}_0x2b8faa[_0x667b('0x1f')](_0x32f5eb);return _0x2b8faa['set'](_0x667b('0x20'),_0x343e75+'-'+_0x9d4102+'/'+_0x26f2c3)[_0x667b('0x1a')](_0x363846);}return null;};}function patchUpdates(_0x4926cf){return function(_0x470320){try{jsonpatch['apply'](_0x470320,_0x4926cf,!![]);}catch(_0xd50ba3){return BPromise['reject'](_0xd50ba3);}return _0x470320[_0x667b('0x21')]();};}function saveUpdates(_0x29406b,_0x4af3a3){return function(_0x1c58ef){if(_0x1c58ef){return _0x1c58ef[_0x667b('0x22')](_0x29406b)['then'](function(_0x30bf13){return _0x30bf13;});}return null;};}function removeEntity(_0x227104,_0x3284e6){return function(_0x5e4e2d){if(_0x5e4e2d){return _0x5e4e2d['destroy']()[_0x667b('0x23')](function(){_0x227104['status'](0xcc)[_0x667b('0x24')]();});}};}function handleEntityNotFound(_0x4ef32c,_0x130d28){return function(_0x52a083){if(!_0x52a083){_0x4ef32c['sendStatus'](0x194);}return _0x52a083;};}function handleError(_0x15f4e4,_0x2f9a6b){_0x2f9a6b=_0x2f9a6b||0x1f4;return function(_0x45cdd7){logger[_0x667b('0x25')](_0x45cdd7[_0x667b('0x26')]);if(_0x45cdd7[_0x667b('0x27')]){delete _0x45cdd7[_0x667b('0x27')];}_0x15f4e4['status'](_0x2f9a6b)[_0x667b('0x28')](_0x45cdd7);};}exports[_0x667b('0x29')]=function(_0x534eef,_0x2a35f5){var _0x3b31cc={},_0x46534b={},_0x40c818={'count':0x0,'rows':[]};var _0x1b41d4=_[_0x667b('0x2a')](db[_0x667b('0x2b')][_0x667b('0x2c')],function(_0x474ca3){return{'name':_0x474ca3[_0x667b('0x2d')],'type':_0x474ca3[_0x667b('0x2e')][_0x667b('0x2f')]};});_0x46534b[_0x667b('0x30')]=_[_0x667b('0x2a')](_0x1b41d4,_0x667b('0x27'));_0x46534b[_0x667b('0x31')]=_[_0x667b('0x32')](_0x534eef[_0x667b('0x31')]);_0x46534b[_0x667b('0x33')]=_[_0x667b('0x34')](_0x46534b['model'],_0x46534b[_0x667b('0x31')]);_0x3b31cc[_0x667b('0x35')]=_[_0x667b('0x34')](_0x46534b['model'],qs[_0x667b('0x36')](_0x534eef['query'][_0x667b('0x36')]));_0x3b31cc[_0x667b('0x35')]=_0x3b31cc[_0x667b('0x35')]['length']?_0x3b31cc[_0x667b('0x35')]:_0x46534b[_0x667b('0x30')];if(!_0x534eef['query'][_0x667b('0x37')]('nolimit')){_0x3b31cc[_0x667b('0x1d')]=qs['limit'](_0x534eef[_0x667b('0x31')]['limit']);_0x3b31cc[_0x667b('0x1b')]=qs[_0x667b('0x1b')](_0x534eef[_0x667b('0x31')]['offset']);}_0x3b31cc[_0x667b('0x38')]=qs[_0x667b('0x39')](_0x534eef[_0x667b('0x31')][_0x667b('0x39')]);_0x3b31cc[_0x667b('0x3a')]=qs[_0x667b('0x33')](_['pick'](_0x534eef[_0x667b('0x31')],_0x46534b['filters']),_0x1b41d4);if(_0x534eef[_0x667b('0x31')]['filter']){_0x3b31cc[_0x667b('0x3a')]=_[_0x667b('0x3b')](_0x3b31cc[_0x667b('0x3a')],{'$or':_[_0x667b('0x2a')](_0x1b41d4,function(_0x227f57){if(_0x227f57['type']!==_0x667b('0x3c')){var _0x17108={};_0x17108[_0x227f57['name']]={'$like':'%'+_0x534eef[_0x667b('0x31')][_0x667b('0x3d')]+'%'};return _0x17108;}})});}_0x3b31cc=_['merge']({},_0x3b31cc,_0x534eef['options']);var _0x108194={'where':_0x3b31cc['where']};return db[_0x667b('0x2b')][_0x667b('0x1e')](_0x108194)[_0x667b('0x23')](function(_0x39c133){_0x40c818['count']=_0x39c133;if(_0x534eef['query'][_0x667b('0x3e')]){_0x3b31cc[_0x667b('0x3f')]=[{'all':!![]}];}return db[_0x667b('0x2b')][_0x667b('0x40')](_0x3b31cc);})[_0x667b('0x23')](function(_0x3b70de){_0x40c818[_0x667b('0x41')]=_0x3b70de;return _0x40c818;})[_0x667b('0x23')](respondWithFilteredResult(_0x2a35f5,_0x3b31cc))[_0x667b('0x42')](handleError(_0x2a35f5,null));};exports[_0x667b('0x43')]=function(_0x19581d,_0x56ce98){var _0x35441d={'raw':![],'where':{'id':_0x19581d[_0x667b('0x44')]['id']}},_0xf911d3={};_0xf911d3[_0x667b('0x30')]=_[_0x667b('0x32')](db[_0x667b('0x2b')]['rawAttributes']);_0xf911d3[_0x667b('0x31')]=_[_0x667b('0x32')](_0x19581d[_0x667b('0x31')]);_0xf911d3[_0x667b('0x33')]=_[_0x667b('0x34')](_0xf911d3[_0x667b('0x30')],_0xf911d3[_0x667b('0x31')]);_0x35441d[_0x667b('0x35')]=_[_0x667b('0x34')](_0xf911d3[_0x667b('0x30')],qs[_0x667b('0x36')](_0x19581d[_0x667b('0x31')][_0x667b('0x36')]));_0x35441d[_0x667b('0x35')]=_0x35441d[_0x667b('0x35')][_0x667b('0x45')]?_0x35441d[_0x667b('0x35')]:_0xf911d3['model'];if(_0x19581d[_0x667b('0x31')]['includeAll']){_0x35441d[_0x667b('0x3f')]=[{'all':!![]}];}_0x35441d=_['merge']({},_0x35441d,_0x19581d[_0x667b('0x46')]);return db[_0x667b('0x2b')][_0x667b('0x47')](_0x35441d)[_0x667b('0x23')](handleEntityNotFound(_0x56ce98,null))[_0x667b('0x23')](respondWithResult(_0x56ce98,null))[_0x667b('0x42')](handleError(_0x56ce98,null));};exports['create']=function(_0xbec18e,_0x1e4383){return db[_0x667b('0x2b')][_0x667b('0x48')](_0xbec18e[_0x667b('0x49')],{})[_0x667b('0x23')](respondWithResult(_0x1e4383,0xc9))[_0x667b('0x42')](handleError(_0x1e4383,null));};exports['update']=function(_0x325c86,_0x5254ee){if(_0x325c86[_0x667b('0x49')]['id']){delete _0x325c86[_0x667b('0x49')]['id'];}return db['SalesforceConfiguration'][_0x667b('0x47')]({'where':{'id':_0x325c86[_0x667b('0x44')]['id']}})[_0x667b('0x23')](handleEntityNotFound(_0x5254ee,null))[_0x667b('0x23')](saveUpdates(_0x325c86[_0x667b('0x49')],null))[_0x667b('0x23')](respondWithResult(_0x5254ee,null))[_0x667b('0x42')](handleError(_0x5254ee,null));};exports[_0x667b('0x4a')]=function(_0x20aaed,_0x19ddfc){return db['SalesforceConfiguration']['find']({'where':{'id':_0x20aaed[_0x667b('0x44')]['id']}})['then'](handleEntityNotFound(_0x19ddfc,null))[_0x667b('0x23')](removeEntity(_0x19ddfc,null))['catch'](handleError(_0x19ddfc,null));};exports[_0x667b('0x4b')]=function(_0xccbf00,_0x4bb1bb,_0x12c0fc){var _0x2e9dbc={};var _0x51040f={};var _0x56ccde;var _0x47b86c;return db[_0x667b('0x2b')]['findOne']({'where':{'id':_0xccbf00[_0x667b('0x44')]['id']}})[_0x667b('0x23')](handleEntityNotFound(_0x4bb1bb,null))[_0x667b('0x23')](function(_0xb625a9){if(_0xb625a9){_0x56ccde=_0xb625a9;_0x51040f['model']=_[_0x667b('0x32')](db['SalesforceField'][_0x667b('0x2c')]);_0x51040f[_0x667b('0x31')]=_['keys'](_0xccbf00[_0x667b('0x31')]);_0x51040f['filters']=_[_0x667b('0x34')](_0x51040f['model'],_0x51040f[_0x667b('0x31')]);_0x2e9dbc[_0x667b('0x35')]=_['intersection'](_0x51040f['model'],qs[_0x667b('0x36')](_0xccbf00[_0x667b('0x31')]['fields']));_0x2e9dbc[_0x667b('0x35')]=_0x2e9dbc[_0x667b('0x35')][_0x667b('0x45')]?_0x2e9dbc[_0x667b('0x35')]:_0x51040f[_0x667b('0x30')];_0x2e9dbc['order']=qs[_0x667b('0x39')](_0xccbf00[_0x667b('0x31')][_0x667b('0x39')]);_0x2e9dbc[_0x667b('0x3a')]=qs[_0x667b('0x33')](_['pick'](_0xccbf00[_0x667b('0x31')],_0x51040f[_0x667b('0x33')]));if(_0xccbf00[_0x667b('0x31')]['filter']){_0x2e9dbc[_0x667b('0x3a')]=_[_0x667b('0x3b')](_0x2e9dbc['where'],{'$or':_['map'](_0x2e9dbc[_0x667b('0x35')],function(_0x2bad12){var _0x7db47f={};_0x7db47f[_0x2bad12]={'$like':'%'+_0xccbf00[_0x667b('0x31')][_0x667b('0x3d')]+'%'};return _0x7db47f;})});}_0x2e9dbc=_[_0x667b('0x3b')]({},_0x2e9dbc,_0xccbf00[_0x667b('0x46')]);return _0x56ccde[_0x667b('0x4b')](_0x2e9dbc);}})['then'](function(_0x38c9d4){if(_0x38c9d4){_0x47b86c=_0x38c9d4['length'];if(!_0xccbf00[_0x667b('0x31')][_0x667b('0x37')](_0x667b('0x4c'))){_0x2e9dbc[_0x667b('0x1d')]=qs['limit'](_0xccbf00[_0x667b('0x31')][_0x667b('0x1d')]);_0x2e9dbc[_0x667b('0x1b')]=qs[_0x667b('0x1b')](_0xccbf00[_0x667b('0x31')][_0x667b('0x1b')]);}return _0x56ccde[_0x667b('0x4b')](_0x2e9dbc);}})['then'](function(_0x4a9957){if(_0x4a9957){return _0x4a9957?{'count':_0x47b86c,'rows':_0x4a9957}:null;}})[_0x667b('0x23')](respondWithResult(_0x4bb1bb,null))[_0x667b('0x42')](handleError(_0x4bb1bb,null));};exports['getSubjects']=function(_0x4c4391,_0x33963e,_0x536280){var _0x48572d={};var _0x4419f4={};var _0x307992;var _0x1c33b7;return db[_0x667b('0x2b')][_0x667b('0x4d')]({'where':{'id':_0x4c4391['params']['id']}})[_0x667b('0x23')](handleEntityNotFound(_0x33963e,null))['then'](function(_0x3d10f8){if(_0x3d10f8){_0x307992=_0x3d10f8;_0x4419f4[_0x667b('0x30')]=_[_0x667b('0x32')](db['SalesforceField'][_0x667b('0x2c')]);_0x4419f4[_0x667b('0x31')]=_[_0x667b('0x32')](_0x4c4391[_0x667b('0x31')]);_0x4419f4[_0x667b('0x33')]=_[_0x667b('0x34')](_0x4419f4['model'],_0x4419f4[_0x667b('0x31')]);_0x48572d[_0x667b('0x35')]=_[_0x667b('0x34')](_0x4419f4[_0x667b('0x30')],qs[_0x667b('0x36')](_0x4c4391[_0x667b('0x31')][_0x667b('0x36')]));_0x48572d[_0x667b('0x35')]=_0x48572d['attributes'][_0x667b('0x45')]?_0x48572d[_0x667b('0x35')]:_0x4419f4['model'];_0x48572d[_0x667b('0x38')]=qs[_0x667b('0x39')](_0x4c4391[_0x667b('0x31')]['sort']);_0x48572d[_0x667b('0x3a')]=qs[_0x667b('0x33')](_[_0x667b('0x4e')](_0x4c4391[_0x667b('0x31')],_0x4419f4[_0x667b('0x33')]));if(_0x4c4391[_0x667b('0x31')][_0x667b('0x3d')]){_0x48572d[_0x667b('0x3a')]=_[_0x667b('0x3b')](_0x48572d[_0x667b('0x3a')],{'$or':_[_0x667b('0x2a')](_0x48572d[_0x667b('0x35')],function(_0x23a280){var _0x2f6482={};_0x2f6482[_0x23a280]={'$like':'%'+_0x4c4391[_0x667b('0x31')][_0x667b('0x3d')]+'%'};return _0x2f6482;})});}_0x48572d=_['merge']({},_0x48572d,_0x4c4391[_0x667b('0x46')]);return _0x307992[_0x667b('0x4f')](_0x48572d);}})[_0x667b('0x23')](function(_0x307de7){if(_0x307de7){_0x1c33b7=_0x307de7[_0x667b('0x45')];if(!_0x4c4391[_0x667b('0x31')]['hasOwnProperty']('nolimit')){_0x48572d[_0x667b('0x1d')]=qs[_0x667b('0x1d')](_0x4c4391[_0x667b('0x31')]['limit']);_0x48572d[_0x667b('0x1b')]=qs['offset'](_0x4c4391[_0x667b('0x31')]['offset']);}return _0x307992['getSubjects'](_0x48572d);}})[_0x667b('0x23')](function(_0x3f2278){if(_0x3f2278){return _0x3f2278?{'count':_0x1c33b7,'rows':_0x3f2278}:null;}})[_0x667b('0x23')](respondWithResult(_0x33963e,null))['catch'](handleError(_0x33963e,null));};exports['getDescriptions']=function(_0x5b54ba,_0x319cc2,_0x1e9f23){var _0x206f56={};var _0x3e43e0={};var _0x200dfe;var _0x2a87c1;return db[_0x667b('0x2b')][_0x667b('0x4d')]({'where':{'id':_0x5b54ba[_0x667b('0x44')]['id']}})[_0x667b('0x23')](handleEntityNotFound(_0x319cc2,null))[_0x667b('0x23')](function(_0x63174){if(_0x63174){_0x200dfe=_0x63174;_0x3e43e0[_0x667b('0x30')]=_[_0x667b('0x32')](db[_0x667b('0x50')][_0x667b('0x2c')]);_0x3e43e0[_0x667b('0x31')]=_[_0x667b('0x32')](_0x5b54ba[_0x667b('0x31')]);_0x3e43e0[_0x667b('0x33')]=_['intersection'](_0x3e43e0['model'],_0x3e43e0[_0x667b('0x31')]);_0x206f56[_0x667b('0x35')]=_[_0x667b('0x34')](_0x3e43e0[_0x667b('0x30')],qs[_0x667b('0x36')](_0x5b54ba[_0x667b('0x31')][_0x667b('0x36')]));_0x206f56['attributes']=_0x206f56[_0x667b('0x35')][_0x667b('0x45')]?_0x206f56['attributes']:_0x3e43e0[_0x667b('0x30')];_0x206f56[_0x667b('0x38')]=qs['sort'](_0x5b54ba[_0x667b('0x31')][_0x667b('0x39')]);_0x206f56[_0x667b('0x3a')]=qs[_0x667b('0x33')](_[_0x667b('0x4e')](_0x5b54ba[_0x667b('0x31')],_0x3e43e0[_0x667b('0x33')]));if(_0x5b54ba[_0x667b('0x31')][_0x667b('0x3d')]){_0x206f56['where']=_[_0x667b('0x3b')](_0x206f56['where'],{'$or':_[_0x667b('0x2a')](_0x206f56[_0x667b('0x35')],function(_0x172a61){var _0x4dd8bd={};_0x4dd8bd[_0x172a61]={'$like':'%'+_0x5b54ba['query'][_0x667b('0x3d')]+'%'};return _0x4dd8bd;})});}_0x206f56=_[_0x667b('0x3b')]({},_0x206f56,_0x5b54ba[_0x667b('0x46')]);return _0x200dfe[_0x667b('0x51')](_0x206f56);}})[_0x667b('0x23')](function(_0x4fc9a1){if(_0x4fc9a1){_0x2a87c1=_0x4fc9a1['length'];if(!_0x5b54ba[_0x667b('0x31')]['hasOwnProperty'](_0x667b('0x4c'))){_0x206f56[_0x667b('0x1d')]=qs[_0x667b('0x1d')](_0x5b54ba[_0x667b('0x31')][_0x667b('0x1d')]);_0x206f56[_0x667b('0x1b')]=qs[_0x667b('0x1b')](_0x5b54ba[_0x667b('0x31')][_0x667b('0x1b')]);}return _0x200dfe[_0x667b('0x51')](_0x206f56);}})[_0x667b('0x23')](function(_0x177857){if(_0x177857){return _0x177857?{'count':_0x2a87c1,'rows':_0x177857}:null;}})[_0x667b('0x23')](respondWithResult(_0x319cc2,null))[_0x667b('0x42')](handleError(_0x319cc2,null));};