Built motion from commit 55091a5c.|2.6.30
[motion2.git] / server / components / auth / service.js
index f3f2194..11cdd88 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xe6cf=['send','retrieveApiKey','isNil','apiKeyIat','generateApiKey','regenerateApiKey','Please\x20use\x20the\x20previous\x20API\x20access\x20key\x20to\x20generate\x20a\x20new\x20one','validatePasswordPattern','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~!@#$%^&-_=+[{]}.','validatePasswordHistory','decryptString','split','toLowerCase','The\x20password\x20must\x20be\x20different\x20from\x20the\x20last\x20one.\x20Please\x20choose\x20another\x20one.','updatePasswordsHistory','length','splice','encryptString','join','promisify','sign','session','payload','options','randomBytes','toString','hex','floor','now','HS512','../../mysqldb','../../config/environment','../../config/license/util','../encryptor','lodash','express-jwt','composable-middleware','basic-auth','crypto','bluebird','util','moment','secrets','role','fullname','name','email','permissions','md5secret','voicePause','chatPause','mailPause','faxPause','smsPause','openchannelPause','pauseType','showWebBar','lastLoginAt','lastPauseAt','crudPermissions','allowmessenger','passwordResetAt','alias','phoneBarAutoAnswer','phoneBarAutoAnswerDelay','phoneBarDnd','phoneBarEnableDtmfTone','phoneBarEnableSettings','phoneBarExpires','phoneBarRemoteControl','phoneBarRemoteControlPort','hotdesk','interface','userProfileId','privacyEnabled','settingsEnabled','downloadVoiceRecordings','downloadOmnichannelInteractions','downloadAttachments','ignorePauseForPreviewCalls','selectRecallMeCampaign','chatAutoanswerDelay','emailAutoanswerDelay','smsAutoanswer','smsAutoanswerDelay','openchannelAutoanswer','openchannelAutoanswerDelay','faxAutoanswer','faxAutoanswerDelay','whatsappAutoanswer','whatsappAutoanswerDelay','messengerSoundNotification','isAuthenticated','use','user','ChatInteraction','findOne','closed','disposition','then','query','forceDownload','status','unmanaged','json','Unmanaged.','catch','headers','authorization','startsWith','User','find','authenticate','pass','Wrong\x20credentials.','Unknown\x20authorization\x20format','apikey','getUuid','sub','Setting','blockDuration','isEqual','apiKeyNonce','nonce','API\x20access\x20key\x20is\x20not\x20valid\x20anymore','Invalid\x20API\x20access\x20key','blocked','blockedAt','add','minutes','User\x20not\x20found.','canUpdate','getLicense','update','Forbidden','isWebrtcLicence','webrtc','isMiddleware','It\x20looks\x20like\x20you\x20aren\x27t\x20logged\x20in,\x20please\x20try\x20again.','motion.token'];(function(_0xabd916,_0x60401a){var _0x8ef27d=function(_0x24ed4b){while(--_0x24ed4b){_0xabd916['push'](_0xabd916['shift']());}};_0x8ef27d(++_0x60401a);}(_0xe6cf,0x13f));var _0xfe6c=function(_0x6cfb8a,_0x53be6f){_0x6cfb8a=_0x6cfb8a-0x0;var _0x29ba1d=_0xe6cf[_0x6cfb8a];return _0x29ba1d;};'use strict';var db=require(_0xfe6c('0x0'))['db'];var config=require(_0xfe6c('0x1'));var hardwareConf=require('../../config/license/hardware');var licenseUtil=require(_0xfe6c('0x2'));var encryptor=require(_0xfe6c('0x3'));var _=require(_0xfe6c('0x4'));var jwt=require('jsonwebtoken');var expressJwt=require(_0xfe6c('0x5'));var compose=require(_0xfe6c('0x6'));var basicAuth=require(_0xfe6c('0x7'));var crypto=require(_0xfe6c('0x8'));var BPromise=require(_0xfe6c('0x9'));var util=require(_0xfe6c('0xa'));var moment=require(_0xfe6c('0xb'));var validateJwt=expressJwt({'secret':config[_0xfe6c('0xc')]['session']});var userAttributes=['id',_0xfe6c('0xd'),_0xfe6c('0xe'),_0xfe6c('0xf'),'internal',_0xfe6c('0x10'),'userpic',_0xfe6c('0x11'),_0xfe6c('0x12'),_0xfe6c('0x13'),_0xfe6c('0x14'),_0xfe6c('0x15'),_0xfe6c('0x16'),_0xfe6c('0x17'),_0xfe6c('0x18'),_0xfe6c('0x19'),_0xfe6c('0x1a'),_0xfe6c('0x1b'),_0xfe6c('0x1c'),_0xfe6c('0x1d'),_0xfe6c('0x1e'),_0xfe6c('0x1f'),_0xfe6c('0x20'),_0xfe6c('0x21'),_0xfe6c('0x22'),_0xfe6c('0x23'),'phoneBarEnableRecording',_0xfe6c('0x24'),_0xfe6c('0x25'),_0xfe6c('0x26'),'phoneBarPrefixRequired',_0xfe6c('0x27'),_0xfe6c('0x28'),_0xfe6c('0x29'),_0xfe6c('0x2a'),_0xfe6c('0x2b'),_0xfe6c('0x2c'),_0xfe6c('0x2d'),'wssPort',_0xfe6c('0x2e'),_0xfe6c('0x2f'),_0xfe6c('0x30'),_0xfe6c('0x31'),_0xfe6c('0x32'),'chatAutoanswer',_0xfe6c('0x33'),'emailAutoanswer',_0xfe6c('0x34'),_0xfe6c('0x35'),_0xfe6c('0x36'),_0xfe6c('0x37'),_0xfe6c('0x38'),_0xfe6c('0x39'),_0xfe6c('0x3a'),_0xfe6c('0x3b'),_0xfe6c('0x3c'),_0xfe6c('0x3d')];exports['isChatInteractionAuthorized']=function(){return this[_0xfe6c('0x3e')](!![])[_0xfe6c('0x3f')](function(_0x4a7132,_0x2c4220,_0x348daf){if(_0x4a7132[_0xfe6c('0x40')]){_0x348daf();}else{return db[_0xfe6c('0x41')][_0xfe6c('0x42')]({'where':{'id':_0x4a7132['params']['id']},'attributes':['id',_0xfe6c('0x43'),_0xfe6c('0x44')],'raw':!![]})[_0xfe6c('0x45')](function(_0x16d463){if(_0x16d463&&_0x16d463[_0xfe6c('0x43')]&&!_0x4a7132[_0xfe6c('0x46')][_0xfe6c('0x47')]){return _0x2c4220[_0xfe6c('0x48')](_0x16d463['disposition']===_0xfe6c('0x49')?0x195:0x193)[_0xfe6c('0x4a')]({'message':_0x16d463['disposition']===_0xfe6c('0x49')?_0xfe6c('0x4b'):'Forbidden.'});}else{_0x348daf();}})[_0xfe6c('0x4c')](function(_0x3f123b){_0x348daf(_0x3f123b);});}});};exports[_0xfe6c('0x3e')]=function isAuthenticated(_0x50e555){return compose()[_0xfe6c('0x3f')](function(_0x243fc5,_0xfbe5a2,_0x3957ce){var _0xe8029e;if(_0x243fc5[_0xfe6c('0x4d')][_0xfe6c('0x4e')]){if(_[_0xfe6c('0x4f')](_0x243fc5[_0xfe6c('0x4d')]['authorization'],'Basic')){var _0x22b9e0=basicAuth(_0x243fc5);db[_0xfe6c('0x50')][_0xfe6c('0x51')]({'where':{'name':_0x22b9e0['name']}})[_0xfe6c('0x45')](function(_0x266675){if(!_0x266675||!_0x266675[_0xfe6c('0x52')](_0x22b9e0[_0xfe6c('0x53')])){return _0xfbe5a2['status'](0x191)['json']({'message':_0xfe6c('0x54')});}_0x243fc5[_0xfe6c('0x40')]={'id':_0x266675['id']};_0x3957ce();})[_0xfe6c('0x4c')](function(_0x5c012f){_0x3957ce(_0x5c012f);});}else if(_[_0xfe6c('0x4f')](_0x243fc5['headers'][_0xfe6c('0x4e')],'Bearer')){validateJwt(_0x243fc5,_0xfbe5a2,_0x3957ce);}else{if(_0x50e555){_0x3957ce();}else{return _0xfbe5a2[_0xfe6c('0x48')](0x193)[_0xfe6c('0x4a')]({'message':_0xfe6c('0x55')});}}}else if(_0x243fc5['query'][_0xfe6c('0x56')]){try{var _0x2f7213={'audience':hardwareConf[_0xfe6c('0x57')](),'issuer':hardwareConf[_0xfe6c('0x57')]()};verifyJwt(_0x243fc5[_0xfe6c('0x46')][_0xfe6c('0x56')],_0x2f7213)[_0xfe6c('0x45')](function(_0x2b0def){return db[_0xfe6c('0x50')]['find']({'where':{'id':_0x2b0def[_0xfe6c('0x58')]}})[_0xfe6c('0x45')](function(_0x618f20){_0xe8029e=_0x618f20;return db[_0xfe6c('0x59')][_0xfe6c('0x42')]({'where':{'id':0x1},'attributes':['allowedLoginAttempts',_0xfe6c('0x5a')],'raw':!![]});})['then'](function(_0x140e7c){if(!_0xe8029e||!_[_0xfe6c('0x5b')](_0xe8029e[_0xfe6c('0x5c')],_0x2b0def[_0xfe6c('0x5d')])){return _0xfbe5a2[_0xfe6c('0x48')](0x191)[_0xfe6c('0x4a')]({'message':_0xfe6c('0x5e')});}if(_0xe8029e['disabled']){return _0xfbe5a2[_0xfe6c('0x48')](0x191)[_0xfe6c('0x4a')]({'message':_0xfe6c('0x5f')});}if(_0xe8029e[_0xfe6c('0x60')]){if(_0x140e7c[_0xfe6c('0x5a')]>0x0){if(moment(_0xe8029e[_0xfe6c('0x61')])[_0xfe6c('0x62')](_0x140e7c[_0xfe6c('0x5a')],_0xfe6c('0x63'))>moment()){return _0xfbe5a2[_0xfe6c('0x48')](0x191)['json']({'message':'Invalid\x20API\x20access\x20key'});}}else{return _0xfbe5a2['status'](0x191)[_0xfe6c('0x4a')]({'message':'Invalid\x20API\x20access\x20key'});}}_0x243fc5[_0xfe6c('0x40')]={'id':_0xe8029e['id']};_0x3957ce();});})[_0xfe6c('0x4c')](function(){return _0xfbe5a2['status'](0x191)[_0xfe6c('0x4a')]({'message':_0xfe6c('0x5f')});});}catch(_0x3b643f){_0x3957ce(_0x3b643f);}}else if(_0x50e555){_0x3957ce();}else{return _0xfbe5a2[_0xfe6c('0x48')](0x193)['json']({'message':'Unknown\x20authorization\x20format'});}})[_0xfe6c('0x3f')](function(_0x4e913f,_0x40c4d7,_0x481336){if(_0x4e913f[_0xfe6c('0x40')]){db[_0xfe6c('0x50')][_0xfe6c('0x51')]({'where':{'id':_0x4e913f[_0xfe6c('0x40')]['id']},'attributes':userAttributes})[_0xfe6c('0x45')](function(_0x93d35){if(!_0x93d35){return _0x40c4d7[_0xfe6c('0x48')](0x194)[_0xfe6c('0x4a')]({'message':_0xfe6c('0x64')});}_0x4e913f[_0xfe6c('0x40')]=_0x93d35;_0x481336();})[_0xfe6c('0x4c')](function(_0x394017){_0x481336(_0x394017);});}else if(_0x50e555){_0x481336();}else{return _0x40c4d7[_0xfe6c('0x48')](0x194)['json']({'message':'User\x20object\x20not\x20found.'});}});};exports[_0xfe6c('0x65')]=function canUpdate(){return compose()[_0xfe6c('0x3f')](function(_0x5dd8bd,_0x3dcb01,_0x3926b7){return licenseUtil[_0xfe6c('0x66')]()['then'](function(_0x449fd2){if(_0x449fd2[_0xfe6c('0x67')]){_0x3926b7();}else{return _0x3dcb01[_0xfe6c('0x48')](0x193)[_0xfe6c('0x4a')]({'message':_0xfe6c('0x68')});}})[_0xfe6c('0x4c')](function(_0x1ae6e8){_0x3926b7(_0x1ae6e8);});});};exports[_0xfe6c('0x69')]=function isWebrtcLicence(){return compose()[_0xfe6c('0x3f')](function(_0x32bfca,_0x17525d,_0x1e770c){return licenseUtil[_0xfe6c('0x66')]()[_0xfe6c('0x45')](function(_0x132c75){if(_0x132c75[_0xfe6c('0x6a')]){_0x1e770c();}else{return _0x17525d[_0xfe6c('0x48')](0x193)[_0xfe6c('0x4a')]({'message':_0xfe6c('0x68')});}})['catch'](function(_0xe7ea77){_0x1e770c(_0xe7ea77);});});};exports[_0xfe6c('0x6b')]=function(_0x48a502,_0x26a7d8,_0x3dc3b6){_0x48a502[_0xfe6c('0x6b')]=!![];return _0x3dc3b6();};exports['signToken']=function signToken(_0x1f7afd){return signJwt(_0x1f7afd);};exports['setTokenCookie']=function(_0x2645a7,_0x31d85d){if(!_0x2645a7[_0xfe6c('0x40')]){return _0x31d85d['status'](0x194)[_0xfe6c('0x4a')]({'message':_0xfe6c('0x6c')});}var _0x461621={'payload':{'id':_0x2645a7[_0xfe6c('0x40')]['id'],'role':_0x2645a7['user'][_0xfe6c('0xd')]},'options':{'expiresIn':0x15180}};return signJwt(_0x461621)[_0xfe6c('0x45')](function(_0x4edae6){_0x31d85d['cookie'](_0xfe6c('0x6d'),_0x4edae6);_0x31d85d['redirect']('/dashboards/general');})[_0xfe6c('0x4c')](function(_0x5d0b0b){return _0x31d85d[_0xfe6c('0x48')](0x1f4)[_0xfe6c('0x6e')](_0x5d0b0b);});};exports[_0xfe6c('0x6f')]=function(_0x320750){if(_[_0xfe6c('0x70')](_0x320750['apiKeyNonce'])||_[_0xfe6c('0x70')](_0x320750[_0xfe6c('0x71')])){return null;}else{return createJwt(_0x320750);}};exports[_0xfe6c('0x72')]=function(_0x4666d1){_0x4666d1[_0xfe6c('0x5c')]=generateNonce();_0x4666d1[_0xfe6c('0x71')]=generateIssuedAt();return createJwt(_0x4666d1);};exports[_0xfe6c('0x73')]=function(_0x371d73,_0x4c59cb){var _0x4c8d75=_0x371d73['query'][_0xfe6c('0x56')];if(_0x4c8d75){var _0x492b50={'nonce':_0x4c59cb[_0xfe6c('0x5c')],'iat':_0x4c59cb['apiKeyIat'],'audience':hardwareConf['getUuid'](),'issuer':hardwareConf[_0xfe6c('0x57')]()};return verifyJwt(_0x4c8d75,_0x492b50)[_0xfe6c('0x45')](function(){return generateApiKey(_0x4c59cb);});}else{throw{'message':_0xfe6c('0x74')};}};exports[_0xfe6c('0x75')]=function(_0x2f8b44){var _0x1ec67b=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(!_0x1ec67b[_0xfe6c('0x76')](_0x2f8b44))throw new db[(_0xfe6c('0x77'))][(_0xfe6c('0x78'))](_0xfe6c('0x79'));return;};exports[_0xfe6c('0x7a')]=function(_0x3b3786,_0x477a82,_0x196dae){var _0x57d65b=encryptor[_0xfe6c('0x7b')](_0x477a82)[_0xfe6c('0x7c')](',');for(var _0x803a90=0x0;_0x803a90<_0x196dae;_0x803a90++){if(!_0x57d65b[_0x803a90])break;if(_0x3b3786['toLowerCase']()===_0x57d65b[_0x803a90][_0xfe6c('0x7d')]()){var _0x3d4e0e=util['format']('The\x20password\x20must\x20be\x20different\x20from\x20the\x20previous\x20%d\x20passwords.\x20Please\x20choose\x20another\x20one.',_0x196dae);if(_0x196dae===0x1){_0x3d4e0e=_0xfe6c('0x7e');}throw new db[(_0xfe6c('0x77'))]['ValidationError'](_0x3d4e0e);}}return;};exports[_0xfe6c('0x7f')]=function(_0x11f66b,_0x243a45){var _0x40d42c=_0x243a45?encryptor[_0xfe6c('0x7b')](_0x243a45)[_0xfe6c('0x7c')](','):[];if(_0x40d42c[_0xfe6c('0x80')]===0x5){_0x40d42c[_0xfe6c('0x81')](-0x1,0x1);}_0x40d42c['unshift'](_0x11f66b);return encryptor[_0xfe6c('0x82')](_0x40d42c[_0xfe6c('0x83')](','));};function signJwt(_0x422227){var _0x4ab95b=BPromise[_0xfe6c('0x84')](jwt[_0xfe6c('0x85')],{'context':jwt});var _0x382d5e=_0x422227['secret']||config['secrets'][_0xfe6c('0x86')];return new BPromise(function(_0x2d4269,_0xa4893d){_0x4ab95b(_0x422227[_0xfe6c('0x87')],_0x382d5e,_0x422227[_0xfe6c('0x88')])['then'](function(_0x567e6f){_0x2d4269(_0x567e6f);})[_0xfe6c('0x4c')](function(_0x347fe1){_0xa4893d(_0x347fe1);});});}function verifyJwt(_0x4bde5e,_0x3f0298,_0xfb1ce1){var _0x54241c=BPromise['promisify'](jwt['verify'],{'context':jwt});var _0x3f090d=_0xfb1ce1||config['secrets'][_0xfe6c('0x86')];return new BPromise(function(_0x5e3737,_0x233064){_0x54241c(_0x4bde5e,_0x3f090d,_0x3f0298)[_0xfe6c('0x45')](function(_0x938ce2){_0x5e3737(_0x938ce2);})[_0xfe6c('0x4c')](function(_0x5cfb11){_0x233064(_0x5cfb11);});});}function generateNonce(){return crypto[_0xfe6c('0x89')](0x10)[_0xfe6c('0x8a')](_0xfe6c('0x8b'));}function generateIssuedAt(){return Math[_0xfe6c('0x8c')](Date[_0xfe6c('0x8d')]()/0x3e8)[_0xfe6c('0x8a')]();}function createJwt(_0x1b86a6){var _0x407539={'payload':{'iat':_0x1b86a6[_0xfe6c('0x71')],'nonce':_0x1b86a6[_0xfe6c('0x5c')]},'options':{'algorithm':_0xfe6c('0x8e'),'subject':_0x1b86a6['id']['toString'](),'issuer':hardwareConf[_0xfe6c('0x57')](),'audience':hardwareConf['getUuid']()}};return signJwt(_0x407539)[_0xfe6c('0x45')](function(_0x295a4e){return{'iat':_0x1b86a6[_0xfe6c('0x71')],'nonce':_0x1b86a6['apiKeyNonce'],'token':_0x295a4e};});}
\ No newline at end of file
+var _0x8de3=['query','forceDownload','status','unmanaged','json','Unmanaged.','Forbidden.','catch','isAuthenticated','headers','startsWith','authorization','Basic','User','find','authenticate','pass','Wrong\x20credentials.','Unknown\x20authorization\x20format','getUuid','apikey','sub','Setting','allowedLoginAttempts','blockDuration','isEqual','API\x20access\x20key\x20is\x20not\x20valid\x20anymore','disabled','Invalid\x20API\x20access\x20key','blockedAt','add','minutes','User\x20not\x20found.','User\x20object\x20not\x20found.','canUpdate','getLicense','Forbidden','isMiddleware','signToken','motion.token','redirect','apiKeyNonce','apiKeyIat','generateApiKey','regenerateApiKey','Please\x20use\x20the\x20previous\x20API\x20access\x20key\x20to\x20generate\x20a\x20new\x20one','validatePasswordPattern','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~!@#$%^&-_=+[{]}.','validatePasswordHistory','decryptString','split','toLowerCase','format','The\x20password\x20must\x20be\x20different\x20from\x20the\x20previous\x20%d\x20passwords.\x20Please\x20choose\x20another\x20one.','The\x20password\x20must\x20be\x20different\x20from\x20the\x20last\x20one.\x20Please\x20choose\x20another\x20one.','updatePasswordsHistory','length','splice','unshift','encryptString','promisify','sign','secret','payload','options','verify','randomBytes','toString','floor','now','HS512','../../mysqldb','../../config/environment','../../config/license/util','lodash','jsonwebtoken','express-jwt','composable-middleware','basic-auth','util','moment','secrets','session','role','fullname','name','userpic','mailPause','smsPause','openchannelPause','showWebBar','lastLoginAt','lastPauseAt','crudPermissions','allowmessenger','passwordResetAt','phoneBarAutoAnswer','phoneBarAutoAnswerDelay','phoneBarDnd','phoneBarEnableDtmfTone','phoneBarEnableSettings','phoneBarExpires','phoneBarPrefixRequired','phoneBarRemoteControlPort','hotdesk','interface','userProfileId','privacyEnabled','settingsEnabled','downloadVoiceRecordings','downloadAttachments','ignorePauseForPreviewCalls','selectRecallMeCampaign','emailAutoanswerDelay','smsAutoanswer','smsAutoanswerDelay','openchannelAutoanswer','faxAutoanswer','faxAutoanswerDelay','whatsappAutoanswer','whatsappAutoanswerDelay','messengerSoundNotification','isChatInteractionAuthorized','use','user','ChatInteraction','findOne','params','closed','disposition','then'];(function(_0x3dea6e,_0x8a6a5f){var _0x38d7c8=function(_0x2203b2){while(--_0x2203b2){_0x3dea6e['push'](_0x3dea6e['shift']());}};_0x38d7c8(++_0x8a6a5f);}(_0x8de3,0x1d4));var _0x38de=function(_0x326a44,_0x41c393){_0x326a44=_0x326a44-0x0;var _0x218e10=_0x8de3[_0x326a44];return _0x218e10;};'use strict';var db=require(_0x38de('0x0'))['db'];var config=require(_0x38de('0x1'));var hardwareConf=require('../../config/license/hardware');var licenseUtil=require(_0x38de('0x2'));var encryptor=require('../encryptor');var _=require(_0x38de('0x3'));var jwt=require(_0x38de('0x4'));var expressJwt=require(_0x38de('0x5'));var compose=require(_0x38de('0x6'));var basicAuth=require(_0x38de('0x7'));var crypto=require('crypto');var BPromise=require('bluebird');var util=require(_0x38de('0x8'));var moment=require(_0x38de('0x9'));var validateJwt=expressJwt({'secret':config[_0x38de('0xa')][_0x38de('0xb')]});var userAttributes=['id',_0x38de('0xc'),_0x38de('0xd'),_0x38de('0xe'),'internal','email',_0x38de('0xf'),'permissions','md5secret','voicePause','chatPause',_0x38de('0x10'),'faxPause',_0x38de('0x11'),_0x38de('0x12'),'pauseType',_0x38de('0x13'),_0x38de('0x14'),_0x38de('0x15'),_0x38de('0x16'),_0x38de('0x17'),_0x38de('0x18'),'alias',_0x38de('0x19'),_0x38de('0x1a'),_0x38de('0x1b'),'phoneBarEnableRecording',_0x38de('0x1c'),_0x38de('0x1d'),_0x38de('0x1e'),_0x38de('0x1f'),'phoneBarRemoteControl',_0x38de('0x20'),_0x38de('0x21'),_0x38de('0x22'),_0x38de('0x23'),_0x38de('0x24'),_0x38de('0x25'),'wssPort',_0x38de('0x26'),'downloadOmnichannelInteractions',_0x38de('0x27'),_0x38de('0x28'),_0x38de('0x29'),'chatAutoanswer','chatAutoanswerDelay','emailAutoanswer',_0x38de('0x2a'),_0x38de('0x2b'),_0x38de('0x2c'),_0x38de('0x2d'),'openchannelAutoanswerDelay',_0x38de('0x2e'),_0x38de('0x2f'),_0x38de('0x30'),_0x38de('0x31'),_0x38de('0x32')];exports[_0x38de('0x33')]=function(){return this['isAuthenticated'](!![])[_0x38de('0x34')](function(_0x22faf5,_0x2d149f,_0x4fbaca){if(_0x22faf5[_0x38de('0x35')]){_0x4fbaca();}else{return db[_0x38de('0x36')][_0x38de('0x37')]({'where':{'id':_0x22faf5[_0x38de('0x38')]['id']},'attributes':['id',_0x38de('0x39'),_0x38de('0x3a')],'raw':!![]})[_0x38de('0x3b')](function(_0x47efd9){if(_0x47efd9&&_0x47efd9['closed']&&!_0x22faf5[_0x38de('0x3c')][_0x38de('0x3d')]){return _0x2d149f[_0x38de('0x3e')](_0x47efd9[_0x38de('0x3a')]===_0x38de('0x3f')?0x195:0x193)[_0x38de('0x40')]({'message':_0x47efd9[_0x38de('0x3a')]===_0x38de('0x3f')?_0x38de('0x41'):_0x38de('0x42')});}else{_0x4fbaca();}})[_0x38de('0x43')](function(_0x49519a){_0x4fbaca(_0x49519a);});}});};exports[_0x38de('0x44')]=function isAuthenticated(_0x35af03){return compose()['use'](function(_0x477779,_0x167bea,_0x38fe71){var _0x16be8a;if(_0x477779[_0x38de('0x45')]['authorization']){if(_[_0x38de('0x46')](_0x477779[_0x38de('0x45')][_0x38de('0x47')],_0x38de('0x48'))){var _0x50df5b=basicAuth(_0x477779);db[_0x38de('0x49')][_0x38de('0x4a')]({'where':{'name':_0x50df5b['name']}})[_0x38de('0x3b')](function(_0x3d8cb4){if(!_0x3d8cb4||!_0x3d8cb4[_0x38de('0x4b')](_0x50df5b[_0x38de('0x4c')])){return _0x167bea['status'](0x191)['json']({'message':_0x38de('0x4d')});}_0x477779['user']={'id':_0x3d8cb4['id']};_0x38fe71();})[_0x38de('0x43')](function(_0x5b096d){_0x38fe71(_0x5b096d);});}else if(_[_0x38de('0x46')](_0x477779[_0x38de('0x45')][_0x38de('0x47')],'Bearer')){validateJwt(_0x477779,_0x167bea,_0x38fe71);}else{if(_0x35af03){_0x38fe71();}else{return _0x167bea[_0x38de('0x3e')](0x193)['json']({'message':_0x38de('0x4e')});}}}else if(_0x477779[_0x38de('0x3c')]['apikey']){try{var _0x273dda={'audience':hardwareConf[_0x38de('0x4f')](),'issuer':hardwareConf[_0x38de('0x4f')]()};verifyJwt(_0x477779[_0x38de('0x3c')][_0x38de('0x50')],_0x273dda)[_0x38de('0x3b')](function(_0x931de){return db['User'][_0x38de('0x4a')]({'where':{'id':_0x931de[_0x38de('0x51')]}})[_0x38de('0x3b')](function(_0x117068){_0x16be8a=_0x117068;return db[_0x38de('0x52')][_0x38de('0x37')]({'where':{'id':0x1},'attributes':[_0x38de('0x53'),_0x38de('0x54')],'raw':!![]});})[_0x38de('0x3b')](function(_0x1b85f6){if(!_0x16be8a||!_[_0x38de('0x55')](_0x16be8a['apiKeyNonce'],_0x931de['nonce'])){return _0x167bea[_0x38de('0x3e')](0x191)['json']({'message':_0x38de('0x56')});}if(_0x16be8a[_0x38de('0x57')]){return _0x167bea['status'](0x191)[_0x38de('0x40')]({'message':_0x38de('0x58')});}if(_0x16be8a['blocked']){if(_0x1b85f6['blockDuration']>0x0){if(moment(_0x16be8a[_0x38de('0x59')])[_0x38de('0x5a')](_0x1b85f6[_0x38de('0x54')],_0x38de('0x5b'))>moment()){return _0x167bea[_0x38de('0x3e')](0x191)[_0x38de('0x40')]({'message':_0x38de('0x58')});}}else{return _0x167bea[_0x38de('0x3e')](0x191)[_0x38de('0x40')]({'message':_0x38de('0x58')});}}_0x477779[_0x38de('0x35')]={'id':_0x16be8a['id']};_0x38fe71();});})['catch'](function(){return _0x167bea['status'](0x191)[_0x38de('0x40')]({'message':_0x38de('0x58')});});}catch(_0x587fec){_0x38fe71(_0x587fec);}}else if(_0x35af03){_0x38fe71();}else{return _0x167bea[_0x38de('0x3e')](0x193)['json']({'message':_0x38de('0x4e')});}})[_0x38de('0x34')](function(_0x16555d,_0x5c1fb3,_0x959652){if(_0x16555d[_0x38de('0x35')]){db[_0x38de('0x49')][_0x38de('0x4a')]({'where':{'id':_0x16555d[_0x38de('0x35')]['id']},'attributes':userAttributes})[_0x38de('0x3b')](function(_0x2449f3){if(!_0x2449f3){return _0x5c1fb3[_0x38de('0x3e')](0x194)['json']({'message':_0x38de('0x5c')});}_0x16555d[_0x38de('0x35')]=_0x2449f3;_0x959652();})[_0x38de('0x43')](function(_0x14fbb0){_0x959652(_0x14fbb0);});}else if(_0x35af03){_0x959652();}else{return _0x5c1fb3[_0x38de('0x3e')](0x194)[_0x38de('0x40')]({'message':_0x38de('0x5d')});}});};exports[_0x38de('0x5e')]=function canUpdate(){return compose()[_0x38de('0x34')](function(_0x1dd6ec,_0x2b4c83,_0x14bcda){return licenseUtil[_0x38de('0x5f')]()[_0x38de('0x3b')](function(_0x4175cc){if(_0x4175cc['update']){_0x14bcda();}else{return _0x2b4c83['status'](0x193)[_0x38de('0x40')]({'message':_0x38de('0x60')});}})['catch'](function(_0x461634){_0x14bcda(_0x461634);});});};exports['isWebrtcLicence']=function isWebrtcLicence(){return compose()[_0x38de('0x34')](function(_0x311db9,_0xd5249e,_0x2dea03){return licenseUtil['getLicense']()['then'](function(_0x5198a3){if(_0x5198a3['webrtc']){_0x2dea03();}else{return _0xd5249e[_0x38de('0x3e')](0x193)['json']({'message':_0x38de('0x60')});}})[_0x38de('0x43')](function(_0x40d198){_0x2dea03(_0x40d198);});});};exports['isMiddleware']=function(_0x8903ca,_0x4871ef,_0x5304bb){_0x8903ca[_0x38de('0x61')]=!![];return _0x5304bb();};exports[_0x38de('0x62')]=function signToken(_0x37b4ff){return signJwt(_0x37b4ff);};exports['setTokenCookie']=function(_0x12bc91,_0x208af8){if(!_0x12bc91['user']){return _0x208af8[_0x38de('0x3e')](0x194)[_0x38de('0x40')]({'message':'It\x20looks\x20like\x20you\x20aren\x27t\x20logged\x20in,\x20please\x20try\x20again.'});}var _0x31fef7={'payload':{'id':_0x12bc91[_0x38de('0x35')]['id'],'role':_0x12bc91[_0x38de('0x35')][_0x38de('0xc')]},'options':{'expiresIn':0x15180}};return signJwt(_0x31fef7)['then'](function(_0xf9928){_0x208af8['cookie'](_0x38de('0x63'),_0xf9928);_0x208af8[_0x38de('0x64')]('/dashboards/general');})['catch'](function(_0xf3d69f){return _0x208af8[_0x38de('0x3e')](0x1f4)['send'](_0xf3d69f);});};exports['retrieveApiKey']=function(_0x554d53){if(_['isNil'](_0x554d53[_0x38de('0x65')])||_['isNil'](_0x554d53[_0x38de('0x66')])){return null;}else{return createJwt(_0x554d53);}};exports[_0x38de('0x67')]=function(_0x4bd5fd){_0x4bd5fd[_0x38de('0x65')]=generateNonce();_0x4bd5fd[_0x38de('0x66')]=generateIssuedAt();return createJwt(_0x4bd5fd);};exports[_0x38de('0x68')]=function(_0x4bb6fd,_0x55cd1c){var _0x2ab601=_0x4bb6fd[_0x38de('0x3c')][_0x38de('0x50')];if(_0x2ab601){var _0x37d428={'nonce':_0x55cd1c['apiKeyNonce'],'iat':_0x55cd1c[_0x38de('0x66')],'audience':hardwareConf['getUuid'](),'issuer':hardwareConf[_0x38de('0x4f')]()};return verifyJwt(_0x2ab601,_0x37d428)[_0x38de('0x3b')](function(){return generateApiKey(_0x55cd1c);});}else{throw{'message':_0x38de('0x69')};}};exports[_0x38de('0x6a')]=function(_0x1a0ab0){var _0x33373e=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(!_0x33373e['test'](_0x1a0ab0))throw new db['Sequelize'][(_0x38de('0x6b'))](_0x38de('0x6c'));return;};exports[_0x38de('0x6d')]=function(_0x489b31,_0xc3adad,_0x7b7251){var _0x139c85=encryptor[_0x38de('0x6e')](_0xc3adad)[_0x38de('0x6f')](',');for(var _0xf2a4d=0x0;_0xf2a4d<_0x7b7251;_0xf2a4d++){if(!_0x139c85[_0xf2a4d])break;if(_0x489b31[_0x38de('0x70')]()===_0x139c85[_0xf2a4d][_0x38de('0x70')]()){var _0x1617e3=util[_0x38de('0x71')](_0x38de('0x72'),_0x7b7251);if(_0x7b7251===0x1){_0x1617e3=_0x38de('0x73');}throw new db['Sequelize']['ValidationError'](_0x1617e3);}}return;};exports[_0x38de('0x74')]=function(_0x5dc838,_0x1fc688){var _0x5aaab0=_0x1fc688?encryptor[_0x38de('0x6e')](_0x1fc688)[_0x38de('0x6f')](','):[];if(_0x5aaab0[_0x38de('0x75')]===0x5){_0x5aaab0[_0x38de('0x76')](-0x1,0x1);}_0x5aaab0[_0x38de('0x77')](_0x5dc838);return encryptor[_0x38de('0x78')](_0x5aaab0['join'](','));};function signJwt(_0x7b20a0){var _0x3ffaa8=BPromise[_0x38de('0x79')](jwt[_0x38de('0x7a')],{'context':jwt});var _0x3e5514=_0x7b20a0[_0x38de('0x7b')]||config[_0x38de('0xa')][_0x38de('0xb')];return new BPromise(function(_0x2f280d,_0x45242e){_0x3ffaa8(_0x7b20a0[_0x38de('0x7c')],_0x3e5514,_0x7b20a0[_0x38de('0x7d')])[_0x38de('0x3b')](function(_0x1b0a31){_0x2f280d(_0x1b0a31);})[_0x38de('0x43')](function(_0x12a606){_0x45242e(_0x12a606);});});}function verifyJwt(_0x2e6106,_0x31ec6d,_0x273fdf){var _0x34dd72=BPromise[_0x38de('0x79')](jwt[_0x38de('0x7e')],{'context':jwt});var _0x497737=_0x273fdf||config[_0x38de('0xa')][_0x38de('0xb')];return new BPromise(function(_0x2a78f2,_0x4965ae){_0x34dd72(_0x2e6106,_0x497737,_0x31ec6d)['then'](function(_0x2740a0){_0x2a78f2(_0x2740a0);})[_0x38de('0x43')](function(_0x239377){_0x4965ae(_0x239377);});});}function generateNonce(){return crypto[_0x38de('0x7f')](0x10)[_0x38de('0x80')]('hex');}function generateIssuedAt(){return Math[_0x38de('0x81')](Date[_0x38de('0x82')]()/0x3e8)['toString']();}function createJwt(_0x817850){var _0x176f9d={'payload':{'iat':_0x817850[_0x38de('0x66')],'nonce':_0x817850[_0x38de('0x65')]},'options':{'algorithm':_0x38de('0x83'),'subject':_0x817850['id']['toString'](),'issuer':hardwareConf['getUuid'](),'audience':hardwareConf[_0x38de('0x4f')]()}};return signJwt(_0x176f9d)[_0x38de('0x3b')](function(_0x1fe152){return{'iat':_0x817850[_0x38de('0x66')],'nonce':_0x817850[_0x38de('0x65')],'token':_0x1fe152};});}
\ No newline at end of file