Built motion from commit 19a84241.|2.5.34
[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 _0x461c=['create','body','find','getFields','findOne','SalesforceField','getSubjects','getDescriptions','eml-format','fast-json-patch','request-promise','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../config/license/hardware','api','../../config/environment','../../config/license/util','sendStatus','status','end','json','offset','undefined','set','apply','reject','save','update','destroy','then','error','name','map','SalesforceConfiguration','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','limit','order','sort','where','pick','filter','merge','VIRTUAL','options','count','includeAll','include','findAll','catch','show','params','rawAttributes'];(function(_0x41ba21,_0x509d89){var _0x30e08d=function(_0x39a249){while(--_0x39a249){_0x41ba21['push'](_0x41ba21['shift']());}};_0x30e08d(++_0x509d89);}(_0x461c,0x134));var _0xc461=function(_0x50bf4c,_0x4f49b0){_0x50bf4c=_0x50bf4c-0x0;var _0x15aaf4=_0x461c[_0x50bf4c];return _0x15aaf4;};'use strict';var emlformat=require(_0xc461('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0xc461('0x1'));var rp=require(_0xc461('0x2'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xc461('0x3'));var path=require(_0xc461('0x4'));var sox=require(_0xc461('0x5'));var csv=require(_0xc461('0x6'));var ejs=require(_0xc461('0x7'));var fs=require('fs');var fs_extra=require(_0xc461('0x8'));var _=require(_0xc461('0x9'));var squel=require(_0xc461('0xa'));var crypto=require('crypto');var jsforce=require(_0xc461('0xb'));var deskjs=require(_0xc461('0xc'));var toCsv=require(_0xc461('0x6'));var querystring=require(_0xc461('0xd'));var Papa=require(_0xc461('0xe'));var Redis=require(_0xc461('0xf'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xc461('0x10'));var logger=require('../../config/logger')(_0xc461('0x11'));var utils=require('../../config/utils');var config=require(_0xc461('0x12'));var licenseUtil=require(_0xc461('0x13'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x5816fc,_0x129369){_0x129369=_0x129369||0xcc;return function(_0x50d17f){if(_0x50d17f){return _0x5816fc[_0xc461('0x14')](_0x129369);}return _0x5816fc[_0xc461('0x15')](_0x129369)[_0xc461('0x16')]();};}function respondWithResult(_0x5640ab,_0x2aed5e){_0x2aed5e=_0x2aed5e||0xc8;return function(_0x25d67e){if(_0x25d67e){return _0x5640ab[_0xc461('0x15')](_0x2aed5e)[_0xc461('0x17')](_0x25d67e);}};}function respondWithFilteredResult(_0x176a64,_0xddee0d){return function(_0x4239be){if(_0x4239be){var _0x1ca478=typeof _0xddee0d[_0xc461('0x18')]==='undefined'&&typeof _0xddee0d['limit']===_0xc461('0x19');var _0x3b853b=_0x4239be['count'];var _0xc34825=_0x1ca478?0x0:_0xddee0d[_0xc461('0x18')];var _0x5e7402=_0x1ca478?_0x4239be['count']:_0xddee0d[_0xc461('0x18')]+_0xddee0d['limit'];var _0x5ab6d5;if(_0x5e7402>=_0x3b853b){_0x5e7402=_0x3b853b;_0x5ab6d5=0xc8;}else{_0x5ab6d5=0xce;}_0x176a64[_0xc461('0x15')](_0x5ab6d5);return _0x176a64[_0xc461('0x1a')]('Content-Range',_0xc34825+'-'+_0x5e7402+'/'+_0x3b853b)[_0xc461('0x17')](_0x4239be);}return null;};}function patchUpdates(_0x5b5699){return function(_0x17b974){try{jsonpatch[_0xc461('0x1b')](_0x17b974,_0x5b5699,!![]);}catch(_0x5d8859){return BPromise[_0xc461('0x1c')](_0x5d8859);}return _0x17b974[_0xc461('0x1d')]();};}function saveUpdates(_0x258723,_0x3021b0){return function(_0x542373){if(_0x542373){return _0x542373[_0xc461('0x1e')](_0x258723)['then'](function(_0x55e6fc){return _0x55e6fc;});}return null;};}function removeEntity(_0x471f41,_0x528bba){return function(_0x2f81c7){if(_0x2f81c7){return _0x2f81c7[_0xc461('0x1f')]()[_0xc461('0x20')](function(){_0x471f41[_0xc461('0x15')](0xcc)[_0xc461('0x16')]();});}};}function handleEntityNotFound(_0x162dd9,_0x548bb4){return function(_0xbb12c6){if(!_0xbb12c6){_0x162dd9[_0xc461('0x14')](0x194);}return _0xbb12c6;};}function handleError(_0x5c5fda,_0x31a286){_0x31a286=_0x31a286||0x1f4;return function(_0x1258eb){logger[_0xc461('0x21')](_0x1258eb['stack']);if(_0x1258eb[_0xc461('0x22')]){delete _0x1258eb[_0xc461('0x22')];}_0x5c5fda[_0xc461('0x15')](_0x31a286)['send'](_0x1258eb);};}exports['index']=function(_0x5ed808,_0x41440d){var _0xb7e82f={},_0x62f7da={},_0x561952={'count':0x0,'rows':[]};var _0x138e75=_[_0xc461('0x23')](db[_0xc461('0x24')]['rawAttributes'],function(_0x1ebf4f){return{'name':_0x1ebf4f[_0xc461('0x25')],'type':_0x1ebf4f[_0xc461('0x26')][_0xc461('0x27')]};});_0x62f7da[_0xc461('0x28')]=_[_0xc461('0x23')](_0x138e75,'name');_0x62f7da[_0xc461('0x29')]=_[_0xc461('0x2a')](_0x5ed808[_0xc461('0x29')]);_0x62f7da[_0xc461('0x2b')]=_[_0xc461('0x2c')](_0x62f7da['model'],_0x62f7da['query']);_0xb7e82f[_0xc461('0x2d')]=_[_0xc461('0x2c')](_0x62f7da[_0xc461('0x28')],qs[_0xc461('0x2e')](_0x5ed808['query'][_0xc461('0x2e')]));_0xb7e82f[_0xc461('0x2d')]=_0xb7e82f['attributes'][_0xc461('0x2f')]?_0xb7e82f[_0xc461('0x2d')]:_0x62f7da['model'];if(!_0x5ed808[_0xc461('0x29')][_0xc461('0x30')](_0xc461('0x31'))){_0xb7e82f['limit']=qs['limit'](_0x5ed808[_0xc461('0x29')][_0xc461('0x32')]);_0xb7e82f[_0xc461('0x18')]=qs[_0xc461('0x18')](_0x5ed808[_0xc461('0x29')]['offset']);}_0xb7e82f[_0xc461('0x33')]=qs[_0xc461('0x34')](_0x5ed808[_0xc461('0x29')][_0xc461('0x34')]);_0xb7e82f[_0xc461('0x35')]=qs[_0xc461('0x2b')](_[_0xc461('0x36')](_0x5ed808[_0xc461('0x29')],_0x62f7da[_0xc461('0x2b')]),_0x138e75);if(_0x5ed808[_0xc461('0x29')][_0xc461('0x37')]){_0xb7e82f[_0xc461('0x35')]=_[_0xc461('0x38')](_0xb7e82f['where'],{'$or':_[_0xc461('0x23')](_0x138e75,function(_0x1900ec){if(_0x1900ec['type']!==_0xc461('0x39')){var _0x400294={};_0x400294[_0x1900ec[_0xc461('0x22')]]={'$like':'%'+_0x5ed808['query'][_0xc461('0x37')]+'%'};return _0x400294;}})});}_0xb7e82f=_[_0xc461('0x38')]({},_0xb7e82f,_0x5ed808[_0xc461('0x3a')]);var _0x33db6b={'where':_0xb7e82f[_0xc461('0x35')]};return db[_0xc461('0x24')][_0xc461('0x3b')](_0x33db6b)[_0xc461('0x20')](function(_0x189722){_0x561952[_0xc461('0x3b')]=_0x189722;if(_0x5ed808[_0xc461('0x29')][_0xc461('0x3c')]){_0xb7e82f[_0xc461('0x3d')]=[{'all':!![]}];}return db[_0xc461('0x24')][_0xc461('0x3e')](_0xb7e82f);})['then'](function(_0x527841){_0x561952['rows']=_0x527841;return _0x561952;})[_0xc461('0x20')](respondWithFilteredResult(_0x41440d,_0xb7e82f))[_0xc461('0x3f')](handleError(_0x41440d,null));};exports[_0xc461('0x40')]=function(_0x1ba8ed,_0xafdcec){var _0x2733bd={'raw':![],'where':{'id':_0x1ba8ed[_0xc461('0x41')]['id']}},_0x491534={};_0x491534['model']=_[_0xc461('0x2a')](db[_0xc461('0x24')][_0xc461('0x42')]);_0x491534[_0xc461('0x29')]=_[_0xc461('0x2a')](_0x1ba8ed[_0xc461('0x29')]);_0x491534[_0xc461('0x2b')]=_[_0xc461('0x2c')](_0x491534[_0xc461('0x28')],_0x491534[_0xc461('0x29')]);_0x2733bd[_0xc461('0x2d')]=_[_0xc461('0x2c')](_0x491534[_0xc461('0x28')],qs[_0xc461('0x2e')](_0x1ba8ed[_0xc461('0x29')]['fields']));_0x2733bd[_0xc461('0x2d')]=_0x2733bd['attributes'][_0xc461('0x2f')]?_0x2733bd[_0xc461('0x2d')]:_0x491534[_0xc461('0x28')];if(_0x1ba8ed[_0xc461('0x29')][_0xc461('0x3c')]){_0x2733bd[_0xc461('0x3d')]=[{'all':!![]}];}_0x2733bd=_[_0xc461('0x38')]({},_0x2733bd,_0x1ba8ed['options']);return db['SalesforceConfiguration']['find'](_0x2733bd)['then'](handleEntityNotFound(_0xafdcec,null))[_0xc461('0x20')](respondWithResult(_0xafdcec,null))[_0xc461('0x3f')](handleError(_0xafdcec,null));};exports['create']=function(_0x4cbf48,_0x43fbfd){return db[_0xc461('0x24')][_0xc461('0x43')](_0x4cbf48[_0xc461('0x44')],{})[_0xc461('0x20')](respondWithResult(_0x43fbfd,0xc9))[_0xc461('0x3f')](handleError(_0x43fbfd,null));};exports['update']=function(_0x3e3f8e,_0xd4aadd){if(_0x3e3f8e[_0xc461('0x44')]['id']){delete _0x3e3f8e[_0xc461('0x44')]['id'];}return db[_0xc461('0x24')][_0xc461('0x45')]({'where':{'id':_0x3e3f8e[_0xc461('0x41')]['id']}})[_0xc461('0x20')](handleEntityNotFound(_0xd4aadd,null))[_0xc461('0x20')](saveUpdates(_0x3e3f8e['body'],null))[_0xc461('0x20')](respondWithResult(_0xd4aadd,null))[_0xc461('0x3f')](handleError(_0xd4aadd,null));};exports[_0xc461('0x1f')]=function(_0x271070,_0x9b914b){return db[_0xc461('0x24')][_0xc461('0x45')]({'where':{'id':_0x271070[_0xc461('0x41')]['id']}})[_0xc461('0x20')](handleEntityNotFound(_0x9b914b,null))[_0xc461('0x20')](removeEntity(_0x9b914b,null))[_0xc461('0x3f')](handleError(_0x9b914b,null));};exports[_0xc461('0x46')]=function(_0x1eefa4,_0x333965,_0x8079cc){var _0x116285={};var _0x55f880={};var _0x38093a;var _0x44ab1c;return db['SalesforceConfiguration'][_0xc461('0x47')]({'where':{'id':_0x1eefa4[_0xc461('0x41')]['id']}})[_0xc461('0x20')](handleEntityNotFound(_0x333965,null))[_0xc461('0x20')](function(_0x577e22){if(_0x577e22){_0x38093a=_0x577e22;_0x55f880['model']=_[_0xc461('0x2a')](db[_0xc461('0x48')]['rawAttributes']);_0x55f880['query']=_[_0xc461('0x2a')](_0x1eefa4[_0xc461('0x29')]);_0x55f880[_0xc461('0x2b')]=_[_0xc461('0x2c')](_0x55f880[_0xc461('0x28')],_0x55f880[_0xc461('0x29')]);_0x116285[_0xc461('0x2d')]=_['intersection'](_0x55f880[_0xc461('0x28')],qs[_0xc461('0x2e')](_0x1eefa4[_0xc461('0x29')][_0xc461('0x2e')]));_0x116285[_0xc461('0x2d')]=_0x116285[_0xc461('0x2d')]['length']?_0x116285['attributes']:_0x55f880[_0xc461('0x28')];_0x116285[_0xc461('0x33')]=qs[_0xc461('0x34')](_0x1eefa4['query'][_0xc461('0x34')]);_0x116285[_0xc461('0x35')]=qs['filters'](_[_0xc461('0x36')](_0x1eefa4[_0xc461('0x29')],_0x55f880[_0xc461('0x2b')]));if(_0x1eefa4['query'][_0xc461('0x37')]){_0x116285['where']=_['merge'](_0x116285[_0xc461('0x35')],{'$or':_['map'](_0x116285[_0xc461('0x2d')],function(_0x177b13){var _0x244ff3={};_0x244ff3[_0x177b13]={'$like':'%'+_0x1eefa4[_0xc461('0x29')][_0xc461('0x37')]+'%'};return _0x244ff3;})});}_0x116285=_['merge']({},_0x116285,_0x1eefa4[_0xc461('0x3a')]);return _0x38093a[_0xc461('0x46')](_0x116285);}})[_0xc461('0x20')](function(_0xfbf41a){if(_0xfbf41a){_0x44ab1c=_0xfbf41a[_0xc461('0x2f')];if(!_0x1eefa4[_0xc461('0x29')][_0xc461('0x30')](_0xc461('0x31'))){_0x116285[_0xc461('0x32')]=qs[_0xc461('0x32')](_0x1eefa4[_0xc461('0x29')][_0xc461('0x32')]);_0x116285[_0xc461('0x18')]=qs[_0xc461('0x18')](_0x1eefa4['query']['offset']);}return _0x38093a['getFields'](_0x116285);}})[_0xc461('0x20')](function(_0x12065c){if(_0x12065c){return _0x12065c?{'count':_0x44ab1c,'rows':_0x12065c}:null;}})[_0xc461('0x20')](respondWithResult(_0x333965,null))['catch'](handleError(_0x333965,null));};exports['getSubjects']=function(_0x485057,_0x82e268,_0x5d8fb7){var _0x2a2077={};var _0x15dbc4={};var _0x4221e5;var _0x544440;return db[_0xc461('0x24')][_0xc461('0x47')]({'where':{'id':_0x485057['params']['id']}})[_0xc461('0x20')](handleEntityNotFound(_0x82e268,null))[_0xc461('0x20')](function(_0x1b0883){if(_0x1b0883){_0x4221e5=_0x1b0883;_0x15dbc4[_0xc461('0x28')]=_[_0xc461('0x2a')](db[_0xc461('0x48')][_0xc461('0x42')]);_0x15dbc4[_0xc461('0x29')]=_[_0xc461('0x2a')](_0x485057[_0xc461('0x29')]);_0x15dbc4[_0xc461('0x2b')]=_[_0xc461('0x2c')](_0x15dbc4['model'],_0x15dbc4[_0xc461('0x29')]);_0x2a2077[_0xc461('0x2d')]=_['intersection'](_0x15dbc4[_0xc461('0x28')],qs['fields'](_0x485057[_0xc461('0x29')][_0xc461('0x2e')]));_0x2a2077[_0xc461('0x2d')]=_0x2a2077[_0xc461('0x2d')][_0xc461('0x2f')]?_0x2a2077['attributes']:_0x15dbc4[_0xc461('0x28')];_0x2a2077['order']=qs['sort'](_0x485057[_0xc461('0x29')][_0xc461('0x34')]);_0x2a2077[_0xc461('0x35')]=qs[_0xc461('0x2b')](_[_0xc461('0x36')](_0x485057[_0xc461('0x29')],_0x15dbc4[_0xc461('0x2b')]));if(_0x485057[_0xc461('0x29')]['filter']){_0x2a2077['where']=_['merge'](_0x2a2077[_0xc461('0x35')],{'$or':_[_0xc461('0x23')](_0x2a2077[_0xc461('0x2d')],function(_0x4d21b8){var _0xa4756d={};_0xa4756d[_0x4d21b8]={'$like':'%'+_0x485057[_0xc461('0x29')][_0xc461('0x37')]+'%'};return _0xa4756d;})});}_0x2a2077=_['merge']({},_0x2a2077,_0x485057[_0xc461('0x3a')]);return _0x4221e5['getSubjects'](_0x2a2077);}})['then'](function(_0x6d1d88){if(_0x6d1d88){_0x544440=_0x6d1d88[_0xc461('0x2f')];if(!_0x485057[_0xc461('0x29')][_0xc461('0x30')](_0xc461('0x31'))){_0x2a2077[_0xc461('0x32')]=qs[_0xc461('0x32')](_0x485057['query'][_0xc461('0x32')]);_0x2a2077[_0xc461('0x18')]=qs['offset'](_0x485057[_0xc461('0x29')]['offset']);}return _0x4221e5[_0xc461('0x49')](_0x2a2077);}})[_0xc461('0x20')](function(_0x3749ad){if(_0x3749ad){return _0x3749ad?{'count':_0x544440,'rows':_0x3749ad}:null;}})['then'](respondWithResult(_0x82e268,null))[_0xc461('0x3f')](handleError(_0x82e268,null));};exports['getDescriptions']=function(_0x54417b,_0x35e1a7,_0x4b465f){var _0x4cdc18={};var _0x5b2a52={};var _0x1f245a;var _0x58ff84;return db[_0xc461('0x24')][_0xc461('0x47')]({'where':{'id':_0x54417b[_0xc461('0x41')]['id']}})[_0xc461('0x20')](handleEntityNotFound(_0x35e1a7,null))[_0xc461('0x20')](function(_0x13b5c1){if(_0x13b5c1){_0x1f245a=_0x13b5c1;_0x5b2a52[_0xc461('0x28')]=_[_0xc461('0x2a')](db[_0xc461('0x48')]['rawAttributes']);_0x5b2a52[_0xc461('0x29')]=_[_0xc461('0x2a')](_0x54417b[_0xc461('0x29')]);_0x5b2a52[_0xc461('0x2b')]=_[_0xc461('0x2c')](_0x5b2a52[_0xc461('0x28')],_0x5b2a52[_0xc461('0x29')]);_0x4cdc18['attributes']=_[_0xc461('0x2c')](_0x5b2a52[_0xc461('0x28')],qs[_0xc461('0x2e')](_0x54417b['query'][_0xc461('0x2e')]));_0x4cdc18[_0xc461('0x2d')]=_0x4cdc18[_0xc461('0x2d')]['length']?_0x4cdc18[_0xc461('0x2d')]:_0x5b2a52[_0xc461('0x28')];_0x4cdc18['order']=qs['sort'](_0x54417b[_0xc461('0x29')][_0xc461('0x34')]);_0x4cdc18['where']=qs[_0xc461('0x2b')](_[_0xc461('0x36')](_0x54417b[_0xc461('0x29')],_0x5b2a52[_0xc461('0x2b')]));if(_0x54417b[_0xc461('0x29')][_0xc461('0x37')]){_0x4cdc18[_0xc461('0x35')]=_[_0xc461('0x38')](_0x4cdc18[_0xc461('0x35')],{'$or':_[_0xc461('0x23')](_0x4cdc18[_0xc461('0x2d')],function(_0x3dd7bb){var _0x28653c={};_0x28653c[_0x3dd7bb]={'$like':'%'+_0x54417b['query']['filter']+'%'};return _0x28653c;})});}_0x4cdc18=_[_0xc461('0x38')]({},_0x4cdc18,_0x54417b[_0xc461('0x3a')]);return _0x1f245a['getDescriptions'](_0x4cdc18);}})[_0xc461('0x20')](function(_0x1bc858){if(_0x1bc858){_0x58ff84=_0x1bc858[_0xc461('0x2f')];if(!_0x54417b['query'][_0xc461('0x30')](_0xc461('0x31'))){_0x4cdc18[_0xc461('0x32')]=qs['limit'](_0x54417b['query'][_0xc461('0x32')]);_0x4cdc18[_0xc461('0x18')]=qs[_0xc461('0x18')](_0x54417b[_0xc461('0x29')][_0xc461('0x18')]);}return _0x1f245a[_0xc461('0x4a')](_0x4cdc18);}})[_0xc461('0x20')](function(_0x4b24f3){if(_0x4b24f3){return _0x4b24f3?{'count':_0x58ff84,'rows':_0x4b24f3}:null;}})[_0xc461('0x20')](respondWithResult(_0x35e1a7,null))[_0xc461('0x3f')](handleError(_0x35e1a7,null));};