794420b45c9fa16ee08f806a99a7860c4fc6b5ad
[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 _0x62a2=['existsSync','\x20not\x20found','download','../../config/license/util','getLicense','preferred','default_loginLogo.png','gdpr','securePassword','addPreferred','default_preferred.png','addFavicon','default_favicon.ico','html-pdf','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','to-csv','ejs','lodash','squel','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','client','http','Sequelize','ValidationError','request','then','debug','Setting,\x20%s,\x20%s,\x20%s','request\x20sent','stringify','error','code','Setting,\x20%s,\x20%s','message','info','result','catch','sendStatus','status','end','count','offset','limit','set','Content-Range','apply','reject','update','destroy','stack','name','send','index','map','Setting','rawAttributes','fieldName','type','key','model','query','keys','attributes','intersection','fields','length','hasOwnProperty','where','filters','filter','VIRTUAL','includeAll','include','rows','show','params','merge','find','body','file','filename','logo','addLogoLogin','loginLogo','getLogo','server/files/images/logos','favicon','defaultLogo','defaultLoginLogo','defaultPreferred','defaultFavicon','root','toLower','join','default_logo.png','default','upperFirst','custom'];(function(_0x422a26,_0x23a966){var _0x58b9c0=function(_0x447554){while(--_0x447554){_0x422a26['push'](_0x422a26['shift']());}};_0x58b9c0(++_0x23a966);}(_0x62a2,0x169));var _0x262a=function(_0x155861,_0x257fb2){_0x155861=_0x155861-0x0;var _0x2e9827=_0x62a2[_0x155861];return _0x2e9827;};'use strict';var pdf=require(_0x262a('0x0'));var emlformat=require(_0x262a('0x1'));var rimraf=require(_0x262a('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0x262a('0x3'));var rp=require(_0x262a('0x4'));var moment=require(_0x262a('0x5'));var BPromise=require(_0x262a('0x6'));var Mustache=require(_0x262a('0x7'));var util=require(_0x262a('0x8'));var path=require('path');var sox=require('sox');var csv=require(_0x262a('0x9'));var ejs=require(_0x262a('0xa'));var fs=require('fs');var _=require(_0x262a('0xb'));var squel=require(_0x262a('0xc'));var crypto=require('crypto');var jsforce=require(_0x262a('0xd'));var deskjs=require(_0x262a('0xe'));var toCsv=require(_0x262a('0x9'));var querystring=require('querystring');var Papa=require(_0x262a('0xf'));var Redis=require(_0x262a('0x10'));var authService=require(_0x262a('0x11'));var qs=require(_0x262a('0x12'));var as=require(_0x262a('0x13'));var hardwareService=require(_0x262a('0x14'));var logger=require(_0x262a('0x15'))(_0x262a('0x16'));var utils=require('../../config/utils');var config=require(_0x262a('0x17'));var db=require(_0x262a('0x18'))['db'];var jayson=require('jayson/promise');var client=jayson[_0x262a('0x19')][_0x262a('0x1a')]({'port':0x232a});function checkPasswordPattern(_0x1fa7a6,_0xb11057,_0x364e8e){if(_0x364e8e){var _0x2827b8=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x2827b8['test'](_0xb11057)){return _0x1fa7a6;}else{throw new db[(_0x262a('0x1b'))][(_0x262a('0x1c'))]('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 _0x1fa7a6;}}function respondWithRpcPromise(_0x82c530,_0x48ad4e,_0x202a73,_0x4743a3){return new BPromise(function(_0x18eb27,_0x2a9bcc){var _0x1b11c6=_0x4743a3||client;return _0x1b11c6[_0x262a('0x1d')](_0x82c530,_0x202a73)[_0x262a('0x1e')](function(_0x42d0e1){logger['info']('Setting,\x20%s,\x20%s',_0x48ad4e,'request\x20sent');logger[_0x262a('0x1f')](_0x262a('0x20'),_0x48ad4e,_0x262a('0x21'),JSON[_0x262a('0x22')](_0x42d0e1));if(_0x42d0e1[_0x262a('0x23')]){if(_0x42d0e1[_0x262a('0x23')][_0x262a('0x24')]===0x1f4){logger[_0x262a('0x23')](_0x262a('0x25'),_0x48ad4e,_0x42d0e1[_0x262a('0x23')][_0x262a('0x26')]);return _0x2a9bcc(_0x42d0e1['error'][_0x262a('0x26')]);}logger[_0x262a('0x23')](_0x262a('0x25'),_0x48ad4e,_0x42d0e1[_0x262a('0x23')][_0x262a('0x26')]);return _0x18eb27(_0x42d0e1[_0x262a('0x23')][_0x262a('0x26')]);}else{logger[_0x262a('0x27')]('Setting,\x20%s,\x20%s',_0x48ad4e,_0x262a('0x21'));_0x18eb27(_0x42d0e1[_0x262a('0x28')]['message']);}})[_0x262a('0x29')](function(_0x34a024){logger[_0x262a('0x23')](_0x262a('0x25'),_0x48ad4e,_0x34a024);_0x2a9bcc(_0x34a024);});});}function respondWithStatusCode(_0x6baa7f,_0x221a90){_0x221a90=_0x221a90||0xcc;return function(_0x935281){if(_0x935281){return _0x6baa7f[_0x262a('0x2a')](_0x221a90);}return _0x6baa7f[_0x262a('0x2b')](_0x221a90)[_0x262a('0x2c')]();};}function respondWithResult(_0x19fc9b,_0x16325a){_0x16325a=_0x16325a||0xc8;return function(_0x38dd89){if(_0x38dd89){return _0x19fc9b[_0x262a('0x2b')](_0x16325a)['json'](_0x38dd89);}};}function respondWithFilteredResult(_0x225cb1,_0x181786){return function(_0x2a276a){if(_0x2a276a){var _0x2a0378=_0x2a276a[_0x262a('0x2d')],_0x36cc19=_0x181786[_0x262a('0x2e')],_0x32f3a9=_0x181786['offset']+_0x181786[_0x262a('0x2f')],_0x4a3480;if(_0x32f3a9>=_0x2a0378){_0x32f3a9=_0x2a0378;_0x4a3480=0xc8;}else{_0x4a3480=0xce;}_0x225cb1[_0x262a('0x2b')](_0x4a3480);return _0x225cb1[_0x262a('0x30')](_0x262a('0x31'),_0x36cc19+'-'+_0x32f3a9+'/'+_0x2a0378)['json'](_0x2a276a);}return null;};}function patchUpdates(_0x41c5f6){return function(_0x37b313){try{jsonpatch[_0x262a('0x32')](_0x37b313,_0x41c5f6,!![]);}catch(_0x53d53b){return BPromise[_0x262a('0x33')](_0x53d53b);}return _0x37b313['save']();};}function saveUpdates(_0xe0987a,_0x41abf5){return function(_0x3eb8d0){if(_0x3eb8d0){return _0x3eb8d0[_0x262a('0x34')](_0xe0987a)[_0x262a('0x1e')](function(_0x9473b8){return _0x9473b8;});}return null;};}function removeEntity(_0x4fbd96,_0x4732f3){return function(_0x43ec86){if(_0x43ec86){return _0x43ec86[_0x262a('0x35')]()[_0x262a('0x1e')](function(){_0x4fbd96[_0x262a('0x2b')](0xcc)[_0x262a('0x2c')]();});}};}function handleEntityNotFound(_0x184d4a,_0x58ee9c){return function(_0x496d7f){if(!_0x496d7f){_0x184d4a[_0x262a('0x2a')](0x194);}return _0x496d7f;};}function handleError(_0x2a0a19,_0x5a3208){_0x5a3208=_0x5a3208||0x1f4;return function(_0x2022c9){logger[_0x262a('0x23')](_0x2022c9[_0x262a('0x36')]);if(_0x2022c9[_0x262a('0x37')]){delete _0x2022c9[_0x262a('0x37')];}_0x2a0a19['status'](_0x5a3208)[_0x262a('0x38')](_0x2022c9);};}exports[_0x262a('0x39')]=function(_0x5aab5,_0x565974){var _0x2eb6ba={},_0x495695={},_0x54fbfa={'count':0x0,'rows':[]};var _0x279a27=_[_0x262a('0x3a')](db[_0x262a('0x3b')][_0x262a('0x3c')],function(_0x50922f){return{'name':_0x50922f[_0x262a('0x3d')],'type':_0x50922f[_0x262a('0x3e')][_0x262a('0x3f')]};});_0x495695[_0x262a('0x40')]=_[_0x262a('0x3a')](_0x279a27,_0x262a('0x37'));_0x495695[_0x262a('0x41')]=_[_0x262a('0x42')](_0x5aab5[_0x262a('0x41')]);_0x495695['filters']=_['intersection'](_0x495695[_0x262a('0x40')],_0x495695[_0x262a('0x41')]);_0x2eb6ba[_0x262a('0x43')]=_[_0x262a('0x44')](_0x495695[_0x262a('0x40')],qs[_0x262a('0x45')](_0x5aab5[_0x262a('0x41')][_0x262a('0x45')]));_0x2eb6ba[_0x262a('0x43')]=_0x2eb6ba[_0x262a('0x43')][_0x262a('0x46')]?_0x2eb6ba[_0x262a('0x43')]:_0x495695[_0x262a('0x40')];if(!_0x5aab5[_0x262a('0x41')][_0x262a('0x47')]('nolimit')){_0x2eb6ba['limit']=qs[_0x262a('0x2f')](_0x5aab5[_0x262a('0x41')]['limit']);_0x2eb6ba[_0x262a('0x2e')]=qs[_0x262a('0x2e')](_0x5aab5[_0x262a('0x41')][_0x262a('0x2e')]);}_0x2eb6ba['order']=qs['sort'](_0x5aab5[_0x262a('0x41')]['sort']);_0x2eb6ba[_0x262a('0x48')]=qs[_0x262a('0x49')](_['pick'](_0x5aab5[_0x262a('0x41')],_0x495695[_0x262a('0x49')]));if(_0x5aab5[_0x262a('0x41')][_0x262a('0x4a')]){_0x2eb6ba[_0x262a('0x48')]=_['merge'](_0x2eb6ba[_0x262a('0x48')],{'$or':_[_0x262a('0x3a')](_0x279a27,function(_0x12d7ab){if(_0x12d7ab[_0x262a('0x3e')]!==_0x262a('0x4b')){var _0x326fb1={};_0x326fb1[_0x12d7ab['name']]={'$like':'%'+_0x5aab5[_0x262a('0x41')]['filter']+'%'};return _0x326fb1;}})});}_0x2eb6ba=_['merge']({},_0x2eb6ba,_0x5aab5['options']);var _0x1ce924={'where':_0x2eb6ba[_0x262a('0x48')]};return db[_0x262a('0x3b')][_0x262a('0x2d')](_0x1ce924)['then'](function(_0x67ab15){_0x54fbfa[_0x262a('0x2d')]=_0x67ab15;if(_0x5aab5['query'][_0x262a('0x4c')]){_0x2eb6ba[_0x262a('0x4d')]=[{'all':!![]}];}return db[_0x262a('0x3b')]['findAll'](_0x2eb6ba);})[_0x262a('0x1e')](function(_0x3e6231){_0x54fbfa[_0x262a('0x4e')]=_0x3e6231;return _0x54fbfa;})[_0x262a('0x1e')](respondWithFilteredResult(_0x565974,_0x2eb6ba))[_0x262a('0x29')](handleError(_0x565974,null));};exports[_0x262a('0x4f')]=function(_0x3d6601,_0x3c7323){var _0x1e6a7b={'raw':![],'where':{'id':_0x3d6601[_0x262a('0x50')]['id']}},_0x24ead6={};_0x24ead6[_0x262a('0x40')]=_[_0x262a('0x42')](db[_0x262a('0x3b')]['rawAttributes']);_0x24ead6[_0x262a('0x41')]=_[_0x262a('0x42')](_0x3d6601[_0x262a('0x41')]);_0x24ead6[_0x262a('0x49')]=_[_0x262a('0x44')](_0x24ead6[_0x262a('0x40')],_0x24ead6['query']);_0x1e6a7b[_0x262a('0x43')]=_[_0x262a('0x44')](_0x24ead6[_0x262a('0x40')],qs['fields'](_0x3d6601[_0x262a('0x41')][_0x262a('0x45')]));_0x1e6a7b['attributes']=_0x1e6a7b[_0x262a('0x43')][_0x262a('0x46')]?_0x1e6a7b[_0x262a('0x43')]:_0x24ead6[_0x262a('0x40')];if(_0x3d6601[_0x262a('0x41')][_0x262a('0x4c')]){_0x1e6a7b[_0x262a('0x4d')]=[{'all':!![]}];}_0x1e6a7b=_[_0x262a('0x51')]({},_0x1e6a7b,_0x3d6601['options']);return db[_0x262a('0x3b')][_0x262a('0x52')](_0x1e6a7b)['then'](handleEntityNotFound(_0x3c7323,null))[_0x262a('0x1e')](respondWithResult(_0x3c7323,null))['catch'](handleError(_0x3c7323,null));};exports[_0x262a('0x34')]=function(_0x4fdbfc,_0x417c35){if(_0x4fdbfc[_0x262a('0x53')]['id']){delete _0x4fdbfc[_0x262a('0x53')]['id'];}return db[_0x262a('0x3b')][_0x262a('0x52')]({'where':{'id':_0x4fdbfc[_0x262a('0x50')]['id']}})['then'](handleEntityNotFound(_0x417c35,null))[_0x262a('0x1e')](saveUpdates(_0x4fdbfc[_0x262a('0x53')],null))[_0x262a('0x1e')](respondWithResult(_0x417c35,null))[_0x262a('0x29')](handleError(_0x417c35,null));};exports['addLogo']=function(_0x51292d,_0x37ea27,_0x28b326){if(_0x51292d[_0x262a('0x54')]&&_0x51292d['file'][_0x262a('0x55')]){_0x51292d[_0x262a('0x53')][_0x262a('0x56')]=_0x51292d[_0x262a('0x54')]['filename'];}return db[_0x262a('0x3b')][_0x262a('0x52')]({'where':{'id':_0x51292d['params']['id']}})['then'](handleEntityNotFound(_0x37ea27,null))['then'](saveUpdates(_0x51292d[_0x262a('0x53')],null))[_0x262a('0x1e')](respondWithResult(_0x37ea27,null))[_0x262a('0x29')](handleError(_0x37ea27,null));};exports[_0x262a('0x57')]=function(_0x2a82ae,_0x3dff59,_0x161d9b){if(_0x2a82ae[_0x262a('0x54')]&&_0x2a82ae[_0x262a('0x54')][_0x262a('0x55')]){_0x2a82ae[_0x262a('0x53')][_0x262a('0x58')]=_0x2a82ae[_0x262a('0x54')]['filename'];}return db['Setting'][_0x262a('0x52')]({'where':{'id':_0x2a82ae[_0x262a('0x50')]['id']}})['then'](handleEntityNotFound(_0x3dff59,null))['then'](saveUpdates(_0x2a82ae['body'],null))[_0x262a('0x1e')](respondWithResult(_0x3dff59,null))[_0x262a('0x29')](handleError(_0x3dff59,null));};var utilLicense=require('../../config/license/util');exports[_0x262a('0x59')]=function(_0x184f8d,_0x19ac41,_0x403d1b){var _0x4450e6=_0x262a('0x5a');var _0x5da15e={'custom':![]};return utilLicense['getLicense']()[_0x262a('0x1e')](function(_0x4865a4){if(_0x4865a4){_0x5da15e=_0x4865a4;}return db['Setting'][_0x262a('0x52')]({'where':{'id':_0x184f8d[_0x262a('0x50')]['id']},'attributes':[_0x262a('0x56'),_0x262a('0x58'),'preferred',_0x262a('0x5b'),_0x262a('0x5c'),_0x262a('0x5d'),_0x262a('0x5e'),_0x262a('0x5f')],'raw':!![]});})[_0x262a('0x1e')](handleEntityNotFound(_0x19ac41,null))[_0x262a('0x1e')](function(_0x2e989f){if(_0x2e989f){var _0x410ddb=_0x2e989f[_0x262a('0x56')]&&fs['existsSync'](path['join'](config[_0x262a('0x60')],_0x4450e6,_[_0x262a('0x61')](_0x2e989f[_0x262a('0x56')])))?path['join'](config[_0x262a('0x60')],_0x4450e6,_[_0x262a('0x61')](_0x2e989f[_0x262a('0x56')])):path[_0x262a('0x62')](config[_0x262a('0x60')],_0x4450e6,_[_0x262a('0x61')](_0x262a('0x63')));var _0x3aa455=_0x262a('0x64')+_[_0x262a('0x65')](_0x262a('0x56'));if(_0x2e989f[_0x3aa455]||!_0x5da15e[_0x262a('0x66')]){_0x410ddb=path[_0x262a('0x62')](config[_0x262a('0x60')],_0x4450e6,_[_0x262a('0x61')]('default_logo.png'));}if(!fs[_0x262a('0x67')](_0x410ddb)){throw new db[(_0x262a('0x1b'))][(_0x262a('0x1c'))](_['upperFirst'](_0x262a('0x56'))+_0x262a('0x68'));}return _0x19ac41[_0x262a('0x69')](_0x410ddb);}})[_0x262a('0x29')](handleError(_0x19ac41,null));};var utilLicense=require(_0x262a('0x6a'));exports['getLogoLogin']=function(_0x196446,_0x3c2c0d,_0x2683d6){var _0x270252='server/files/images/logos';var _0x4e9242={'custom':![]};return utilLicense[_0x262a('0x6b')]()[_0x262a('0x1e')](function(_0x257d98){if(_0x257d98){_0x4e9242=_0x257d98;}return db[_0x262a('0x3b')]['find']({'where':{'id':_0x196446[_0x262a('0x50')]['id']},'attributes':[_0x262a('0x56'),_0x262a('0x58'),_0x262a('0x6c'),_0x262a('0x5b'),_0x262a('0x5c'),'defaultLoginLogo',_0x262a('0x5e'),'defaultFavicon'],'raw':!![]});})[_0x262a('0x1e')](handleEntityNotFound(_0x3c2c0d,null))[_0x262a('0x1e')](function(_0x51ce2){if(_0x51ce2){var _0x51f9c8=_0x51ce2[_0x262a('0x58')]&&fs['existsSync'](path['join'](config[_0x262a('0x60')],_0x270252,_[_0x262a('0x61')](_0x51ce2[_0x262a('0x58')])))?path[_0x262a('0x62')](config['root'],_0x270252,_[_0x262a('0x61')](_0x51ce2['loginLogo'])):path[_0x262a('0x62')](config[_0x262a('0x60')],_0x270252,_[_0x262a('0x61')](_0x262a('0x6d')));var _0x383d78=_0x262a('0x64')+_['upperFirst']('loginLogo');if(_0x51ce2[_0x383d78]||!_0x4e9242[_0x262a('0x66')]){_0x51f9c8=path[_0x262a('0x62')](config[_0x262a('0x60')],_0x270252,_[_0x262a('0x61')](_0x262a('0x6d')));}if(!fs[_0x262a('0x67')](_0x51f9c8)){throw new db[(_0x262a('0x1b'))][(_0x262a('0x1c'))](_[_0x262a('0x65')]('loginLogo')+_0x262a('0x68'));}return _0x3c2c0d[_0x262a('0x69')](_0x51f9c8);}})[_0x262a('0x29')](handleError(_0x3c2c0d,null));};exports[_0x262a('0x6e')]=function(_0x274fa3,_0x3f81ef){return db[_0x262a('0x3b')][_0x262a('0x52')]({'where':{'id':_0x274fa3[_0x262a('0x50')]['id']},'attributes':[_0x262a('0x6f')]})[_0x262a('0x1e')](respondWithResult(_0x3f81ef,null))[_0x262a('0x29')](handleError(_0x3f81ef,null));};exports[_0x262a('0x70')]=function(_0x2f785e,_0x1fcc2c,_0x132950){if(_0x2f785e[_0x262a('0x54')]&&_0x2f785e['file'][_0x262a('0x55')]){_0x2f785e['body'][_0x262a('0x6c')]=_0x2f785e[_0x262a('0x54')]['filename'];}return db[_0x262a('0x3b')][_0x262a('0x52')]({'where':{'id':_0x2f785e[_0x262a('0x50')]['id']}})['then'](handleEntityNotFound(_0x1fcc2c,null))[_0x262a('0x1e')](saveUpdates(_0x2f785e['body'],null))[_0x262a('0x1e')](respondWithResult(_0x1fcc2c,null))[_0x262a('0x29')](handleError(_0x1fcc2c,null));};var utilLicense=require('../../config/license/util');exports['getPreferred']=function(_0xc573f9,_0x1325f5,_0x5a722b){var _0x364ef7=_0x262a('0x5a');var _0x5df27c={'custom':![]};return utilLicense[_0x262a('0x6b')]()[_0x262a('0x1e')](function(_0x5be957){if(_0x5be957){_0x5df27c=_0x5be957;}return db[_0x262a('0x3b')][_0x262a('0x52')]({'where':{'id':_0xc573f9[_0x262a('0x50')]['id']},'attributes':['logo',_0x262a('0x58'),_0x262a('0x6c'),_0x262a('0x5b'),_0x262a('0x5c'),_0x262a('0x5d'),_0x262a('0x5e'),_0x262a('0x5f')],'raw':!![]});})['then'](handleEntityNotFound(_0x1325f5,null))[_0x262a('0x1e')](function(_0x289f79){if(_0x289f79){var _0x29c6be=_0x289f79['preferred']&&fs[_0x262a('0x67')](path[_0x262a('0x62')](config['root'],_0x364ef7,_[_0x262a('0x61')](_0x289f79[_0x262a('0x6c')])))?path['join'](config[_0x262a('0x60')],_0x364ef7,_['toLower'](_0x289f79['preferred'])):path[_0x262a('0x62')](config[_0x262a('0x60')],_0x364ef7,_[_0x262a('0x61')](_0x262a('0x71')));var _0x3d7761=_0x262a('0x64')+_[_0x262a('0x65')](_0x262a('0x6c'));if(_0x289f79[_0x3d7761]||!_0x5df27c[_0x262a('0x66')]||!_0x5df27c[_0x262a('0x6c')]){_0x29c6be=path[_0x262a('0x62')](config['root'],_0x364ef7,_['toLower'](_0x262a('0x71')));}if(!fs[_0x262a('0x67')](_0x29c6be)){throw new db[(_0x262a('0x1b'))][(_0x262a('0x1c'))](_[_0x262a('0x65')](_0x262a('0x6c'))+_0x262a('0x68'));}return _0x1325f5['download'](_0x29c6be);}})[_0x262a('0x29')](handleError(_0x1325f5,null));};exports[_0x262a('0x72')]=function(_0x18b812,_0x17b51b,_0x4dfd72){if(_0x18b812[_0x262a('0x54')]&&_0x18b812[_0x262a('0x54')][_0x262a('0x55')]){_0x18b812['body'][_0x262a('0x5b')]=_0x18b812[_0x262a('0x54')][_0x262a('0x55')];}return db['Setting'][_0x262a('0x52')]({'where':{'id':_0x18b812[_0x262a('0x50')]['id']}})[_0x262a('0x1e')](handleEntityNotFound(_0x17b51b,null))['then'](saveUpdates(_0x18b812[_0x262a('0x53')],null))[_0x262a('0x1e')](respondWithResult(_0x17b51b,null))[_0x262a('0x29')](handleError(_0x17b51b,null));};var utilLicense=require(_0x262a('0x6a'));exports['getFavicon']=function(_0x566012,_0x2552f2,_0x22631b){var _0x3aa3cd=_0x262a('0x5a');var _0x21a88f={'custom':![]};return utilLicense[_0x262a('0x6b')]()[_0x262a('0x1e')](function(_0x5b9b27){if(_0x5b9b27){_0x21a88f=_0x5b9b27;}return db[_0x262a('0x3b')][_0x262a('0x52')]({'where':{'id':_0x566012[_0x262a('0x50')]['id']},'attributes':[_0x262a('0x56'),_0x262a('0x58'),'preferred','favicon',_0x262a('0x5c'),_0x262a('0x5d'),_0x262a('0x5e'),'defaultFavicon'],'raw':!![]});})['then'](handleEntityNotFound(_0x2552f2,null))['then'](function(_0x23028f){if(_0x23028f){var _0x4f9e63=_0x23028f[_0x262a('0x5b')]&&fs[_0x262a('0x67')](path['join'](config[_0x262a('0x60')],_0x3aa3cd,_['toLower'](_0x23028f[_0x262a('0x5b')])))?path[_0x262a('0x62')](config[_0x262a('0x60')],_0x3aa3cd,_[_0x262a('0x61')](_0x23028f[_0x262a('0x5b')])):path[_0x262a('0x62')](config[_0x262a('0x60')],_0x3aa3cd,_['toLower'](_0x262a('0x73')));var _0x768be=_0x262a('0x64')+_[_0x262a('0x65')]('favicon');if(_0x23028f[_0x768be]||!_0x21a88f[_0x262a('0x66')]){_0x4f9e63=path[_0x262a('0x62')](config[_0x262a('0x60')],_0x3aa3cd,_['toLower'](_0x262a('0x73')));}if(!fs[_0x262a('0x67')](_0x4f9e63)){throw new db[(_0x262a('0x1b'))][(_0x262a('0x1c'))](_[_0x262a('0x65')](_0x262a('0x5b'))+_0x262a('0x68'));}return _0x2552f2['download'](_0x4f9e63);}})[_0x262a('0x29')](handleError(_0x2552f2,null));};