62216ce89e336eca6846ee380008f31a7ef75299
[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 _0xbaad=['sox','to-csv','ejs','fs-extra','lodash','crypto','desk.js','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/environment','jayson/promise','client','http','request','then','Setting,\x20%s,\x20%s','request\x20sent','debug','Setting,\x20%s,\x20%s,\x20%s','stringify','code','error','message','info','catch','sendStatus','status','json','offset','undefined','limit','count','apply','reject','save','update','end','name','send','index','map','rawAttributes','fieldName','type','key','query','keys','filters','intersection','model','fields','attributes','length','hasOwnProperty','nolimit','order','sort','pick','filter','where','merge','options','Setting','includeAll','include','findAll','rows','show','params','find','body','addLogo','filename','logo','file','addLogoLogin','loginLogo','../../config/license/util','getLogo','server/files/images/logos','preferred','favicon','defaultLogo','defaultLoginLogo','defaultFavicon','existsSync','root','toLower','join','default_logo.svg','default','upperFirst','custom','Sequelize','download','getLicense','defaultPreferred','default_loginLogo.svg','ValidationError','\x20not\x20found','gdpr','securePassword','addPreferred','getPreferred','default_preferred.png','addFavicon','default_favicon.ico','utcOffset','now','YYYY-MM-DD\x20HH:mm:ss:SSS','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path'];(function(_0x3f8d1e,_0x115971){var _0x3c4564=function(_0xe62f70){while(--_0xe62f70){_0x3f8d1e['push'](_0x3f8d1e['shift']());}};_0x3c4564(++_0x115971);}(_0xbaad,0x1e6));var _0xdbaa=function(_0x352f0d,_0xfcc11a){_0x352f0d=_0x352f0d-0x0;var _0x250f40=_0xbaad[_0x352f0d];return _0x250f40;};'use strict';var emlformat=require(_0xdbaa('0x0'));var rimraf=require(_0xdbaa('0x1'));var zipdir=require(_0xdbaa('0x2'));var jsonpatch=require(_0xdbaa('0x3'));var rp=require(_0xdbaa('0x4'));var moment=require(_0xdbaa('0x5'));var BPromise=require(_0xdbaa('0x6'));var Mustache=require(_0xdbaa('0x7'));var util=require(_0xdbaa('0x8'));var path=require(_0xdbaa('0x9'));var sox=require(_0xdbaa('0xa'));var csv=require(_0xdbaa('0xb'));var ejs=require(_0xdbaa('0xc'));var fs=require('fs');var fs_extra=require(_0xdbaa('0xd'));var _=require(_0xdbaa('0xe'));var squel=require('squel');var crypto=require(_0xdbaa('0xf'));var jsforce=require('jsforce');var deskjs=require(_0xdbaa('0x10'));var toCsv=require(_0xdbaa('0xb'));var querystring=require('querystring');var Papa=require(_0xdbaa('0x11'));var Redis=require('ioredis');var authService=require(_0xdbaa('0x12'));var qs=require(_0xdbaa('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xdbaa('0x14'));var logger=require(_0xdbaa('0x15'))(_0xdbaa('0x16'));var utils=require('../../config/utils');var config=require(_0xdbaa('0x17'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];var jayson=require(_0xdbaa('0x18'));var client=jayson[_0xdbaa('0x19')][_0xdbaa('0x1a')]({'port':0x232a});function respondWithRpcPromise(_0x1e532e,_0x28c921,_0x428da9,_0x38a53e){return new BPromise(function(_0x1e2b0b,_0x20958d){var _0x27e2a4=_0x38a53e||client;return _0x27e2a4[_0xdbaa('0x1b')](_0x1e532e,_0x428da9)[_0xdbaa('0x1c')](function(_0x24df88){logger['info'](_0xdbaa('0x1d'),_0x28c921,_0xdbaa('0x1e'));logger[_0xdbaa('0x1f')](_0xdbaa('0x20'),_0x28c921,_0xdbaa('0x1e'),JSON[_0xdbaa('0x21')](_0x24df88));if(_0x24df88['error']){if(_0x24df88['error'][_0xdbaa('0x22')]===0x1f4){logger['error'](_0xdbaa('0x1d'),_0x28c921,_0x24df88[_0xdbaa('0x23')][_0xdbaa('0x24')]);return _0x20958d(_0x24df88[_0xdbaa('0x23')]['message']);}logger['error'](_0xdbaa('0x1d'),_0x28c921,_0x24df88[_0xdbaa('0x23')][_0xdbaa('0x24')]);return _0x1e2b0b(_0x24df88['error'][_0xdbaa('0x24')]);}else{logger[_0xdbaa('0x25')](_0xdbaa('0x1d'),_0x28c921,'request\x20sent');_0x1e2b0b(_0x24df88['result'][_0xdbaa('0x24')]);}})[_0xdbaa('0x26')](function(_0x47286b){logger[_0xdbaa('0x23')](_0xdbaa('0x1d'),_0x28c921,_0x47286b);_0x20958d(_0x47286b);});});}function respondWithStatusCode(_0x187d20,_0x5536b5){_0x5536b5=_0x5536b5||0xcc;return function(_0x17fecb){if(_0x17fecb){return _0x187d20[_0xdbaa('0x27')](_0x5536b5);}return _0x187d20['status'](_0x5536b5)['end']();};}function respondWithResult(_0x415232,_0x53d449){_0x53d449=_0x53d449||0xc8;return function(_0x16829d){if(_0x16829d){return _0x415232[_0xdbaa('0x28')](_0x53d449)[_0xdbaa('0x29')](_0x16829d);}};}function respondWithFilteredResult(_0x35736f,_0x494276){return function(_0x41aaae){if(_0x41aaae){var _0x2ac5c3=typeof _0x494276[_0xdbaa('0x2a')]===_0xdbaa('0x2b')&&typeof _0x494276[_0xdbaa('0x2c')]===_0xdbaa('0x2b');var _0x33b648=_0x41aaae[_0xdbaa('0x2d')];var _0xd96b6c=_0x2ac5c3?0x0:_0x494276[_0xdbaa('0x2a')];var _0x16be95=_0x2ac5c3?_0x41aaae[_0xdbaa('0x2d')]:_0x494276['offset']+_0x494276['limit'];var _0x259d56;if(_0x16be95>=_0x33b648){_0x16be95=_0x33b648;_0x259d56=0xc8;}else{_0x259d56=0xce;}_0x35736f[_0xdbaa('0x28')](_0x259d56);return _0x35736f['set']('Content-Range',_0xd96b6c+'-'+_0x16be95+'/'+_0x33b648)[_0xdbaa('0x29')](_0x41aaae);}return null;};}function patchUpdates(_0x4fa4e9){return function(_0x7852c4){try{jsonpatch[_0xdbaa('0x2e')](_0x7852c4,_0x4fa4e9,!![]);}catch(_0x58ebe5){return BPromise[_0xdbaa('0x2f')](_0x58ebe5);}return _0x7852c4[_0xdbaa('0x30')]();};}function saveUpdates(_0x289166,_0x1a8715){return function(_0x8ea051){if(_0x8ea051){return _0x8ea051[_0xdbaa('0x31')](_0x289166)[_0xdbaa('0x1c')](function(_0x29e7b4){return _0x29e7b4;});}return null;};}function removeEntity(_0x3343cb,_0x41e682){return function(_0x5db6d4){if(_0x5db6d4){return _0x5db6d4['destroy']()['then'](function(){_0x3343cb[_0xdbaa('0x28')](0xcc)[_0xdbaa('0x32')]();});}};}function handleEntityNotFound(_0x286173,_0x3a6bb2){return function(_0x52b063){if(!_0x52b063){_0x286173[_0xdbaa('0x27')](0x194);}return _0x52b063;};}function handleError(_0x5046fc,_0x2aead0){_0x2aead0=_0x2aead0||0x1f4;return function(_0x414c2c){logger[_0xdbaa('0x23')](_0x414c2c['stack']);if(_0x414c2c['name']){delete _0x414c2c[_0xdbaa('0x33')];}_0x5046fc[_0xdbaa('0x28')](_0x2aead0)[_0xdbaa('0x34')](_0x414c2c);};}exports[_0xdbaa('0x35')]=function(_0x22232d,_0xc80305){var _0x4efe98={},_0x30c62f={},_0x4c3c04={'count':0x0,'rows':[]};var _0x24265e=_[_0xdbaa('0x36')](db['Setting'][_0xdbaa('0x37')],function(_0x13720c){return{'name':_0x13720c[_0xdbaa('0x38')],'type':_0x13720c[_0xdbaa('0x39')][_0xdbaa('0x3a')]};});_0x30c62f['model']=_[_0xdbaa('0x36')](_0x24265e,_0xdbaa('0x33'));_0x30c62f[_0xdbaa('0x3b')]=_[_0xdbaa('0x3c')](_0x22232d['query']);_0x30c62f[_0xdbaa('0x3d')]=_[_0xdbaa('0x3e')](_0x30c62f[_0xdbaa('0x3f')],_0x30c62f[_0xdbaa('0x3b')]);_0x4efe98['attributes']=_['intersection'](_0x30c62f[_0xdbaa('0x3f')],qs[_0xdbaa('0x40')](_0x22232d[_0xdbaa('0x3b')][_0xdbaa('0x40')]));_0x4efe98[_0xdbaa('0x41')]=_0x4efe98['attributes'][_0xdbaa('0x42')]?_0x4efe98[_0xdbaa('0x41')]:_0x30c62f['model'];if(!_0x22232d[_0xdbaa('0x3b')][_0xdbaa('0x43')](_0xdbaa('0x44'))){_0x4efe98[_0xdbaa('0x2c')]=qs[_0xdbaa('0x2c')](_0x22232d[_0xdbaa('0x3b')][_0xdbaa('0x2c')]);_0x4efe98[_0xdbaa('0x2a')]=qs[_0xdbaa('0x2a')](_0x22232d[_0xdbaa('0x3b')]['offset']);}_0x4efe98[_0xdbaa('0x45')]=qs[_0xdbaa('0x46')](_0x22232d[_0xdbaa('0x3b')][_0xdbaa('0x46')]);_0x4efe98['where']=qs[_0xdbaa('0x3d')](_[_0xdbaa('0x47')](_0x22232d['query'],_0x30c62f[_0xdbaa('0x3d')]),_0x24265e);if(_0x22232d[_0xdbaa('0x3b')][_0xdbaa('0x48')]){_0x4efe98[_0xdbaa('0x49')]=_[_0xdbaa('0x4a')](_0x4efe98[_0xdbaa('0x49')],{'$or':_[_0xdbaa('0x36')](_0x24265e,function(_0xfcfc52){if(_0xfcfc52[_0xdbaa('0x39')]!=='VIRTUAL'){var _0x2e86ef={};_0x2e86ef[_0xfcfc52[_0xdbaa('0x33')]]={'$like':'%'+_0x22232d[_0xdbaa('0x3b')][_0xdbaa('0x48')]+'%'};return _0x2e86ef;}})});}_0x4efe98=_[_0xdbaa('0x4a')]({},_0x4efe98,_0x22232d[_0xdbaa('0x4b')]);var _0x117d5c={'where':_0x4efe98[_0xdbaa('0x49')]};return db[_0xdbaa('0x4c')]['count'](_0x117d5c)[_0xdbaa('0x1c')](function(_0x3c0bc3){_0x4c3c04[_0xdbaa('0x2d')]=_0x3c0bc3;if(_0x22232d['query'][_0xdbaa('0x4d')]){_0x4efe98[_0xdbaa('0x4e')]=[{'all':!![]}];}return db['Setting'][_0xdbaa('0x4f')](_0x4efe98);})[_0xdbaa('0x1c')](function(_0x2ed20c){_0x4c3c04[_0xdbaa('0x50')]=_0x2ed20c;return _0x4c3c04;})[_0xdbaa('0x1c')](respondWithFilteredResult(_0xc80305,_0x4efe98))[_0xdbaa('0x26')](handleError(_0xc80305,null));};exports[_0xdbaa('0x51')]=function(_0x542af6,_0x3b61b6){var _0x34a046={'raw':![],'where':{'id':_0x542af6[_0xdbaa('0x52')]['id']}},_0x4488f6={};_0x4488f6['model']=_[_0xdbaa('0x3c')](db[_0xdbaa('0x4c')][_0xdbaa('0x37')]);_0x4488f6[_0xdbaa('0x3b')]=_[_0xdbaa('0x3c')](_0x542af6[_0xdbaa('0x3b')]);_0x4488f6[_0xdbaa('0x3d')]=_[_0xdbaa('0x3e')](_0x4488f6[_0xdbaa('0x3f')],_0x4488f6['query']);_0x34a046['attributes']=_['intersection'](_0x4488f6[_0xdbaa('0x3f')],qs[_0xdbaa('0x40')](_0x542af6[_0xdbaa('0x3b')][_0xdbaa('0x40')]));_0x34a046[_0xdbaa('0x41')]=_0x34a046[_0xdbaa('0x41')][_0xdbaa('0x42')]?_0x34a046[_0xdbaa('0x41')]:_0x4488f6[_0xdbaa('0x3f')];if(_0x542af6[_0xdbaa('0x3b')][_0xdbaa('0x4d')]){_0x34a046[_0xdbaa('0x4e')]=[{'all':!![]}];}_0x34a046=_['merge']({},_0x34a046,_0x542af6[_0xdbaa('0x4b')]);return db[_0xdbaa('0x4c')][_0xdbaa('0x53')](_0x34a046)[_0xdbaa('0x1c')](handleEntityNotFound(_0x3b61b6,null))['then'](respondWithResult(_0x3b61b6,null))['catch'](handleError(_0x3b61b6,null));};exports['update']=function(_0x26b042,_0xb9380c){if(_0x26b042['body']['id']){delete _0x26b042[_0xdbaa('0x54')]['id'];}return db[_0xdbaa('0x4c')][_0xdbaa('0x53')]({'where':{'id':_0x26b042[_0xdbaa('0x52')]['id']}})['then'](handleEntityNotFound(_0xb9380c,null))[_0xdbaa('0x1c')](saveUpdates(_0x26b042[_0xdbaa('0x54')],null))['then'](respondWithResult(_0xb9380c,null))['catch'](handleError(_0xb9380c,null));};exports[_0xdbaa('0x55')]=function(_0x48547a,_0xabae7f,_0x49f0f6){if(_0x48547a['file']&&_0x48547a['file'][_0xdbaa('0x56')]){_0x48547a[_0xdbaa('0x54')][_0xdbaa('0x57')]=_0x48547a[_0xdbaa('0x58')][_0xdbaa('0x56')];}return db['Setting'][_0xdbaa('0x53')]({'where':{'id':_0x48547a[_0xdbaa('0x52')]['id']}})['then'](handleEntityNotFound(_0xabae7f,null))[_0xdbaa('0x1c')](saveUpdates(_0x48547a[_0xdbaa('0x54')],null))[_0xdbaa('0x1c')](respondWithResult(_0xabae7f,null))[_0xdbaa('0x26')](handleError(_0xabae7f,null));};exports[_0xdbaa('0x59')]=function(_0x5bd5c3,_0xebb229,_0x2e802f){if(_0x5bd5c3['file']&&_0x5bd5c3[_0xdbaa('0x58')][_0xdbaa('0x56')]){_0x5bd5c3[_0xdbaa('0x54')][_0xdbaa('0x5a')]=_0x5bd5c3['file'][_0xdbaa('0x56')];}return db[_0xdbaa('0x4c')][_0xdbaa('0x53')]({'where':{'id':_0x5bd5c3[_0xdbaa('0x52')]['id']}})[_0xdbaa('0x1c')](handleEntityNotFound(_0xebb229,null))[_0xdbaa('0x1c')](saveUpdates(_0x5bd5c3['body'],null))['then'](respondWithResult(_0xebb229,null))[_0xdbaa('0x26')](handleError(_0xebb229,null));};var utilLicense=require(_0xdbaa('0x5b'));exports[_0xdbaa('0x5c')]=function(_0xce47e0,_0x1e85d4,_0x595bf3){var _0x4bad4d=_0xdbaa('0x5d');var _0x23cbb7={'custom':![]};return utilLicense['getLicense']()[_0xdbaa('0x1c')](function(_0xd7edc8){if(_0xd7edc8){_0x23cbb7=_0xd7edc8;}return db[_0xdbaa('0x4c')][_0xdbaa('0x53')]({'where':{'id':_0xce47e0[_0xdbaa('0x52')]['id']},'attributes':[_0xdbaa('0x57'),'loginLogo',_0xdbaa('0x5e'),_0xdbaa('0x5f'),_0xdbaa('0x60'),_0xdbaa('0x61'),'defaultPreferred',_0xdbaa('0x62')],'raw':!![]});})[_0xdbaa('0x1c')](handleEntityNotFound(_0x1e85d4,null))[_0xdbaa('0x1c')](function(_0x40745f){if(_0x40745f){var _0x1abf8b=_0x40745f[_0xdbaa('0x57')]&&fs[_0xdbaa('0x63')](path['join'](config[_0xdbaa('0x64')],_0x4bad4d,_[_0xdbaa('0x65')](_0x40745f['logo'])))?path[_0xdbaa('0x66')](config[_0xdbaa('0x64')],_0x4bad4d,_['toLower'](_0x40745f[_0xdbaa('0x57')])):path['join'](config[_0xdbaa('0x64')],_0x4bad4d,_[_0xdbaa('0x65')](_0xdbaa('0x67')));var _0x3336bf=_0xdbaa('0x68')+_[_0xdbaa('0x69')]('logo');if(_0x40745f[_0x3336bf]||!_0x23cbb7[_0xdbaa('0x6a')]){_0x1abf8b=path[_0xdbaa('0x66')](config[_0xdbaa('0x64')],_0x4bad4d,_['toLower'](_0xdbaa('0x67')));}if(!fs['existsSync'](_0x1abf8b)){throw new db[(_0xdbaa('0x6b'))]['ValidationError'](_[_0xdbaa('0x69')](_0xdbaa('0x57'))+'\x20not\x20found');}return _0x1e85d4[_0xdbaa('0x6c')](_0x1abf8b);}})[_0xdbaa('0x26')](handleError(_0x1e85d4,null));};var utilLicense=require('../../config/license/util');exports['getLogoLogin']=function(_0xda50d1,_0x5e71d7,_0x414082){var _0x5a5273=_0xdbaa('0x5d');var _0x100394={'custom':![]};return utilLicense[_0xdbaa('0x6d')]()[_0xdbaa('0x1c')](function(_0x34761d){if(_0x34761d){_0x100394=_0x34761d;}return db['Setting'][_0xdbaa('0x53')]({'where':{'id':_0xda50d1['params']['id']},'attributes':[_0xdbaa('0x57'),_0xdbaa('0x5a'),_0xdbaa('0x5e'),_0xdbaa('0x5f'),_0xdbaa('0x60'),_0xdbaa('0x61'),_0xdbaa('0x6e'),_0xdbaa('0x62')],'raw':!![]});})[_0xdbaa('0x1c')](handleEntityNotFound(_0x5e71d7,null))[_0xdbaa('0x1c')](function(_0x116a12){if(_0x116a12){var _0x274622=_0x116a12[_0xdbaa('0x5a')]&&fs[_0xdbaa('0x63')](path['join'](config[_0xdbaa('0x64')],_0x5a5273,_['toLower'](_0x116a12[_0xdbaa('0x5a')])))?path[_0xdbaa('0x66')](config[_0xdbaa('0x64')],_0x5a5273,_[_0xdbaa('0x65')](_0x116a12[_0xdbaa('0x5a')])):path[_0xdbaa('0x66')](config['root'],_0x5a5273,_[_0xdbaa('0x65')](_0xdbaa('0x6f')));var _0x44a16c='default'+_[_0xdbaa('0x69')](_0xdbaa('0x5a'));if(_0x116a12[_0x44a16c]||!_0x100394['custom']){_0x274622=path[_0xdbaa('0x66')](config['root'],_0x5a5273,_[_0xdbaa('0x65')]('default_loginLogo.svg'));}if(!fs['existsSync'](_0x274622)){throw new db['Sequelize'][(_0xdbaa('0x70'))](_[_0xdbaa('0x69')]('loginLogo')+_0xdbaa('0x71'));}return _0x5e71d7[_0xdbaa('0x6c')](_0x274622);}})['catch'](handleError(_0x5e71d7,null));};exports[_0xdbaa('0x72')]=function(_0x37869f,_0x479a56){return db[_0xdbaa('0x4c')]['find']({'where':{'id':_0x37869f[_0xdbaa('0x52')]['id']},'attributes':[_0xdbaa('0x73')]})[_0xdbaa('0x1c')](respondWithResult(_0x479a56,null))[_0xdbaa('0x26')](handleError(_0x479a56,null));};exports[_0xdbaa('0x74')]=function(_0x3f7f26,_0xa91b0b,_0x35d8ca){if(_0x3f7f26[_0xdbaa('0x58')]&&_0x3f7f26[_0xdbaa('0x58')][_0xdbaa('0x56')]){_0x3f7f26[_0xdbaa('0x54')][_0xdbaa('0x5e')]=_0x3f7f26[_0xdbaa('0x58')][_0xdbaa('0x56')];}return db['Setting'][_0xdbaa('0x53')]({'where':{'id':_0x3f7f26['params']['id']}})['then'](handleEntityNotFound(_0xa91b0b,null))[_0xdbaa('0x1c')](saveUpdates(_0x3f7f26[_0xdbaa('0x54')],null))[_0xdbaa('0x1c')](respondWithResult(_0xa91b0b,null))[_0xdbaa('0x26')](handleError(_0xa91b0b,null));};var utilLicense=require('../../config/license/util');exports[_0xdbaa('0x75')]=function(_0x6d41d6,_0x2af652,_0x458e9d){var _0x2c1ec3=_0xdbaa('0x5d');var _0x326cd7={'custom':![]};return utilLicense[_0xdbaa('0x6d')]()[_0xdbaa('0x1c')](function(_0x9f977b){if(_0x9f977b){_0x326cd7=_0x9f977b;}return db[_0xdbaa('0x4c')][_0xdbaa('0x53')]({'where':{'id':_0x6d41d6[_0xdbaa('0x52')]['id']},'attributes':['logo',_0xdbaa('0x5a'),_0xdbaa('0x5e'),_0xdbaa('0x5f'),_0xdbaa('0x60'),_0xdbaa('0x61'),'defaultPreferred',_0xdbaa('0x62')],'raw':!![]});})['then'](handleEntityNotFound(_0x2af652,null))[_0xdbaa('0x1c')](function(_0x1336e0){if(_0x1336e0){var _0x1810f1=_0x1336e0[_0xdbaa('0x5e')]&&fs[_0xdbaa('0x63')](path['join'](config[_0xdbaa('0x64')],_0x2c1ec3,_[_0xdbaa('0x65')](_0x1336e0[_0xdbaa('0x5e')])))?path[_0xdbaa('0x66')](config[_0xdbaa('0x64')],_0x2c1ec3,_[_0xdbaa('0x65')](_0x1336e0['preferred'])):path[_0xdbaa('0x66')](config[_0xdbaa('0x64')],_0x2c1ec3,_[_0xdbaa('0x65')](_0xdbaa('0x76')));var _0x5d421f=_0xdbaa('0x68')+_[_0xdbaa('0x69')]('preferred');if(_0x1336e0[_0x5d421f]||!_0x326cd7['custom']||!_0x326cd7['preferred']){_0x1810f1=path[_0xdbaa('0x66')](config[_0xdbaa('0x64')],_0x2c1ec3,_[_0xdbaa('0x65')]('default_preferred.png'));}if(!fs[_0xdbaa('0x63')](_0x1810f1)){throw new db[(_0xdbaa('0x6b'))][(_0xdbaa('0x70'))](_['upperFirst']('preferred')+_0xdbaa('0x71'));}return _0x2af652[_0xdbaa('0x6c')](_0x1810f1);}})['catch'](handleError(_0x2af652,null));};exports[_0xdbaa('0x77')]=function(_0x18a701,_0x4d33ae,_0x377322){if(_0x18a701[_0xdbaa('0x58')]&&_0x18a701['file']['filename']){_0x18a701[_0xdbaa('0x54')][_0xdbaa('0x5f')]=_0x18a701['file'][_0xdbaa('0x56')];}return db['Setting'][_0xdbaa('0x53')]({'where':{'id':_0x18a701[_0xdbaa('0x52')]['id']}})[_0xdbaa('0x1c')](handleEntityNotFound(_0x4d33ae,null))[_0xdbaa('0x1c')](saveUpdates(_0x18a701['body'],null))['then'](respondWithResult(_0x4d33ae,null))['catch'](handleError(_0x4d33ae,null));};var utilLicense=require(_0xdbaa('0x5b'));exports['getFavicon']=function(_0x5200ed,_0x2a912d,_0x2991cd){var _0x34aed8=_0xdbaa('0x5d');var _0x105cea={'custom':![]};return utilLicense[_0xdbaa('0x6d')]()['then'](function(_0x2965a6){if(_0x2965a6){_0x105cea=_0x2965a6;}return db['Setting'][_0xdbaa('0x53')]({'where':{'id':_0x5200ed[_0xdbaa('0x52')]['id']},'attributes':[_0xdbaa('0x57'),'loginLogo',_0xdbaa('0x5e'),_0xdbaa('0x5f'),_0xdbaa('0x60'),'defaultLoginLogo',_0xdbaa('0x6e'),_0xdbaa('0x62')],'raw':!![]});})[_0xdbaa('0x1c')](handleEntityNotFound(_0x2a912d,null))[_0xdbaa('0x1c')](function(_0x25afcd){if(_0x25afcd){var _0x78abc4=_0x25afcd[_0xdbaa('0x5f')]&&fs[_0xdbaa('0x63')](path[_0xdbaa('0x66')](config[_0xdbaa('0x64')],_0x34aed8,_['toLower'](_0x25afcd[_0xdbaa('0x5f')])))?path[_0xdbaa('0x66')](config[_0xdbaa('0x64')],_0x34aed8,_[_0xdbaa('0x65')](_0x25afcd[_0xdbaa('0x5f')])):path[_0xdbaa('0x66')](config['root'],_0x34aed8,_[_0xdbaa('0x65')](_0xdbaa('0x78')));var _0x5d4940=_0xdbaa('0x68')+_[_0xdbaa('0x69')](_0xdbaa('0x5f'));if(_0x25afcd[_0x5d4940]||!_0x105cea[_0xdbaa('0x6a')]){_0x78abc4=path[_0xdbaa('0x66')](config[_0xdbaa('0x64')],_0x34aed8,_[_0xdbaa('0x65')](_0xdbaa('0x78')));}if(!fs['existsSync'](_0x78abc4)){throw new db[(_0xdbaa('0x6b'))]['ValidationError'](_[_0xdbaa('0x69')](_0xdbaa('0x5f'))+_0xdbaa('0x71'));}return _0x2a912d[_0xdbaa('0x6c')](_0x78abc4);}})[_0xdbaa('0x26')](handleError(_0x2a912d,null));};exports['getDate']=function(_0x5bc40a,_0xd3b326){var _0x580283={'offset':moment()[_0xdbaa('0x79')]()};_0x580283[_0xdbaa('0x7a')]=moment()[_0xdbaa('0x79')](_0x580283[_0xdbaa('0x2a')])['format'](_0xdbaa('0x7b'));return _0xd3b326[_0xdbaa('0x28')](0xc8)['send'](_0x580283);};