dc2cd6b73cd9de538bc6e27dbb52720d83367097
[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 _0xddf6=['addPreferred','getPreferred','server/files/images/logos','default_preferred.png','addFavicon','getFavicon','getDate','utcOffset','now','format','YYYY-MM-DD\x20HH:mm:ss:SSS','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','sox','ejs','lodash','squel','jsforce','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/utils','../../mysqldb','client','http','then','request\x20sent','Setting,\x20%s,\x20%s,\x20%s','error','code','Setting,\x20%s,\x20%s','message','result','catch','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','destroy','name','send','index','map','Setting','rawAttributes','fieldName','query','keys','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filters','filter','merge','type','VIRTUAL','options','includeAll','include','findAll','rows','params','update','body','find','addLogo','file','filename','logo','loginLogo','../../config/license/util','getLogo','getLicense','favicon','defaultPreferred','defaultFavicon','existsSync','join','root','toLower','default_logo.svg','default','custom','ValidationError','upperFirst','\x20not\x20found','download','getLogoLogin','preferred','defaultLogo','defaultLoginLogo','default_loginLogo.svg','Sequelize','gdpr','securePassword'];(function(_0x4eab61,_0x1a6e6d){var _0x342426=function(_0xc6338a){while(--_0xc6338a){_0x4eab61['push'](_0x4eab61['shift']());}};_0x342426(++_0x1a6e6d);}(_0xddf6,0xf7));var _0x6ddf=function(_0x1d6f68,_0x2cfee3){_0x1d6f68=_0x1d6f68-0x0;var _0x2e7470=_0xddf6[_0x1d6f68];return _0x2e7470;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x6ddf('0x0'));var zipdir=require(_0x6ddf('0x1'));var jsonpatch=require(_0x6ddf('0x2'));var rp=require(_0x6ddf('0x3'));var moment=require(_0x6ddf('0x4'));var BPromise=require(_0x6ddf('0x5'));var Mustache=require('mustache');var util=require('util');var path=require('path');var sox=require(_0x6ddf('0x6'));var csv=require('to-csv');var ejs=require(_0x6ddf('0x7'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x6ddf('0x8'));var squel=require(_0x6ddf('0x9'));var crypto=require('crypto');var jsforce=require(_0x6ddf('0xa'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x6ddf('0xb'));var Redis=require(_0x6ddf('0xc'));var authService=require('../../components/auth/service');var qs=require(_0x6ddf('0xd'));var as=require(_0x6ddf('0xe'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x6ddf('0xf'));var utils=require(_0x6ddf('0x10'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x6ddf('0x11'))['db'];var jayson=require('jayson/promise');var client=jayson[_0x6ddf('0x12')][_0x6ddf('0x13')]({'port':0x232a});function respondWithRpcPromise(_0x461bdf,_0x309a21,_0x19d697,_0x4085a3){return new BPromise(function(_0x877eca,_0x24511b){var _0x53ce65=_0x4085a3||client;return _0x53ce65['request'](_0x461bdf,_0x19d697)[_0x6ddf('0x14')](function(_0x3652e8){logger['info']('Setting,\x20%s,\x20%s',_0x309a21,_0x6ddf('0x15'));logger['debug'](_0x6ddf('0x16'),_0x309a21,_0x6ddf('0x15'),JSON['stringify'](_0x3652e8));if(_0x3652e8[_0x6ddf('0x17')]){if(_0x3652e8[_0x6ddf('0x17')][_0x6ddf('0x18')]===0x1f4){logger[_0x6ddf('0x17')](_0x6ddf('0x19'),_0x309a21,_0x3652e8[_0x6ddf('0x17')][_0x6ddf('0x1a')]);return _0x24511b(_0x3652e8[_0x6ddf('0x17')][_0x6ddf('0x1a')]);}logger[_0x6ddf('0x17')]('Setting,\x20%s,\x20%s',_0x309a21,_0x3652e8[_0x6ddf('0x17')][_0x6ddf('0x1a')]);return _0x877eca(_0x3652e8[_0x6ddf('0x17')]['message']);}else{logger['info'](_0x6ddf('0x19'),_0x309a21,_0x6ddf('0x15'));_0x877eca(_0x3652e8[_0x6ddf('0x1b')][_0x6ddf('0x1a')]);}})[_0x6ddf('0x1c')](function(_0x7ec481){logger[_0x6ddf('0x17')]('Setting,\x20%s,\x20%s',_0x309a21,_0x7ec481);_0x24511b(_0x7ec481);});});}function respondWithStatusCode(_0x478bd9,_0x4897ba){_0x4897ba=_0x4897ba||0xcc;return function(_0x12ffaa){if(_0x12ffaa){return _0x478bd9[_0x6ddf('0x1d')](_0x4897ba);}return _0x478bd9[_0x6ddf('0x1e')](_0x4897ba)[_0x6ddf('0x1f')]();};}function respondWithResult(_0x4bd7f8,_0x372566){_0x372566=_0x372566||0xc8;return function(_0x553a46){if(_0x553a46){return _0x4bd7f8[_0x6ddf('0x1e')](_0x372566)[_0x6ddf('0x20')](_0x553a46);}};}function respondWithFilteredResult(_0x12f2da,_0x4e8931){return function(_0x43da0e){if(_0x43da0e){var _0x530652=typeof _0x4e8931[_0x6ddf('0x21')]===_0x6ddf('0x22')&&typeof _0x4e8931[_0x6ddf('0x23')]===_0x6ddf('0x22');var _0x1fc093=_0x43da0e[_0x6ddf('0x24')];var _0x45c8b7=_0x530652?0x0:_0x4e8931[_0x6ddf('0x21')];var _0x5a238b=_0x530652?_0x43da0e[_0x6ddf('0x24')]:_0x4e8931['offset']+_0x4e8931[_0x6ddf('0x23')];var _0x31dfe7;if(_0x5a238b>=_0x1fc093){_0x5a238b=_0x1fc093;_0x31dfe7=0xc8;}else{_0x31dfe7=0xce;}_0x12f2da[_0x6ddf('0x1e')](_0x31dfe7);return _0x12f2da[_0x6ddf('0x25')](_0x6ddf('0x26'),_0x45c8b7+'-'+_0x5a238b+'/'+_0x1fc093)['json'](_0x43da0e);}return null;};}function patchUpdates(_0x29b171){return function(_0x1dbac1){try{jsonpatch[_0x6ddf('0x27')](_0x1dbac1,_0x29b171,!![]);}catch(_0x10097e){return BPromise[_0x6ddf('0x28')](_0x10097e);}return _0x1dbac1[_0x6ddf('0x29')]();};}function saveUpdates(_0x33c7ee,_0x34d7ca){return function(_0x43c6ec){if(_0x43c6ec){return _0x43c6ec['update'](_0x33c7ee)['then'](function(_0x52cfa3){return _0x52cfa3;});}return null;};}function removeEntity(_0x2d0ad6,_0x13f498){return function(_0x41b246){if(_0x41b246){return _0x41b246[_0x6ddf('0x2a')]()['then'](function(){_0x2d0ad6['status'](0xcc)[_0x6ddf('0x1f')]();});}};}function handleEntityNotFound(_0x5118f7,_0x150878){return function(_0x162bf9){if(!_0x162bf9){_0x5118f7[_0x6ddf('0x1d')](0x194);}return _0x162bf9;};}function handleError(_0x203966,_0x5699fb){_0x5699fb=_0x5699fb||0x1f4;return function(_0x889ad7){logger[_0x6ddf('0x17')](_0x889ad7['stack']);if(_0x889ad7[_0x6ddf('0x2b')]){delete _0x889ad7['name'];}_0x203966['status'](_0x5699fb)[_0x6ddf('0x2c')](_0x889ad7);};}exports[_0x6ddf('0x2d')]=function(_0x2cac72,_0x2991e7){var _0x2f68c5={},_0x36ef03={},_0x400cd9={'count':0x0,'rows':[]};var _0x36f127=_[_0x6ddf('0x2e')](db[_0x6ddf('0x2f')][_0x6ddf('0x30')],function(_0x5b7db){return{'name':_0x5b7db[_0x6ddf('0x31')],'type':_0x5b7db['type']['key']};});_0x36ef03['model']=_[_0x6ddf('0x2e')](_0x36f127,'name');_0x36ef03[_0x6ddf('0x32')]=_[_0x6ddf('0x33')](_0x2cac72[_0x6ddf('0x32')]);_0x36ef03['filters']=_[_0x6ddf('0x34')](_0x36ef03[_0x6ddf('0x35')],_0x36ef03['query']);_0x2f68c5[_0x6ddf('0x36')]=_[_0x6ddf('0x34')](_0x36ef03[_0x6ddf('0x35')],qs[_0x6ddf('0x37')](_0x2cac72[_0x6ddf('0x32')][_0x6ddf('0x37')]));_0x2f68c5[_0x6ddf('0x36')]=_0x2f68c5[_0x6ddf('0x36')][_0x6ddf('0x38')]?_0x2f68c5['attributes']:_0x36ef03[_0x6ddf('0x35')];if(!_0x2cac72[_0x6ddf('0x32')][_0x6ddf('0x39')](_0x6ddf('0x3a'))){_0x2f68c5[_0x6ddf('0x23')]=qs['limit'](_0x2cac72[_0x6ddf('0x32')][_0x6ddf('0x23')]);_0x2f68c5[_0x6ddf('0x21')]=qs['offset'](_0x2cac72[_0x6ddf('0x32')][_0x6ddf('0x21')]);}_0x2f68c5[_0x6ddf('0x3b')]=qs[_0x6ddf('0x3c')](_0x2cac72[_0x6ddf('0x32')][_0x6ddf('0x3c')]);_0x2f68c5[_0x6ddf('0x3d')]=qs['filters'](_[_0x6ddf('0x3e')](_0x2cac72[_0x6ddf('0x32')],_0x36ef03[_0x6ddf('0x3f')]),_0x36f127);if(_0x2cac72['query'][_0x6ddf('0x40')]){_0x2f68c5[_0x6ddf('0x3d')]=_[_0x6ddf('0x41')](_0x2f68c5[_0x6ddf('0x3d')],{'$or':_['map'](_0x36f127,function(_0x50a2b7){if(_0x50a2b7[_0x6ddf('0x42')]!==_0x6ddf('0x43')){var _0x190ff5={};_0x190ff5[_0x50a2b7[_0x6ddf('0x2b')]]={'$like':'%'+_0x2cac72[_0x6ddf('0x32')][_0x6ddf('0x40')]+'%'};return _0x190ff5;}})});}_0x2f68c5=_[_0x6ddf('0x41')]({},_0x2f68c5,_0x2cac72[_0x6ddf('0x44')]);var _0x3068c5={'where':_0x2f68c5[_0x6ddf('0x3d')]};return db[_0x6ddf('0x2f')][_0x6ddf('0x24')](_0x3068c5)[_0x6ddf('0x14')](function(_0x53ec66){_0x400cd9[_0x6ddf('0x24')]=_0x53ec66;if(_0x2cac72[_0x6ddf('0x32')][_0x6ddf('0x45')]){_0x2f68c5[_0x6ddf('0x46')]=[{'all':!![]}];}return db[_0x6ddf('0x2f')][_0x6ddf('0x47')](_0x2f68c5);})[_0x6ddf('0x14')](function(_0x24bad8){_0x400cd9[_0x6ddf('0x48')]=_0x24bad8;return _0x400cd9;})['then'](respondWithFilteredResult(_0x2991e7,_0x2f68c5))[_0x6ddf('0x1c')](handleError(_0x2991e7,null));};exports['show']=function(_0x443a98,_0x1a3c8e){var _0x2d2b31={'raw':![],'where':{'id':_0x443a98[_0x6ddf('0x49')]['id']}},_0x457daa={};_0x457daa[_0x6ddf('0x35')]=_['keys'](db[_0x6ddf('0x2f')]['rawAttributes']);_0x457daa[_0x6ddf('0x32')]=_['keys'](_0x443a98[_0x6ddf('0x32')]);_0x457daa['filters']=_[_0x6ddf('0x34')](_0x457daa[_0x6ddf('0x35')],_0x457daa[_0x6ddf('0x32')]);_0x2d2b31[_0x6ddf('0x36')]=_[_0x6ddf('0x34')](_0x457daa[_0x6ddf('0x35')],qs[_0x6ddf('0x37')](_0x443a98['query'][_0x6ddf('0x37')]));_0x2d2b31[_0x6ddf('0x36')]=_0x2d2b31[_0x6ddf('0x36')][_0x6ddf('0x38')]?_0x2d2b31[_0x6ddf('0x36')]:_0x457daa[_0x6ddf('0x35')];if(_0x443a98[_0x6ddf('0x32')]['includeAll']){_0x2d2b31[_0x6ddf('0x46')]=[{'all':!![]}];}_0x2d2b31=_[_0x6ddf('0x41')]({},_0x2d2b31,_0x443a98[_0x6ddf('0x44')]);return db[_0x6ddf('0x2f')]['find'](_0x2d2b31)[_0x6ddf('0x14')](handleEntityNotFound(_0x1a3c8e,null))[_0x6ddf('0x14')](respondWithResult(_0x1a3c8e,null))['catch'](handleError(_0x1a3c8e,null));};exports[_0x6ddf('0x4a')]=function(_0x56cbcc,_0x2348b9){if(_0x56cbcc[_0x6ddf('0x4b')]['id']){delete _0x56cbcc[_0x6ddf('0x4b')]['id'];}return db['Setting'][_0x6ddf('0x4c')]({'where':{'id':_0x56cbcc[_0x6ddf('0x49')]['id']}})[_0x6ddf('0x14')](handleEntityNotFound(_0x2348b9,null))[_0x6ddf('0x14')](saveUpdates(_0x56cbcc['body'],null))[_0x6ddf('0x14')](respondWithResult(_0x2348b9,null))[_0x6ddf('0x1c')](handleError(_0x2348b9,null));};exports[_0x6ddf('0x4d')]=function(_0x34e6f8,_0x1c2113,_0x5d693e){if(_0x34e6f8[_0x6ddf('0x4e')]&&_0x34e6f8[_0x6ddf('0x4e')][_0x6ddf('0x4f')]){_0x34e6f8[_0x6ddf('0x4b')][_0x6ddf('0x50')]=_0x34e6f8[_0x6ddf('0x4e')]['filename'];}return db['Setting'][_0x6ddf('0x4c')]({'where':{'id':_0x34e6f8[_0x6ddf('0x49')]['id']}})[_0x6ddf('0x14')](handleEntityNotFound(_0x1c2113,null))[_0x6ddf('0x14')](saveUpdates(_0x34e6f8['body'],null))['then'](respondWithResult(_0x1c2113,null))[_0x6ddf('0x1c')](handleError(_0x1c2113,null));};exports['addLogoLogin']=function(_0x2cc6d8,_0x3a994e,_0x3d6222){if(_0x2cc6d8[_0x6ddf('0x4e')]&&_0x2cc6d8['file'][_0x6ddf('0x4f')]){_0x2cc6d8[_0x6ddf('0x4b')][_0x6ddf('0x51')]=_0x2cc6d8[_0x6ddf('0x4e')][_0x6ddf('0x4f')];}return db[_0x6ddf('0x2f')][_0x6ddf('0x4c')]({'where':{'id':_0x2cc6d8[_0x6ddf('0x49')]['id']}})[_0x6ddf('0x14')](handleEntityNotFound(_0x3a994e,null))[_0x6ddf('0x14')](saveUpdates(_0x2cc6d8[_0x6ddf('0x4b')],null))[_0x6ddf('0x14')](respondWithResult(_0x3a994e,null))[_0x6ddf('0x1c')](handleError(_0x3a994e,null));};var utilLicense=require(_0x6ddf('0x52'));exports[_0x6ddf('0x53')]=function(_0x118ac7,_0x5005bb,_0x2e16f){var _0x105e1a='server/files/images/logos';var _0x3fb4d2={'custom':![]};return utilLicense[_0x6ddf('0x54')]()[_0x6ddf('0x14')](function(_0x31409){if(_0x31409){_0x3fb4d2=_0x31409;}return db[_0x6ddf('0x2f')][_0x6ddf('0x4c')]({'where':{'id':_0x118ac7[_0x6ddf('0x49')]['id']},'attributes':['logo',_0x6ddf('0x51'),'preferred',_0x6ddf('0x55'),'defaultLogo','defaultLoginLogo',_0x6ddf('0x56'),_0x6ddf('0x57')],'raw':!![]});})[_0x6ddf('0x14')](handleEntityNotFound(_0x5005bb,null))[_0x6ddf('0x14')](function(_0x2350e2){if(_0x2350e2){var _0x3c4a42=_0x2350e2['logo']&&fs[_0x6ddf('0x58')](path[_0x6ddf('0x59')](config[_0x6ddf('0x5a')],_0x105e1a,_[_0x6ddf('0x5b')](_0x2350e2['logo'])))?path[_0x6ddf('0x59')](config[_0x6ddf('0x5a')],_0x105e1a,_[_0x6ddf('0x5b')](_0x2350e2[_0x6ddf('0x50')])):path[_0x6ddf('0x59')](config[_0x6ddf('0x5a')],_0x105e1a,_[_0x6ddf('0x5b')](_0x6ddf('0x5c')));var _0x1dbd91=_0x6ddf('0x5d')+_['upperFirst'](_0x6ddf('0x50'));if(_0x2350e2[_0x1dbd91]||!_0x3fb4d2[_0x6ddf('0x5e')]){_0x3c4a42=path[_0x6ddf('0x59')](config[_0x6ddf('0x5a')],_0x105e1a,_[_0x6ddf('0x5b')]('default_logo.svg'));}if(!fs[_0x6ddf('0x58')](_0x3c4a42)){throw new db['Sequelize'][(_0x6ddf('0x5f'))](_[_0x6ddf('0x60')](_0x6ddf('0x50'))+_0x6ddf('0x61'));}return _0x5005bb[_0x6ddf('0x62')](_0x3c4a42);}})['catch'](handleError(_0x5005bb,null));};var utilLicense=require(_0x6ddf('0x52'));exports[_0x6ddf('0x63')]=function(_0x46d9eb,_0x58ffc0,_0x3be7ca){var _0x3611c5='server/files/images/logos';var _0xf6dad4={'custom':![]};return utilLicense['getLicense']()[_0x6ddf('0x14')](function(_0x383166){if(_0x383166){_0xf6dad4=_0x383166;}return db[_0x6ddf('0x2f')]['find']({'where':{'id':_0x46d9eb[_0x6ddf('0x49')]['id']},'attributes':['logo',_0x6ddf('0x51'),_0x6ddf('0x64'),_0x6ddf('0x55'),_0x6ddf('0x65'),_0x6ddf('0x66'),_0x6ddf('0x56'),'defaultFavicon'],'raw':!![]});})[_0x6ddf('0x14')](handleEntityNotFound(_0x58ffc0,null))[_0x6ddf('0x14')](function(_0xc60e2){if(_0xc60e2){var _0x4297f4=_0xc60e2[_0x6ddf('0x51')]&&fs[_0x6ddf('0x58')](path[_0x6ddf('0x59')](config[_0x6ddf('0x5a')],_0x3611c5,_['toLower'](_0xc60e2[_0x6ddf('0x51')])))?path[_0x6ddf('0x59')](config['root'],_0x3611c5,_[_0x6ddf('0x5b')](_0xc60e2[_0x6ddf('0x51')])):path['join'](config['root'],_0x3611c5,_[_0x6ddf('0x5b')]('default_loginLogo.svg'));var _0x3854cd=_0x6ddf('0x5d')+_[_0x6ddf('0x60')]('loginLogo');if(_0xc60e2[_0x3854cd]||!_0xf6dad4[_0x6ddf('0x5e')]){_0x4297f4=path[_0x6ddf('0x59')](config[_0x6ddf('0x5a')],_0x3611c5,_[_0x6ddf('0x5b')](_0x6ddf('0x67')));}if(!fs[_0x6ddf('0x58')](_0x4297f4)){throw new db[(_0x6ddf('0x68'))][(_0x6ddf('0x5f'))](_['upperFirst'](_0x6ddf('0x51'))+'\x20not\x20found');}return _0x58ffc0[_0x6ddf('0x62')](_0x4297f4);}})[_0x6ddf('0x1c')](handleError(_0x58ffc0,null));};exports[_0x6ddf('0x69')]=function(_0xd61d64,_0x22762a){return db[_0x6ddf('0x2f')]['find']({'where':{'id':_0xd61d64[_0x6ddf('0x49')]['id']},'attributes':[_0x6ddf('0x6a')]})['then'](respondWithResult(_0x22762a,null))[_0x6ddf('0x1c')](handleError(_0x22762a,null));};exports[_0x6ddf('0x6b')]=function(_0xdd71cf,_0xcb25b5,_0x3e6cb8){if(_0xdd71cf[_0x6ddf('0x4e')]&&_0xdd71cf['file'][_0x6ddf('0x4f')]){_0xdd71cf[_0x6ddf('0x4b')][_0x6ddf('0x64')]=_0xdd71cf[_0x6ddf('0x4e')][_0x6ddf('0x4f')];}return db[_0x6ddf('0x2f')][_0x6ddf('0x4c')]({'where':{'id':_0xdd71cf[_0x6ddf('0x49')]['id']}})[_0x6ddf('0x14')](handleEntityNotFound(_0xcb25b5,null))[_0x6ddf('0x14')](saveUpdates(_0xdd71cf['body'],null))[_0x6ddf('0x14')](respondWithResult(_0xcb25b5,null))[_0x6ddf('0x1c')](handleError(_0xcb25b5,null));};var utilLicense=require('../../config/license/util');exports[_0x6ddf('0x6c')]=function(_0x11ee1a,_0x5a3bdc,_0x36165d){var _0x377fd9=_0x6ddf('0x6d');var _0x4b2948={'custom':![]};return utilLicense['getLicense']()[_0x6ddf('0x14')](function(_0x2785ff){if(_0x2785ff){_0x4b2948=_0x2785ff;}return db[_0x6ddf('0x2f')][_0x6ddf('0x4c')]({'where':{'id':_0x11ee1a[_0x6ddf('0x49')]['id']},'attributes':[_0x6ddf('0x50'),'loginLogo','preferred','favicon',_0x6ddf('0x65'),_0x6ddf('0x66'),_0x6ddf('0x56'),_0x6ddf('0x57')],'raw':!![]});})['then'](handleEntityNotFound(_0x5a3bdc,null))[_0x6ddf('0x14')](function(_0x30b65b){if(_0x30b65b){var _0x3cda60=_0x30b65b['preferred']&&fs[_0x6ddf('0x58')](path['join'](config[_0x6ddf('0x5a')],_0x377fd9,_['toLower'](_0x30b65b[_0x6ddf('0x64')])))?path['join'](config[_0x6ddf('0x5a')],_0x377fd9,_[_0x6ddf('0x5b')](_0x30b65b[_0x6ddf('0x64')])):path[_0x6ddf('0x59')](config[_0x6ddf('0x5a')],_0x377fd9,_[_0x6ddf('0x5b')]('default_preferred.png'));var _0x42f55e='default'+_[_0x6ddf('0x60')]('preferred');if(_0x30b65b[_0x42f55e]||!_0x4b2948[_0x6ddf('0x5e')]||!_0x4b2948['preferred']){_0x3cda60=path[_0x6ddf('0x59')](config[_0x6ddf('0x5a')],_0x377fd9,_[_0x6ddf('0x5b')](_0x6ddf('0x6e')));}if(!fs['existsSync'](_0x3cda60)){throw new db[(_0x6ddf('0x68'))][(_0x6ddf('0x5f'))](_[_0x6ddf('0x60')](_0x6ddf('0x64'))+_0x6ddf('0x61'));}return _0x5a3bdc['download'](_0x3cda60);}})[_0x6ddf('0x1c')](handleError(_0x5a3bdc,null));};exports[_0x6ddf('0x6f')]=function(_0x783b6d,_0x4a9d6b,_0x4e327a){if(_0x783b6d[_0x6ddf('0x4e')]&&_0x783b6d['file'][_0x6ddf('0x4f')]){_0x783b6d[_0x6ddf('0x4b')]['favicon']=_0x783b6d[_0x6ddf('0x4e')][_0x6ddf('0x4f')];}return db[_0x6ddf('0x2f')][_0x6ddf('0x4c')]({'where':{'id':_0x783b6d[_0x6ddf('0x49')]['id']}})[_0x6ddf('0x14')](handleEntityNotFound(_0x4a9d6b,null))['then'](saveUpdates(_0x783b6d[_0x6ddf('0x4b')],null))[_0x6ddf('0x14')](respondWithResult(_0x4a9d6b,null))[_0x6ddf('0x1c')](handleError(_0x4a9d6b,null));};var utilLicense=require(_0x6ddf('0x52'));exports[_0x6ddf('0x70')]=function(_0x5cacae,_0x29b215,_0x241e0e){var _0x2b7851='server/files/images/logos';var _0xa780a5={'custom':![]};return utilLicense[_0x6ddf('0x54')]()['then'](function(_0x59d40f){if(_0x59d40f){_0xa780a5=_0x59d40f;}return db[_0x6ddf('0x2f')][_0x6ddf('0x4c')]({'where':{'id':_0x5cacae[_0x6ddf('0x49')]['id']},'attributes':[_0x6ddf('0x50'),_0x6ddf('0x51'),'preferred','favicon','defaultLogo','defaultLoginLogo',_0x6ddf('0x56'),_0x6ddf('0x57')],'raw':!![]});})[_0x6ddf('0x14')](handleEntityNotFound(_0x29b215,null))[_0x6ddf('0x14')](function(_0x2e9138){if(_0x2e9138){var _0x4e34da=_0x2e9138['favicon']&&fs['existsSync'](path[_0x6ddf('0x59')](config[_0x6ddf('0x5a')],_0x2b7851,_['toLower'](_0x2e9138[_0x6ddf('0x55')])))?path['join'](config[_0x6ddf('0x5a')],_0x2b7851,_['toLower'](_0x2e9138[_0x6ddf('0x55')])):path['join'](config[_0x6ddf('0x5a')],_0x2b7851,_[_0x6ddf('0x5b')]('default_favicon.ico'));var _0x1c6a9b=_0x6ddf('0x5d')+_['upperFirst'](_0x6ddf('0x55'));if(_0x2e9138[_0x1c6a9b]||!_0xa780a5[_0x6ddf('0x5e')]){_0x4e34da=path['join'](config['root'],_0x2b7851,_['toLower']('default_favicon.ico'));}if(!fs[_0x6ddf('0x58')](_0x4e34da)){throw new db[(_0x6ddf('0x68'))]['ValidationError'](_[_0x6ddf('0x60')](_0x6ddf('0x55'))+_0x6ddf('0x61'));}return _0x29b215[_0x6ddf('0x62')](_0x4e34da);}})[_0x6ddf('0x1c')](handleError(_0x29b215,null));};exports[_0x6ddf('0x71')]=function(_0x11a50a,_0x4e381c){var _0x41118e={'offset':moment()[_0x6ddf('0x72')]()};_0x41118e[_0x6ddf('0x73')]=moment()[_0x6ddf('0x72')](_0x41118e[_0x6ddf('0x21')])[_0x6ddf('0x74')](_0x6ddf('0x75'));return _0x4e381c[_0x6ddf('0x1e')](0xc8)[_0x6ddf('0x2c')](_0x41118e);};