Built motion from commit (unavailable).|2.5.22
[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 _0x3427=['defaultLoginLogo','defaultPreferred','defaultFavicon','existsSync','logo','join','root','toLower','default_logo.svg','default','upperFirst','custom','Sequelize','ValidationError','\x20not\x20found','download','getLogoLogin','default_loginLogo.svg','gdpr','addPreferred','default_preferred.png','addFavicon','getFavicon','default_favicon.ico','getDate','utcOffset','format','YYYY-MM-DD\x20HH:mm:ss:SSS','html-pdf','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','squel','crypto','jsforce','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/utils','../../mysqldb','client','http','request','Setting,\x20%s,\x20%s','request\x20sent','stringify','error','message','info','result','catch','sendStatus','status','json','count','offset','limit','apply','save','update','then','destroy','end','stack','name','send','index','map','Setting','rawAttributes','key','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','options','includeAll','include','rows','show','find','body','addLogo','file','params','filename','loginLogo','../../config/license/util','getLogo','server/files/images/logos','getLicense','preferred','favicon','defaultLogo'];(function(_0x2253b8,_0x179bfc){var _0x103e01=function(_0x3f2c46){while(--_0x3f2c46){_0x2253b8['push'](_0x2253b8['shift']());}};_0x103e01(++_0x179bfc);}(_0x3427,0x1e8));var _0x7342=function(_0x49ead0,_0x3179b9){_0x49ead0=_0x49ead0-0x0;var _0x5e5de0=_0x3427[_0x49ead0];return _0x5e5de0;};'use strict';var pdf=require(_0x7342('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x7342('0x1'));var zipdir=require(_0x7342('0x2'));var jsonpatch=require(_0x7342('0x3'));var rp=require(_0x7342('0x4'));var moment=require(_0x7342('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x7342('0x6'));var util=require(_0x7342('0x7'));var path=require(_0x7342('0x8'));var sox=require(_0x7342('0x9'));var csv=require(_0x7342('0xa'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0x7342('0xb'));var crypto=require(_0x7342('0xc'));var jsforce=require(_0x7342('0xd'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x7342('0xe'));var authService=require(_0x7342('0xf'));var qs=require(_0x7342('0x10'));var as=require(_0x7342('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x7342('0x12'));var utils=require(_0x7342('0x13'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x7342('0x14'))['db'];var jayson=require('jayson/promise');var client=jayson[_0x7342('0x15')][_0x7342('0x16')]({'port':0x232a});function respondWithRpcPromise(_0x20f937,_0x1d46cc,_0x813580,_0x463976){return new BPromise(function(_0x541a73,_0x13c5db){var _0x5436cb=_0x463976||client;return _0x5436cb[_0x7342('0x17')](_0x20f937,_0x813580)['then'](function(_0x386291){logger['info'](_0x7342('0x18'),_0x1d46cc,'request\x20sent');logger['debug']('Setting,\x20%s,\x20%s,\x20%s',_0x1d46cc,_0x7342('0x19'),JSON[_0x7342('0x1a')](_0x386291));if(_0x386291[_0x7342('0x1b')]){if(_0x386291['error']['code']===0x1f4){logger[_0x7342('0x1b')]('Setting,\x20%s,\x20%s',_0x1d46cc,_0x386291[_0x7342('0x1b')]['message']);return _0x13c5db(_0x386291[_0x7342('0x1b')][_0x7342('0x1c')]);}logger[_0x7342('0x1b')]('Setting,\x20%s,\x20%s',_0x1d46cc,_0x386291[_0x7342('0x1b')][_0x7342('0x1c')]);return _0x541a73(_0x386291[_0x7342('0x1b')]['message']);}else{logger[_0x7342('0x1d')](_0x7342('0x18'),_0x1d46cc,_0x7342('0x19'));_0x541a73(_0x386291[_0x7342('0x1e')][_0x7342('0x1c')]);}})[_0x7342('0x1f')](function(_0x45ce12){logger[_0x7342('0x1b')](_0x7342('0x18'),_0x1d46cc,_0x45ce12);_0x13c5db(_0x45ce12);});});}function respondWithStatusCode(_0x1b8b90,_0x16825e){_0x16825e=_0x16825e||0xcc;return function(_0x35f311){if(_0x35f311){return _0x1b8b90[_0x7342('0x20')](_0x16825e);}return _0x1b8b90['status'](_0x16825e)['end']();};}function respondWithResult(_0x552857,_0xaf2c48){_0xaf2c48=_0xaf2c48||0xc8;return function(_0x3e8696){if(_0x3e8696){return _0x552857[_0x7342('0x21')](_0xaf2c48)[_0x7342('0x22')](_0x3e8696);}};}function respondWithFilteredResult(_0x1b0d3c,_0xabb711){return function(_0x564d16){if(_0x564d16){var _0x2795f6=_0x564d16[_0x7342('0x23')],_0x8ffe75=_0xabb711[_0x7342('0x24')],_0x395683=_0xabb711[_0x7342('0x24')]+_0xabb711[_0x7342('0x25')],_0x122e5c;if(_0x395683>=_0x2795f6){_0x395683=_0x2795f6;_0x122e5c=0xc8;}else{_0x122e5c=0xce;}_0x1b0d3c[_0x7342('0x21')](_0x122e5c);return _0x1b0d3c['set']('Content-Range',_0x8ffe75+'-'+_0x395683+'/'+_0x2795f6)[_0x7342('0x22')](_0x564d16);}return null;};}function patchUpdates(_0xc26a8c){return function(_0x4e73d5){try{jsonpatch[_0x7342('0x26')](_0x4e73d5,_0xc26a8c,!![]);}catch(_0x2f223f){return BPromise['reject'](_0x2f223f);}return _0x4e73d5[_0x7342('0x27')]();};}function saveUpdates(_0x4cdce8,_0xcd8b2c){return function(_0x3af6b2){if(_0x3af6b2){return _0x3af6b2[_0x7342('0x28')](_0x4cdce8)[_0x7342('0x29')](function(_0x1e27b5){return _0x1e27b5;});}return null;};}function removeEntity(_0x524dfb,_0x48a4af){return function(_0x4cca57){if(_0x4cca57){return _0x4cca57[_0x7342('0x2a')]()[_0x7342('0x29')](function(){_0x524dfb[_0x7342('0x21')](0xcc)[_0x7342('0x2b')]();});}};}function handleEntityNotFound(_0xcf7a4,_0x3aee35){return function(_0x13d698){if(!_0x13d698){_0xcf7a4[_0x7342('0x20')](0x194);}return _0x13d698;};}function handleError(_0xeac345,_0x141ef7){_0x141ef7=_0x141ef7||0x1f4;return function(_0x3db578){logger[_0x7342('0x1b')](_0x3db578[_0x7342('0x2c')]);if(_0x3db578['name']){delete _0x3db578[_0x7342('0x2d')];}_0xeac345[_0x7342('0x21')](_0x141ef7)[_0x7342('0x2e')](_0x3db578);};}exports[_0x7342('0x2f')]=function(_0x2c69d2,_0x276afb){var _0x5133fd={},_0x5274ab={},_0x3f6525={'count':0x0,'rows':[]};var _0x376b20=_[_0x7342('0x30')](db[_0x7342('0x31')][_0x7342('0x32')],function(_0x3d9372){return{'name':_0x3d9372['fieldName'],'type':_0x3d9372['type'][_0x7342('0x33')]};});_0x5274ab[_0x7342('0x34')]=_[_0x7342('0x30')](_0x376b20,_0x7342('0x2d'));_0x5274ab[_0x7342('0x35')]=_[_0x7342('0x36')](_0x2c69d2[_0x7342('0x35')]);_0x5274ab[_0x7342('0x37')]=_[_0x7342('0x38')](_0x5274ab[_0x7342('0x34')],_0x5274ab[_0x7342('0x35')]);_0x5133fd['attributes']=_[_0x7342('0x38')](_0x5274ab['model'],qs[_0x7342('0x39')](_0x2c69d2['query'][_0x7342('0x39')]));_0x5133fd[_0x7342('0x3a')]=_0x5133fd[_0x7342('0x3a')][_0x7342('0x3b')]?_0x5133fd[_0x7342('0x3a')]:_0x5274ab[_0x7342('0x34')];if(!_0x2c69d2['query'][_0x7342('0x3c')](_0x7342('0x3d'))){_0x5133fd['limit']=qs[_0x7342('0x25')](_0x2c69d2[_0x7342('0x35')][_0x7342('0x25')]);_0x5133fd[_0x7342('0x24')]=qs['offset'](_0x2c69d2[_0x7342('0x35')][_0x7342('0x24')]);}_0x5133fd[_0x7342('0x3e')]=qs['sort'](_0x2c69d2[_0x7342('0x35')][_0x7342('0x3f')]);_0x5133fd[_0x7342('0x40')]=qs[_0x7342('0x37')](_[_0x7342('0x41')](_0x2c69d2['query'],_0x5274ab[_0x7342('0x37')]),_0x376b20);if(_0x2c69d2[_0x7342('0x35')][_0x7342('0x42')]){_0x5133fd[_0x7342('0x40')]=_[_0x7342('0x43')](_0x5133fd[_0x7342('0x40')],{'$or':_['map'](_0x376b20,function(_0x59066b){if(_0x59066b['type']!=='VIRTUAL'){var _0x1d112d={};_0x1d112d[_0x59066b[_0x7342('0x2d')]]={'$like':'%'+_0x2c69d2[_0x7342('0x35')][_0x7342('0x42')]+'%'};return _0x1d112d;}})});}_0x5133fd=_[_0x7342('0x43')]({},_0x5133fd,_0x2c69d2[_0x7342('0x44')]);var _0x40d08f={'where':_0x5133fd['where']};return db[_0x7342('0x31')]['count'](_0x40d08f)[_0x7342('0x29')](function(_0x4d1880){_0x3f6525[_0x7342('0x23')]=_0x4d1880;if(_0x2c69d2['query'][_0x7342('0x45')]){_0x5133fd[_0x7342('0x46')]=[{'all':!![]}];}return db[_0x7342('0x31')]['findAll'](_0x5133fd);})[_0x7342('0x29')](function(_0x59c2a8){_0x3f6525[_0x7342('0x47')]=_0x59c2a8;return _0x3f6525;})[_0x7342('0x29')](respondWithFilteredResult(_0x276afb,_0x5133fd))['catch'](handleError(_0x276afb,null));};exports[_0x7342('0x48')]=function(_0x3aa666,_0x52e8b5){var _0x10fc9e={'raw':![],'where':{'id':_0x3aa666['params']['id']}},_0x59da08={};_0x59da08[_0x7342('0x34')]=_[_0x7342('0x36')](db['Setting'][_0x7342('0x32')]);_0x59da08[_0x7342('0x35')]=_[_0x7342('0x36')](_0x3aa666[_0x7342('0x35')]);_0x59da08[_0x7342('0x37')]=_['intersection'](_0x59da08[_0x7342('0x34')],_0x59da08[_0x7342('0x35')]);_0x10fc9e[_0x7342('0x3a')]=_[_0x7342('0x38')](_0x59da08[_0x7342('0x34')],qs[_0x7342('0x39')](_0x3aa666[_0x7342('0x35')][_0x7342('0x39')]));_0x10fc9e[_0x7342('0x3a')]=_0x10fc9e[_0x7342('0x3a')][_0x7342('0x3b')]?_0x10fc9e[_0x7342('0x3a')]:_0x59da08[_0x7342('0x34')];if(_0x3aa666[_0x7342('0x35')]['includeAll']){_0x10fc9e['include']=[{'all':!![]}];}_0x10fc9e=_[_0x7342('0x43')]({},_0x10fc9e,_0x3aa666[_0x7342('0x44')]);return db['Setting'][_0x7342('0x49')](_0x10fc9e)[_0x7342('0x29')](handleEntityNotFound(_0x52e8b5,null))[_0x7342('0x29')](respondWithResult(_0x52e8b5,null))[_0x7342('0x1f')](handleError(_0x52e8b5,null));};exports[_0x7342('0x28')]=function(_0x17b409,_0x593573){if(_0x17b409[_0x7342('0x4a')]['id']){delete _0x17b409['body']['id'];}return db[_0x7342('0x31')][_0x7342('0x49')]({'where':{'id':_0x17b409['params']['id']}})['then'](handleEntityNotFound(_0x593573,null))[_0x7342('0x29')](saveUpdates(_0x17b409[_0x7342('0x4a')],null))[_0x7342('0x29')](respondWithResult(_0x593573,null))['catch'](handleError(_0x593573,null));};exports[_0x7342('0x4b')]=function(_0x34a1aa,_0x4fb45d,_0x31b298){if(_0x34a1aa[_0x7342('0x4c')]&&_0x34a1aa['file']['filename']){_0x34a1aa['body']['logo']=_0x34a1aa[_0x7342('0x4c')]['filename'];}return db['Setting'][_0x7342('0x49')]({'where':{'id':_0x34a1aa[_0x7342('0x4d')]['id']}})['then'](handleEntityNotFound(_0x4fb45d,null))['then'](saveUpdates(_0x34a1aa['body'],null))[_0x7342('0x29')](respondWithResult(_0x4fb45d,null))['catch'](handleError(_0x4fb45d,null));};exports['addLogoLogin']=function(_0x48c41f,_0x38fda3,_0x2209ec){if(_0x48c41f['file']&&_0x48c41f[_0x7342('0x4c')][_0x7342('0x4e')]){_0x48c41f['body'][_0x7342('0x4f')]=_0x48c41f[_0x7342('0x4c')]['filename'];}return db[_0x7342('0x31')][_0x7342('0x49')]({'where':{'id':_0x48c41f[_0x7342('0x4d')]['id']}})[_0x7342('0x29')](handleEntityNotFound(_0x38fda3,null))[_0x7342('0x29')](saveUpdates(_0x48c41f[_0x7342('0x4a')],null))['then'](respondWithResult(_0x38fda3,null))[_0x7342('0x1f')](handleError(_0x38fda3,null));};var utilLicense=require(_0x7342('0x50'));exports[_0x7342('0x51')]=function(_0x33bbed,_0x5861a9,_0x461946){var _0x2d207a=_0x7342('0x52');var _0xeca44a={'custom':![]};return utilLicense[_0x7342('0x53')]()[_0x7342('0x29')](function(_0x561959){if(_0x561959){_0xeca44a=_0x561959;}return db[_0x7342('0x31')][_0x7342('0x49')]({'where':{'id':_0x33bbed[_0x7342('0x4d')]['id']},'attributes':['logo',_0x7342('0x4f'),_0x7342('0x54'),_0x7342('0x55'),_0x7342('0x56'),_0x7342('0x57'),_0x7342('0x58'),_0x7342('0x59')],'raw':!![]});})[_0x7342('0x29')](handleEntityNotFound(_0x5861a9,null))[_0x7342('0x29')](function(_0x3bd2b8){if(_0x3bd2b8){var _0xf0d521=_0x3bd2b8['logo']&&fs[_0x7342('0x5a')](path['join'](config['root'],_0x2d207a,_['toLower'](_0x3bd2b8[_0x7342('0x5b')])))?path[_0x7342('0x5c')](config[_0x7342('0x5d')],_0x2d207a,_['toLower'](_0x3bd2b8['logo'])):path[_0x7342('0x5c')](config[_0x7342('0x5d')],_0x2d207a,_[_0x7342('0x5e')](_0x7342('0x5f')));var _0x13663d=_0x7342('0x60')+_[_0x7342('0x61')](_0x7342('0x5b'));if(_0x3bd2b8[_0x13663d]||!_0xeca44a[_0x7342('0x62')]){_0xf0d521=path['join'](config[_0x7342('0x5d')],_0x2d207a,_[_0x7342('0x5e')](_0x7342('0x5f')));}if(!fs[_0x7342('0x5a')](_0xf0d521)){throw new db[(_0x7342('0x63'))][(_0x7342('0x64'))](_[_0x7342('0x61')](_0x7342('0x5b'))+_0x7342('0x65'));}return _0x5861a9[_0x7342('0x66')](_0xf0d521);}})[_0x7342('0x1f')](handleError(_0x5861a9,null));};var utilLicense=require(_0x7342('0x50'));exports[_0x7342('0x67')]=function(_0x4e5712,_0x382d01,_0x40484b){var _0x2dd442=_0x7342('0x52');var _0x162eaa={'custom':![]};return utilLicense[_0x7342('0x53')]()['then'](function(_0x989752){if(_0x989752){_0x162eaa=_0x989752;}return db[_0x7342('0x31')][_0x7342('0x49')]({'where':{'id':_0x4e5712[_0x7342('0x4d')]['id']},'attributes':['logo',_0x7342('0x4f'),'preferred',_0x7342('0x55'),_0x7342('0x56'),_0x7342('0x57'),'defaultPreferred',_0x7342('0x59')],'raw':!![]});})[_0x7342('0x29')](handleEntityNotFound(_0x382d01,null))['then'](function(_0x4418ec){if(_0x4418ec){var _0x1593b3=_0x4418ec['loginLogo']&&fs[_0x7342('0x5a')](path[_0x7342('0x5c')](config['root'],_0x2dd442,_[_0x7342('0x5e')](_0x4418ec[_0x7342('0x4f')])))?path['join'](config[_0x7342('0x5d')],_0x2dd442,_[_0x7342('0x5e')](_0x4418ec[_0x7342('0x4f')])):path[_0x7342('0x5c')](config['root'],_0x2dd442,_[_0x7342('0x5e')](_0x7342('0x68')));var _0x2a355e='default'+_[_0x7342('0x61')](_0x7342('0x4f'));if(_0x4418ec[_0x2a355e]||!_0x162eaa[_0x7342('0x62')]){_0x1593b3=path[_0x7342('0x5c')](config[_0x7342('0x5d')],_0x2dd442,_['toLower']('default_loginLogo.svg'));}if(!fs['existsSync'](_0x1593b3)){throw new db[(_0x7342('0x63'))]['ValidationError'](_[_0x7342('0x61')](_0x7342('0x4f'))+_0x7342('0x65'));}return _0x382d01[_0x7342('0x66')](_0x1593b3);}})['catch'](handleError(_0x382d01,null));};exports[_0x7342('0x69')]=function(_0x271d99,_0x305a6b){return db[_0x7342('0x31')][_0x7342('0x49')]({'where':{'id':_0x271d99[_0x7342('0x4d')]['id']},'attributes':['securePassword']})[_0x7342('0x29')](respondWithResult(_0x305a6b,null))[_0x7342('0x1f')](handleError(_0x305a6b,null));};exports[_0x7342('0x6a')]=function(_0x287576,_0x2b3c44,_0x44c5a4){if(_0x287576['file']&&_0x287576[_0x7342('0x4c')][_0x7342('0x4e')]){_0x287576[_0x7342('0x4a')][_0x7342('0x54')]=_0x287576[_0x7342('0x4c')][_0x7342('0x4e')];}return db['Setting'][_0x7342('0x49')]({'where':{'id':_0x287576[_0x7342('0x4d')]['id']}})[_0x7342('0x29')](handleEntityNotFound(_0x2b3c44,null))[_0x7342('0x29')](saveUpdates(_0x287576[_0x7342('0x4a')],null))[_0x7342('0x29')](respondWithResult(_0x2b3c44,null))[_0x7342('0x1f')](handleError(_0x2b3c44,null));};var utilLicense=require('../../config/license/util');exports['getPreferred']=function(_0x12174a,_0x12044f,_0x2b7017){var _0x6482df='server/files/images/logos';var _0x44c1a7={'custom':![]};return utilLicense[_0x7342('0x53')]()['then'](function(_0x51df85){if(_0x51df85){_0x44c1a7=_0x51df85;}return db['Setting'][_0x7342('0x49')]({'where':{'id':_0x12174a[_0x7342('0x4d')]['id']},'attributes':[_0x7342('0x5b'),_0x7342('0x4f'),'preferred','favicon','defaultLogo',_0x7342('0x57'),_0x7342('0x58'),_0x7342('0x59')],'raw':!![]});})[_0x7342('0x29')](handleEntityNotFound(_0x12044f,null))[_0x7342('0x29')](function(_0xe30de6){if(_0xe30de6){var _0x3adbb2=_0xe30de6[_0x7342('0x54')]&&fs[_0x7342('0x5a')](path[_0x7342('0x5c')](config[_0x7342('0x5d')],_0x6482df,_[_0x7342('0x5e')](_0xe30de6[_0x7342('0x54')])))?path[_0x7342('0x5c')](config['root'],_0x6482df,_['toLower'](_0xe30de6[_0x7342('0x54')])):path[_0x7342('0x5c')](config[_0x7342('0x5d')],_0x6482df,_[_0x7342('0x5e')](_0x7342('0x6b')));var _0x3e6a1c='default'+_[_0x7342('0x61')](_0x7342('0x54'));if(_0xe30de6[_0x3e6a1c]||!_0x44c1a7['custom']||!_0x44c1a7[_0x7342('0x54')]){_0x3adbb2=path[_0x7342('0x5c')](config['root'],_0x6482df,_['toLower']('default_preferred.png'));}if(!fs[_0x7342('0x5a')](_0x3adbb2)){throw new db[(_0x7342('0x63'))][(_0x7342('0x64'))](_['upperFirst'](_0x7342('0x54'))+_0x7342('0x65'));}return _0x12044f[_0x7342('0x66')](_0x3adbb2);}})[_0x7342('0x1f')](handleError(_0x12044f,null));};exports[_0x7342('0x6c')]=function(_0x1be65e,_0x3b423e,_0x3b75e6){if(_0x1be65e['file']&&_0x1be65e[_0x7342('0x4c')]['filename']){_0x1be65e[_0x7342('0x4a')]['favicon']=_0x1be65e[_0x7342('0x4c')][_0x7342('0x4e')];}return db[_0x7342('0x31')]['find']({'where':{'id':_0x1be65e[_0x7342('0x4d')]['id']}})[_0x7342('0x29')](handleEntityNotFound(_0x3b423e,null))[_0x7342('0x29')](saveUpdates(_0x1be65e[_0x7342('0x4a')],null))[_0x7342('0x29')](respondWithResult(_0x3b423e,null))['catch'](handleError(_0x3b423e,null));};var utilLicense=require(_0x7342('0x50'));exports[_0x7342('0x6d')]=function(_0x498ad7,_0x40c553,_0x844cd){var _0x1c559e=_0x7342('0x52');var _0x478981={'custom':![]};return utilLicense['getLicense']()[_0x7342('0x29')](function(_0x121727){if(_0x121727){_0x478981=_0x121727;}return db[_0x7342('0x31')][_0x7342('0x49')]({'where':{'id':_0x498ad7[_0x7342('0x4d')]['id']},'attributes':['logo','loginLogo',_0x7342('0x54'),_0x7342('0x55'),_0x7342('0x56'),'defaultLoginLogo',_0x7342('0x58'),_0x7342('0x59')],'raw':!![]});})[_0x7342('0x29')](handleEntityNotFound(_0x40c553,null))[_0x7342('0x29')](function(_0x1272ac){if(_0x1272ac){var _0x5113b0=_0x1272ac[_0x7342('0x55')]&&fs[_0x7342('0x5a')](path[_0x7342('0x5c')](config[_0x7342('0x5d')],_0x1c559e,_['toLower'](_0x1272ac[_0x7342('0x55')])))?path['join'](config[_0x7342('0x5d')],_0x1c559e,_[_0x7342('0x5e')](_0x1272ac[_0x7342('0x55')])):path[_0x7342('0x5c')](config[_0x7342('0x5d')],_0x1c559e,_[_0x7342('0x5e')](_0x7342('0x6e')));var _0x15e163=_0x7342('0x60')+_[_0x7342('0x61')]('favicon');if(_0x1272ac[_0x15e163]||!_0x478981['custom']){_0x5113b0=path[_0x7342('0x5c')](config['root'],_0x1c559e,_['toLower']('default_favicon.ico'));}if(!fs[_0x7342('0x5a')](_0x5113b0)){throw new db[(_0x7342('0x63'))][(_0x7342('0x64'))](_['upperFirst'](_0x7342('0x55'))+_0x7342('0x65'));}return _0x40c553['download'](_0x5113b0);}})[_0x7342('0x1f')](handleError(_0x40c553,null));};exports[_0x7342('0x6f')]=function(_0x45a08c,_0x1c7ce7){var _0x210fc8={'offset':moment()[_0x7342('0x70')]()};_0x210fc8['now']=moment()[_0x7342('0x70')](_0x210fc8['offset'])[_0x7342('0x71')](_0x7342('0x72'));return _0x1c7ce7[_0x7342('0x21')](0xc8)[_0x7342('0x2e')](_0x210fc8);};