Built motion from commit (unavailable).|2.5.3
[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 _0xd3b1=['getLicense','default_favicon.ico','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','ejs','lodash','squel','jsforce','desk.js','to-csv','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/environment','../../mysqldb','client','test','Sequelize','ValidationError','The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.','then','info','Setting,\x20%s,\x20%s','request\x20sent','debug','stringify','error','code','message','result','catch','sendStatus','end','json','count','offset','limit','status','Content-Range','apply','reject','save','update','destroy','stack','name','send','index','map','rawAttributes','fieldName','type','key','model','keys','filters','query','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','VIRTUAL','merge','options','Setting','includeAll','show','params','include','find','body','addLogo','file','filename','../../config/license/util','getLogo','server/files/images/logos','logo','preferred','defaultLogo','defaultLoginLogo','defaultPreferred','defaultFavicon','existsSync','join','root','toLower','custom','default_logo.png','\x20not\x20found','download','getLogoLogin','loginLogo','favicon','default_loginLogo.png','upperFirst','addPreferred','getPreferred','default_preferred.png','default','addFavicon','getFavicon'];(function(_0x57b54c,_0x54ce0d){var _0x59cc19=function(_0xa33bc6){while(--_0xa33bc6){_0x57b54c['push'](_0x57b54c['shift']());}};_0x59cc19(++_0x54ce0d);}(_0xd3b1,0x7c));var _0x1d3b=function(_0xa464c9,_0x7c86d8){_0xa464c9=_0xa464c9-0x0;var _0x3d73c4=_0xd3b1[_0xa464c9];return _0x3d73c4;};'use strict';var pdf=require(_0x1d3b('0x0'));var emlformat=require(_0x1d3b('0x1'));var rimraf=require(_0x1d3b('0x2'));var zipdir=require(_0x1d3b('0x3'));var jsonpatch=require(_0x1d3b('0x4'));var rp=require('request-promise');var moment=require(_0x1d3b('0x5'));var BPromise=require(_0x1d3b('0x6'));var Mustache=require(_0x1d3b('0x7'));var util=require(_0x1d3b('0x8'));var path=require(_0x1d3b('0x9'));var sox=require(_0x1d3b('0xa'));var csv=require('to-csv');var ejs=require(_0x1d3b('0xb'));var fs=require('fs');var _=require(_0x1d3b('0xc'));var squel=require(_0x1d3b('0xd'));var crypto=require('crypto');var jsforce=require(_0x1d3b('0xe'));var deskjs=require(_0x1d3b('0xf'));var toCsv=require(_0x1d3b('0x10'));var querystring=require('querystring');var Papa=require(_0x1d3b('0x11'));var Redis=require(_0x1d3b('0x12'));var authService=require(_0x1d3b('0x13'));var qs=require(_0x1d3b('0x14'));var as=require(_0x1d3b('0x15'));var hardwareService=require(_0x1d3b('0x16'));var logger=require('../../config/logger')('api');var utils=require(_0x1d3b('0x17'));var config=require(_0x1d3b('0x18'));var db=require(_0x1d3b('0x19'))['db'];var jayson=require('jayson/promise');var client=jayson[_0x1d3b('0x1a')]['http']({'port':0x232a});function checkPasswordPattern(_0x11c1b1,_0x52cbb9,_0x1e4b5c){if(_0x1e4b5c){var _0x58d226=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x58d226[_0x1d3b('0x1b')](_0x52cbb9)){return _0x11c1b1;}else{throw new db[(_0x1d3b('0x1c'))][(_0x1d3b('0x1d'))](_0x1d3b('0x1e'));}}else{return _0x11c1b1;}}function respondWithRpcPromise(_0xbd079f,_0x5d9946,_0x21918b,_0x27defa){return new BPromise(function(_0x300314,_0x185e3a){var _0x192d84=_0x27defa||client;return _0x192d84['request'](_0xbd079f,_0x21918b)[_0x1d3b('0x1f')](function(_0x43f186){logger[_0x1d3b('0x20')](_0x1d3b('0x21'),_0x5d9946,_0x1d3b('0x22'));logger[_0x1d3b('0x23')]('Setting,\x20%s,\x20%s,\x20%s',_0x5d9946,_0x1d3b('0x22'),JSON[_0x1d3b('0x24')](_0x43f186));if(_0x43f186[_0x1d3b('0x25')]){if(_0x43f186[_0x1d3b('0x25')][_0x1d3b('0x26')]===0x1f4){logger['error']('Setting,\x20%s,\x20%s',_0x5d9946,_0x43f186['error'][_0x1d3b('0x27')]);return _0x185e3a(_0x43f186[_0x1d3b('0x25')]['message']);}logger[_0x1d3b('0x25')](_0x1d3b('0x21'),_0x5d9946,_0x43f186[_0x1d3b('0x25')][_0x1d3b('0x27')]);return _0x300314(_0x43f186[_0x1d3b('0x25')]['message']);}else{logger[_0x1d3b('0x20')](_0x1d3b('0x21'),_0x5d9946,_0x1d3b('0x22'));_0x300314(_0x43f186[_0x1d3b('0x28')][_0x1d3b('0x27')]);}})[_0x1d3b('0x29')](function(_0x5a7474){logger[_0x1d3b('0x25')](_0x1d3b('0x21'),_0x5d9946,_0x5a7474);_0x185e3a(_0x5a7474);});});}function respondWithStatusCode(_0x21e80c,_0x2239e3){_0x2239e3=_0x2239e3||0xcc;return function(_0x490e45){if(_0x490e45){return _0x21e80c[_0x1d3b('0x2a')](_0x2239e3);}return _0x21e80c['status'](_0x2239e3)[_0x1d3b('0x2b')]();};}function respondWithResult(_0x1e8e32,_0x27d0a1){_0x27d0a1=_0x27d0a1||0xc8;return function(_0x1dd3db){if(_0x1dd3db){return _0x1e8e32['status'](_0x27d0a1)[_0x1d3b('0x2c')](_0x1dd3db);}};}function respondWithFilteredResult(_0x45c2f2,_0x4cda53){return function(_0x3b0bed){if(_0x3b0bed){var _0x215932=_0x3b0bed[_0x1d3b('0x2d')],_0x1b2e4d=_0x4cda53[_0x1d3b('0x2e')],_0x1e8215=_0x4cda53['offset']+_0x4cda53[_0x1d3b('0x2f')],_0x54c26f;if(_0x1e8215>=_0x215932){_0x1e8215=_0x215932;_0x54c26f=0xc8;}else{_0x54c26f=0xce;}_0x45c2f2[_0x1d3b('0x30')](_0x54c26f);return _0x45c2f2['set'](_0x1d3b('0x31'),_0x1b2e4d+'-'+_0x1e8215+'/'+_0x215932)[_0x1d3b('0x2c')](_0x3b0bed);}return null;};}function patchUpdates(_0x65d2f7){return function(_0x8537c){try{jsonpatch[_0x1d3b('0x32')](_0x8537c,_0x65d2f7,!![]);}catch(_0x5e45cc){return BPromise[_0x1d3b('0x33')](_0x5e45cc);}return _0x8537c[_0x1d3b('0x34')]();};}function saveUpdates(_0x3c01a3,_0x2a673f){return function(_0x2aaee6){if(_0x2aaee6){return _0x2aaee6[_0x1d3b('0x35')](_0x3c01a3)[_0x1d3b('0x1f')](function(_0x1838d5){return _0x1838d5;});}return null;};}function removeEntity(_0xb35aca,_0x1cac1c){return function(_0x2f3a28){if(_0x2f3a28){return _0x2f3a28[_0x1d3b('0x36')]()[_0x1d3b('0x1f')](function(){_0xb35aca[_0x1d3b('0x30')](0xcc)[_0x1d3b('0x2b')]();});}};}function handleEntityNotFound(_0x553233,_0xd7983a){return function(_0x2d9d3b){if(!_0x2d9d3b){_0x553233[_0x1d3b('0x2a')](0x194);}return _0x2d9d3b;};}function handleError(_0x46267a,_0x37d043){_0x37d043=_0x37d043||0x1f4;return function(_0x47a393){logger[_0x1d3b('0x25')](_0x47a393[_0x1d3b('0x37')]);if(_0x47a393[_0x1d3b('0x38')]){delete _0x47a393[_0x1d3b('0x38')];}_0x46267a[_0x1d3b('0x30')](_0x37d043)[_0x1d3b('0x39')](_0x47a393);};}exports[_0x1d3b('0x3a')]=function(_0x7ffb26,_0x5d0b51){var _0x1c0c23={},_0x285e67={},_0x5714ea={'count':0x0,'rows':[]};var _0x20fe13=_[_0x1d3b('0x3b')](db['Setting'][_0x1d3b('0x3c')],function(_0xf9b5a2){return{'name':_0xf9b5a2[_0x1d3b('0x3d')],'type':_0xf9b5a2[_0x1d3b('0x3e')][_0x1d3b('0x3f')]};});_0x285e67[_0x1d3b('0x40')]=_[_0x1d3b('0x3b')](_0x20fe13,'name');_0x285e67['query']=_[_0x1d3b('0x41')](_0x7ffb26['query']);_0x285e67[_0x1d3b('0x42')]=_['intersection'](_0x285e67[_0x1d3b('0x40')],_0x285e67[_0x1d3b('0x43')]);_0x1c0c23[_0x1d3b('0x44')]=_[_0x1d3b('0x45')](_0x285e67[_0x1d3b('0x40')],qs[_0x1d3b('0x46')](_0x7ffb26[_0x1d3b('0x43')][_0x1d3b('0x46')]));_0x1c0c23['attributes']=_0x1c0c23[_0x1d3b('0x44')][_0x1d3b('0x47')]?_0x1c0c23[_0x1d3b('0x44')]:_0x285e67['model'];if(!_0x7ffb26[_0x1d3b('0x43')][_0x1d3b('0x48')](_0x1d3b('0x49'))){_0x1c0c23[_0x1d3b('0x2f')]=qs[_0x1d3b('0x2f')](_0x7ffb26[_0x1d3b('0x43')][_0x1d3b('0x2f')]);_0x1c0c23[_0x1d3b('0x2e')]=qs[_0x1d3b('0x2e')](_0x7ffb26['query'][_0x1d3b('0x2e')]);}_0x1c0c23[_0x1d3b('0x4a')]=qs[_0x1d3b('0x4b')](_0x7ffb26[_0x1d3b('0x43')]['sort']);_0x1c0c23[_0x1d3b('0x4c')]=qs[_0x1d3b('0x42')](_[_0x1d3b('0x4d')](_0x7ffb26[_0x1d3b('0x43')],_0x285e67[_0x1d3b('0x42')]),_0x20fe13);if(_0x7ffb26[_0x1d3b('0x43')][_0x1d3b('0x4e')]){_0x1c0c23[_0x1d3b('0x4c')]=_['merge'](_0x1c0c23[_0x1d3b('0x4c')],{'$or':_[_0x1d3b('0x3b')](_0x20fe13,function(_0x113b86){if(_0x113b86[_0x1d3b('0x3e')]!==_0x1d3b('0x4f')){var _0x416d6f={};_0x416d6f[_0x113b86[_0x1d3b('0x38')]]={'$like':'%'+_0x7ffb26[_0x1d3b('0x43')][_0x1d3b('0x4e')]+'%'};return _0x416d6f;}})});}_0x1c0c23=_[_0x1d3b('0x50')]({},_0x1c0c23,_0x7ffb26[_0x1d3b('0x51')]);var _0x2601f5={'where':_0x1c0c23[_0x1d3b('0x4c')]};return db[_0x1d3b('0x52')][_0x1d3b('0x2d')](_0x2601f5)[_0x1d3b('0x1f')](function(_0x12782a){_0x5714ea[_0x1d3b('0x2d')]=_0x12782a;if(_0x7ffb26[_0x1d3b('0x43')][_0x1d3b('0x53')]){_0x1c0c23['include']=[{'all':!![]}];}return db['Setting']['findAll'](_0x1c0c23);})['then'](function(_0x1ecd50){_0x5714ea['rows']=_0x1ecd50;return _0x5714ea;})['then'](respondWithFilteredResult(_0x5d0b51,_0x1c0c23))[_0x1d3b('0x29')](handleError(_0x5d0b51,null));};exports[_0x1d3b('0x54')]=function(_0x1b5dd7,_0x4b3799){var _0x4b7ffb={'raw':![],'where':{'id':_0x1b5dd7[_0x1d3b('0x55')]['id']}},_0x403edb={};_0x403edb[_0x1d3b('0x40')]=_[_0x1d3b('0x41')](db[_0x1d3b('0x52')][_0x1d3b('0x3c')]);_0x403edb['query']=_[_0x1d3b('0x41')](_0x1b5dd7[_0x1d3b('0x43')]);_0x403edb[_0x1d3b('0x42')]=_['intersection'](_0x403edb[_0x1d3b('0x40')],_0x403edb[_0x1d3b('0x43')]);_0x4b7ffb[_0x1d3b('0x44')]=_[_0x1d3b('0x45')](_0x403edb[_0x1d3b('0x40')],qs['fields'](_0x1b5dd7[_0x1d3b('0x43')][_0x1d3b('0x46')]));_0x4b7ffb[_0x1d3b('0x44')]=_0x4b7ffb['attributes'][_0x1d3b('0x47')]?_0x4b7ffb[_0x1d3b('0x44')]:_0x403edb[_0x1d3b('0x40')];if(_0x1b5dd7['query'][_0x1d3b('0x53')]){_0x4b7ffb[_0x1d3b('0x56')]=[{'all':!![]}];}_0x4b7ffb=_[_0x1d3b('0x50')]({},_0x4b7ffb,_0x1b5dd7[_0x1d3b('0x51')]);return db['Setting'][_0x1d3b('0x57')](_0x4b7ffb)['then'](handleEntityNotFound(_0x4b3799,null))[_0x1d3b('0x1f')](respondWithResult(_0x4b3799,null))[_0x1d3b('0x29')](handleError(_0x4b3799,null));};exports[_0x1d3b('0x35')]=function(_0x4580ca,_0x950257){if(_0x4580ca['body']['id']){delete _0x4580ca[_0x1d3b('0x58')]['id'];}return db[_0x1d3b('0x52')][_0x1d3b('0x57')]({'where':{'id':_0x4580ca[_0x1d3b('0x55')]['id']}})[_0x1d3b('0x1f')](handleEntityNotFound(_0x950257,null))[_0x1d3b('0x1f')](saveUpdates(_0x4580ca[_0x1d3b('0x58')],null))[_0x1d3b('0x1f')](respondWithResult(_0x950257,null))['catch'](handleError(_0x950257,null));};exports[_0x1d3b('0x59')]=function(_0x912311,_0x1d9890,_0x2c9e43){if(_0x912311[_0x1d3b('0x5a')]&&_0x912311[_0x1d3b('0x5a')][_0x1d3b('0x5b')]){_0x912311[_0x1d3b('0x58')]['logo']=_0x912311[_0x1d3b('0x5a')]['filename'];}return db[_0x1d3b('0x52')][_0x1d3b('0x57')]({'where':{'id':_0x912311[_0x1d3b('0x55')]['id']}})['then'](handleEntityNotFound(_0x1d9890,null))['then'](saveUpdates(_0x912311[_0x1d3b('0x58')],null))['then'](respondWithResult(_0x1d9890,null))[_0x1d3b('0x29')](handleError(_0x1d9890,null));};exports['addLogoLogin']=function(_0x2b8ce2,_0x418400,_0x3acb30){if(_0x2b8ce2[_0x1d3b('0x5a')]&&_0x2b8ce2[_0x1d3b('0x5a')][_0x1d3b('0x5b')]){_0x2b8ce2['body']['loginLogo']=_0x2b8ce2[_0x1d3b('0x5a')][_0x1d3b('0x5b')];}return db['Setting'][_0x1d3b('0x57')]({'where':{'id':_0x2b8ce2[_0x1d3b('0x55')]['id']}})[_0x1d3b('0x1f')](handleEntityNotFound(_0x418400,null))['then'](saveUpdates(_0x2b8ce2[_0x1d3b('0x58')],null))[_0x1d3b('0x1f')](respondWithResult(_0x418400,null))[_0x1d3b('0x29')](handleError(_0x418400,null));};var utilLicense=require(_0x1d3b('0x5c'));exports[_0x1d3b('0x5d')]=function(_0x28cfaf,_0x365008,_0x23471d){var _0x3fb9a4=_0x1d3b('0x5e');var _0x4f6da6={'custom':![]};return utilLicense['getLicense']()[_0x1d3b('0x1f')](function(_0x596ed6){if(_0x596ed6){_0x4f6da6=_0x596ed6;}return db[_0x1d3b('0x52')]['find']({'where':{'id':_0x28cfaf[_0x1d3b('0x55')]['id']},'attributes':[_0x1d3b('0x5f'),'loginLogo',_0x1d3b('0x60'),'favicon',_0x1d3b('0x61'),_0x1d3b('0x62'),_0x1d3b('0x63'),_0x1d3b('0x64')],'raw':!![]});})[_0x1d3b('0x1f')](handleEntityNotFound(_0x365008,null))['then'](function(_0x180e6c){if(_0x180e6c){var _0x41dae2=_0x180e6c[_0x1d3b('0x5f')]&&fs[_0x1d3b('0x65')](path[_0x1d3b('0x66')](config[_0x1d3b('0x67')],_0x3fb9a4,_['toLower'](_0x180e6c[_0x1d3b('0x5f')])))?path[_0x1d3b('0x66')](config[_0x1d3b('0x67')],_0x3fb9a4,_[_0x1d3b('0x68')](_0x180e6c['logo'])):path['join'](config[_0x1d3b('0x67')],_0x3fb9a4,_[_0x1d3b('0x68')]('default_logo.png'));var _0x287178='default'+_['upperFirst'](_0x1d3b('0x5f'));if(_0x180e6c[_0x287178]||!_0x4f6da6[_0x1d3b('0x69')]){_0x41dae2=path[_0x1d3b('0x66')](config[_0x1d3b('0x67')],_0x3fb9a4,_[_0x1d3b('0x68')](_0x1d3b('0x6a')));}if(!fs['existsSync'](_0x41dae2)){throw new db[(_0x1d3b('0x1c'))][(_0x1d3b('0x1d'))](_['upperFirst'](_0x1d3b('0x5f'))+_0x1d3b('0x6b'));}return _0x365008[_0x1d3b('0x6c')](_0x41dae2);}})[_0x1d3b('0x29')](handleError(_0x365008,null));};var utilLicense=require(_0x1d3b('0x5c'));exports[_0x1d3b('0x6d')]=function(_0x7b0c2,_0x34ec5f,_0x29145b){var _0x2b6998=_0x1d3b('0x5e');var _0x4a3b5b={'custom':![]};return utilLicense['getLicense']()[_0x1d3b('0x1f')](function(_0x36fd61){if(_0x36fd61){_0x4a3b5b=_0x36fd61;}return db[_0x1d3b('0x52')]['find']({'where':{'id':_0x7b0c2[_0x1d3b('0x55')]['id']},'attributes':[_0x1d3b('0x5f'),_0x1d3b('0x6e'),_0x1d3b('0x60'),_0x1d3b('0x6f'),_0x1d3b('0x61'),_0x1d3b('0x62'),_0x1d3b('0x63'),'defaultFavicon'],'raw':!![]});})[_0x1d3b('0x1f')](handleEntityNotFound(_0x34ec5f,null))[_0x1d3b('0x1f')](function(_0xbee968){if(_0xbee968){var _0x41d081=_0xbee968[_0x1d3b('0x6e')]&&fs['existsSync'](path['join'](config['root'],_0x2b6998,_['toLower'](_0xbee968[_0x1d3b('0x6e')])))?path['join'](config[_0x1d3b('0x67')],_0x2b6998,_[_0x1d3b('0x68')](_0xbee968[_0x1d3b('0x6e')])):path['join'](config['root'],_0x2b6998,_['toLower']('default_loginLogo.png'));var _0x45dbdc='default'+_['upperFirst'](_0x1d3b('0x6e'));if(_0xbee968[_0x45dbdc]||!_0x4a3b5b[_0x1d3b('0x69')]){_0x41d081=path['join'](config['root'],_0x2b6998,_[_0x1d3b('0x68')](_0x1d3b('0x70')));}if(!fs[_0x1d3b('0x65')](_0x41d081)){throw new db[(_0x1d3b('0x1c'))][(_0x1d3b('0x1d'))](_[_0x1d3b('0x71')]('loginLogo')+'\x20not\x20found');}return _0x34ec5f[_0x1d3b('0x6c')](_0x41d081);}})[_0x1d3b('0x29')](handleError(_0x34ec5f,null));};exports['gdpr']=function(_0x48cbf3,_0x4f79c8){return db['Setting'][_0x1d3b('0x57')]({'where':{'id':_0x48cbf3['params']['id']},'attributes':['securePassword']})[_0x1d3b('0x1f')](respondWithResult(_0x4f79c8,null))[_0x1d3b('0x29')](handleError(_0x4f79c8,null));};exports[_0x1d3b('0x72')]=function(_0x1c5678,_0x3ccdce,_0x95fbe3){if(_0x1c5678['file']&&_0x1c5678[_0x1d3b('0x5a')][_0x1d3b('0x5b')]){_0x1c5678[_0x1d3b('0x58')]['preferred']=_0x1c5678[_0x1d3b('0x5a')]['filename'];}return db['Setting'][_0x1d3b('0x57')]({'where':{'id':_0x1c5678[_0x1d3b('0x55')]['id']}})[_0x1d3b('0x1f')](handleEntityNotFound(_0x3ccdce,null))[_0x1d3b('0x1f')](saveUpdates(_0x1c5678['body'],null))[_0x1d3b('0x1f')](respondWithResult(_0x3ccdce,null))[_0x1d3b('0x29')](handleError(_0x3ccdce,null));};var utilLicense=require(_0x1d3b('0x5c'));exports[_0x1d3b('0x73')]=function(_0x3149d7,_0x407dfd,_0x38c04e){var _0x565570=_0x1d3b('0x5e');var _0x452cd6={'custom':![]};return utilLicense['getLicense']()[_0x1d3b('0x1f')](function(_0x58c36b){if(_0x58c36b){_0x452cd6=_0x58c36b;}return db['Setting'][_0x1d3b('0x57')]({'where':{'id':_0x3149d7[_0x1d3b('0x55')]['id']},'attributes':['logo',_0x1d3b('0x6e'),_0x1d3b('0x60'),_0x1d3b('0x6f'),_0x1d3b('0x61'),'defaultLoginLogo',_0x1d3b('0x63'),'defaultFavicon'],'raw':!![]});})[_0x1d3b('0x1f')](handleEntityNotFound(_0x407dfd,null))[_0x1d3b('0x1f')](function(_0xfba392){if(_0xfba392){var _0x20161a=_0xfba392[_0x1d3b('0x60')]&&fs[_0x1d3b('0x65')](path[_0x1d3b('0x66')](config['root'],_0x565570,_[_0x1d3b('0x68')](_0xfba392[_0x1d3b('0x60')])))?path['join'](config['root'],_0x565570,_['toLower'](_0xfba392[_0x1d3b('0x60')])):path[_0x1d3b('0x66')](config[_0x1d3b('0x67')],_0x565570,_['toLower'](_0x1d3b('0x74')));var _0x2325bc=_0x1d3b('0x75')+_[_0x1d3b('0x71')](_0x1d3b('0x60'));if(_0xfba392[_0x2325bc]||!_0x452cd6['custom']||!_0x452cd6[_0x1d3b('0x60')]){_0x20161a=path['join'](config['root'],_0x565570,_['toLower'](_0x1d3b('0x74')));}if(!fs['existsSync'](_0x20161a)){throw new db['Sequelize'][(_0x1d3b('0x1d'))](_['upperFirst']('preferred')+_0x1d3b('0x6b'));}return _0x407dfd[_0x1d3b('0x6c')](_0x20161a);}})[_0x1d3b('0x29')](handleError(_0x407dfd,null));};exports[_0x1d3b('0x76')]=function(_0x15a626,_0x5e9e82,_0x184cd6){if(_0x15a626[_0x1d3b('0x5a')]&&_0x15a626['file'][_0x1d3b('0x5b')]){_0x15a626['body'][_0x1d3b('0x6f')]=_0x15a626[_0x1d3b('0x5a')][_0x1d3b('0x5b')];}return db[_0x1d3b('0x52')][_0x1d3b('0x57')]({'where':{'id':_0x15a626['params']['id']}})[_0x1d3b('0x1f')](handleEntityNotFound(_0x5e9e82,null))[_0x1d3b('0x1f')](saveUpdates(_0x15a626['body'],null))['then'](respondWithResult(_0x5e9e82,null))[_0x1d3b('0x29')](handleError(_0x5e9e82,null));};var utilLicense=require('../../config/license/util');exports[_0x1d3b('0x77')]=function(_0x4a2ec4,_0x44ed82,_0x4ca178){var _0x3ea3e=_0x1d3b('0x5e');var _0x373c1f={'custom':![]};return utilLicense[_0x1d3b('0x78')]()[_0x1d3b('0x1f')](function(_0x47d800){if(_0x47d800){_0x373c1f=_0x47d800;}return db[_0x1d3b('0x52')][_0x1d3b('0x57')]({'where':{'id':_0x4a2ec4[_0x1d3b('0x55')]['id']},'attributes':[_0x1d3b('0x5f'),'loginLogo','preferred','favicon',_0x1d3b('0x61'),'defaultLoginLogo','defaultPreferred',_0x1d3b('0x64')],'raw':!![]});})['then'](handleEntityNotFound(_0x44ed82,null))[_0x1d3b('0x1f')](function(_0x2903a2){if(_0x2903a2){var _0x418693=_0x2903a2['favicon']&&fs[_0x1d3b('0x65')](path[_0x1d3b('0x66')](config[_0x1d3b('0x67')],_0x3ea3e,_['toLower'](_0x2903a2[_0x1d3b('0x6f')])))?path[_0x1d3b('0x66')](config[_0x1d3b('0x67')],_0x3ea3e,_[_0x1d3b('0x68')](_0x2903a2[_0x1d3b('0x6f')])):path['join'](config[_0x1d3b('0x67')],_0x3ea3e,_['toLower'](_0x1d3b('0x79')));var _0xbe9397=_0x1d3b('0x75')+_[_0x1d3b('0x71')]('favicon');if(_0x2903a2[_0xbe9397]||!_0x373c1f[_0x1d3b('0x69')]){_0x418693=path['join'](config[_0x1d3b('0x67')],_0x3ea3e,_[_0x1d3b('0x68')](_0x1d3b('0x79')));}if(!fs[_0x1d3b('0x65')](_0x418693)){throw new db['Sequelize'][(_0x1d3b('0x1d'))](_[_0x1d3b('0x71')](_0x1d3b('0x6f'))+'\x20not\x20found');}return _0x44ed82[_0x1d3b('0x6c')](_0x418693);}})[_0x1d3b('0x29')](handleError(_0x44ed82,null));};