Built motion from commit 43538d75.|2.5.35
[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 _0xb8f0=['where','pick','filter','VIRTUAL','merge','includeAll','findAll','catch','show','params','length','options','find','create','body','findOne','SalesforceField','getFields','getSubjects','getDescriptions','eml-format','zip-dir','request-promise','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','squel','querystring','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','undefined','count','offset','set','Content-Range','json','reject','save','update','then','destroy','error','name','map','SalesforceConfiguration','rawAttributes','fieldName','type','query','keys','filters','intersection','model','attributes','fields','hasOwnProperty','nolimit','limit','order','sort'];(function(_0x5bf420,_0x2d068d){var _0x1c5255=function(_0x4964a2){while(--_0x4964a2){_0x5bf420['push'](_0x5bf420['shift']());}};_0x1c5255(++_0x2d068d);}(_0xb8f0,0xf2));var _0x0b8f=function(_0x4a9e2b,_0xbefa00){_0x4a9e2b=_0x4a9e2b-0x0;var _0x29d8c3=_0xb8f0[_0x4a9e2b];return _0x29d8c3;};'use strict';var emlformat=require(_0x0b8f('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x0b8f('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x0b8f('0x2'));var moment=require(_0x0b8f('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x0b8f('0x4'));var util=require(_0x0b8f('0x5'));var path=require(_0x0b8f('0x6'));var sox=require(_0x0b8f('0x7'));var csv=require(_0x0b8f('0x8'));var ejs=require(_0x0b8f('0x9'));var fs=require('fs');var fs_extra=require(_0x0b8f('0xa'));var _=require('lodash');var squel=require(_0x0b8f('0xb'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x0b8f('0x8'));var querystring=require(_0x0b8f('0xc'));var Papa=require('papaparse');var Redis=require(_0x0b8f('0xd'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x0b8f('0xe'));var hardwareService=require(_0x0b8f('0xf'));var logger=require(_0x0b8f('0x10'))(_0x0b8f('0x11'));var utils=require(_0x0b8f('0x12'));var config=require(_0x0b8f('0x13'));var licenseUtil=require(_0x0b8f('0x14'));var db=require(_0x0b8f('0x15'))['db'];function respondWithStatusCode(_0x1d0163,_0x15a370){_0x15a370=_0x15a370||0xcc;return function(_0x17c999){if(_0x17c999){return _0x1d0163['sendStatus'](_0x15a370);}return _0x1d0163[_0x0b8f('0x16')](_0x15a370)[_0x0b8f('0x17')]();};}function respondWithResult(_0x165f74,_0x44d193){_0x44d193=_0x44d193||0xc8;return function(_0x302997){if(_0x302997){return _0x165f74[_0x0b8f('0x16')](_0x44d193)['json'](_0x302997);}};}function respondWithFilteredResult(_0x3e811a,_0x46d3e2){return function(_0x239335){if(_0x239335){var _0xb4f68e=typeof _0x46d3e2['offset']===_0x0b8f('0x18')&&typeof _0x46d3e2['limit']==='undefined';var _0x3569ad=_0x239335[_0x0b8f('0x19')];var _0x30b01f=_0xb4f68e?0x0:_0x46d3e2[_0x0b8f('0x1a')];var _0x59da2e=_0xb4f68e?_0x239335[_0x0b8f('0x19')]:_0x46d3e2[_0x0b8f('0x1a')]+_0x46d3e2['limit'];var _0x98045f;if(_0x59da2e>=_0x3569ad){_0x59da2e=_0x3569ad;_0x98045f=0xc8;}else{_0x98045f=0xce;}_0x3e811a[_0x0b8f('0x16')](_0x98045f);return _0x3e811a[_0x0b8f('0x1b')](_0x0b8f('0x1c'),_0x30b01f+'-'+_0x59da2e+'/'+_0x3569ad)[_0x0b8f('0x1d')](_0x239335);}return null;};}function patchUpdates(_0x595544){return function(_0x129e1f){try{jsonpatch['apply'](_0x129e1f,_0x595544,!![]);}catch(_0x1892d1){return BPromise[_0x0b8f('0x1e')](_0x1892d1);}return _0x129e1f[_0x0b8f('0x1f')]();};}function saveUpdates(_0x2546a4,_0x37821c){return function(_0x3f0745){if(_0x3f0745){return _0x3f0745[_0x0b8f('0x20')](_0x2546a4)[_0x0b8f('0x21')](function(_0x126c9a){return _0x126c9a;});}return null;};}function removeEntity(_0x2a61de,_0x2ef7ea){return function(_0x33ef39){if(_0x33ef39){return _0x33ef39[_0x0b8f('0x22')]()['then'](function(){_0x2a61de['status'](0xcc)[_0x0b8f('0x17')]();});}};}function handleEntityNotFound(_0x15f4c5,_0x112b19){return function(_0x1aee99){if(!_0x1aee99){_0x15f4c5['sendStatus'](0x194);}return _0x1aee99;};}function handleError(_0x59df42,_0x1b9e94){_0x1b9e94=_0x1b9e94||0x1f4;return function(_0x34f24c){logger[_0x0b8f('0x23')](_0x34f24c['stack']);if(_0x34f24c[_0x0b8f('0x24')]){delete _0x34f24c[_0x0b8f('0x24')];}_0x59df42[_0x0b8f('0x16')](_0x1b9e94)['send'](_0x34f24c);};}exports['index']=function(_0x355731,_0x559146){var _0x19e9b0={},_0x340b7f={},_0x5cd60a={'count':0x0,'rows':[]};var _0x1f2ad9=_[_0x0b8f('0x25')](db[_0x0b8f('0x26')][_0x0b8f('0x27')],function(_0x380a19){return{'name':_0x380a19[_0x0b8f('0x28')],'type':_0x380a19[_0x0b8f('0x29')]['key']};});_0x340b7f['model']=_[_0x0b8f('0x25')](_0x1f2ad9,'name');_0x340b7f[_0x0b8f('0x2a')]=_[_0x0b8f('0x2b')](_0x355731['query']);_0x340b7f[_0x0b8f('0x2c')]=_[_0x0b8f('0x2d')](_0x340b7f[_0x0b8f('0x2e')],_0x340b7f['query']);_0x19e9b0[_0x0b8f('0x2f')]=_['intersection'](_0x340b7f['model'],qs[_0x0b8f('0x30')](_0x355731[_0x0b8f('0x2a')]['fields']));_0x19e9b0[_0x0b8f('0x2f')]=_0x19e9b0[_0x0b8f('0x2f')]['length']?_0x19e9b0[_0x0b8f('0x2f')]:_0x340b7f[_0x0b8f('0x2e')];if(!_0x355731[_0x0b8f('0x2a')][_0x0b8f('0x31')](_0x0b8f('0x32'))){_0x19e9b0['limit']=qs['limit'](_0x355731[_0x0b8f('0x2a')][_0x0b8f('0x33')]);_0x19e9b0[_0x0b8f('0x1a')]=qs[_0x0b8f('0x1a')](_0x355731[_0x0b8f('0x2a')]['offset']);}_0x19e9b0[_0x0b8f('0x34')]=qs['sort'](_0x355731['query'][_0x0b8f('0x35')]);_0x19e9b0[_0x0b8f('0x36')]=qs['filters'](_[_0x0b8f('0x37')](_0x355731[_0x0b8f('0x2a')],_0x340b7f[_0x0b8f('0x2c')]),_0x1f2ad9);if(_0x355731[_0x0b8f('0x2a')][_0x0b8f('0x38')]){_0x19e9b0[_0x0b8f('0x36')]=_['merge'](_0x19e9b0['where'],{'$or':_['map'](_0x1f2ad9,function(_0x34fce1){if(_0x34fce1[_0x0b8f('0x29')]!==_0x0b8f('0x39')){var _0x5f1ad9={};_0x5f1ad9[_0x34fce1[_0x0b8f('0x24')]]={'$like':'%'+_0x355731['query'][_0x0b8f('0x38')]+'%'};return _0x5f1ad9;}})});}_0x19e9b0=_[_0x0b8f('0x3a')]({},_0x19e9b0,_0x355731['options']);var _0x5872b8={'where':_0x19e9b0[_0x0b8f('0x36')]};return db[_0x0b8f('0x26')][_0x0b8f('0x19')](_0x5872b8)['then'](function(_0x4baf03){_0x5cd60a[_0x0b8f('0x19')]=_0x4baf03;if(_0x355731[_0x0b8f('0x2a')][_0x0b8f('0x3b')]){_0x19e9b0['include']=[{'all':!![]}];}return db['SalesforceConfiguration'][_0x0b8f('0x3c')](_0x19e9b0);})[_0x0b8f('0x21')](function(_0x400983){_0x5cd60a['rows']=_0x400983;return _0x5cd60a;})['then'](respondWithFilteredResult(_0x559146,_0x19e9b0))[_0x0b8f('0x3d')](handleError(_0x559146,null));};exports[_0x0b8f('0x3e')]=function(_0x4fe0a5,_0x75e0f3){var _0x55e9b0={'raw':![],'where':{'id':_0x4fe0a5[_0x0b8f('0x3f')]['id']}},_0x4fb611={};_0x4fb611[_0x0b8f('0x2e')]=_['keys'](db[_0x0b8f('0x26')][_0x0b8f('0x27')]);_0x4fb611[_0x0b8f('0x2a')]=_[_0x0b8f('0x2b')](_0x4fe0a5[_0x0b8f('0x2a')]);_0x4fb611[_0x0b8f('0x2c')]=_[_0x0b8f('0x2d')](_0x4fb611[_0x0b8f('0x2e')],_0x4fb611[_0x0b8f('0x2a')]);_0x55e9b0[_0x0b8f('0x2f')]=_[_0x0b8f('0x2d')](_0x4fb611[_0x0b8f('0x2e')],qs['fields'](_0x4fe0a5[_0x0b8f('0x2a')]['fields']));_0x55e9b0['attributes']=_0x55e9b0['attributes'][_0x0b8f('0x40')]?_0x55e9b0[_0x0b8f('0x2f')]:_0x4fb611[_0x0b8f('0x2e')];if(_0x4fe0a5[_0x0b8f('0x2a')][_0x0b8f('0x3b')]){_0x55e9b0['include']=[{'all':!![]}];}_0x55e9b0=_['merge']({},_0x55e9b0,_0x4fe0a5[_0x0b8f('0x41')]);return db[_0x0b8f('0x26')][_0x0b8f('0x42')](_0x55e9b0)[_0x0b8f('0x21')](handleEntityNotFound(_0x75e0f3,null))[_0x0b8f('0x21')](respondWithResult(_0x75e0f3,null))[_0x0b8f('0x3d')](handleError(_0x75e0f3,null));};exports[_0x0b8f('0x43')]=function(_0x337304,_0x649dc4){return db[_0x0b8f('0x26')][_0x0b8f('0x43')](_0x337304[_0x0b8f('0x44')],{})[_0x0b8f('0x21')](respondWithResult(_0x649dc4,0xc9))[_0x0b8f('0x3d')](handleError(_0x649dc4,null));};exports[_0x0b8f('0x20')]=function(_0x4fad1e,_0x3af745){if(_0x4fad1e[_0x0b8f('0x44')]['id']){delete _0x4fad1e[_0x0b8f('0x44')]['id'];}return db[_0x0b8f('0x26')][_0x0b8f('0x42')]({'where':{'id':_0x4fad1e[_0x0b8f('0x3f')]['id']}})['then'](handleEntityNotFound(_0x3af745,null))[_0x0b8f('0x21')](saveUpdates(_0x4fad1e['body'],null))[_0x0b8f('0x21')](respondWithResult(_0x3af745,null))['catch'](handleError(_0x3af745,null));};exports[_0x0b8f('0x22')]=function(_0x1c4cf2,_0x179a5b){return db['SalesforceConfiguration'][_0x0b8f('0x42')]({'where':{'id':_0x1c4cf2[_0x0b8f('0x3f')]['id']}})['then'](handleEntityNotFound(_0x179a5b,null))[_0x0b8f('0x21')](removeEntity(_0x179a5b,null))['catch'](handleError(_0x179a5b,null));};exports['getFields']=function(_0x2961cb,_0x2f3955,_0x3c9079){var _0x18acb2={};var _0x3f2732={};var _0x5c4ce3;var _0x4f1f11;return db[_0x0b8f('0x26')][_0x0b8f('0x45')]({'where':{'id':_0x2961cb[_0x0b8f('0x3f')]['id']}})['then'](handleEntityNotFound(_0x2f3955,null))[_0x0b8f('0x21')](function(_0x38a520){if(_0x38a520){_0x5c4ce3=_0x38a520;_0x3f2732['model']=_['keys'](db[_0x0b8f('0x46')]['rawAttributes']);_0x3f2732[_0x0b8f('0x2a')]=_[_0x0b8f('0x2b')](_0x2961cb[_0x0b8f('0x2a')]);_0x3f2732['filters']=_[_0x0b8f('0x2d')](_0x3f2732[_0x0b8f('0x2e')],_0x3f2732[_0x0b8f('0x2a')]);_0x18acb2['attributes']=_[_0x0b8f('0x2d')](_0x3f2732[_0x0b8f('0x2e')],qs[_0x0b8f('0x30')](_0x2961cb['query'][_0x0b8f('0x30')]));_0x18acb2['attributes']=_0x18acb2['attributes'][_0x0b8f('0x40')]?_0x18acb2[_0x0b8f('0x2f')]:_0x3f2732[_0x0b8f('0x2e')];_0x18acb2[_0x0b8f('0x34')]=qs[_0x0b8f('0x35')](_0x2961cb[_0x0b8f('0x2a')][_0x0b8f('0x35')]);_0x18acb2[_0x0b8f('0x36')]=qs[_0x0b8f('0x2c')](_[_0x0b8f('0x37')](_0x2961cb[_0x0b8f('0x2a')],_0x3f2732['filters']));if(_0x2961cb['query'][_0x0b8f('0x38')]){_0x18acb2['where']=_[_0x0b8f('0x3a')](_0x18acb2[_0x0b8f('0x36')],{'$or':_[_0x0b8f('0x25')](_0x18acb2['attributes'],function(_0x2fe82a){var _0x5865c4={};_0x5865c4[_0x2fe82a]={'$like':'%'+_0x2961cb[_0x0b8f('0x2a')][_0x0b8f('0x38')]+'%'};return _0x5865c4;})});}_0x18acb2=_['merge']({},_0x18acb2,_0x2961cb[_0x0b8f('0x41')]);return _0x5c4ce3['getFields'](_0x18acb2);}})[_0x0b8f('0x21')](function(_0x5a86fd){if(_0x5a86fd){_0x4f1f11=_0x5a86fd[_0x0b8f('0x40')];if(!_0x2961cb[_0x0b8f('0x2a')][_0x0b8f('0x31')]('nolimit')){_0x18acb2['limit']=qs['limit'](_0x2961cb[_0x0b8f('0x2a')][_0x0b8f('0x33')]);_0x18acb2['offset']=qs['offset'](_0x2961cb['query']['offset']);}return _0x5c4ce3[_0x0b8f('0x47')](_0x18acb2);}})[_0x0b8f('0x21')](function(_0x4373ff){if(_0x4373ff){return _0x4373ff?{'count':_0x4f1f11,'rows':_0x4373ff}:null;}})['then'](respondWithResult(_0x2f3955,null))['catch'](handleError(_0x2f3955,null));};exports[_0x0b8f('0x48')]=function(_0x4491a3,_0x39ce34,_0x433764){var _0x98658a={};var _0x4d1014={};var _0x5a0644;var _0x3c5e83;return db['SalesforceConfiguration'][_0x0b8f('0x45')]({'where':{'id':_0x4491a3[_0x0b8f('0x3f')]['id']}})[_0x0b8f('0x21')](handleEntityNotFound(_0x39ce34,null))[_0x0b8f('0x21')](function(_0x3bbb0e){if(_0x3bbb0e){_0x5a0644=_0x3bbb0e;_0x4d1014[_0x0b8f('0x2e')]=_['keys'](db[_0x0b8f('0x46')][_0x0b8f('0x27')]);_0x4d1014[_0x0b8f('0x2a')]=_[_0x0b8f('0x2b')](_0x4491a3['query']);_0x4d1014['filters']=_[_0x0b8f('0x2d')](_0x4d1014[_0x0b8f('0x2e')],_0x4d1014[_0x0b8f('0x2a')]);_0x98658a[_0x0b8f('0x2f')]=_[_0x0b8f('0x2d')](_0x4d1014['model'],qs[_0x0b8f('0x30')](_0x4491a3[_0x0b8f('0x2a')][_0x0b8f('0x30')]));_0x98658a[_0x0b8f('0x2f')]=_0x98658a['attributes']['length']?_0x98658a['attributes']:_0x4d1014[_0x0b8f('0x2e')];_0x98658a[_0x0b8f('0x34')]=qs[_0x0b8f('0x35')](_0x4491a3[_0x0b8f('0x2a')]['sort']);_0x98658a['where']=qs[_0x0b8f('0x2c')](_[_0x0b8f('0x37')](_0x4491a3[_0x0b8f('0x2a')],_0x4d1014['filters']));if(_0x4491a3[_0x0b8f('0x2a')][_0x0b8f('0x38')]){_0x98658a[_0x0b8f('0x36')]=_[_0x0b8f('0x3a')](_0x98658a[_0x0b8f('0x36')],{'$or':_[_0x0b8f('0x25')](_0x98658a['attributes'],function(_0x5180f0){var _0x30e99a={};_0x30e99a[_0x5180f0]={'$like':'%'+_0x4491a3['query']['filter']+'%'};return _0x30e99a;})});}_0x98658a=_[_0x0b8f('0x3a')]({},_0x98658a,_0x4491a3[_0x0b8f('0x41')]);return _0x5a0644[_0x0b8f('0x48')](_0x98658a);}})[_0x0b8f('0x21')](function(_0x50074d){if(_0x50074d){_0x3c5e83=_0x50074d['length'];if(!_0x4491a3[_0x0b8f('0x2a')]['hasOwnProperty'](_0x0b8f('0x32'))){_0x98658a[_0x0b8f('0x33')]=qs[_0x0b8f('0x33')](_0x4491a3[_0x0b8f('0x2a')]['limit']);_0x98658a[_0x0b8f('0x1a')]=qs[_0x0b8f('0x1a')](_0x4491a3['query'][_0x0b8f('0x1a')]);}return _0x5a0644[_0x0b8f('0x48')](_0x98658a);}})[_0x0b8f('0x21')](function(_0x330924){if(_0x330924){return _0x330924?{'count':_0x3c5e83,'rows':_0x330924}:null;}})[_0x0b8f('0x21')](respondWithResult(_0x39ce34,null))[_0x0b8f('0x3d')](handleError(_0x39ce34,null));};exports[_0x0b8f('0x49')]=function(_0x289449,_0x5e056b,_0x3e6441){var _0x354ad0={};var _0x598870={};var _0x102449;var _0x334dd2;return db[_0x0b8f('0x26')][_0x0b8f('0x45')]({'where':{'id':_0x289449[_0x0b8f('0x3f')]['id']}})[_0x0b8f('0x21')](handleEntityNotFound(_0x5e056b,null))[_0x0b8f('0x21')](function(_0x30ecb9){if(_0x30ecb9){_0x102449=_0x30ecb9;_0x598870[_0x0b8f('0x2e')]=_['keys'](db[_0x0b8f('0x46')][_0x0b8f('0x27')]);_0x598870[_0x0b8f('0x2a')]=_['keys'](_0x289449[_0x0b8f('0x2a')]);_0x598870[_0x0b8f('0x2c')]=_[_0x0b8f('0x2d')](_0x598870[_0x0b8f('0x2e')],_0x598870[_0x0b8f('0x2a')]);_0x354ad0[_0x0b8f('0x2f')]=_['intersection'](_0x598870[_0x0b8f('0x2e')],qs['fields'](_0x289449['query'][_0x0b8f('0x30')]));_0x354ad0['attributes']=_0x354ad0[_0x0b8f('0x2f')][_0x0b8f('0x40')]?_0x354ad0['attributes']:_0x598870[_0x0b8f('0x2e')];_0x354ad0[_0x0b8f('0x34')]=qs[_0x0b8f('0x35')](_0x289449[_0x0b8f('0x2a')][_0x0b8f('0x35')]);_0x354ad0['where']=qs[_0x0b8f('0x2c')](_[_0x0b8f('0x37')](_0x289449[_0x0b8f('0x2a')],_0x598870[_0x0b8f('0x2c')]));if(_0x289449[_0x0b8f('0x2a')]['filter']){_0x354ad0['where']=_[_0x0b8f('0x3a')](_0x354ad0['where'],{'$or':_['map'](_0x354ad0[_0x0b8f('0x2f')],function(_0x1ff550){var _0x2ba7e8={};_0x2ba7e8[_0x1ff550]={'$like':'%'+_0x289449[_0x0b8f('0x2a')][_0x0b8f('0x38')]+'%'};return _0x2ba7e8;})});}_0x354ad0=_[_0x0b8f('0x3a')]({},_0x354ad0,_0x289449['options']);return _0x102449[_0x0b8f('0x49')](_0x354ad0);}})['then'](function(_0x1affef){if(_0x1affef){_0x334dd2=_0x1affef[_0x0b8f('0x40')];if(!_0x289449[_0x0b8f('0x2a')][_0x0b8f('0x31')](_0x0b8f('0x32'))){_0x354ad0[_0x0b8f('0x33')]=qs['limit'](_0x289449[_0x0b8f('0x2a')][_0x0b8f('0x33')]);_0x354ad0[_0x0b8f('0x1a')]=qs[_0x0b8f('0x1a')](_0x289449[_0x0b8f('0x2a')]['offset']);}return _0x102449[_0x0b8f('0x49')](_0x354ad0);}})[_0x0b8f('0x21')](function(_0xa1582d){if(_0xa1582d){return _0xa1582d?{'count':_0x334dd2,'rows':_0xa1582d}:null;}})['then'](respondWithResult(_0x5e056b,null))[_0x0b8f('0x3d')](handleError(_0x5e056b,null));};