2e9167fe788550bd9a86545a7cc112b4a32291a6
[motion2.git] / server / api / setting / setting.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 _0xa230=['addLogo','file','filename','logo','addLogoLogin','../../config/license/util','getLogo','server/files/images/logos','getLicense','preferred','defaultLogo','defaultLoginLogo','defaultPreferred','defaultFavicon','existsSync','join','root','toLower','default','upperFirst','custom','default_logo.png','ValidationError','\x20not\x20found','download','getLogoLogin','loginLogo','favicon','default_loginLogo.png','gdpr','securePassword','addPreferred','getPreferred','default_preferred.png','addFavicon','getFavicon','default_favicon.ico','eml-format','rimraf','request-promise','bluebird','util','sox','to-csv','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/parsers/qs','../../config/logger','api','../../config/environment','../../mysqldb','client','http','test','Sequelize','request','then','info','Setting,\x20%s,\x20%s','request\x20sent','debug','Setting,\x20%s,\x20%s,\x20%s','error','code','message','result','catch','sendStatus','status','json','count','offset','limit','set','Content-Range','save','update','end','send','index','map','Setting','rawAttributes','type','model','name','query','keys','filters','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','findAll','show','params','find','body'];(function(_0x4493f9,_0x3ca2dd){var _0x2074ab=function(_0x37d5ec){while(--_0x37d5ec){_0x4493f9['push'](_0x4493f9['shift']());}};_0x2074ab(++_0x3ca2dd);}(_0xa230,0x1e9));var _0x0a23=function(_0x5c35fb,_0xb641b1){_0x5c35fb=_0x5c35fb-0x0;var _0xe14eec=_0xa230[_0x5c35fb];return _0xe14eec;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x0a23('0x0'));var rimraf=require(_0x0a23('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x0a23('0x2'));var moment=require('moment');var BPromise=require(_0x0a23('0x3'));var Mustache=require('mustache');var util=require(_0x0a23('0x4'));var path=require('path');var sox=require(_0x0a23('0x5'));var csv=require(_0x0a23('0x6'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x0a23('0x7'));var squel=require(_0x0a23('0x8'));var crypto=require(_0x0a23('0x9'));var jsforce=require(_0x0a23('0xa'));var deskjs=require(_0x0a23('0xb'));var toCsv=require('to-csv');var querystring=require(_0x0a23('0xc'));var Papa=require(_0x0a23('0xd'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x0a23('0xe'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x0a23('0xf'))(_0x0a23('0x10'));var utils=require('../../config/utils');var config=require(_0x0a23('0x11'));var db=require(_0x0a23('0x12'))['db'];var jayson=require('jayson/promise');var client=jayson[_0x0a23('0x13')][_0x0a23('0x14')]({'port':0x232a});function checkPasswordPattern(_0x58b486,_0x42f1de,_0x2d86ab){if(_0x2d86ab){var _0x91bef5=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x91bef5[_0x0a23('0x15')](_0x42f1de)){return _0x58b486;}else{throw new db[(_0x0a23('0x16'))]['ValidationError']('The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.');}}else{return _0x58b486;}}function respondWithRpcPromise(_0x571034,_0x4f7f67,_0xf1bb4e,_0x12f102){return new BPromise(function(_0x189b97,_0x5eec37){var _0x6ca18f=_0x12f102||client;return _0x6ca18f[_0x0a23('0x17')](_0x571034,_0xf1bb4e)[_0x0a23('0x18')](function(_0x16f6b5){logger[_0x0a23('0x19')](_0x0a23('0x1a'),_0x4f7f67,_0x0a23('0x1b'));logger[_0x0a23('0x1c')](_0x0a23('0x1d'),_0x4f7f67,'request\x20sent',JSON['stringify'](_0x16f6b5));if(_0x16f6b5[_0x0a23('0x1e')]){if(_0x16f6b5[_0x0a23('0x1e')][_0x0a23('0x1f')]===0x1f4){logger[_0x0a23('0x1e')](_0x0a23('0x1a'),_0x4f7f67,_0x16f6b5['error'][_0x0a23('0x20')]);return _0x5eec37(_0x16f6b5['error'][_0x0a23('0x20')]);}logger[_0x0a23('0x1e')](_0x0a23('0x1a'),_0x4f7f67,_0x16f6b5[_0x0a23('0x1e')][_0x0a23('0x20')]);return _0x189b97(_0x16f6b5[_0x0a23('0x1e')]['message']);}else{logger[_0x0a23('0x19')](_0x0a23('0x1a'),_0x4f7f67,_0x0a23('0x1b'));_0x189b97(_0x16f6b5[_0x0a23('0x21')][_0x0a23('0x20')]);}})[_0x0a23('0x22')](function(_0x213497){logger['error']('Setting,\x20%s,\x20%s',_0x4f7f67,_0x213497);_0x5eec37(_0x213497);});});}function respondWithStatusCode(_0x59042d,_0x5c720d){_0x5c720d=_0x5c720d||0xcc;return function(_0x5b8be0){if(_0x5b8be0){return _0x59042d[_0x0a23('0x23')](_0x5c720d);}return _0x59042d['status'](_0x5c720d)['end']();};}function respondWithResult(_0x41b5c9,_0x270c6f){_0x270c6f=_0x270c6f||0xc8;return function(_0x535067){if(_0x535067){return _0x41b5c9[_0x0a23('0x24')](_0x270c6f)[_0x0a23('0x25')](_0x535067);}};}function respondWithFilteredResult(_0x5c1e16,_0x42b966){return function(_0xd67840){if(_0xd67840){var _0xd9d984=_0xd67840[_0x0a23('0x26')],_0x2f2829=_0x42b966['offset'],_0x40107a=_0x42b966[_0x0a23('0x27')]+_0x42b966[_0x0a23('0x28')],_0x3d70c8;if(_0x40107a>=_0xd9d984){_0x40107a=_0xd9d984;_0x3d70c8=0xc8;}else{_0x3d70c8=0xce;}_0x5c1e16[_0x0a23('0x24')](_0x3d70c8);return _0x5c1e16[_0x0a23('0x29')](_0x0a23('0x2a'),_0x2f2829+'-'+_0x40107a+'/'+_0xd9d984)[_0x0a23('0x25')](_0xd67840);}return null;};}function patchUpdates(_0x21839d){return function(_0x2cd4fa){try{jsonpatch['apply'](_0x2cd4fa,_0x21839d,!![]);}catch(_0x96854a){return BPromise['reject'](_0x96854a);}return _0x2cd4fa[_0x0a23('0x2b')]();};}function saveUpdates(_0x31403b,_0x2408fc){return function(_0x560fef){if(_0x560fef){return _0x560fef[_0x0a23('0x2c')](_0x31403b)[_0x0a23('0x18')](function(_0x341941){return _0x341941;});}return null;};}function removeEntity(_0xa8546e,_0x2c6f7e){return function(_0x5abe30){if(_0x5abe30){return _0x5abe30['destroy']()[_0x0a23('0x18')](function(){_0xa8546e[_0x0a23('0x24')](0xcc)[_0x0a23('0x2d')]();});}};}function handleEntityNotFound(_0x405234,_0x42128d){return function(_0x387376){if(!_0x387376){_0x405234[_0x0a23('0x23')](0x194);}return _0x387376;};}function handleError(_0x2e9359,_0x11083c){_0x11083c=_0x11083c||0x1f4;return function(_0x518550){logger[_0x0a23('0x1e')](_0x518550['stack']);if(_0x518550['name']){delete _0x518550['name'];}_0x2e9359[_0x0a23('0x24')](_0x11083c)[_0x0a23('0x2e')](_0x518550);};}exports[_0x0a23('0x2f')]=function(_0x33c684,_0x1c815e){var _0x464757={},_0x2a9c0a={},_0x2a36fd={'count':0x0,'rows':[]};var _0x3859a3=_[_0x0a23('0x30')](db[_0x0a23('0x31')][_0x0a23('0x32')],function(_0x37878b){return{'name':_0x37878b['fieldName'],'type':_0x37878b[_0x0a23('0x33')]['key']};});_0x2a9c0a[_0x0a23('0x34')]=_[_0x0a23('0x30')](_0x3859a3,_0x0a23('0x35'));_0x2a9c0a[_0x0a23('0x36')]=_[_0x0a23('0x37')](_0x33c684[_0x0a23('0x36')]);_0x2a9c0a[_0x0a23('0x38')]=_['intersection'](_0x2a9c0a[_0x0a23('0x34')],_0x2a9c0a['query']);_0x464757[_0x0a23('0x39')]=_['intersection'](_0x2a9c0a['model'],qs[_0x0a23('0x3a')](_0x33c684[_0x0a23('0x36')][_0x0a23('0x3a')]));_0x464757[_0x0a23('0x39')]=_0x464757[_0x0a23('0x39')][_0x0a23('0x3b')]?_0x464757[_0x0a23('0x39')]:_0x2a9c0a[_0x0a23('0x34')];if(!_0x33c684['query'][_0x0a23('0x3c')](_0x0a23('0x3d'))){_0x464757[_0x0a23('0x28')]=qs[_0x0a23('0x28')](_0x33c684[_0x0a23('0x36')][_0x0a23('0x28')]);_0x464757[_0x0a23('0x27')]=qs[_0x0a23('0x27')](_0x33c684[_0x0a23('0x36')][_0x0a23('0x27')]);}_0x464757[_0x0a23('0x3e')]=qs[_0x0a23('0x3f')](_0x33c684[_0x0a23('0x36')][_0x0a23('0x3f')]);_0x464757[_0x0a23('0x40')]=qs[_0x0a23('0x38')](_[_0x0a23('0x41')](_0x33c684[_0x0a23('0x36')],_0x2a9c0a['filters']));if(_0x33c684[_0x0a23('0x36')][_0x0a23('0x42')]){_0x464757[_0x0a23('0x40')]=_[_0x0a23('0x43')](_0x464757[_0x0a23('0x40')],{'$or':_[_0x0a23('0x30')](_0x3859a3,function(_0x49e261){if(_0x49e261['type']!==_0x0a23('0x44')){var _0x5bf840={};_0x5bf840[_0x49e261['name']]={'$like':'%'+_0x33c684['query']['filter']+'%'};return _0x5bf840;}})});}_0x464757=_[_0x0a23('0x43')]({},_0x464757,_0x33c684[_0x0a23('0x45')]);var _0x3babdd={'where':_0x464757['where']};return db[_0x0a23('0x31')][_0x0a23('0x26')](_0x3babdd)[_0x0a23('0x18')](function(_0x3ee6c8){_0x2a36fd[_0x0a23('0x26')]=_0x3ee6c8;if(_0x33c684[_0x0a23('0x36')][_0x0a23('0x46')]){_0x464757['include']=[{'all':!![]}];}return db[_0x0a23('0x31')][_0x0a23('0x47')](_0x464757);})[_0x0a23('0x18')](function(_0x5f127e){_0x2a36fd['rows']=_0x5f127e;return _0x2a36fd;})[_0x0a23('0x18')](respondWithFilteredResult(_0x1c815e,_0x464757))[_0x0a23('0x22')](handleError(_0x1c815e,null));};exports[_0x0a23('0x48')]=function(_0x143eda,_0x37bfc2){var _0x493955={'raw':![],'where':{'id':_0x143eda[_0x0a23('0x49')]['id']}},_0x527877={};_0x527877[_0x0a23('0x34')]=_['keys'](db['Setting'][_0x0a23('0x32')]);_0x527877[_0x0a23('0x36')]=_[_0x0a23('0x37')](_0x143eda['query']);_0x527877[_0x0a23('0x38')]=_['intersection'](_0x527877[_0x0a23('0x34')],_0x527877[_0x0a23('0x36')]);_0x493955[_0x0a23('0x39')]=_['intersection'](_0x527877[_0x0a23('0x34')],qs[_0x0a23('0x3a')](_0x143eda[_0x0a23('0x36')]['fields']));_0x493955['attributes']=_0x493955[_0x0a23('0x39')][_0x0a23('0x3b')]?_0x493955[_0x0a23('0x39')]:_0x527877['model'];if(_0x143eda[_0x0a23('0x36')]['includeAll']){_0x493955['include']=[{'all':!![]}];}_0x493955=_[_0x0a23('0x43')]({},_0x493955,_0x143eda['options']);return db[_0x0a23('0x31')][_0x0a23('0x4a')](_0x493955)[_0x0a23('0x18')](handleEntityNotFound(_0x37bfc2,null))[_0x0a23('0x18')](respondWithResult(_0x37bfc2,null))[_0x0a23('0x22')](handleError(_0x37bfc2,null));};exports[_0x0a23('0x2c')]=function(_0x553e8b,_0x30024c){if(_0x553e8b[_0x0a23('0x4b')]['id']){delete _0x553e8b[_0x0a23('0x4b')]['id'];}return db['Setting']['find']({'where':{'id':_0x553e8b[_0x0a23('0x49')]['id']}})[_0x0a23('0x18')](handleEntityNotFound(_0x30024c,null))['then'](saveUpdates(_0x553e8b[_0x0a23('0x4b')],null))[_0x0a23('0x18')](respondWithResult(_0x30024c,null))['catch'](handleError(_0x30024c,null));};exports[_0x0a23('0x4c')]=function(_0x4da82d,_0x14a2cf,_0x1ea321){if(_0x4da82d[_0x0a23('0x4d')]&&_0x4da82d['file'][_0x0a23('0x4e')]){_0x4da82d[_0x0a23('0x4b')][_0x0a23('0x4f')]=_0x4da82d[_0x0a23('0x4d')][_0x0a23('0x4e')];}return db[_0x0a23('0x31')][_0x0a23('0x4a')]({'where':{'id':_0x4da82d['params']['id']}})[_0x0a23('0x18')](handleEntityNotFound(_0x14a2cf,null))['then'](saveUpdates(_0x4da82d[_0x0a23('0x4b')],null))['then'](respondWithResult(_0x14a2cf,null))['catch'](handleError(_0x14a2cf,null));};exports[_0x0a23('0x50')]=function(_0x23d57c,_0x6876f3,_0x408b48){if(_0x23d57c[_0x0a23('0x4d')]&&_0x23d57c[_0x0a23('0x4d')][_0x0a23('0x4e')]){_0x23d57c['body']['loginLogo']=_0x23d57c[_0x0a23('0x4d')][_0x0a23('0x4e')];}return db[_0x0a23('0x31')][_0x0a23('0x4a')]({'where':{'id':_0x23d57c[_0x0a23('0x49')]['id']}})[_0x0a23('0x18')](handleEntityNotFound(_0x6876f3,null))['then'](saveUpdates(_0x23d57c[_0x0a23('0x4b')],null))[_0x0a23('0x18')](respondWithResult(_0x6876f3,null))[_0x0a23('0x22')](handleError(_0x6876f3,null));};var utilLicense=require(_0x0a23('0x51'));exports[_0x0a23('0x52')]=function(_0xe76053,_0x5f115a,_0x440caf){var _0x289a19=_0x0a23('0x53');var _0x50487f={'custom':![]};return utilLicense[_0x0a23('0x54')]()[_0x0a23('0x18')](function(_0x17d147){if(_0x17d147){_0x50487f=_0x17d147;}return db[_0x0a23('0x31')]['find']({'where':{'id':_0xe76053['params']['id']},'attributes':[_0x0a23('0x4f'),'loginLogo',_0x0a23('0x55'),'favicon',_0x0a23('0x56'),_0x0a23('0x57'),_0x0a23('0x58'),_0x0a23('0x59')],'raw':!![]});})['then'](handleEntityNotFound(_0x5f115a,null))[_0x0a23('0x18')](function(_0x130678){if(_0x130678){var _0x34bc0e=_0x130678[_0x0a23('0x4f')]&&fs[_0x0a23('0x5a')](path[_0x0a23('0x5b')](config['root'],_0x289a19,_['toLower'](_0x130678[_0x0a23('0x4f')])))?path[_0x0a23('0x5b')](config[_0x0a23('0x5c')],_0x289a19,_[_0x0a23('0x5d')](_0x130678['logo'])):path[_0x0a23('0x5b')](config['root'],_0x289a19,_[_0x0a23('0x5d')]('default_logo.png'));var _0x33b752=_0x0a23('0x5e')+_[_0x0a23('0x5f')]('logo');if(_0x130678[_0x33b752]||!_0x50487f[_0x0a23('0x60')]){_0x34bc0e=path[_0x0a23('0x5b')](config['root'],_0x289a19,_[_0x0a23('0x5d')](_0x0a23('0x61')));}if(!fs['existsSync'](_0x34bc0e)){throw new db[(_0x0a23('0x16'))][(_0x0a23('0x62'))](_[_0x0a23('0x5f')](_0x0a23('0x4f'))+_0x0a23('0x63'));}return _0x5f115a[_0x0a23('0x64')](_0x34bc0e);}})[_0x0a23('0x22')](handleError(_0x5f115a,null));};var utilLicense=require('../../config/license/util');exports[_0x0a23('0x65')]=function(_0x575b80,_0x41dbdd,_0x1eee20){var _0x30b5b9=_0x0a23('0x53');var _0x34d5b8={'custom':![]};return utilLicense[_0x0a23('0x54')]()[_0x0a23('0x18')](function(_0x35af1d){if(_0x35af1d){_0x34d5b8=_0x35af1d;}return db[_0x0a23('0x31')]['find']({'where':{'id':_0x575b80[_0x0a23('0x49')]['id']},'attributes':[_0x0a23('0x4f'),_0x0a23('0x66'),_0x0a23('0x55'),_0x0a23('0x67'),_0x0a23('0x56'),_0x0a23('0x57'),'defaultPreferred','defaultFavicon'],'raw':!![]});})[_0x0a23('0x18')](handleEntityNotFound(_0x41dbdd,null))[_0x0a23('0x18')](function(_0xbca365){if(_0xbca365){var _0x10ed28=_0xbca365[_0x0a23('0x66')]&&fs['existsSync'](path[_0x0a23('0x5b')](config[_0x0a23('0x5c')],_0x30b5b9,_[_0x0a23('0x5d')](_0xbca365[_0x0a23('0x66')])))?path[_0x0a23('0x5b')](config['root'],_0x30b5b9,_['toLower'](_0xbca365[_0x0a23('0x66')])):path['join'](config[_0x0a23('0x5c')],_0x30b5b9,_['toLower'](_0x0a23('0x68')));var _0x460a4e=_0x0a23('0x5e')+_[_0x0a23('0x5f')](_0x0a23('0x66'));if(_0xbca365[_0x460a4e]||!_0x34d5b8[_0x0a23('0x60')]){_0x10ed28=path[_0x0a23('0x5b')](config[_0x0a23('0x5c')],_0x30b5b9,_[_0x0a23('0x5d')](_0x0a23('0x68')));}if(!fs[_0x0a23('0x5a')](_0x10ed28)){throw new db[(_0x0a23('0x16'))][(_0x0a23('0x62'))](_[_0x0a23('0x5f')](_0x0a23('0x66'))+_0x0a23('0x63'));}return _0x41dbdd[_0x0a23('0x64')](_0x10ed28);}})['catch'](handleError(_0x41dbdd,null));};exports[_0x0a23('0x69')]=function(_0x53151f,_0x1ee081){return db['Setting']['find']({'where':{'id':_0x53151f[_0x0a23('0x49')]['id']},'attributes':[_0x0a23('0x6a')]})[_0x0a23('0x18')](respondWithResult(_0x1ee081,null))[_0x0a23('0x22')](handleError(_0x1ee081,null));};exports[_0x0a23('0x6b')]=function(_0x5db927,_0xabbcfc,_0x48cd19){if(_0x5db927[_0x0a23('0x4d')]&&_0x5db927[_0x0a23('0x4d')][_0x0a23('0x4e')]){_0x5db927[_0x0a23('0x4b')][_0x0a23('0x55')]=_0x5db927[_0x0a23('0x4d')]['filename'];}return db[_0x0a23('0x31')][_0x0a23('0x4a')]({'where':{'id':_0x5db927[_0x0a23('0x49')]['id']}})['then'](handleEntityNotFound(_0xabbcfc,null))['then'](saveUpdates(_0x5db927['body'],null))['then'](respondWithResult(_0xabbcfc,null))['catch'](handleError(_0xabbcfc,null));};var utilLicense=require(_0x0a23('0x51'));exports[_0x0a23('0x6c')]=function(_0x339cf3,_0x1e907a,_0x260beb){var _0x45444f=_0x0a23('0x53');var _0x3e76ba={'custom':![]};return utilLicense['getLicense']()[_0x0a23('0x18')](function(_0x3e9e2f){if(_0x3e9e2f){_0x3e76ba=_0x3e9e2f;}return db[_0x0a23('0x31')]['find']({'where':{'id':_0x339cf3[_0x0a23('0x49')]['id']},'attributes':[_0x0a23('0x4f'),_0x0a23('0x66'),_0x0a23('0x55'),_0x0a23('0x67'),'defaultLogo','defaultLoginLogo',_0x0a23('0x58'),_0x0a23('0x59')],'raw':!![]});})[_0x0a23('0x18')](handleEntityNotFound(_0x1e907a,null))[_0x0a23('0x18')](function(_0x3ea427){if(_0x3ea427){var _0x2caa0e=_0x3ea427['preferred']&&fs[_0x0a23('0x5a')](path[_0x0a23('0x5b')](config[_0x0a23('0x5c')],_0x45444f,_[_0x0a23('0x5d')](_0x3ea427[_0x0a23('0x55')])))?path[_0x0a23('0x5b')](config[_0x0a23('0x5c')],_0x45444f,_[_0x0a23('0x5d')](_0x3ea427[_0x0a23('0x55')])):path[_0x0a23('0x5b')](config[_0x0a23('0x5c')],_0x45444f,_[_0x0a23('0x5d')](_0x0a23('0x6d')));var _0x143367=_0x0a23('0x5e')+_[_0x0a23('0x5f')](_0x0a23('0x55'));if(_0x3ea427[_0x143367]||!_0x3e76ba[_0x0a23('0x60')]||!_0x3e76ba['preferred']){_0x2caa0e=path[_0x0a23('0x5b')](config[_0x0a23('0x5c')],_0x45444f,_['toLower'](_0x0a23('0x6d')));}if(!fs[_0x0a23('0x5a')](_0x2caa0e)){throw new db[(_0x0a23('0x16'))][(_0x0a23('0x62'))](_['upperFirst'](_0x0a23('0x55'))+_0x0a23('0x63'));}return _0x1e907a[_0x0a23('0x64')](_0x2caa0e);}})['catch'](handleError(_0x1e907a,null));};exports[_0x0a23('0x6e')]=function(_0x2d2f7b,_0x110dff,_0x1b9fe7){if(_0x2d2f7b[_0x0a23('0x4d')]&&_0x2d2f7b[_0x0a23('0x4d')]['filename']){_0x2d2f7b[_0x0a23('0x4b')][_0x0a23('0x67')]=_0x2d2f7b[_0x0a23('0x4d')][_0x0a23('0x4e')];}return db[_0x0a23('0x31')][_0x0a23('0x4a')]({'where':{'id':_0x2d2f7b['params']['id']}})[_0x0a23('0x18')](handleEntityNotFound(_0x110dff,null))['then'](saveUpdates(_0x2d2f7b[_0x0a23('0x4b')],null))[_0x0a23('0x18')](respondWithResult(_0x110dff,null))[_0x0a23('0x22')](handleError(_0x110dff,null));};var utilLicense=require('../../config/license/util');exports[_0x0a23('0x6f')]=function(_0x38b8a2,_0x576c91,_0x2297ce){var _0x69ce9d=_0x0a23('0x53');var _0x1e17af={'custom':![]};return utilLicense[_0x0a23('0x54')]()['then'](function(_0x1c62b1){if(_0x1c62b1){_0x1e17af=_0x1c62b1;}return db[_0x0a23('0x31')][_0x0a23('0x4a')]({'where':{'id':_0x38b8a2[_0x0a23('0x49')]['id']},'attributes':[_0x0a23('0x4f'),_0x0a23('0x66'),_0x0a23('0x55'),'favicon',_0x0a23('0x56'),_0x0a23('0x57'),_0x0a23('0x58'),_0x0a23('0x59')],'raw':!![]});})[_0x0a23('0x18')](handleEntityNotFound(_0x576c91,null))[_0x0a23('0x18')](function(_0x5d64ee){if(_0x5d64ee){var _0x2ed0f6=_0x5d64ee[_0x0a23('0x67')]&&fs['existsSync'](path[_0x0a23('0x5b')](config[_0x0a23('0x5c')],_0x69ce9d,_[_0x0a23('0x5d')](_0x5d64ee['favicon'])))?path[_0x0a23('0x5b')](config['root'],_0x69ce9d,_['toLower'](_0x5d64ee['favicon'])):path[_0x0a23('0x5b')](config['root'],_0x69ce9d,_[_0x0a23('0x5d')]('default_favicon.ico'));var _0x40efa5=_0x0a23('0x5e')+_[_0x0a23('0x5f')]('favicon');if(_0x5d64ee[_0x40efa5]||!_0x1e17af['custom']){_0x2ed0f6=path[_0x0a23('0x5b')](config[_0x0a23('0x5c')],_0x69ce9d,_[_0x0a23('0x5d')](_0x0a23('0x70')));}if(!fs[_0x0a23('0x5a')](_0x2ed0f6)){throw new db[(_0x0a23('0x16'))][(_0x0a23('0x62'))](_[_0x0a23('0x5f')](_0x0a23('0x67'))+_0x0a23('0x63'));}return _0x576c91['download'](_0x2ed0f6);}})['catch'](handleError(_0x576c91,null));};