Built motion from commit ab870f9e.|2.5.44
[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 _0xd13e=['logo','loginLogo','preferred','favicon','defaultLogo','defaultLoginLogo','defaultFavicon','join','root','toLower','default_logo.svg','default','upperFirst','existsSync','Sequelize','ValidationError','\x20not\x20found','download','getLogoLogin','defaultPreferred','default_loginLogo.svg','custom','securePassword','addPreferred','getPreferred','default_preferred.png','getFavicon','default_favicon.ico','getDate','now','utcOffset','eml-format','rimraf','zip-dir','fast-json-patch','moment','mustache','path','sox','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','jayson/promise','client','http','request','info','Setting,\x20%s,\x20%s','request\x20sent','debug','Setting,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','sendStatus','status','end','json','limit','undefined','count','offset','Content-Range','apply','reject','save','update','then','stack','name','send','index','rawAttributes','key','model','map','query','filters','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','filter','merge','type','VIRTUAL','options','includeAll','include','Setting','rows','show','params','keys','intersection','body','addLogo','file','find','addLogoLogin','filename','server/files/images/logos','getLicense'];(function(_0xd336fa,_0x39d1b2){var _0x3370b1=function(_0x41c5cc){while(--_0x41c5cc){_0xd336fa['push'](_0xd336fa['shift']());}};_0x3370b1(++_0x39d1b2);}(_0xd13e,0x193));var _0xed13=function(_0x126530,_0x306f94){_0x126530=_0x126530-0x0;var _0x5a1168=_0xd13e[_0x126530];return _0x5a1168;};'use strict';var emlformat=require(_0xed13('0x0'));var rimraf=require(_0xed13('0x1'));var zipdir=require(_0xed13('0x2'));var jsonpatch=require(_0xed13('0x3'));var rp=require('request-promise');var moment=require(_0xed13('0x4'));var BPromise=require('bluebird');var Mustache=require(_0xed13('0x5'));var util=require('util');var path=require(_0xed13('0x6'));var sox=require(_0xed13('0x7'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xed13('0x8'));var squel=require(_0xed13('0x9'));var crypto=require(_0xed13('0xa'));var jsforce=require(_0xed13('0xb'));var deskjs=require(_0xed13('0xc'));var toCsv=require(_0xed13('0xd'));var querystring=require(_0xed13('0xe'));var Papa=require(_0xed13('0xf'));var Redis=require(_0xed13('0x10'));var authService=require('../../components/auth/service');var qs=require(_0xed13('0x11'));var as=require(_0xed13('0x12'));var hardwareService=require(_0xed13('0x13'));var logger=require(_0xed13('0x14'))(_0xed13('0x15'));var utils=require('../../config/utils');var config=require(_0xed13('0x16'));var licenseUtil=require(_0xed13('0x17'));var db=require(_0xed13('0x18'))['db'];var jayson=require(_0xed13('0x19'));var client=jayson[_0xed13('0x1a')][_0xed13('0x1b')]({'port':0x232a});function respondWithRpcPromise(_0x5b950a,_0xdee482,_0x4a3ff4,_0x257074){return new BPromise(function(_0x56fdc6,_0x6e2978){var _0x56108d=_0x257074||client;return _0x56108d[_0xed13('0x1c')](_0x5b950a,_0x4a3ff4)['then'](function(_0x38901a){logger[_0xed13('0x1d')](_0xed13('0x1e'),_0xdee482,_0xed13('0x1f'));logger[_0xed13('0x20')](_0xed13('0x21'),_0xdee482,_0xed13('0x1f'),JSON[_0xed13('0x22')](_0x38901a));if(_0x38901a[_0xed13('0x23')]){if(_0x38901a[_0xed13('0x23')][_0xed13('0x24')]===0x1f4){logger[_0xed13('0x23')](_0xed13('0x1e'),_0xdee482,_0x38901a[_0xed13('0x23')][_0xed13('0x25')]);return _0x6e2978(_0x38901a[_0xed13('0x23')]['message']);}logger['error'](_0xed13('0x1e'),_0xdee482,_0x38901a[_0xed13('0x23')]['message']);return _0x56fdc6(_0x38901a[_0xed13('0x23')]['message']);}else{logger['info'](_0xed13('0x1e'),_0xdee482,_0xed13('0x1f'));_0x56fdc6(_0x38901a[_0xed13('0x26')][_0xed13('0x25')]);}})[_0xed13('0x27')](function(_0x2fc1e4){logger['error']('Setting,\x20%s,\x20%s',_0xdee482,_0x2fc1e4);_0x6e2978(_0x2fc1e4);});});}function respondWithStatusCode(_0x5d7ae1,_0x19d51b){_0x19d51b=_0x19d51b||0xcc;return function(_0x3b1f23){if(_0x3b1f23){return _0x5d7ae1[_0xed13('0x28')](_0x19d51b);}return _0x5d7ae1[_0xed13('0x29')](_0x19d51b)[_0xed13('0x2a')]();};}function respondWithResult(_0x28f8b8,_0x1f0405){_0x1f0405=_0x1f0405||0xc8;return function(_0x276c57){if(_0x276c57){return _0x28f8b8[_0xed13('0x29')](_0x1f0405)[_0xed13('0x2b')](_0x276c57);}};}function respondWithFilteredResult(_0x1f064c,_0x3bc666){return function(_0x2c6c33){if(_0x2c6c33){var _0x322fc3=typeof _0x3bc666['offset']==='undefined'&&typeof _0x3bc666[_0xed13('0x2c')]===_0xed13('0x2d');var _0x55a1f2=_0x2c6c33[_0xed13('0x2e')];var _0x40444a=_0x322fc3?0x0:_0x3bc666['offset'];var _0x7ce996=_0x322fc3?_0x2c6c33[_0xed13('0x2e')]:_0x3bc666[_0xed13('0x2f')]+_0x3bc666['limit'];var _0x3a5387;if(_0x7ce996>=_0x55a1f2){_0x7ce996=_0x55a1f2;_0x3a5387=0xc8;}else{_0x3a5387=0xce;}_0x1f064c[_0xed13('0x29')](_0x3a5387);return _0x1f064c['set'](_0xed13('0x30'),_0x40444a+'-'+_0x7ce996+'/'+_0x55a1f2)[_0xed13('0x2b')](_0x2c6c33);}return null;};}function patchUpdates(_0x56619a){return function(_0x11cb93){try{jsonpatch[_0xed13('0x31')](_0x11cb93,_0x56619a,!![]);}catch(_0x2bcc8b){return BPromise[_0xed13('0x32')](_0x2bcc8b);}return _0x11cb93[_0xed13('0x33')]();};}function saveUpdates(_0x40660d,_0xe332){return function(_0x5b3828){if(_0x5b3828){return _0x5b3828[_0xed13('0x34')](_0x40660d)['then'](function(_0x590a4a){return _0x590a4a;});}return null;};}function removeEntity(_0x3ac2f7,_0x378fd3){return function(_0x13e3bb){if(_0x13e3bb){return _0x13e3bb['destroy']()[_0xed13('0x35')](function(){_0x3ac2f7[_0xed13('0x29')](0xcc)[_0xed13('0x2a')]();});}};}function handleEntityNotFound(_0x5bf415,_0x2f5abf){return function(_0x1c6070){if(!_0x1c6070){_0x5bf415[_0xed13('0x28')](0x194);}return _0x1c6070;};}function handleError(_0x46570b,_0x5b8fee){_0x5b8fee=_0x5b8fee||0x1f4;return function(_0x1b7001){logger[_0xed13('0x23')](_0x1b7001[_0xed13('0x36')]);if(_0x1b7001[_0xed13('0x37')]){delete _0x1b7001[_0xed13('0x37')];}_0x46570b[_0xed13('0x29')](_0x5b8fee)[_0xed13('0x38')](_0x1b7001);};}exports[_0xed13('0x39')]=function(_0x2c9ce3,_0x358b32){var _0x5a09e4={},_0x2342a5={},_0x31f6e5={'count':0x0,'rows':[]};var _0x59384b=_['map'](db['Setting'][_0xed13('0x3a')],function(_0x199074){return{'name':_0x199074['fieldName'],'type':_0x199074['type'][_0xed13('0x3b')]};});_0x2342a5[_0xed13('0x3c')]=_[_0xed13('0x3d')](_0x59384b,_0xed13('0x37'));_0x2342a5[_0xed13('0x3e')]=_['keys'](_0x2c9ce3['query']);_0x2342a5[_0xed13('0x3f')]=_['intersection'](_0x2342a5[_0xed13('0x3c')],_0x2342a5['query']);_0x5a09e4[_0xed13('0x40')]=_['intersection'](_0x2342a5['model'],qs['fields'](_0x2c9ce3[_0xed13('0x3e')][_0xed13('0x41')]));_0x5a09e4[_0xed13('0x40')]=_0x5a09e4[_0xed13('0x40')][_0xed13('0x42')]?_0x5a09e4['attributes']:_0x2342a5[_0xed13('0x3c')];if(!_0x2c9ce3[_0xed13('0x3e')][_0xed13('0x43')](_0xed13('0x44'))){_0x5a09e4[_0xed13('0x2c')]=qs['limit'](_0x2c9ce3[_0xed13('0x3e')][_0xed13('0x2c')]);_0x5a09e4[_0xed13('0x2f')]=qs[_0xed13('0x2f')](_0x2c9ce3[_0xed13('0x3e')][_0xed13('0x2f')]);}_0x5a09e4['order']=qs[_0xed13('0x45')](_0x2c9ce3[_0xed13('0x3e')][_0xed13('0x45')]);_0x5a09e4[_0xed13('0x46')]=qs[_0xed13('0x3f')](_[_0xed13('0x47')](_0x2c9ce3[_0xed13('0x3e')],_0x2342a5[_0xed13('0x3f')]),_0x59384b);if(_0x2c9ce3[_0xed13('0x3e')][_0xed13('0x48')]){_0x5a09e4[_0xed13('0x46')]=_[_0xed13('0x49')](_0x5a09e4[_0xed13('0x46')],{'$or':_[_0xed13('0x3d')](_0x59384b,function(_0x5f37d6){if(_0x5f37d6[_0xed13('0x4a')]!==_0xed13('0x4b')){var _0x51e5ba={};_0x51e5ba[_0x5f37d6[_0xed13('0x37')]]={'$like':'%'+_0x2c9ce3[_0xed13('0x3e')][_0xed13('0x48')]+'%'};return _0x51e5ba;}})});}_0x5a09e4=_['merge']({},_0x5a09e4,_0x2c9ce3[_0xed13('0x4c')]);var _0x2afab0={'where':_0x5a09e4[_0xed13('0x46')]};return db['Setting']['count'](_0x2afab0)[_0xed13('0x35')](function(_0x4574ab){_0x31f6e5['count']=_0x4574ab;if(_0x2c9ce3[_0xed13('0x3e')][_0xed13('0x4d')]){_0x5a09e4[_0xed13('0x4e')]=[{'all':!![]}];}return db[_0xed13('0x4f')]['findAll'](_0x5a09e4);})[_0xed13('0x35')](function(_0xf4ea89){_0x31f6e5[_0xed13('0x50')]=_0xf4ea89;return _0x31f6e5;})[_0xed13('0x35')](respondWithFilteredResult(_0x358b32,_0x5a09e4))['catch'](handleError(_0x358b32,null));};exports[_0xed13('0x51')]=function(_0x5a77db,_0x46dcef){var _0x50d12f={'raw':![],'where':{'id':_0x5a77db[_0xed13('0x52')]['id']}},_0x5a0828={};_0x5a0828[_0xed13('0x3c')]=_['keys'](db[_0xed13('0x4f')][_0xed13('0x3a')]);_0x5a0828[_0xed13('0x3e')]=_[_0xed13('0x53')](_0x5a77db['query']);_0x5a0828[_0xed13('0x3f')]=_['intersection'](_0x5a0828[_0xed13('0x3c')],_0x5a0828[_0xed13('0x3e')]);_0x50d12f[_0xed13('0x40')]=_[_0xed13('0x54')](_0x5a0828[_0xed13('0x3c')],qs[_0xed13('0x41')](_0x5a77db[_0xed13('0x3e')][_0xed13('0x41')]));_0x50d12f['attributes']=_0x50d12f[_0xed13('0x40')][_0xed13('0x42')]?_0x50d12f[_0xed13('0x40')]:_0x5a0828[_0xed13('0x3c')];if(_0x5a77db['query'][_0xed13('0x4d')]){_0x50d12f['include']=[{'all':!![]}];}_0x50d12f=_[_0xed13('0x49')]({},_0x50d12f,_0x5a77db['options']);return db['Setting']['find'](_0x50d12f)[_0xed13('0x35')](handleEntityNotFound(_0x46dcef,null))[_0xed13('0x35')](respondWithResult(_0x46dcef,null))[_0xed13('0x27')](handleError(_0x46dcef,null));};exports['update']=function(_0x9e371,_0x3b72b4){if(_0x9e371[_0xed13('0x55')]['id']){delete _0x9e371[_0xed13('0x55')]['id'];}return db[_0xed13('0x4f')]['find']({'where':{'id':_0x9e371[_0xed13('0x52')]['id']}})[_0xed13('0x35')](handleEntityNotFound(_0x3b72b4,null))[_0xed13('0x35')](saveUpdates(_0x9e371[_0xed13('0x55')],null))['then'](respondWithResult(_0x3b72b4,null))[_0xed13('0x27')](handleError(_0x3b72b4,null));};exports[_0xed13('0x56')]=function(_0x326b10,_0x24a00d,_0x170752){if(_0x326b10[_0xed13('0x57')]&&_0x326b10[_0xed13('0x57')]['filename']){_0x326b10[_0xed13('0x55')]['logo']=_0x326b10[_0xed13('0x57')]['filename'];}return db[_0xed13('0x4f')][_0xed13('0x58')]({'where':{'id':_0x326b10[_0xed13('0x52')]['id']}})[_0xed13('0x35')](handleEntityNotFound(_0x24a00d,null))[_0xed13('0x35')](saveUpdates(_0x326b10['body'],null))['then'](respondWithResult(_0x24a00d,null))[_0xed13('0x27')](handleError(_0x24a00d,null));};exports[_0xed13('0x59')]=function(_0xe2ae5d,_0x1d6de4,_0x3c9a51){if(_0xe2ae5d[_0xed13('0x57')]&&_0xe2ae5d[_0xed13('0x57')][_0xed13('0x5a')]){_0xe2ae5d[_0xed13('0x55')]['loginLogo']=_0xe2ae5d['file']['filename'];}return db[_0xed13('0x4f')][_0xed13('0x58')]({'where':{'id':_0xe2ae5d[_0xed13('0x52')]['id']}})['then'](handleEntityNotFound(_0x1d6de4,null))['then'](saveUpdates(_0xe2ae5d[_0xed13('0x55')],null))[_0xed13('0x35')](respondWithResult(_0x1d6de4,null))[_0xed13('0x27')](handleError(_0x1d6de4,null));};var utilLicense=require('../../config/license/util');exports['getLogo']=function(_0x4ffe1f,_0x5289bc,_0x1c3d01){var _0x375e5a=_0xed13('0x5b');var _0x578772={'custom':![]};return utilLicense[_0xed13('0x5c')]()[_0xed13('0x35')](function(_0x50644e){if(_0x50644e){_0x578772=_0x50644e;}return db[_0xed13('0x4f')][_0xed13('0x58')]({'where':{'id':_0x4ffe1f[_0xed13('0x52')]['id']},'attributes':[_0xed13('0x5d'),_0xed13('0x5e'),_0xed13('0x5f'),_0xed13('0x60'),_0xed13('0x61'),_0xed13('0x62'),'defaultPreferred',_0xed13('0x63')],'raw':!![]});})[_0xed13('0x35')](handleEntityNotFound(_0x5289bc,null))[_0xed13('0x35')](function(_0xbe4de0){if(_0xbe4de0){var _0x57d0fa=_0xbe4de0['logo']&&fs['existsSync'](path[_0xed13('0x64')](config[_0xed13('0x65')],_0x375e5a,_[_0xed13('0x66')](_0xbe4de0[_0xed13('0x5d')])))?path[_0xed13('0x64')](config[_0xed13('0x65')],_0x375e5a,_[_0xed13('0x66')](_0xbe4de0[_0xed13('0x5d')])):path[_0xed13('0x64')](config[_0xed13('0x65')],_0x375e5a,_[_0xed13('0x66')](_0xed13('0x67')));var _0x2a17eb=_0xed13('0x68')+_[_0xed13('0x69')](_0xed13('0x5d'));if(_0xbe4de0[_0x2a17eb]||!_0x578772['custom']){_0x57d0fa=path[_0xed13('0x64')](config[_0xed13('0x65')],_0x375e5a,_[_0xed13('0x66')](_0xed13('0x67')));}if(!fs[_0xed13('0x6a')](_0x57d0fa)){throw new db[(_0xed13('0x6b'))][(_0xed13('0x6c'))](_['upperFirst']('logo')+_0xed13('0x6d'));}return _0x5289bc[_0xed13('0x6e')](_0x57d0fa);}})[_0xed13('0x27')](handleError(_0x5289bc,null));};var utilLicense=require(_0xed13('0x17'));exports[_0xed13('0x6f')]=function(_0x54f348,_0x487329,_0x34f24b){var _0x2b1285=_0xed13('0x5b');var _0x3d80ec={'custom':![]};return utilLicense[_0xed13('0x5c')]()['then'](function(_0x1a51fb){if(_0x1a51fb){_0x3d80ec=_0x1a51fb;}return db[_0xed13('0x4f')][_0xed13('0x58')]({'where':{'id':_0x54f348[_0xed13('0x52')]['id']},'attributes':[_0xed13('0x5d'),_0xed13('0x5e'),_0xed13('0x5f'),_0xed13('0x60'),_0xed13('0x61'),_0xed13('0x62'),_0xed13('0x70'),_0xed13('0x63')],'raw':!![]});})[_0xed13('0x35')](handleEntityNotFound(_0x487329,null))[_0xed13('0x35')](function(_0x57c172){if(_0x57c172){var _0x134463=_0x57c172[_0xed13('0x5e')]&&fs[_0xed13('0x6a')](path[_0xed13('0x64')](config['root'],_0x2b1285,_['toLower'](_0x57c172[_0xed13('0x5e')])))?path['join'](config[_0xed13('0x65')],_0x2b1285,_[_0xed13('0x66')](_0x57c172['loginLogo'])):path['join'](config[_0xed13('0x65')],_0x2b1285,_[_0xed13('0x66')](_0xed13('0x71')));var _0x891e75=_0xed13('0x68')+_['upperFirst'](_0xed13('0x5e'));if(_0x57c172[_0x891e75]||!_0x3d80ec[_0xed13('0x72')]){_0x134463=path[_0xed13('0x64')](config[_0xed13('0x65')],_0x2b1285,_[_0xed13('0x66')]('default_loginLogo.svg'));}if(!fs[_0xed13('0x6a')](_0x134463)){throw new db[(_0xed13('0x6b'))][(_0xed13('0x6c'))](_['upperFirst'](_0xed13('0x5e'))+_0xed13('0x6d'));}return _0x487329['download'](_0x134463);}})[_0xed13('0x27')](handleError(_0x487329,null));};exports['gdpr']=function(_0x48b75d,_0x1ee7b0){return db[_0xed13('0x4f')]['find']({'where':{'id':_0x48b75d[_0xed13('0x52')]['id']},'attributes':[_0xed13('0x73')]})[_0xed13('0x35')](respondWithResult(_0x1ee7b0,null))[_0xed13('0x27')](handleError(_0x1ee7b0,null));};exports[_0xed13('0x74')]=function(_0x5d1313,_0x1a4e5,_0x1cd9dc){if(_0x5d1313[_0xed13('0x57')]&&_0x5d1313[_0xed13('0x57')]['filename']){_0x5d1313[_0xed13('0x55')][_0xed13('0x5f')]=_0x5d1313[_0xed13('0x57')][_0xed13('0x5a')];}return db[_0xed13('0x4f')][_0xed13('0x58')]({'where':{'id':_0x5d1313['params']['id']}})[_0xed13('0x35')](handleEntityNotFound(_0x1a4e5,null))[_0xed13('0x35')](saveUpdates(_0x5d1313['body'],null))['then'](respondWithResult(_0x1a4e5,null))[_0xed13('0x27')](handleError(_0x1a4e5,null));};var utilLicense=require(_0xed13('0x17'));exports[_0xed13('0x75')]=function(_0x4316ae,_0x16d33b,_0x4136df){var _0x2036de='server/files/images/logos';var _0x45f398={'custom':![]};return utilLicense['getLicense']()['then'](function(_0xbee984){if(_0xbee984){_0x45f398=_0xbee984;}return db[_0xed13('0x4f')][_0xed13('0x58')]({'where':{'id':_0x4316ae[_0xed13('0x52')]['id']},'attributes':[_0xed13('0x5d'),'loginLogo',_0xed13('0x5f'),'favicon','defaultLogo',_0xed13('0x62'),'defaultPreferred','defaultFavicon'],'raw':!![]});})[_0xed13('0x35')](handleEntityNotFound(_0x16d33b,null))[_0xed13('0x35')](function(_0x35b373){if(_0x35b373){var _0xd3597c=_0x35b373[_0xed13('0x5f')]&&fs[_0xed13('0x6a')](path[_0xed13('0x64')](config[_0xed13('0x65')],_0x2036de,_[_0xed13('0x66')](_0x35b373[_0xed13('0x5f')])))?path['join'](config['root'],_0x2036de,_['toLower'](_0x35b373[_0xed13('0x5f')])):path['join'](config['root'],_0x2036de,_[_0xed13('0x66')](_0xed13('0x76')));var _0x46201d=_0xed13('0x68')+_['upperFirst'](_0xed13('0x5f'));if(_0x35b373[_0x46201d]||!_0x45f398['custom']||!_0x45f398[_0xed13('0x5f')]){_0xd3597c=path['join'](config[_0xed13('0x65')],_0x2036de,_[_0xed13('0x66')]('default_preferred.png'));}if(!fs['existsSync'](_0xd3597c)){throw new db['Sequelize'][(_0xed13('0x6c'))](_[_0xed13('0x69')](_0xed13('0x5f'))+_0xed13('0x6d'));}return _0x16d33b['download'](_0xd3597c);}})['catch'](handleError(_0x16d33b,null));};exports['addFavicon']=function(_0x5d2535,_0x13cc9f,_0x27a6a7){if(_0x5d2535['file']&&_0x5d2535[_0xed13('0x57')][_0xed13('0x5a')]){_0x5d2535[_0xed13('0x55')]['favicon']=_0x5d2535['file'][_0xed13('0x5a')];}return db[_0xed13('0x4f')][_0xed13('0x58')]({'where':{'id':_0x5d2535[_0xed13('0x52')]['id']}})['then'](handleEntityNotFound(_0x13cc9f,null))['then'](saveUpdates(_0x5d2535['body'],null))[_0xed13('0x35')](respondWithResult(_0x13cc9f,null))[_0xed13('0x27')](handleError(_0x13cc9f,null));};var utilLicense=require(_0xed13('0x17'));exports[_0xed13('0x77')]=function(_0x29a256,_0x28d8cc,_0x3629a5){var _0x35e540='server/files/images/logos';var _0x3d5ccf={'custom':![]};return utilLicense[_0xed13('0x5c')]()[_0xed13('0x35')](function(_0x19baed){if(_0x19baed){_0x3d5ccf=_0x19baed;}return db['Setting'][_0xed13('0x58')]({'where':{'id':_0x29a256[_0xed13('0x52')]['id']},'attributes':['logo',_0xed13('0x5e'),_0xed13('0x5f'),_0xed13('0x60'),_0xed13('0x61'),_0xed13('0x62'),_0xed13('0x70'),_0xed13('0x63')],'raw':!![]});})[_0xed13('0x35')](handleEntityNotFound(_0x28d8cc,null))[_0xed13('0x35')](function(_0x1fb2c3){if(_0x1fb2c3){var _0x3d5d31=_0x1fb2c3['favicon']&&fs[_0xed13('0x6a')](path['join'](config[_0xed13('0x65')],_0x35e540,_[_0xed13('0x66')](_0x1fb2c3['favicon'])))?path[_0xed13('0x64')](config[_0xed13('0x65')],_0x35e540,_['toLower'](_0x1fb2c3[_0xed13('0x60')])):path[_0xed13('0x64')](config[_0xed13('0x65')],_0x35e540,_[_0xed13('0x66')](_0xed13('0x78')));var _0x4b03b6=_0xed13('0x68')+_[_0xed13('0x69')]('favicon');if(_0x1fb2c3[_0x4b03b6]||!_0x3d5ccf[_0xed13('0x72')]){_0x3d5d31=path[_0xed13('0x64')](config['root'],_0x35e540,_[_0xed13('0x66')]('default_favicon.ico'));}if(!fs[_0xed13('0x6a')](_0x3d5d31)){throw new db['Sequelize']['ValidationError'](_['upperFirst'](_0xed13('0x60'))+_0xed13('0x6d'));}return _0x28d8cc['download'](_0x3d5d31);}})[_0xed13('0x27')](handleError(_0x28d8cc,null));};exports[_0xed13('0x79')]=function(_0x4eb5e6,_0x57be37){var _0x5105b8={'offset':moment()['utcOffset']()};_0x5105b8[_0xed13('0x7a')]=moment()[_0xed13('0x7b')](_0x5105b8['offset'])['format']('YYYY-MM-DD\x20HH:mm:ss:SSS');return _0x57be37[_0xed13('0x29')](0xc8)[_0xed13('0x38')](_0x5105b8);};