Built motion from commit 3d6333b4.|2.6.31
[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 _0xd29c=['send','index','rawAttributes','fieldName','key','model','query','keys','intersection','attributes','fields','length','nolimit','sort','filters','pick','filter','where','merge','map','type','VIRTUAL','SalesforceConfiguration','includeAll','include','findAll','rows','show','options','find','catch','create','body','params','getFields','findOne','SalesforceField','hasOwnProperty','getSubjects','order','getDescriptions','eml-format','rimraf','fast-json-patch','request-promise','moment','mustache','util','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../mysqldb','status','end','json','undefined','limit','count','offset','set','Content-Range','apply','update','destroy','then','sendStatus','error','stack','name'];(function(_0x254e16,_0x1815cd){var _0x3b7f4b=function(_0x8a59c2){while(--_0x8a59c2){_0x254e16['push'](_0x254e16['shift']());}};_0x3b7f4b(++_0x1815cd);}(_0xd29c,0xc9));var _0xcd29=function(_0x222f67,_0x317376){_0x222f67=_0x222f67-0x0;var _0x19db56=_0xd29c[_0x222f67];return _0x19db56;};'use strict';var emlformat=require(_0xcd29('0x0'));var rimraf=require(_0xcd29('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xcd29('0x2'));var rp=require(_0xcd29('0x3'));var moment=require(_0xcd29('0x4'));var BPromise=require('bluebird');var Mustache=require(_0xcd29('0x5'));var util=require(_0xcd29('0x6'));var path=require('path');var sox=require('sox');var csv=require(_0xcd29('0x7'));var ejs=require(_0xcd29('0x8'));var fs=require('fs');var fs_extra=require(_0xcd29('0x9'));var _=require(_0xcd29('0xa'));var squel=require(_0xcd29('0xb'));var crypto=require(_0xcd29('0xc'));var jsforce=require('jsforce');var deskjs=require(_0xcd29('0xd'));var toCsv=require(_0xcd29('0x7'));var querystring=require(_0xcd29('0xe'));var Papa=require('papaparse');var Redis=require(_0xcd29('0xf'));var authService=require(_0xcd29('0x10'));var qs=require(_0xcd29('0x11'));var as=require(_0xcd29('0x12'));var hardwareService=require(_0xcd29('0x13'));var logger=require('../../config/logger')(_0xcd29('0x14'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0xcd29('0x15'))['db'];function respondWithStatusCode(_0x1a4293,_0x5cd361){_0x5cd361=_0x5cd361||0xcc;return function(_0x3cbd78){if(_0x3cbd78){return _0x1a4293['sendStatus'](_0x5cd361);}return _0x1a4293[_0xcd29('0x16')](_0x5cd361)[_0xcd29('0x17')]();};}function respondWithResult(_0x220f50,_0x22fa17){_0x22fa17=_0x22fa17||0xc8;return function(_0x44f8ee){if(_0x44f8ee){return _0x220f50[_0xcd29('0x16')](_0x22fa17)[_0xcd29('0x18')](_0x44f8ee);}};}function respondWithFilteredResult(_0x1651a4,_0x1dcde7){return function(_0x231e71){if(_0x231e71){var _0x18049f=typeof _0x1dcde7['offset']===_0xcd29('0x19')&&typeof _0x1dcde7[_0xcd29('0x1a')]===_0xcd29('0x19');var _0x343e84=_0x231e71[_0xcd29('0x1b')];var _0x11f13d=_0x18049f?0x0:_0x1dcde7[_0xcd29('0x1c')];var _0x3458d8=_0x18049f?_0x231e71['count']:_0x1dcde7[_0xcd29('0x1c')]+_0x1dcde7[_0xcd29('0x1a')];var _0x185fcb;if(_0x3458d8>=_0x343e84){_0x3458d8=_0x343e84;_0x185fcb=0xc8;}else{_0x185fcb=0xce;}_0x1651a4[_0xcd29('0x16')](_0x185fcb);return _0x1651a4[_0xcd29('0x1d')](_0xcd29('0x1e'),_0x11f13d+'-'+_0x3458d8+'/'+_0x343e84)['json'](_0x231e71);}return null;};}function patchUpdates(_0x2068d8){return function(_0x4cf1cd){try{jsonpatch[_0xcd29('0x1f')](_0x4cf1cd,_0x2068d8,!![]);}catch(_0x5f488f){return BPromise['reject'](_0x5f488f);}return _0x4cf1cd['save']();};}function saveUpdates(_0x3e8bea,_0x36031d){return function(_0x1a3ff9){if(_0x1a3ff9){return _0x1a3ff9[_0xcd29('0x20')](_0x3e8bea)['then'](function(_0x214948){return _0x214948;});}return null;};}function removeEntity(_0x4a911e,_0x3397e1){return function(_0x250ffd){if(_0x250ffd){return _0x250ffd[_0xcd29('0x21')]()[_0xcd29('0x22')](function(){_0x4a911e['status'](0xcc)[_0xcd29('0x17')]();});}};}function handleEntityNotFound(_0x54b2e1,_0x5c9fd6){return function(_0x3b5bb4){if(!_0x3b5bb4){_0x54b2e1[_0xcd29('0x23')](0x194);}return _0x3b5bb4;};}function handleError(_0x37b244,_0x1869b8){_0x1869b8=_0x1869b8||0x1f4;return function(_0x3c2a93){logger[_0xcd29('0x24')](_0x3c2a93[_0xcd29('0x25')]);if(_0x3c2a93[_0xcd29('0x26')]){delete _0x3c2a93[_0xcd29('0x26')];}_0x37b244[_0xcd29('0x16')](_0x1869b8)[_0xcd29('0x27')](_0x3c2a93);};}exports[_0xcd29('0x28')]=function(_0x5e4269,_0x592f44){var _0x1117c4={},_0x352e2f={},_0x59a30a={'count':0x0,'rows':[]};var _0x183ab2=_['map'](db['SalesforceConfiguration'][_0xcd29('0x29')],function(_0xae6fa2){return{'name':_0xae6fa2[_0xcd29('0x2a')],'type':_0xae6fa2['type'][_0xcd29('0x2b')]};});_0x352e2f[_0xcd29('0x2c')]=_['map'](_0x183ab2,'name');_0x352e2f[_0xcd29('0x2d')]=_[_0xcd29('0x2e')](_0x5e4269[_0xcd29('0x2d')]);_0x352e2f['filters']=_[_0xcd29('0x2f')](_0x352e2f['model'],_0x352e2f['query']);_0x1117c4[_0xcd29('0x30')]=_['intersection'](_0x352e2f[_0xcd29('0x2c')],qs[_0xcd29('0x31')](_0x5e4269['query'][_0xcd29('0x31')]));_0x1117c4[_0xcd29('0x30')]=_0x1117c4[_0xcd29('0x30')][_0xcd29('0x32')]?_0x1117c4[_0xcd29('0x30')]:_0x352e2f['model'];if(!_0x5e4269['query']['hasOwnProperty'](_0xcd29('0x33'))){_0x1117c4[_0xcd29('0x1a')]=qs[_0xcd29('0x1a')](_0x5e4269[_0xcd29('0x2d')]['limit']);_0x1117c4['offset']=qs['offset'](_0x5e4269[_0xcd29('0x2d')][_0xcd29('0x1c')]);}_0x1117c4['order']=qs[_0xcd29('0x34')](_0x5e4269[_0xcd29('0x2d')]['sort']);_0x1117c4['where']=qs[_0xcd29('0x35')](_[_0xcd29('0x36')](_0x5e4269[_0xcd29('0x2d')],_0x352e2f['filters']),_0x183ab2);if(_0x5e4269[_0xcd29('0x2d')][_0xcd29('0x37')]){_0x1117c4[_0xcd29('0x38')]=_[_0xcd29('0x39')](_0x1117c4[_0xcd29('0x38')],{'$or':_[_0xcd29('0x3a')](_0x183ab2,function(_0x45b79f){if(_0x45b79f[_0xcd29('0x3b')]!==_0xcd29('0x3c')){var _0x28cdd9={};_0x28cdd9[_0x45b79f[_0xcd29('0x26')]]={'$like':'%'+_0x5e4269[_0xcd29('0x2d')][_0xcd29('0x37')]+'%'};return _0x28cdd9;}})});}_0x1117c4=_[_0xcd29('0x39')]({},_0x1117c4,_0x5e4269['options']);var _0x55e817={'where':_0x1117c4[_0xcd29('0x38')]};return db[_0xcd29('0x3d')][_0xcd29('0x1b')](_0x55e817)[_0xcd29('0x22')](function(_0x5b227e){_0x59a30a[_0xcd29('0x1b')]=_0x5b227e;if(_0x5e4269[_0xcd29('0x2d')][_0xcd29('0x3e')]){_0x1117c4[_0xcd29('0x3f')]=[{'all':!![]}];}return db[_0xcd29('0x3d')][_0xcd29('0x40')](_0x1117c4);})[_0xcd29('0x22')](function(_0x271e1b){_0x59a30a[_0xcd29('0x41')]=_0x271e1b;return _0x59a30a;})[_0xcd29('0x22')](respondWithFilteredResult(_0x592f44,_0x1117c4))['catch'](handleError(_0x592f44,null));};exports[_0xcd29('0x42')]=function(_0x244832,_0x1a5210){var _0x36ae54={'raw':![],'where':{'id':_0x244832['params']['id']}},_0x13fbe1={};_0x13fbe1[_0xcd29('0x2c')]=_[_0xcd29('0x2e')](db['SalesforceConfiguration']['rawAttributes']);_0x13fbe1[_0xcd29('0x2d')]=_['keys'](_0x244832[_0xcd29('0x2d')]);_0x13fbe1[_0xcd29('0x35')]=_['intersection'](_0x13fbe1['model'],_0x13fbe1[_0xcd29('0x2d')]);_0x36ae54[_0xcd29('0x30')]=_[_0xcd29('0x2f')](_0x13fbe1[_0xcd29('0x2c')],qs[_0xcd29('0x31')](_0x244832['query'][_0xcd29('0x31')]));_0x36ae54['attributes']=_0x36ae54['attributes'][_0xcd29('0x32')]?_0x36ae54[_0xcd29('0x30')]:_0x13fbe1['model'];if(_0x244832[_0xcd29('0x2d')][_0xcd29('0x3e')]){_0x36ae54[_0xcd29('0x3f')]=[{'all':!![]}];}_0x36ae54=_[_0xcd29('0x39')]({},_0x36ae54,_0x244832[_0xcd29('0x43')]);return db[_0xcd29('0x3d')][_0xcd29('0x44')](_0x36ae54)[_0xcd29('0x22')](handleEntityNotFound(_0x1a5210,null))[_0xcd29('0x22')](respondWithResult(_0x1a5210,null))[_0xcd29('0x45')](handleError(_0x1a5210,null));};exports[_0xcd29('0x46')]=function(_0x5a904e,_0x2524fd){return db[_0xcd29('0x3d')]['create'](_0x5a904e['body'],{})[_0xcd29('0x22')](respondWithResult(_0x2524fd,0xc9))['catch'](handleError(_0x2524fd,null));};exports[_0xcd29('0x20')]=function(_0x32dd09,_0x45bc4d){if(_0x32dd09['body']['id']){delete _0x32dd09[_0xcd29('0x47')]['id'];}return db[_0xcd29('0x3d')][_0xcd29('0x44')]({'where':{'id':_0x32dd09[_0xcd29('0x48')]['id']}})[_0xcd29('0x22')](handleEntityNotFound(_0x45bc4d,null))[_0xcd29('0x22')](saveUpdates(_0x32dd09[_0xcd29('0x47')],null))['then'](respondWithResult(_0x45bc4d,null))['catch'](handleError(_0x45bc4d,null));};exports['destroy']=function(_0x387053,_0x452f06){return db[_0xcd29('0x3d')][_0xcd29('0x44')]({'where':{'id':_0x387053[_0xcd29('0x48')]['id']}})[_0xcd29('0x22')](handleEntityNotFound(_0x452f06,null))[_0xcd29('0x22')](removeEntity(_0x452f06,null))[_0xcd29('0x45')](handleError(_0x452f06,null));};exports[_0xcd29('0x49')]=function(_0x42b454,_0x520bee,_0x2caa73){var _0xe1f267={};var _0x1b043b={};var _0x2deb32;var _0x52d43b;return db[_0xcd29('0x3d')][_0xcd29('0x4a')]({'where':{'id':_0x42b454[_0xcd29('0x48')]['id']}})[_0xcd29('0x22')](handleEntityNotFound(_0x520bee,null))['then'](function(_0x246a94){if(_0x246a94){_0x2deb32=_0x246a94;_0x1b043b[_0xcd29('0x2c')]=_[_0xcd29('0x2e')](db[_0xcd29('0x4b')]['rawAttributes']);_0x1b043b['query']=_['keys'](_0x42b454[_0xcd29('0x2d')]);_0x1b043b[_0xcd29('0x35')]=_[_0xcd29('0x2f')](_0x1b043b['model'],_0x1b043b[_0xcd29('0x2d')]);_0xe1f267[_0xcd29('0x30')]=_[_0xcd29('0x2f')](_0x1b043b['model'],qs['fields'](_0x42b454[_0xcd29('0x2d')][_0xcd29('0x31')]));_0xe1f267[_0xcd29('0x30')]=_0xe1f267['attributes'][_0xcd29('0x32')]?_0xe1f267['attributes']:_0x1b043b[_0xcd29('0x2c')];_0xe1f267['order']=qs['sort'](_0x42b454[_0xcd29('0x2d')][_0xcd29('0x34')]);_0xe1f267[_0xcd29('0x38')]=qs[_0xcd29('0x35')](_[_0xcd29('0x36')](_0x42b454[_0xcd29('0x2d')],_0x1b043b['filters']));if(_0x42b454[_0xcd29('0x2d')][_0xcd29('0x37')]){_0xe1f267[_0xcd29('0x38')]=_['merge'](_0xe1f267[_0xcd29('0x38')],{'$or':_[_0xcd29('0x3a')](_0xe1f267['attributes'],function(_0x22079b){var _0x474ec9={};_0x474ec9[_0x22079b]={'$like':'%'+_0x42b454[_0xcd29('0x2d')][_0xcd29('0x37')]+'%'};return _0x474ec9;})});}_0xe1f267=_[_0xcd29('0x39')]({},_0xe1f267,_0x42b454[_0xcd29('0x43')]);return _0x2deb32[_0xcd29('0x49')](_0xe1f267);}})['then'](function(_0x433db5){if(_0x433db5){_0x52d43b=_0x433db5['length'];if(!_0x42b454[_0xcd29('0x2d')][_0xcd29('0x4c')](_0xcd29('0x33'))){_0xe1f267[_0xcd29('0x1a')]=qs[_0xcd29('0x1a')](_0x42b454[_0xcd29('0x2d')]['limit']);_0xe1f267[_0xcd29('0x1c')]=qs[_0xcd29('0x1c')](_0x42b454['query'][_0xcd29('0x1c')]);}return _0x2deb32[_0xcd29('0x49')](_0xe1f267);}})[_0xcd29('0x22')](function(_0x3a40cc){if(_0x3a40cc){return _0x3a40cc?{'count':_0x52d43b,'rows':_0x3a40cc}:null;}})[_0xcd29('0x22')](respondWithResult(_0x520bee,null))[_0xcd29('0x45')](handleError(_0x520bee,null));};exports[_0xcd29('0x4d')]=function(_0x216c3b,_0x17c4ca,_0x21b828){var _0x36b33d={};var _0xcab8bd={};var _0x703713;var _0x160f62;return db[_0xcd29('0x3d')]['findOne']({'where':{'id':_0x216c3b[_0xcd29('0x48')]['id']}})['then'](handleEntityNotFound(_0x17c4ca,null))[_0xcd29('0x22')](function(_0x24a724){if(_0x24a724){_0x703713=_0x24a724;_0xcab8bd[_0xcd29('0x2c')]=_[_0xcd29('0x2e')](db[_0xcd29('0x4b')][_0xcd29('0x29')]);_0xcab8bd[_0xcd29('0x2d')]=_[_0xcd29('0x2e')](_0x216c3b[_0xcd29('0x2d')]);_0xcab8bd[_0xcd29('0x35')]=_[_0xcd29('0x2f')](_0xcab8bd[_0xcd29('0x2c')],_0xcab8bd[_0xcd29('0x2d')]);_0x36b33d['attributes']=_[_0xcd29('0x2f')](_0xcab8bd[_0xcd29('0x2c')],qs[_0xcd29('0x31')](_0x216c3b[_0xcd29('0x2d')][_0xcd29('0x31')]));_0x36b33d[_0xcd29('0x30')]=_0x36b33d[_0xcd29('0x30')][_0xcd29('0x32')]?_0x36b33d['attributes']:_0xcab8bd[_0xcd29('0x2c')];_0x36b33d[_0xcd29('0x4e')]=qs['sort'](_0x216c3b['query'][_0xcd29('0x34')]);_0x36b33d[_0xcd29('0x38')]=qs[_0xcd29('0x35')](_[_0xcd29('0x36')](_0x216c3b[_0xcd29('0x2d')],_0xcab8bd[_0xcd29('0x35')]));if(_0x216c3b[_0xcd29('0x2d')]['filter']){_0x36b33d[_0xcd29('0x38')]=_[_0xcd29('0x39')](_0x36b33d[_0xcd29('0x38')],{'$or':_[_0xcd29('0x3a')](_0x36b33d[_0xcd29('0x30')],function(_0x4bce61){var _0x1d18cb={};_0x1d18cb[_0x4bce61]={'$like':'%'+_0x216c3b[_0xcd29('0x2d')]['filter']+'%'};return _0x1d18cb;})});}_0x36b33d=_[_0xcd29('0x39')]({},_0x36b33d,_0x216c3b['options']);return _0x703713['getSubjects'](_0x36b33d);}})[_0xcd29('0x22')](function(_0x32fa38){if(_0x32fa38){_0x160f62=_0x32fa38[_0xcd29('0x32')];if(!_0x216c3b['query'][_0xcd29('0x4c')](_0xcd29('0x33'))){_0x36b33d[_0xcd29('0x1a')]=qs['limit'](_0x216c3b[_0xcd29('0x2d')][_0xcd29('0x1a')]);_0x36b33d[_0xcd29('0x1c')]=qs['offset'](_0x216c3b['query'][_0xcd29('0x1c')]);}return _0x703713['getSubjects'](_0x36b33d);}})[_0xcd29('0x22')](function(_0x3cd016){if(_0x3cd016){return _0x3cd016?{'count':_0x160f62,'rows':_0x3cd016}:null;}})[_0xcd29('0x22')](respondWithResult(_0x17c4ca,null))[_0xcd29('0x45')](handleError(_0x17c4ca,null));};exports['getDescriptions']=function(_0x51005c,_0xc3c775,_0x4b1fcf){var _0x2badaa={};var _0x40cb3d={};var _0x1e5d8a;var _0x263340;return db[_0xcd29('0x3d')][_0xcd29('0x4a')]({'where':{'id':_0x51005c[_0xcd29('0x48')]['id']}})['then'](handleEntityNotFound(_0xc3c775,null))[_0xcd29('0x22')](function(_0x142eec){if(_0x142eec){_0x1e5d8a=_0x142eec;_0x40cb3d[_0xcd29('0x2c')]=_[_0xcd29('0x2e')](db[_0xcd29('0x4b')][_0xcd29('0x29')]);_0x40cb3d['query']=_['keys'](_0x51005c[_0xcd29('0x2d')]);_0x40cb3d[_0xcd29('0x35')]=_[_0xcd29('0x2f')](_0x40cb3d[_0xcd29('0x2c')],_0x40cb3d[_0xcd29('0x2d')]);_0x2badaa['attributes']=_[_0xcd29('0x2f')](_0x40cb3d[_0xcd29('0x2c')],qs[_0xcd29('0x31')](_0x51005c[_0xcd29('0x2d')]['fields']));_0x2badaa['attributes']=_0x2badaa[_0xcd29('0x30')][_0xcd29('0x32')]?_0x2badaa[_0xcd29('0x30')]:_0x40cb3d[_0xcd29('0x2c')];_0x2badaa['order']=qs['sort'](_0x51005c[_0xcd29('0x2d')][_0xcd29('0x34')]);_0x2badaa[_0xcd29('0x38')]=qs[_0xcd29('0x35')](_[_0xcd29('0x36')](_0x51005c[_0xcd29('0x2d')],_0x40cb3d['filters']));if(_0x51005c['query'][_0xcd29('0x37')]){_0x2badaa[_0xcd29('0x38')]=_[_0xcd29('0x39')](_0x2badaa[_0xcd29('0x38')],{'$or':_[_0xcd29('0x3a')](_0x2badaa['attributes'],function(_0x934df7){var _0x4a3901={};_0x4a3901[_0x934df7]={'$like':'%'+_0x51005c[_0xcd29('0x2d')][_0xcd29('0x37')]+'%'};return _0x4a3901;})});}_0x2badaa=_[_0xcd29('0x39')]({},_0x2badaa,_0x51005c[_0xcd29('0x43')]);return _0x1e5d8a[_0xcd29('0x4f')](_0x2badaa);}})[_0xcd29('0x22')](function(_0xf3e01c){if(_0xf3e01c){_0x263340=_0xf3e01c[_0xcd29('0x32')];if(!_0x51005c[_0xcd29('0x2d')][_0xcd29('0x4c')](_0xcd29('0x33'))){_0x2badaa[_0xcd29('0x1a')]=qs['limit'](_0x51005c[_0xcd29('0x2d')][_0xcd29('0x1a')]);_0x2badaa[_0xcd29('0x1c')]=qs[_0xcd29('0x1c')](_0x51005c['query'][_0xcd29('0x1c')]);}return _0x1e5d8a[_0xcd29('0x4f')](_0x2badaa);}})[_0xcd29('0x22')](function(_0x1cdc78){if(_0x1cdc78){return _0x1cdc78?{'count':_0x263340,'rows':_0x1cdc78}:null;}})[_0xcd29('0x22')](respondWithResult(_0xc3c775,null))[_0xcd29('0x45')](handleError(_0xc3c775,null));};