Built motion from commit d5e4af8c.|2.6.23
[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 _0x4d30=['rows','catch','show','params','rawAttributes','include','find','update','body','addLogo','file','filename','addLogoLogin','loginLogo','server/files/images/logos','getLicense','logo','preferred','favicon','defaultLogo','defaultLoginLogo','defaultPreferred','existsSync','root','toLower','join','default_logo.svg','default','upperFirst','Sequelize','ValidationError','getLogoLogin','defaultFavicon','default_loginLogo.svg','\x20not\x20found','download','securePassword','addPreferred','getPreferred','default_preferred.png','custom','default_favicon.ico','getDate','utcOffset','format','YYYY-MM-DD\x20HH:mm:ss:SSS','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','jayson/promise','request','then','Setting,\x20%s,\x20%s','request\x20sent','Setting,\x20%s,\x20%s,\x20%s','stringify','error','code','message','info','result','end','status','offset','undefined','limit','count','set','Content-Range','json','apply','reject','save','destroy','sendStatus','name','send','index','Setting','fieldName','key','model','map','keys','intersection','query','attributes','fields','hasOwnProperty','nolimit','order','sort','filters','pick','filter','where','merge','type','VIRTUAL','options','includeAll','findAll'];(function(_0x40638d,_0x36889c){var _0x1ed9ba=function(_0x23973f){while(--_0x23973f){_0x40638d['push'](_0x40638d['shift']());}};_0x1ed9ba(++_0x36889c);}(_0x4d30,0x1a8));var _0x04d3=function(_0xbdf45b,_0x86b1dc){_0xbdf45b=_0xbdf45b-0x0;var _0x1a0d0f=_0x4d30[_0xbdf45b];return _0x1a0d0f;};'use strict';var emlformat=require(_0x04d3('0x0'));var rimraf=require(_0x04d3('0x1'));var zipdir=require(_0x04d3('0x2'));var jsonpatch=require(_0x04d3('0x3'));var rp=require(_0x04d3('0x4'));var moment=require(_0x04d3('0x5'));var BPromise=require(_0x04d3('0x6'));var Mustache=require('mustache');var util=require(_0x04d3('0x7'));var path=require(_0x04d3('0x8'));var sox=require('sox');var csv=require(_0x04d3('0x9'));var ejs=require(_0x04d3('0xa'));var fs=require('fs');var fs_extra=require(_0x04d3('0xb'));var _=require(_0x04d3('0xc'));var squel=require(_0x04d3('0xd'));var crypto=require(_0x04d3('0xe'));var jsforce=require(_0x04d3('0xf'));var deskjs=require(_0x04d3('0x10'));var toCsv=require('to-csv');var querystring=require(_0x04d3('0x11'));var Papa=require('papaparse');var Redis=require(_0x04d3('0x12'));var authService=require('../../components/auth/service');var qs=require(_0x04d3('0x13'));var as=require(_0x04d3('0x14'));var hardwareService=require(_0x04d3('0x15'));var logger=require('../../config/logger')(_0x04d3('0x16'));var utils=require(_0x04d3('0x17'));var config=require(_0x04d3('0x18'));var licenseUtil=require(_0x04d3('0x19'));var db=require(_0x04d3('0x1a'))['db'];var jayson=require(_0x04d3('0x1b'));var client=jayson['client']['http']({'port':0x232a});function respondWithRpcPromise(_0x594002,_0x2fb872,_0x2c2c26,_0x32a281){return new BPromise(function(_0x4c123e,_0x3debf4){var _0x126ce6=_0x32a281||client;return _0x126ce6[_0x04d3('0x1c')](_0x594002,_0x2c2c26)[_0x04d3('0x1d')](function(_0x2fc05d){logger['info'](_0x04d3('0x1e'),_0x2fb872,_0x04d3('0x1f'));logger['debug'](_0x04d3('0x20'),_0x2fb872,_0x04d3('0x1f'),JSON[_0x04d3('0x21')](_0x2fc05d));if(_0x2fc05d[_0x04d3('0x22')]){if(_0x2fc05d[_0x04d3('0x22')][_0x04d3('0x23')]===0x1f4){logger[_0x04d3('0x22')](_0x04d3('0x1e'),_0x2fb872,_0x2fc05d[_0x04d3('0x22')][_0x04d3('0x24')]);return _0x3debf4(_0x2fc05d[_0x04d3('0x22')][_0x04d3('0x24')]);}logger['error'](_0x04d3('0x1e'),_0x2fb872,_0x2fc05d[_0x04d3('0x22')][_0x04d3('0x24')]);return _0x4c123e(_0x2fc05d[_0x04d3('0x22')][_0x04d3('0x24')]);}else{logger[_0x04d3('0x25')](_0x04d3('0x1e'),_0x2fb872,'request\x20sent');_0x4c123e(_0x2fc05d[_0x04d3('0x26')][_0x04d3('0x24')]);}})['catch'](function(_0x26f3a9){logger[_0x04d3('0x22')](_0x04d3('0x1e'),_0x2fb872,_0x26f3a9);_0x3debf4(_0x26f3a9);});});}function respondWithStatusCode(_0x2e1b06,_0x390b05){_0x390b05=_0x390b05||0xcc;return function(_0x2227a5){if(_0x2227a5){return _0x2e1b06['sendStatus'](_0x390b05);}return _0x2e1b06['status'](_0x390b05)[_0x04d3('0x27')]();};}function respondWithResult(_0x9a704c,_0x10585c){_0x10585c=_0x10585c||0xc8;return function(_0x9d363){if(_0x9d363){return _0x9a704c[_0x04d3('0x28')](_0x10585c)['json'](_0x9d363);}};}function respondWithFilteredResult(_0x54219e,_0x16035b){return function(_0x35b541){if(_0x35b541){var _0x4f1153=typeof _0x16035b[_0x04d3('0x29')]===_0x04d3('0x2a')&&typeof _0x16035b[_0x04d3('0x2b')]==='undefined';var _0x6d2b25=_0x35b541['count'];var _0x469a71=_0x4f1153?0x0:_0x16035b[_0x04d3('0x29')];var _0x1e55fd=_0x4f1153?_0x35b541[_0x04d3('0x2c')]:_0x16035b[_0x04d3('0x29')]+_0x16035b[_0x04d3('0x2b')];var _0xf54e5c;if(_0x1e55fd>=_0x6d2b25){_0x1e55fd=_0x6d2b25;_0xf54e5c=0xc8;}else{_0xf54e5c=0xce;}_0x54219e[_0x04d3('0x28')](_0xf54e5c);return _0x54219e[_0x04d3('0x2d')](_0x04d3('0x2e'),_0x469a71+'-'+_0x1e55fd+'/'+_0x6d2b25)[_0x04d3('0x2f')](_0x35b541);}return null;};}function patchUpdates(_0x529d41){return function(_0x3c0099){try{jsonpatch[_0x04d3('0x30')](_0x3c0099,_0x529d41,!![]);}catch(_0x46c03c){return BPromise[_0x04d3('0x31')](_0x46c03c);}return _0x3c0099[_0x04d3('0x32')]();};}function saveUpdates(_0x426049,_0x1cf9f8){return function(_0x40f396){if(_0x40f396){return _0x40f396['update'](_0x426049)['then'](function(_0x5e2709){return _0x5e2709;});}return null;};}function removeEntity(_0x7364f6,_0xc43058){return function(_0x3f8f72){if(_0x3f8f72){return _0x3f8f72[_0x04d3('0x33')]()[_0x04d3('0x1d')](function(){_0x7364f6['status'](0xcc)[_0x04d3('0x27')]();});}};}function handleEntityNotFound(_0x31cfd0,_0x2c2392){return function(_0x5691d3){if(!_0x5691d3){_0x31cfd0[_0x04d3('0x34')](0x194);}return _0x5691d3;};}function handleError(_0x34f94c,_0x5497b5){_0x5497b5=_0x5497b5||0x1f4;return function(_0x103556){logger[_0x04d3('0x22')](_0x103556['stack']);if(_0x103556[_0x04d3('0x35')]){delete _0x103556[_0x04d3('0x35')];}_0x34f94c['status'](_0x5497b5)[_0x04d3('0x36')](_0x103556);};}exports[_0x04d3('0x37')]=function(_0x4582c9,_0x396b15){var _0x5dbd4f={},_0x1c87b0={},_0x3b4a6a={'count':0x0,'rows':[]};var _0x52f13d=_['map'](db[_0x04d3('0x38')]['rawAttributes'],function(_0x199bf1){return{'name':_0x199bf1[_0x04d3('0x39')],'type':_0x199bf1['type'][_0x04d3('0x3a')]};});_0x1c87b0[_0x04d3('0x3b')]=_[_0x04d3('0x3c')](_0x52f13d,_0x04d3('0x35'));_0x1c87b0['query']=_[_0x04d3('0x3d')](_0x4582c9['query']);_0x1c87b0['filters']=_[_0x04d3('0x3e')](_0x1c87b0[_0x04d3('0x3b')],_0x1c87b0[_0x04d3('0x3f')]);_0x5dbd4f[_0x04d3('0x40')]=_[_0x04d3('0x3e')](_0x1c87b0['model'],qs['fields'](_0x4582c9[_0x04d3('0x3f')][_0x04d3('0x41')]));_0x5dbd4f['attributes']=_0x5dbd4f[_0x04d3('0x40')]['length']?_0x5dbd4f[_0x04d3('0x40')]:_0x1c87b0[_0x04d3('0x3b')];if(!_0x4582c9[_0x04d3('0x3f')][_0x04d3('0x42')](_0x04d3('0x43'))){_0x5dbd4f[_0x04d3('0x2b')]=qs[_0x04d3('0x2b')](_0x4582c9[_0x04d3('0x3f')][_0x04d3('0x2b')]);_0x5dbd4f[_0x04d3('0x29')]=qs[_0x04d3('0x29')](_0x4582c9[_0x04d3('0x3f')][_0x04d3('0x29')]);}_0x5dbd4f[_0x04d3('0x44')]=qs[_0x04d3('0x45')](_0x4582c9[_0x04d3('0x3f')]['sort']);_0x5dbd4f['where']=qs[_0x04d3('0x46')](_[_0x04d3('0x47')](_0x4582c9[_0x04d3('0x3f')],_0x1c87b0[_0x04d3('0x46')]),_0x52f13d);if(_0x4582c9[_0x04d3('0x3f')][_0x04d3('0x48')]){_0x5dbd4f[_0x04d3('0x49')]=_[_0x04d3('0x4a')](_0x5dbd4f['where'],{'$or':_[_0x04d3('0x3c')](_0x52f13d,function(_0x3f692e){if(_0x3f692e[_0x04d3('0x4b')]!==_0x04d3('0x4c')){var _0x110bb1={};_0x110bb1[_0x3f692e[_0x04d3('0x35')]]={'$like':'%'+_0x4582c9[_0x04d3('0x3f')][_0x04d3('0x48')]+'%'};return _0x110bb1;}})});}_0x5dbd4f=_[_0x04d3('0x4a')]({},_0x5dbd4f,_0x4582c9[_0x04d3('0x4d')]);var _0x4151c2={'where':_0x5dbd4f[_0x04d3('0x49')]};return db['Setting']['count'](_0x4151c2)[_0x04d3('0x1d')](function(_0x1dcba7){_0x3b4a6a['count']=_0x1dcba7;if(_0x4582c9[_0x04d3('0x3f')][_0x04d3('0x4e')]){_0x5dbd4f['include']=[{'all':!![]}];}return db[_0x04d3('0x38')][_0x04d3('0x4f')](_0x5dbd4f);})[_0x04d3('0x1d')](function(_0x55fd92){_0x3b4a6a[_0x04d3('0x50')]=_0x55fd92;return _0x3b4a6a;})[_0x04d3('0x1d')](respondWithFilteredResult(_0x396b15,_0x5dbd4f))[_0x04d3('0x51')](handleError(_0x396b15,null));};exports[_0x04d3('0x52')]=function(_0x4313ab,_0x33aba6){var _0x328b74={'raw':![],'where':{'id':_0x4313ab[_0x04d3('0x53')]['id']}},_0x3ea496={};_0x3ea496[_0x04d3('0x3b')]=_[_0x04d3('0x3d')](db[_0x04d3('0x38')][_0x04d3('0x54')]);_0x3ea496[_0x04d3('0x3f')]=_[_0x04d3('0x3d')](_0x4313ab[_0x04d3('0x3f')]);_0x3ea496[_0x04d3('0x46')]=_[_0x04d3('0x3e')](_0x3ea496['model'],_0x3ea496[_0x04d3('0x3f')]);_0x328b74[_0x04d3('0x40')]=_['intersection'](_0x3ea496[_0x04d3('0x3b')],qs['fields'](_0x4313ab[_0x04d3('0x3f')][_0x04d3('0x41')]));_0x328b74[_0x04d3('0x40')]=_0x328b74[_0x04d3('0x40')]['length']?_0x328b74[_0x04d3('0x40')]:_0x3ea496[_0x04d3('0x3b')];if(_0x4313ab['query'][_0x04d3('0x4e')]){_0x328b74[_0x04d3('0x55')]=[{'all':!![]}];}_0x328b74=_[_0x04d3('0x4a')]({},_0x328b74,_0x4313ab[_0x04d3('0x4d')]);return db[_0x04d3('0x38')][_0x04d3('0x56')](_0x328b74)[_0x04d3('0x1d')](handleEntityNotFound(_0x33aba6,null))['then'](respondWithResult(_0x33aba6,null))[_0x04d3('0x51')](handleError(_0x33aba6,null));};exports[_0x04d3('0x57')]=function(_0x5b6bad,_0x5c4090){if(_0x5b6bad[_0x04d3('0x58')]['id']){delete _0x5b6bad[_0x04d3('0x58')]['id'];}return db[_0x04d3('0x38')][_0x04d3('0x56')]({'where':{'id':_0x5b6bad['params']['id']}})[_0x04d3('0x1d')](handleEntityNotFound(_0x5c4090,null))[_0x04d3('0x1d')](saveUpdates(_0x5b6bad[_0x04d3('0x58')],null))[_0x04d3('0x1d')](respondWithResult(_0x5c4090,null))[_0x04d3('0x51')](handleError(_0x5c4090,null));};exports[_0x04d3('0x59')]=function(_0x5c55f7,_0x21347c,_0x23c982){if(_0x5c55f7['file']&&_0x5c55f7['file']['filename']){_0x5c55f7[_0x04d3('0x58')]['logo']=_0x5c55f7[_0x04d3('0x5a')][_0x04d3('0x5b')];}return db['Setting'][_0x04d3('0x56')]({'where':{'id':_0x5c55f7[_0x04d3('0x53')]['id']}})[_0x04d3('0x1d')](handleEntityNotFound(_0x21347c,null))[_0x04d3('0x1d')](saveUpdates(_0x5c55f7['body'],null))['then'](respondWithResult(_0x21347c,null))[_0x04d3('0x51')](handleError(_0x21347c,null));};exports[_0x04d3('0x5c')]=function(_0x47a69e,_0x4fc08b,_0x553c64){if(_0x47a69e['file']&&_0x47a69e[_0x04d3('0x5a')]['filename']){_0x47a69e['body'][_0x04d3('0x5d')]=_0x47a69e[_0x04d3('0x5a')]['filename'];}return db[_0x04d3('0x38')]['find']({'where':{'id':_0x47a69e[_0x04d3('0x53')]['id']}})[_0x04d3('0x1d')](handleEntityNotFound(_0x4fc08b,null))[_0x04d3('0x1d')](saveUpdates(_0x47a69e[_0x04d3('0x58')],null))[_0x04d3('0x1d')](respondWithResult(_0x4fc08b,null))[_0x04d3('0x51')](handleError(_0x4fc08b,null));};var utilLicense=require(_0x04d3('0x19'));exports['getLogo']=function(_0x2a128f,_0x1f1084,_0x415865){var _0x668a66=_0x04d3('0x5e');var _0x45868c={'custom':![]};return utilLicense[_0x04d3('0x5f')]()[_0x04d3('0x1d')](function(_0x90d084){if(_0x90d084){_0x45868c=_0x90d084;}return db['Setting'][_0x04d3('0x56')]({'where':{'id':_0x2a128f[_0x04d3('0x53')]['id']},'attributes':[_0x04d3('0x60'),'loginLogo',_0x04d3('0x61'),_0x04d3('0x62'),_0x04d3('0x63'),_0x04d3('0x64'),_0x04d3('0x65'),'defaultFavicon'],'raw':!![]});})[_0x04d3('0x1d')](handleEntityNotFound(_0x1f1084,null))[_0x04d3('0x1d')](function(_0x5f498f){if(_0x5f498f){var _0x4950ff=_0x5f498f[_0x04d3('0x60')]&&fs[_0x04d3('0x66')](path['join'](config[_0x04d3('0x67')],_0x668a66,_[_0x04d3('0x68')](_0x5f498f[_0x04d3('0x60')])))?path[_0x04d3('0x69')](config[_0x04d3('0x67')],_0x668a66,_[_0x04d3('0x68')](_0x5f498f['logo'])):path['join'](config[_0x04d3('0x67')],_0x668a66,_[_0x04d3('0x68')](_0x04d3('0x6a')));var _0x2ad861=_0x04d3('0x6b')+_[_0x04d3('0x6c')](_0x04d3('0x60'));if(_0x5f498f[_0x2ad861]||!_0x45868c['custom']){_0x4950ff=path[_0x04d3('0x69')](config[_0x04d3('0x67')],_0x668a66,_[_0x04d3('0x68')](_0x04d3('0x6a')));}if(!fs['existsSync'](_0x4950ff)){throw new db[(_0x04d3('0x6d'))][(_0x04d3('0x6e'))](_['upperFirst'](_0x04d3('0x60'))+'\x20not\x20found');}return _0x1f1084['download'](_0x4950ff);}})[_0x04d3('0x51')](handleError(_0x1f1084,null));};var utilLicense=require('../../config/license/util');exports[_0x04d3('0x6f')]=function(_0x3fc128,_0x151718,_0x2e788b){var _0x83ecf0=_0x04d3('0x5e');var _0x2c4e5c={'custom':![]};return utilLicense['getLicense']()[_0x04d3('0x1d')](function(_0x81e1d4){if(_0x81e1d4){_0x2c4e5c=_0x81e1d4;}return db['Setting'][_0x04d3('0x56')]({'where':{'id':_0x3fc128[_0x04d3('0x53')]['id']},'attributes':[_0x04d3('0x60'),_0x04d3('0x5d'),'preferred','favicon',_0x04d3('0x63'),_0x04d3('0x64'),_0x04d3('0x65'),_0x04d3('0x70')],'raw':!![]});})[_0x04d3('0x1d')](handleEntityNotFound(_0x151718,null))[_0x04d3('0x1d')](function(_0x2d5479){if(_0x2d5479){var _0x1b8112=_0x2d5479[_0x04d3('0x5d')]&&fs[_0x04d3('0x66')](path[_0x04d3('0x69')](config[_0x04d3('0x67')],_0x83ecf0,_[_0x04d3('0x68')](_0x2d5479[_0x04d3('0x5d')])))?path['join'](config['root'],_0x83ecf0,_[_0x04d3('0x68')](_0x2d5479[_0x04d3('0x5d')])):path[_0x04d3('0x69')](config[_0x04d3('0x67')],_0x83ecf0,_['toLower'](_0x04d3('0x71')));var _0x5787dc=_0x04d3('0x6b')+_[_0x04d3('0x6c')](_0x04d3('0x5d'));if(_0x2d5479[_0x5787dc]||!_0x2c4e5c['custom']){_0x1b8112=path[_0x04d3('0x69')](config[_0x04d3('0x67')],_0x83ecf0,_['toLower'](_0x04d3('0x71')));}if(!fs[_0x04d3('0x66')](_0x1b8112)){throw new db[(_0x04d3('0x6d'))][(_0x04d3('0x6e'))](_[_0x04d3('0x6c')](_0x04d3('0x5d'))+_0x04d3('0x72'));}return _0x151718[_0x04d3('0x73')](_0x1b8112);}})[_0x04d3('0x51')](handleError(_0x151718,null));};exports['gdpr']=function(_0xb70291,_0x8166f7){return db[_0x04d3('0x38')][_0x04d3('0x56')]({'where':{'id':_0xb70291['params']['id']},'attributes':[_0x04d3('0x74')]})['then'](respondWithResult(_0x8166f7,null))[_0x04d3('0x51')](handleError(_0x8166f7,null));};exports[_0x04d3('0x75')]=function(_0x291922,_0x2c5a93,_0x398969){if(_0x291922[_0x04d3('0x5a')]&&_0x291922[_0x04d3('0x5a')][_0x04d3('0x5b')]){_0x291922[_0x04d3('0x58')]['preferred']=_0x291922[_0x04d3('0x5a')][_0x04d3('0x5b')];}return db[_0x04d3('0x38')][_0x04d3('0x56')]({'where':{'id':_0x291922['params']['id']}})[_0x04d3('0x1d')](handleEntityNotFound(_0x2c5a93,null))[_0x04d3('0x1d')](saveUpdates(_0x291922[_0x04d3('0x58')],null))[_0x04d3('0x1d')](respondWithResult(_0x2c5a93,null))['catch'](handleError(_0x2c5a93,null));};var utilLicense=require(_0x04d3('0x19'));exports[_0x04d3('0x76')]=function(_0x4de629,_0x2fcd43,_0x302778){var _0x436ae9=_0x04d3('0x5e');var _0x6c2d01={'custom':![]};return utilLicense[_0x04d3('0x5f')]()[_0x04d3('0x1d')](function(_0x54ad6f){if(_0x54ad6f){_0x6c2d01=_0x54ad6f;}return db[_0x04d3('0x38')]['find']({'where':{'id':_0x4de629[_0x04d3('0x53')]['id']},'attributes':[_0x04d3('0x60'),'loginLogo',_0x04d3('0x61'),_0x04d3('0x62'),_0x04d3('0x63'),_0x04d3('0x64'),_0x04d3('0x65'),_0x04d3('0x70')],'raw':!![]});})[_0x04d3('0x1d')](handleEntityNotFound(_0x2fcd43,null))[_0x04d3('0x1d')](function(_0x9ae283){if(_0x9ae283){var _0x3ae078=_0x9ae283[_0x04d3('0x61')]&&fs[_0x04d3('0x66')](path[_0x04d3('0x69')](config['root'],_0x436ae9,_['toLower'](_0x9ae283[_0x04d3('0x61')])))?path[_0x04d3('0x69')](config[_0x04d3('0x67')],_0x436ae9,_[_0x04d3('0x68')](_0x9ae283[_0x04d3('0x61')])):path[_0x04d3('0x69')](config[_0x04d3('0x67')],_0x436ae9,_[_0x04d3('0x68')](_0x04d3('0x77')));var _0x26f52f=_0x04d3('0x6b')+_[_0x04d3('0x6c')](_0x04d3('0x61'));if(_0x9ae283[_0x26f52f]||!_0x6c2d01[_0x04d3('0x78')]||!_0x6c2d01['preferred']){_0x3ae078=path[_0x04d3('0x69')](config[_0x04d3('0x67')],_0x436ae9,_[_0x04d3('0x68')]('default_preferred.png'));}if(!fs['existsSync'](_0x3ae078)){throw new db[(_0x04d3('0x6d'))]['ValidationError'](_[_0x04d3('0x6c')](_0x04d3('0x61'))+_0x04d3('0x72'));}return _0x2fcd43[_0x04d3('0x73')](_0x3ae078);}})['catch'](handleError(_0x2fcd43,null));};exports['addFavicon']=function(_0x520e3f,_0x2b9a07,_0x1bc41b){if(_0x520e3f[_0x04d3('0x5a')]&&_0x520e3f[_0x04d3('0x5a')][_0x04d3('0x5b')]){_0x520e3f['body']['favicon']=_0x520e3f[_0x04d3('0x5a')][_0x04d3('0x5b')];}return db[_0x04d3('0x38')][_0x04d3('0x56')]({'where':{'id':_0x520e3f['params']['id']}})[_0x04d3('0x1d')](handleEntityNotFound(_0x2b9a07,null))[_0x04d3('0x1d')](saveUpdates(_0x520e3f[_0x04d3('0x58')],null))[_0x04d3('0x1d')](respondWithResult(_0x2b9a07,null))[_0x04d3('0x51')](handleError(_0x2b9a07,null));};var utilLicense=require('../../config/license/util');exports['getFavicon']=function(_0x29ddcf,_0x255ea0,_0x32ca45){var _0x53ad2b=_0x04d3('0x5e');var _0x4ab828={'custom':![]};return utilLicense[_0x04d3('0x5f')]()[_0x04d3('0x1d')](function(_0x8c2da5){if(_0x8c2da5){_0x4ab828=_0x8c2da5;}return db[_0x04d3('0x38')]['find']({'where':{'id':_0x29ddcf[_0x04d3('0x53')]['id']},'attributes':[_0x04d3('0x60'),_0x04d3('0x5d'),_0x04d3('0x61'),_0x04d3('0x62'),'defaultLogo',_0x04d3('0x64'),_0x04d3('0x65'),_0x04d3('0x70')],'raw':!![]});})[_0x04d3('0x1d')](handleEntityNotFound(_0x255ea0,null))[_0x04d3('0x1d')](function(_0x26ee7e){if(_0x26ee7e){var _0x15e984=_0x26ee7e[_0x04d3('0x62')]&&fs['existsSync'](path['join'](config['root'],_0x53ad2b,_['toLower'](_0x26ee7e['favicon'])))?path[_0x04d3('0x69')](config[_0x04d3('0x67')],_0x53ad2b,_[_0x04d3('0x68')](_0x26ee7e[_0x04d3('0x62')])):path['join'](config[_0x04d3('0x67')],_0x53ad2b,_['toLower'](_0x04d3('0x79')));var _0x38726a=_0x04d3('0x6b')+_[_0x04d3('0x6c')](_0x04d3('0x62'));if(_0x26ee7e[_0x38726a]||!_0x4ab828['custom']){_0x15e984=path['join'](config[_0x04d3('0x67')],_0x53ad2b,_['toLower'](_0x04d3('0x79')));}if(!fs[_0x04d3('0x66')](_0x15e984)){throw new db[(_0x04d3('0x6d'))][(_0x04d3('0x6e'))](_[_0x04d3('0x6c')](_0x04d3('0x62'))+_0x04d3('0x72'));}return _0x255ea0[_0x04d3('0x73')](_0x15e984);}})['catch'](handleError(_0x255ea0,null));};exports[_0x04d3('0x7a')]=function(_0x2d25d2,_0x152db4){var _0x42d10c={'offset':moment()[_0x04d3('0x7b')]()};_0x42d10c['now']=moment()[_0x04d3('0x7b')](_0x42d10c[_0x04d3('0x29')])[_0x04d3('0x7c')](_0x04d3('0x7d'));return _0x152db4[_0x04d3('0x28')](0xc8)[_0x04d3('0x36')](_0x42d10c);};