Built motion from commit c738b9ac.|2.6.25
[motion2.git] / server / api / authLocal / authLocal.controller.js
index 23f2b12..787edd2 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x5b97=['SendMail','error','SendMail\x20error:\x20%s.\x20Please\x20contact\x20your\x20Administrator!','message','stringify','send','authenticate','local-login','Something\x20went\x20wrong,\x20please\x20try\x20again.','signToken','json','online','forgot','Email\x20parameter\x20is\x20missing','generate','body','trim','toLowerCase','User','This\x20email\x20is\x20not\x20registered.','The\x20user\x20is\x20disabled.\x20Please\x20contact\x20the\x20administrator.','The\x20user\x20is\x20blocked.\x20Please\x20contact\x20the\x20administrator.','resetPasswordToken','now','save','xCally\x20Motion\x20Password\x20Reset','You\x20are\x20receiving\x20this\x20because\x20you\x20(or\x20someone\x20else)\x20have\x20requested\x20the\x20reset\x20of\x20the\x20password\x20for\x20your\x20account.\x0a\x0a','Please\x20click\x20on\x20the\x20following\x20link,\x20or\x20paste\x20this\x20into\x20your\x20browser\x20to\x20complete\x20the\x20process:\x0a\x0a','https://','headers','host','/reset/','If\x20you\x20did\x20not\x20request\x20this,\x20please\x20ignore\x20this\x20email\x20and\x20your\x20password\x20will\x20remain\x20unchanged.\x0a','status','reset','params','Password\x20reset\x20token\x20is\x20invalid\x20or\x20has\x20expired.','securePassword','enforcePasswordHistory','passwordHistoryLimit','validatePasswordPattern','previousPasswords','validatePasswordHistory','resetPasswordExpires','use','util','passport','passport-local','Strategy','jayson/promise','moment','../../mysqldb','client','http','Setting','findOne','allowedLoginAttempts','blockDuration','password','salt','role','disabled','blockedAt','admin','user','agent','then','Incorrect\x20username\x20and/or\x20password.\x20Please\x20retry\x20again\x20or\x20contact\x20the\x20administrator.','loginAttempts','blocked','add','minutes','clearBlockUser','getLicense','catch','MailAccount','find','name','email','Smtp','CloudProvider','getSmtpOptions','merge','format','request'];(function(_0x2f3848,_0x48564d){var _0x102668=function(_0x5e32ab){while(--_0x5e32ab){_0x2f3848['push'](_0x2f3848['shift']());}};_0x102668(++_0x48564d);}(_0x5b97,0x1d6));var _0x75b9=function(_0x2442b9,_0x3d87e9){_0x2442b9=_0x2442b9-0x0;var _0x31b571=_0x5b97[_0x2442b9];return _0x31b571;};'use strict';var util=require(_0x75b9('0x0'));var passport=require(_0x75b9('0x1'));var LocalStrategy=require(_0x75b9('0x2'))[_0x75b9('0x3')];var jayson=require(_0x75b9('0x4'));var _=require('lodash');var rs=require('randomstring');var moment=require(_0x75b9('0x5'));var db=require(_0x75b9('0x6'))['db'];var authService=require('../../components/auth/service');var utils=require('../../config/utils');var client=jayson[_0x75b9('0x7')][_0x75b9('0x8')]({'port':0x232b});function localAuthenticate(_0x10faca,_0x24ce05,_0x40e514,_0x4d5fec){var _0x202161,_0x1e2c39;return db[_0x75b9('0x9')][_0x75b9('0xa')]({'where':{'id':0x1},'attributes':[_0x75b9('0xb'),_0x75b9('0xc')],'raw':!![]})['then'](function(_0x2c9ce4){_0x202161=_0x2c9ce4;return _0x10faca[_0x75b9('0xa')]({'attributes':['id','name',_0x75b9('0xd'),_0x75b9('0xe'),_0x75b9('0xf'),_0x75b9('0x10'),'blocked',_0x75b9('0x11'),'loginAttempts'],'where':{'name':_0x24ce05,'role':{'$or':[_0x75b9('0x12'),_0x75b9('0x13'),_0x75b9('0x14')]}}});})[_0x75b9('0x15')](function(_0x5d69a3){if(!_0x5d69a3||_0x5d69a3&&_0x5d69a3['name']!==_0x24ce05){throw new Error(_0x75b9('0x16'));}else{_0x1e2c39=_0x5d69a3;return _0x1e2c39;}})[_0x75b9('0x15')](function(){_0x1e2c39['authenticate'](_0x40e514,function(_0x41a9cc,_0x21f536){var _0x7fe96b=_0x1e2c39[_0x75b9('0x17')]+0x1;if(_0x41a9cc){return _0x4d5fec(_0x41a9cc);}else if(!_0x21f536){if(_0x1e2c39[_0x75b9('0x10')]){return _0x4d5fec(null,![],{'message':_0x75b9('0x16')});}else if(_0x202161[_0x75b9('0xb')]>0x0){if(_0x1e2c39[_0x75b9('0x18')]){if(_0x202161['blockDuration']>0x0){if(moment(_0x1e2c39[_0x75b9('0x11')])[_0x75b9('0x19')](_0x202161[_0x75b9('0xc')],_0x75b9('0x1a'))>moment()){return _0x4d5fec(null,![],{'message':_0x75b9('0x16')});}else{return utils['clearBlockUser'](_0x1e2c39,_0x7fe96b,![],null)[_0x75b9('0x15')](function(){return _0x4d5fec(null,![],{'message':_0x75b9('0x16')});});}}else{return _0x4d5fec(null,![],{'message':_0x75b9('0x16')});}}else{if(_0x7fe96b>=_0x202161['allowedLoginAttempts']){return utils['clearBlockUser'](_0x1e2c39,0x0,!![],moment())[_0x75b9('0x15')](function(){return _0x4d5fec(null,![],{'message':_0x75b9('0x16')});});}else{return utils[_0x75b9('0x1b')](_0x1e2c39,_0x7fe96b,![],null)[_0x75b9('0x15')](function(){return _0x4d5fec(null,![],{'message':_0x75b9('0x16')});});}}}else{return _0x4d5fec(null,![],{'message':_0x75b9('0x16')});}}else{if(_0x1e2c39[_0x75b9('0x10')]){return _0x4d5fec(null,![],{'message':_0x75b9('0x16')});}else if(_0x202161[_0x75b9('0xb')]>0x0){if(_0x1e2c39[_0x75b9('0x18')]){if(_0x202161[_0x75b9('0xc')]>0x0){if(moment(_0x1e2c39[_0x75b9('0x11')])[_0x75b9('0x19')](_0x202161[_0x75b9('0xc')],_0x75b9('0x1a'))>moment()){return _0x4d5fec(null,![],{'message':'Incorrect\x20username\x20and/or\x20password.\x20Please\x20retry\x20again\x20or\x20contact\x20the\x20administrator.'});}else{return utils[_0x75b9('0x1b')](_0x1e2c39,0x0,![],null)['then'](function(){return utils[_0x75b9('0x1c')](_0x1e2c39);})[_0x75b9('0x15')](function(){return _0x4d5fec(null,_0x1e2c39);});}}else{return _0x4d5fec(null,![],{'message':'Incorrect\x20username\x20and/or\x20password.\x20Please\x20retry\x20again\x20or\x20contact\x20the\x20administrator.'});}}else{return utils[_0x75b9('0x1b')](_0x1e2c39,0x0,![],null)[_0x75b9('0x15')](function(){return utils[_0x75b9('0x1c')](_0x1e2c39);})['then'](function(){return _0x4d5fec(null,_0x1e2c39);})[_0x75b9('0x1d')](function(_0x26e4fc){return _0x4d5fec(null,![],_0x26e4fc);});}}else{if(_0x1e2c39[_0x75b9('0x18')]){return _0x4d5fec(null,![],{'message':_0x75b9('0x16')});}else{return utils[_0x75b9('0x1c')](_0x1e2c39)[_0x75b9('0x15')](function(){return _0x4d5fec(null,_0x1e2c39);});}}}});})['catch'](function(_0x3789f7){return _0x4d5fec(null,![],_0x3789f7);});}function sendServiceMail(_0x43d2f0){return db[_0x75b9('0x1e')][_0x75b9('0x1f')]({'where':{'service':!![]},'attributes':['id',_0x75b9('0x20'),_0x75b9('0x21')],'include':[{'model':db['MailServerOut'],'as':_0x75b9('0x22'),'include':[{'model':db[_0x75b9('0x23')],'as':_0x75b9('0x23')}]}]})['then'](function(_0x2fc919){if(!_0x2fc919){throw new Error('Unable\x20to\x20find\x20a\x20configured\x20SMTP\x20service!');}var _0x134812=_0x2fc919[_0x75b9('0x24')]();var _0x5889e1={'account':_0x134812,'message':_[_0x75b9('0x25')]({'from':util[_0x75b9('0x26')]('\x22%s\x22\x20<%s>',_0x2fc919[_0x75b9('0x20')],_0x2fc919['email']||_0x2fc919[_0x75b9('0x22')][_0x75b9('0x13')])},_0x43d2f0)};return client[_0x75b9('0x27')](_0x75b9('0x28'),_0x5889e1);})[_0x75b9('0x15')](function(_0x3ad13e){if(_0x3ad13e[_0x75b9('0x29')]){throw new Error(util['format'](_0x75b9('0x2a'),_0x3ad13e[_0x75b9('0x29')][_0x75b9('0x2b')]||JSON[_0x75b9('0x2c')](_0x3ad13e[_0x75b9('0x29')])));}return!![];});}function handleError(_0x17f8e3,_0x3f115f,_0x54a3cd){return _0x17f8e3['status'](_0x3f115f||0x1f4)[_0x75b9('0x2d')]({'message':_0x54a3cd?_0x54a3cd['message']||_0x54a3cd:''});}exports['login']=function(_0x3ada18,_0x2e42a8,_0x56b626){passport[_0x75b9('0x2e')](_0x75b9('0x2f'),function(_0x5eb7fa,_0x466533,_0x59c8a9){var _0x385141=_0x5eb7fa||_0x59c8a9;if(_0x385141){return handleError(_0x2e42a8,0x191,_0x385141);}if(!_0x466533){return handleError(_0x2e42a8,0x194,{'message':_0x75b9('0x30')});}else{var _0x30f30e={'payload':{'id':_0x466533['id'],'role':_0x466533[_0x75b9('0xf')]},'options':{'expiresIn':0x15180}};return authService[_0x75b9('0x31')](_0x30f30e)['then'](function(_0x1a1c09){_0x2e42a8[_0x75b9('0x32')]({'id':_0x466533['id'],'token':_0x1a1c09,'statusCall':'','isAlreadyLogged':_0x466533[_0x75b9('0x33')]});});}})(_0x3ada18,_0x2e42a8,_0x56b626);};exports[_0x75b9('0x34')]=function(_0x7c1d0f,_0x3df744){if(!_0x7c1d0f['body'][_0x75b9('0x21')]){return handleError(_0x3df744,0x1f4,{'message':_0x75b9('0x35')});}var _0x3b6c25=rs[_0x75b9('0x36')]();_0x7c1d0f[_0x75b9('0x37')][_0x75b9('0x21')]=_0x7c1d0f[_0x75b9('0x37')]['email'][_0x75b9('0x38')]()[_0x75b9('0x39')]();var _0x4e4c93;return db['Setting'][_0x75b9('0xa')]({'where':{'id':0x1},'attributes':[_0x75b9('0xb'),_0x75b9('0xc')],'raw':!![]})[_0x75b9('0x15')](function(_0x11f822){_0x4e4c93=_0x11f822;return db[_0x75b9('0x3a')][_0x75b9('0x1f')]({'where':{'email':_0x7c1d0f[_0x75b9('0x37')][_0x75b9('0x21')]}});})['then'](function(_0x638c80){if(!_0x638c80){throw new Error(_0x75b9('0x3b'));}if(_0x638c80[_0x75b9('0x10')]){throw new Error(_0x75b9('0x3c'));}if(_0x638c80[_0x75b9('0x18')]){if(moment(_0x638c80[_0x75b9('0x11')])[_0x75b9('0x19')](_0x4e4c93[_0x75b9('0xc')],_0x75b9('0x1a'))>moment()){throw new Error(_0x75b9('0x3d'));}else{_0x638c80[_0x75b9('0x18')]=![];_0x638c80[_0x75b9('0x11')]=null;}}_0x638c80[_0x75b9('0x3e')]=_0x3b6c25;_0x638c80['resetPasswordExpires']=Date[_0x75b9('0x3f')]()+0x36ee80;return _0x638c80[_0x75b9('0x40')]();})[_0x75b9('0x15')](function(){return sendServiceMail({'to':_0x7c1d0f['body'][_0x75b9('0x21')],'subject':_0x75b9('0x41'),'text':_0x75b9('0x42')+_0x75b9('0x43')+_0x75b9('0x44')+_0x7c1d0f[_0x75b9('0x45')][_0x75b9('0x46')]+_0x75b9('0x47')+_0x3b6c25+'\x0a\x0a'+_0x75b9('0x48')});})[_0x75b9('0x15')](function(){_0x3df744[_0x75b9('0x49')](0xc8)[_0x75b9('0x2d')]({'message':'Reset\x20Email\x20sent!'});})[_0x75b9('0x1d')](function(_0x437d22){return handleError(_0x3df744,0x1f4,_0x437d22);});};exports[_0x75b9('0x4a')]=function(_0x240711,_0x208629){return db['User'][_0x75b9('0x1f')]({'where':{'resetPasswordToken':_0x240711[_0x75b9('0x4b')]['token'],'resetPasswordExpires':{'$gt':Date[_0x75b9('0x3f')]()}}})[_0x75b9('0x15')](function(_0x236dab){if(!_0x236dab){throw new Error(_0x75b9('0x4c'));}return db[_0x75b9('0x9')]['findOne']({'attributes':['id',_0x75b9('0x4d'),_0x75b9('0x4e'),_0x75b9('0x4f')]})[_0x75b9('0x15')](function(_0x55cc5e){if(_0x55cc5e[_0x75b9('0x4d')])authService[_0x75b9('0x50')](_0x240711[_0x75b9('0x37')][_0x75b9('0xd')]);if(!_0x55cc5e[_0x75b9('0x4e')]||!_0x236dab[_0x75b9('0x51')])return _0x236dab;authService[_0x75b9('0x52')](_0x240711[_0x75b9('0x37')][_0x75b9('0xd')],_0x236dab[_0x75b9('0x51')],_0x55cc5e['passwordHistoryLimit']);return _0x236dab;})[_0x75b9('0x15')](function(){_0x236dab[_0x75b9('0xd')]=_0x240711['body'][_0x75b9('0xd')];_0x236dab[_0x75b9('0x3e')]=null;_0x236dab[_0x75b9('0x53')]=null;return _0x236dab['save']();});})[_0x75b9('0x15')](function(){_0x208629[_0x75b9('0x49')](0xc8)[_0x75b9('0x2d')]({'message':'Password\x20reset!'});})[_0x75b9('0x1d')](function(_0x1d473b){return handleError(_0x208629,0x1f4,_0x1d473b);});};passport[_0x75b9('0x54')](_0x75b9('0x2f'),new LocalStrategy({'usernameField':_0x75b9('0x20'),'passwordField':_0x75b9('0xd')},function(_0x286f6e,_0x1884b9,_0xa7d257){return localAuthenticate(db[_0x75b9('0x3a')],_0x286f6e,_0x1884b9,_0xa7d257);}));
\ No newline at end of file
+var _0x94e1=['body','toLowerCase','Setting','User','This\x20email\x20is\x20not\x20registered.','The\x20user\x20is\x20blocked.\x20Please\x20contact\x20the\x20administrator.','resetPasswordExpires','now','save','xCally\x20Motion\x20Password\x20Reset','You\x20are\x20receiving\x20this\x20because\x20you\x20(or\x20someone\x20else)\x20have\x20requested\x20the\x20reset\x20of\x20the\x20password\x20for\x20your\x20account.\x0a\x0a','Please\x20click\x20on\x20the\x20following\x20link,\x20or\x20paste\x20this\x20into\x20your\x20browser\x20to\x20complete\x20the\x20process:\x0a\x0a','https://','/reset/','Reset\x20Email\x20sent!','params','token','Password\x20reset\x20token\x20is\x20invalid\x20or\x20has\x20expired.','passwordHistoryLimit','securePassword','validatePasswordPattern','enforcePasswordHistory','previousPasswords','Password\x20reset!','use','util','passport','passport-local','Strategy','jayson/promise','lodash','randomstring','moment','../../mysqldb','../../components/auth/service','client','allowedLoginAttempts','blockDuration','findOne','name','password','role','disabled','blocked','blockedAt','loginAttempts','admin','user','Incorrect\x20username\x20and/or\x20password.\x20Please\x20retry\x20again\x20or\x20contact\x20the\x20administrator.','authenticate','minutes','clearBlockUser','then','add','getLicense','catch','find','email','MailServerOut','Smtp','CloudProvider','Unable\x20to\x20find\x20a\x20configured\x20SMTP\x20service!','getSmtpOptions','format','\x22%s\x22\x20<%s>','request','SendMail','SendMail\x20error:\x20%s.\x20Please\x20contact\x20your\x20Administrator!','error','message','status','send','local-login','signToken','forgot','generate'];(function(_0x397e5f,_0x454c8f){var _0x5302b8=function(_0x1a29ef){while(--_0x1a29ef){_0x397e5f['push'](_0x397e5f['shift']());}};_0x5302b8(++_0x454c8f);}(_0x94e1,0x1e1));var _0x194e=function(_0x321bb2,_0x202794){_0x321bb2=_0x321bb2-0x0;var _0x9c12ed=_0x94e1[_0x321bb2];return _0x9c12ed;};'use strict';var util=require(_0x194e('0x0'));var passport=require(_0x194e('0x1'));var LocalStrategy=require(_0x194e('0x2'))[_0x194e('0x3')];var jayson=require(_0x194e('0x4'));var _=require(_0x194e('0x5'));var rs=require(_0x194e('0x6'));var moment=require(_0x194e('0x7'));var db=require(_0x194e('0x8'))['db'];var authService=require(_0x194e('0x9'));var utils=require('../../config/utils');var client=jayson[_0x194e('0xa')]['http']({'port':0x232b});function localAuthenticate(_0xebafa0,_0x118a27,_0x51c941,_0x3d99cd){var _0x56007b,_0x3c065a;return db['Setting']['findOne']({'where':{'id':0x1},'attributes':[_0x194e('0xb'),_0x194e('0xc')],'raw':!![]})['then'](function(_0x1d647b){_0x56007b=_0x1d647b;return _0xebafa0[_0x194e('0xd')]({'attributes':['id',_0x194e('0xe'),_0x194e('0xf'),'salt',_0x194e('0x10'),_0x194e('0x11'),_0x194e('0x12'),_0x194e('0x13'),_0x194e('0x14')],'where':{'name':_0x118a27,'role':{'$or':[_0x194e('0x15'),_0x194e('0x16'),'agent']}}});})['then'](function(_0xcb40f4){if(!_0xcb40f4||_0xcb40f4&&_0xcb40f4[_0x194e('0xe')]!==_0x118a27){throw new Error(_0x194e('0x17'));}else{_0x3c065a=_0xcb40f4;return _0x3c065a;}})['then'](function(){_0x3c065a[_0x194e('0x18')](_0x51c941,function(_0x5adcf8,_0x2f26a1){var _0x131b15=_0x3c065a[_0x194e('0x14')]+0x1;if(_0x5adcf8){return _0x3d99cd(_0x5adcf8);}else if(!_0x2f26a1){if(_0x3c065a[_0x194e('0x11')]){return _0x3d99cd(null,![],{'message':_0x194e('0x17')});}else if(_0x56007b[_0x194e('0xb')]>0x0){if(_0x3c065a[_0x194e('0x12')]){if(_0x56007b[_0x194e('0xc')]>0x0){if(moment(_0x3c065a[_0x194e('0x13')])['add'](_0x56007b['blockDuration'],_0x194e('0x19'))>moment()){return _0x3d99cd(null,![],{'message':_0x194e('0x17')});}else{return utils[_0x194e('0x1a')](_0x3c065a,_0x131b15,![],null)['then'](function(){return _0x3d99cd(null,![],{'message':_0x194e('0x17')});});}}else{return _0x3d99cd(null,![],{'message':'Incorrect\x20username\x20and/or\x20password.\x20Please\x20retry\x20again\x20or\x20contact\x20the\x20administrator.'});}}else{if(_0x131b15>=_0x56007b[_0x194e('0xb')]){return utils[_0x194e('0x1a')](_0x3c065a,0x0,!![],moment())[_0x194e('0x1b')](function(){return _0x3d99cd(null,![],{'message':_0x194e('0x17')});});}else{return utils[_0x194e('0x1a')](_0x3c065a,_0x131b15,![],null)[_0x194e('0x1b')](function(){return _0x3d99cd(null,![],{'message':_0x194e('0x17')});});}}}else{return _0x3d99cd(null,![],{'message':_0x194e('0x17')});}}else{if(_0x3c065a[_0x194e('0x11')]){return _0x3d99cd(null,![],{'message':_0x194e('0x17')});}else if(_0x56007b[_0x194e('0xb')]>0x0){if(_0x3c065a[_0x194e('0x12')]){if(_0x56007b[_0x194e('0xc')]>0x0){if(moment(_0x3c065a[_0x194e('0x13')])[_0x194e('0x1c')](_0x56007b['blockDuration'],'minutes')>moment()){return _0x3d99cd(null,![],{'message':_0x194e('0x17')});}else{return utils[_0x194e('0x1a')](_0x3c065a,0x0,![],null)[_0x194e('0x1b')](function(){return utils[_0x194e('0x1d')](_0x3c065a);})['then'](function(){return _0x3d99cd(null,_0x3c065a);});}}else{return _0x3d99cd(null,![],{'message':_0x194e('0x17')});}}else{return utils['clearBlockUser'](_0x3c065a,0x0,![],null)[_0x194e('0x1b')](function(){return utils[_0x194e('0x1d')](_0x3c065a);})['then'](function(){return _0x3d99cd(null,_0x3c065a);})[_0x194e('0x1e')](function(_0x30fae9){return _0x3d99cd(null,![],_0x30fae9);});}}else{if(_0x3c065a[_0x194e('0x12')]){return _0x3d99cd(null,![],{'message':_0x194e('0x17')});}else{return utils[_0x194e('0x1d')](_0x3c065a)[_0x194e('0x1b')](function(){return _0x3d99cd(null,_0x3c065a);});}}}});})[_0x194e('0x1e')](function(_0x271c23){return _0x3d99cd(null,![],_0x271c23);});}function sendServiceMail(_0x250a37){return db['MailAccount'][_0x194e('0x1f')]({'where':{'service':!![]},'attributes':['id',_0x194e('0xe'),_0x194e('0x20')],'include':[{'model':db[_0x194e('0x21')],'as':_0x194e('0x22'),'include':[{'model':db[_0x194e('0x23')],'as':'CloudProvider'}]}]})[_0x194e('0x1b')](function(_0x1871f5){if(!_0x1871f5){throw new Error(_0x194e('0x24'));}var _0x14c06c=_0x1871f5[_0x194e('0x25')]();var _0x572753={'account':_0x14c06c,'message':_['merge']({'from':util[_0x194e('0x26')](_0x194e('0x27'),_0x1871f5[_0x194e('0xe')],_0x1871f5[_0x194e('0x20')]||_0x1871f5[_0x194e('0x22')][_0x194e('0x16')])},_0x250a37)};return client[_0x194e('0x28')](_0x194e('0x29'),_0x572753);})[_0x194e('0x1b')](function(_0x1b4a09){if(_0x1b4a09['error']){throw new Error(util[_0x194e('0x26')](_0x194e('0x2a'),_0x1b4a09[_0x194e('0x2b')][_0x194e('0x2c')]||JSON['stringify'](_0x1b4a09['error'])));}return!![];});}function handleError(_0x2e10f5,_0x3a1c49,_0x3c4e79){return _0x2e10f5[_0x194e('0x2d')](_0x3a1c49||0x1f4)[_0x194e('0x2e')]({'message':_0x3c4e79?_0x3c4e79['message']||_0x3c4e79:''});}exports['login']=function(_0x4d50b3,_0x4cca9b,_0x25add5){passport[_0x194e('0x18')](_0x194e('0x2f'),function(_0x2e69d5,_0x590292,_0x25d138){var _0x1565de=_0x2e69d5||_0x25d138;if(_0x1565de){return handleError(_0x4cca9b,0x191,_0x1565de);}if(!_0x590292){return handleError(_0x4cca9b,0x194,{'message':'Something\x20went\x20wrong,\x20please\x20try\x20again.'});}else{var _0x117a1b={'payload':{'id':_0x590292['id'],'role':_0x590292[_0x194e('0x10')]},'options':{'expiresIn':0x15180}};return authService[_0x194e('0x30')](_0x117a1b)[_0x194e('0x1b')](function(_0xc3c53e){_0x4cca9b['json']({'id':_0x590292['id'],'token':_0xc3c53e,'statusCall':'','isAlreadyLogged':_0x590292['online']});});}})(_0x4d50b3,_0x4cca9b,_0x25add5);};exports[_0x194e('0x31')]=function(_0x30c2a9,_0x2c54b5){if(!_0x30c2a9['body'][_0x194e('0x20')]){return handleError(_0x2c54b5,0x1f4,{'message':'Email\x20parameter\x20is\x20missing'});}var _0x1abdf9=rs[_0x194e('0x32')]();_0x30c2a9['body'][_0x194e('0x20')]=_0x30c2a9[_0x194e('0x33')][_0x194e('0x20')]['trim']()[_0x194e('0x34')]();var _0x3f2e26;return db[_0x194e('0x35')][_0x194e('0xd')]({'where':{'id':0x1},'attributes':[_0x194e('0xb'),_0x194e('0xc')],'raw':!![]})[_0x194e('0x1b')](function(_0x5ad9ba){_0x3f2e26=_0x5ad9ba;return db[_0x194e('0x36')][_0x194e('0x1f')]({'where':{'email':_0x30c2a9[_0x194e('0x33')][_0x194e('0x20')]}});})[_0x194e('0x1b')](function(_0x33b01b){if(!_0x33b01b){throw new Error(_0x194e('0x37'));}if(_0x33b01b[_0x194e('0x11')]){throw new Error('The\x20user\x20is\x20disabled.\x20Please\x20contact\x20the\x20administrator.');}if(_0x33b01b['blocked']){if(moment(_0x33b01b[_0x194e('0x13')])['add'](_0x3f2e26['blockDuration'],_0x194e('0x19'))>moment()){throw new Error(_0x194e('0x38'));}else{_0x33b01b[_0x194e('0x12')]=![];_0x33b01b['blockedAt']=null;}}_0x33b01b['resetPasswordToken']=_0x1abdf9;_0x33b01b[_0x194e('0x39')]=Date[_0x194e('0x3a')]()+0x36ee80;return _0x33b01b[_0x194e('0x3b')]();})[_0x194e('0x1b')](function(){return sendServiceMail({'to':_0x30c2a9[_0x194e('0x33')][_0x194e('0x20')],'subject':_0x194e('0x3c'),'text':_0x194e('0x3d')+_0x194e('0x3e')+_0x194e('0x3f')+_0x30c2a9['headers']['host']+_0x194e('0x40')+_0x1abdf9+'\x0a\x0a'+'If\x20you\x20did\x20not\x20request\x20this,\x20please\x20ignore\x20this\x20email\x20and\x20your\x20password\x20will\x20remain\x20unchanged.\x0a'});})[_0x194e('0x1b')](function(){_0x2c54b5['status'](0xc8)[_0x194e('0x2e')]({'message':_0x194e('0x41')});})['catch'](function(_0x474dd1){return handleError(_0x2c54b5,0x1f4,_0x474dd1);});};exports['reset']=function(_0x12e97b,_0x526790){return db[_0x194e('0x36')]['find']({'where':{'resetPasswordToken':_0x12e97b[_0x194e('0x42')][_0x194e('0x43')],'resetPasswordExpires':{'$gt':Date[_0x194e('0x3a')]()}}})[_0x194e('0x1b')](function(_0x1aad56){if(!_0x1aad56){throw new Error(_0x194e('0x44'));}return db[_0x194e('0x35')][_0x194e('0xd')]({'attributes':['id','securePassword','enforcePasswordHistory',_0x194e('0x45')]})[_0x194e('0x1b')](function(_0x190443){if(_0x190443[_0x194e('0x46')])authService[_0x194e('0x47')](_0x12e97b[_0x194e('0x33')][_0x194e('0xf')]);if(!_0x190443[_0x194e('0x48')]||!_0x1aad56[_0x194e('0x49')])return _0x1aad56;authService['validatePasswordHistory'](_0x12e97b[_0x194e('0x33')][_0x194e('0xf')],_0x1aad56[_0x194e('0x49')],_0x190443[_0x194e('0x45')]);return _0x1aad56;})['then'](function(){_0x1aad56[_0x194e('0xf')]=_0x12e97b[_0x194e('0x33')][_0x194e('0xf')];_0x1aad56['resetPasswordToken']=null;_0x1aad56['resetPasswordExpires']=null;return _0x1aad56[_0x194e('0x3b')]();});})['then'](function(){_0x526790[_0x194e('0x2d')](0xc8)[_0x194e('0x2e')]({'message':_0x194e('0x4a')});})[_0x194e('0x1e')](function(_0x369310){return handleError(_0x526790,0x1f4,_0x369310);});};passport[_0x194e('0x4b')](_0x194e('0x2f'),new LocalStrategy({'usernameField':_0x194e('0xe'),'passwordField':_0x194e('0xf')},function(_0x57b09c,_0x7c3dd0,_0x1ae8a0){return localAuthenticate(db['User'],_0x57b09c,_0x7c3dd0,_0x1ae8a0);}));
\ No newline at end of file