Built motion from commit (unavailable).|2.3.4
[motion2.git] / server / api / authLocal / authLocal.controller.js
index 0f23d12..0dd5c38 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x5d66=['stringify','status','send','login','Something\x20went\x20wrong,\x20please\x20try\x20again.','json','forgot','body','Email\x20parameter\x20is\x20missing','generate','trim','resetPasswordToken','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','http://','headers','/reset/','If\x20you\x20did\x20not\x20request\x20this,\x20please\x20ignore\x20this\x20email\x20and\x20your\x20password\x20will\x20remain\x20unchanged.\x0a','Reset\x20Email\x20sent!','reset','token','Password\x20reset\x20token\x20is\x20invalid\x20or\x20has\x20expired.','password','use','passport','passport-local','Strategy','bluebird','jayson/promise','lodash','randomstring','../../mysqldb','signToken','http','role','User','count','agent','then','getLicense','agents','find','admin','user','name','This\x20password\x20is\x20not\x20correct','catch','MailAccount','email','MailServerOut','Unable\x20to\x20find\x20a\x20configured\x20SMTP\x20service!','service','Smtp','host','port','secure','authentication','auth','pass','merge','format','\x22%s\x22\x20<%s>','SendMail','error','SendMail\x20error:\x20%s.\x20Please\x20contact\x20your\x20Administrator!','message'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x5d66,0xea));var _0x65d6=function(_0x3e8ff6,_0x35c443){_0x3e8ff6=_0x3e8ff6-0x0;var _0x3c9bf3=_0x5d66[_0x3e8ff6];return _0x3c9bf3;};'use strict';var util=require('util');var passport=require(_0x65d6('0x0'));var LocalStrategy=require(_0x65d6('0x1'))[_0x65d6('0x2')];var BPromise=require(_0x65d6('0x3'));var jayson=require(_0x65d6('0x4'));var _=require(_0x65d6('0x5'));var logger=require('../../config/logger')('api');var rs=require(_0x65d6('0x6'));var db=require(_0x65d6('0x7'))['db'];var signToken=require('../../components/auth/service')[_0x65d6('0x8')];var client=jayson['client'][_0x65d6('0x9')]({'port':0x232b});var getLicense=function(_0x4e51f8){return new BPromise(function(_0x1d807c,_0x24f46a){var _0x1e67a5=0x0;_0x4e51f8[_0x65d6('0xa')]!=='agent'&&_0x1d807c(_0x4e51f8);return db[_0x65d6('0xb')][_0x65d6('0xc')]({'where':{'role':_0x65d6('0xd'),'online':!![],'id':{'$ne':_0x4e51f8['id']}}})[_0x65d6('0xe')](function(_0x1df7bb){_0x1e67a5=_0x1df7bb;return require('../../config/license/util')[_0x65d6('0xf')]();})['then'](function(_0x19f67a){if(_0x19f67a&&_0x19f67a[_0x65d6('0x10')]&&_0x1e67a5>=_0x19f67a['agents']){return _0x24f46a({'message':'Maximum\x20login\x20has\x20been\x20reached'});}return _0x1d807c(_0x4e51f8);})['catch'](function(_0x55fc39){return _0x24f46a(_0x55fc39);});});};function localAuthenticate(_0x3535f9,_0x810b1b,_0x36e03a,_0x424347){_0x3535f9[_0x65d6('0x11')]({'where':{'name':_0x810b1b,'role':{'$or':[_0x65d6('0x12'),_0x65d6('0x13'),_0x65d6('0xd')]}}})[_0x65d6('0xe')](function(_0x85c3cc){if(!_0x85c3cc||_0x85c3cc&&_0x85c3cc[_0x65d6('0x14')]!==_0x810b1b){return _0x424347(null,![],{'message':'This\x20name\x20is\x20not\x20registered'});}return getLicense(_0x85c3cc);})[_0x65d6('0xe')](function(_0x1e6768){_0x1e6768['authenticate'](_0x36e03a,function(_0x3a80ae,_0x53072c){if(_0x3a80ae){return _0x424347(_0x3a80ae);}if(!_0x53072c){return _0x424347(null,![],{'message':_0x65d6('0x15')});}else{return _0x424347(null,_0x1e6768);}});})[_0x65d6('0x16')](function(_0x5f3c84){_0x424347(_0x5f3c84);});}function sendServiceMail(_0x1bbd81){return db[_0x65d6('0x17')][_0x65d6('0x11')]({'where':{'service':!![]},'attributes':['id',_0x65d6('0x14'),_0x65d6('0x18')],'include':[{'model':db[_0x65d6('0x19')],'as':'Smtp'}]})['then'](function(_0x476f34){if(!_0x476f34){throw new Error(_0x65d6('0x1a'));}var _0x5b98bf={'tls':{'rejectUnauthorized':![]}};if(_0x476f34['Smtp']['service']){_0x5b98bf[_0x65d6('0x1b')]=_0x476f34[_0x65d6('0x1c')][_0x65d6('0x1b')];}else{_0x5b98bf['host']=_0x476f34[_0x65d6('0x1c')][_0x65d6('0x1d')];_0x5b98bf[_0x65d6('0x1e')]=_0x476f34[_0x65d6('0x1c')][_0x65d6('0x1e')];_0x5b98bf[_0x65d6('0x1f')]=_0x476f34[_0x65d6('0x1c')]['secure'];}if(_0x476f34[_0x65d6('0x1c')][_0x65d6('0x20')]){_0x5b98bf[_0x65d6('0x21')]={'user':_0x476f34[_0x65d6('0x1c')][_0x65d6('0x13')],'pass':_0x476f34['Smtp'][_0x65d6('0x22')]};}var _0x4cd93f={'account':_0x5b98bf,'message':_[_0x65d6('0x23')]({'from':util[_0x65d6('0x24')](_0x65d6('0x25'),_0x476f34[_0x65d6('0x14')],_0x476f34[_0x65d6('0x18')]||_0x476f34['Smtp'][_0x65d6('0x13')])},_0x1bbd81)};return client['request'](_0x65d6('0x26'),_0x4cd93f);})['then'](function(_0x4fd95d){if(_0x4fd95d[_0x65d6('0x27')]){throw new Error(util['format'](_0x65d6('0x28'),_0x4fd95d['error'][_0x65d6('0x29')]||JSON[_0x65d6('0x2a')](_0x4fd95d[_0x65d6('0x27')])));}return!![];});}function handleError(_0x46693a,_0x34db44,_0x15ba57){return _0x46693a[_0x65d6('0x2b')](_0x34db44||0x1f4)[_0x65d6('0x2c')]({'message':_0x15ba57?_0x15ba57[_0x65d6('0x29')]||_0x15ba57:''});}exports[_0x65d6('0x2d')]=function(_0x2cc571,_0x194827,_0x3837ec){passport['authenticate']('local',function(_0x42eafc,_0x3ec3ae,_0x4900f9){var _0x49a78e=_0x42eafc||_0x4900f9;if(_0x49a78e){return handleError(_0x194827,0x191,_0x49a78e);}if(!_0x3ec3ae){return handleError(_0x194827,0x194,{'message':_0x65d6('0x2e')});}var _0x5802e5=signToken(_0x3ec3ae['id'],_0x3ec3ae['role']);_0x194827[_0x65d6('0x2f')]({'id':_0x3ec3ae['id'],'token':_0x5802e5,'statusCall':'','isAlreadyLogged':_0x3ec3ae['online']});})(_0x2cc571,_0x194827,_0x3837ec);};exports[_0x65d6('0x30')]=function(_0x20678d,_0x3335e6,_0x5daab7){if(!_0x20678d[_0x65d6('0x31')][_0x65d6('0x18')]){return handleError(_0x3335e6,0x1f4,{'message':_0x65d6('0x32')});}var _0x4ae951=rs[_0x65d6('0x33')]();_0x20678d[_0x65d6('0x31')][_0x65d6('0x18')]=_0x20678d['body'][_0x65d6('0x18')][_0x65d6('0x34')]()['toLowerCase']();return db[_0x65d6('0xb')]['find']({'where':{'email':_0x20678d[_0x65d6('0x31')][_0x65d6('0x18')]}})[_0x65d6('0xe')](function(_0x503f29){if(!_0x503f29){throw new Error('This\x20email\x20is\x20not\x20registered.');}_0x503f29[_0x65d6('0x35')]=_0x4ae951;_0x503f29[_0x65d6('0x36')]=Date[_0x65d6('0x37')]()+0x36ee80;return _0x503f29[_0x65d6('0x38')]();})[_0x65d6('0xe')](function(){return sendServiceMail({'to':_0x20678d[_0x65d6('0x31')][_0x65d6('0x18')],'subject':_0x65d6('0x39'),'text':_0x65d6('0x3a')+'Please\x20click\x20on\x20the\x20following\x20link,\x20or\x20paste\x20this\x20into\x20your\x20browser\x20to\x20complete\x20the\x20process:\x0a\x0a'+_0x65d6('0x3b')+_0x20678d[_0x65d6('0x3c')][_0x65d6('0x1d')]+_0x65d6('0x3d')+_0x4ae951+'\x0a\x0a'+_0x65d6('0x3e')});})[_0x65d6('0xe')](function(){_0x3335e6[_0x65d6('0x2b')](0xc8)['send']({'message':_0x65d6('0x3f')});})[_0x65d6('0x16')](function(_0x541fc0){return handleError(_0x3335e6,0x1f4,_0x541fc0);});};exports[_0x65d6('0x40')]=function(_0x3c4647,_0xf27b8d,_0x2c5e78){return db[_0x65d6('0xb')][_0x65d6('0x11')]({'where':{'resetPasswordToken':_0x3c4647['params'][_0x65d6('0x41')],'resetPasswordExpires':{'$gt':Date[_0x65d6('0x37')]()}}})[_0x65d6('0xe')](function(_0x4b4332){if(!_0x4b4332){throw new Error(_0x65d6('0x42'));}_0x4b4332[_0x65d6('0x43')]=_0x3c4647[_0x65d6('0x31')][_0x65d6('0x43')];_0x4b4332['resetPasswordToken']=null;_0x4b4332[_0x65d6('0x36')]=null;return _0x4b4332[_0x65d6('0x38')]();})[_0x65d6('0xe')](function(){_0xf27b8d[_0x65d6('0x2b')](0xc8)[_0x65d6('0x2c')]({'message':'Password\x20reset!'});})[_0x65d6('0x16')](function(_0x1122a6){return handleError(_0xf27b8d,0x1f4,_0x1122a6);});};passport[_0x65d6('0x44')](new LocalStrategy({'usernameField':_0x65d6('0x14'),'passwordField':_0x65d6('0x43')},function(_0x21692e,_0x2be57e,_0x2191ca){return localAuthenticate(db[_0x65d6('0xb')],_0x21692e,_0x2be57e,_0x2191ca);}));
\ No newline at end of file
+var _0x821d=['User','agent','then','../../config/license/util','getLicense','agents','Maximum\x20login\x20has\x20been\x20reached','catch','find','admin','user','name','This\x20name\x20is\x20not\x20registered','authenticate','This\x20password\x20is\x20not\x20correct','email','MailServerOut','Smtp','service','host','secure','authentication','auth','pass','merge','\x22%s\x22\x20<%s>','SendMail','error','format','SendMail\x20error:\x20%s.\x20Please\x20contact\x20your\x20Administrator!','message','status','send','login','local','json','online','forgot','body','Email\x20parameter\x20is\x20missing','generate','trim','toLowerCase','This\x20email\x20is\x20not\x20registered.','resetPasswordToken','resetPasswordExpires','now','You\x20are\x20receiving\x20this\x20because\x20you\x20(or\x20someone\x20else)\x20have\x20requested\x20the\x20reset\x20of\x20the\x20password\x20for\x20your\x20account.\x0a\x0a','http://','headers','/reset/','If\x20you\x20did\x20not\x20request\x20this,\x20please\x20ignore\x20this\x20email\x20and\x20your\x20password\x20will\x20remain\x20unchanged.\x0a','reset','Password\x20reset\x20token\x20is\x20invalid\x20or\x20has\x20expired.','password','save','Password\x20reset!','use','passport','passport-local','bluebird','jayson/promise','lodash','../../config/logger','api','../../components/auth/service','signToken','client','http','role'];(function(_0x1a7846,_0x59723e){var _0x48049=function(_0x203ff6){while(--_0x203ff6){_0x1a7846['push'](_0x1a7846['shift']());}};_0x48049(++_0x59723e);}(_0x821d,0x80));var _0xd821=function(_0x5e88c3,_0xc58e7f){_0x5e88c3=_0x5e88c3-0x0;var _0x40cb29=_0x821d[_0x5e88c3];return _0x40cb29;};'use strict';var util=require('util');var passport=require(_0xd821('0x0'));var LocalStrategy=require(_0xd821('0x1'))['Strategy'];var BPromise=require(_0xd821('0x2'));var jayson=require(_0xd821('0x3'));var _=require(_0xd821('0x4'));var logger=require(_0xd821('0x5'))(_0xd821('0x6'));var rs=require('randomstring');var db=require('../../mysqldb')['db'];var signToken=require(_0xd821('0x7'))[_0xd821('0x8')];var client=jayson[_0xd821('0x9')][_0xd821('0xa')]({'port':0x232b});var getLicense=function(_0x6407de){return new BPromise(function(_0x544147,_0x152a50){var _0x412a77=0x0;_0x6407de[_0xd821('0xb')]!=='agent'&&_0x544147(_0x6407de);return db[_0xd821('0xc')]['count']({'where':{'role':_0xd821('0xd'),'online':!![],'id':{'$ne':_0x6407de['id']}}})[_0xd821('0xe')](function(_0x13a0dd){_0x412a77=_0x13a0dd;return require(_0xd821('0xf'))[_0xd821('0x10')]();})[_0xd821('0xe')](function(_0x375e19){if(_0x375e19&&_0x375e19[_0xd821('0x11')]&&_0x412a77>=_0x375e19['agents']){return _0x152a50({'message':_0xd821('0x12')});}return _0x544147(_0x6407de);})[_0xd821('0x13')](function(_0x1300f1){return _0x152a50(_0x1300f1);});});};function localAuthenticate(_0x130bc8,_0x22ea97,_0x4bfccd,_0x314e0e){_0x130bc8[_0xd821('0x14')]({'where':{'name':_0x22ea97,'role':{'$or':[_0xd821('0x15'),_0xd821('0x16'),_0xd821('0xd')]}}})[_0xd821('0xe')](function(_0x47d7f2){if(!_0x47d7f2||_0x47d7f2&&_0x47d7f2[_0xd821('0x17')]!==_0x22ea97){return _0x314e0e(null,![],{'message':_0xd821('0x18')});}return getLicense(_0x47d7f2);})[_0xd821('0xe')](function(_0xe2c677){_0xe2c677[_0xd821('0x19')](_0x4bfccd,function(_0x8da18e,_0x269cb5){if(_0x8da18e){return _0x314e0e(_0x8da18e);}if(!_0x269cb5){return _0x314e0e(null,![],{'message':_0xd821('0x1a')});}else{return _0x314e0e(null,_0xe2c677);}});})['catch'](function(_0x51eb66){_0x314e0e(_0x51eb66);});}function sendServiceMail(_0x337d81){return db['MailAccount']['find']({'where':{'service':!![]},'attributes':['id',_0xd821('0x17'),_0xd821('0x1b')],'include':[{'model':db[_0xd821('0x1c')],'as':_0xd821('0x1d')}]})['then'](function(_0x3ad367){if(!_0x3ad367){throw new Error('Unable\x20to\x20find\x20a\x20configured\x20SMTP\x20service!');}var _0x912b21={'tls':{'rejectUnauthorized':![]}};if(_0x3ad367[_0xd821('0x1d')][_0xd821('0x1e')]){_0x912b21[_0xd821('0x1e')]=_0x3ad367[_0xd821('0x1d')][_0xd821('0x1e')];}else{_0x912b21[_0xd821('0x1f')]=_0x3ad367['Smtp'][_0xd821('0x1f')];_0x912b21['port']=_0x3ad367[_0xd821('0x1d')]['port'];_0x912b21[_0xd821('0x20')]=_0x3ad367[_0xd821('0x1d')]['secure'];}if(_0x3ad367[_0xd821('0x1d')][_0xd821('0x21')]){_0x912b21[_0xd821('0x22')]={'user':_0x3ad367[_0xd821('0x1d')][_0xd821('0x16')],'pass':_0x3ad367[_0xd821('0x1d')][_0xd821('0x23')]};}var _0x3dc627={'account':_0x912b21,'message':_[_0xd821('0x24')]({'from':util['format'](_0xd821('0x25'),_0x3ad367[_0xd821('0x17')],_0x3ad367['email']||_0x3ad367[_0xd821('0x1d')][_0xd821('0x16')])},_0x337d81)};return client['request'](_0xd821('0x26'),_0x3dc627);})[_0xd821('0xe')](function(_0x2c2881){if(_0x2c2881[_0xd821('0x27')]){throw new Error(util[_0xd821('0x28')](_0xd821('0x29'),_0x2c2881[_0xd821('0x27')][_0xd821('0x2a')]||JSON['stringify'](_0x2c2881[_0xd821('0x27')])));}return!![];});}function handleError(_0x424047,_0x4b7ac1,_0x151072){return _0x424047[_0xd821('0x2b')](_0x4b7ac1||0x1f4)[_0xd821('0x2c')]({'message':_0x151072?_0x151072[_0xd821('0x2a')]||_0x151072:''});}exports[_0xd821('0x2d')]=function(_0x3aaaf1,_0x189170,_0x23b3d4){passport['authenticate'](_0xd821('0x2e'),function(_0x3691bf,_0x6c4cb7,_0x221472){var _0x18a103=_0x3691bf||_0x221472;if(_0x18a103){return handleError(_0x189170,0x191,_0x18a103);}if(!_0x6c4cb7){return handleError(_0x189170,0x194,{'message':'Something\x20went\x20wrong,\x20please\x20try\x20again.'});}var _0x29b26f=signToken(_0x6c4cb7['id'],_0x6c4cb7['role']);_0x189170[_0xd821('0x2f')]({'id':_0x6c4cb7['id'],'token':_0x29b26f,'statusCall':'','isAlreadyLogged':_0x6c4cb7[_0xd821('0x30')]});})(_0x3aaaf1,_0x189170,_0x23b3d4);};exports[_0xd821('0x31')]=function(_0x406fa0,_0x29ec1f,_0x5dae6c){if(!_0x406fa0[_0xd821('0x32')]['email']){return handleError(_0x29ec1f,0x1f4,{'message':_0xd821('0x33')});}var _0x5e41dd=rs[_0xd821('0x34')]();_0x406fa0['body'][_0xd821('0x1b')]=_0x406fa0[_0xd821('0x32')][_0xd821('0x1b')][_0xd821('0x35')]()[_0xd821('0x36')]();return db[_0xd821('0xc')]['find']({'where':{'email':_0x406fa0[_0xd821('0x32')][_0xd821('0x1b')]}})[_0xd821('0xe')](function(_0x12ad9a){if(!_0x12ad9a){throw new Error(_0xd821('0x37'));}_0x12ad9a[_0xd821('0x38')]=_0x5e41dd;_0x12ad9a[_0xd821('0x39')]=Date[_0xd821('0x3a')]()+0x36ee80;return _0x12ad9a['save']();})[_0xd821('0xe')](function(){return sendServiceMail({'to':_0x406fa0['body']['email'],'subject':'xCally\x20Motion\x20Password\x20Reset','text':_0xd821('0x3b')+'Please\x20click\x20on\x20the\x20following\x20link,\x20or\x20paste\x20this\x20into\x20your\x20browser\x20to\x20complete\x20the\x20process:\x0a\x0a'+_0xd821('0x3c')+_0x406fa0[_0xd821('0x3d')]['host']+_0xd821('0x3e')+_0x5e41dd+'\x0a\x0a'+_0xd821('0x3f')});})[_0xd821('0xe')](function(){_0x29ec1f[_0xd821('0x2b')](0xc8)[_0xd821('0x2c')]({'message':'Reset\x20Email\x20sent!'});})[_0xd821('0x13')](function(_0x5f4dc4){return handleError(_0x29ec1f,0x1f4,_0x5f4dc4);});};exports[_0xd821('0x40')]=function(_0x5eafb1,_0x19ce97,_0x258e34){return db[_0xd821('0xc')][_0xd821('0x14')]({'where':{'resetPasswordToken':_0x5eafb1['params']['token'],'resetPasswordExpires':{'$gt':Date[_0xd821('0x3a')]()}}})[_0xd821('0xe')](function(_0x433108){if(!_0x433108){throw new Error(_0xd821('0x41'));}_0x433108[_0xd821('0x42')]=_0x5eafb1['body']['password'];_0x433108[_0xd821('0x38')]=null;_0x433108[_0xd821('0x39')]=null;return _0x433108[_0xd821('0x43')]();})[_0xd821('0xe')](function(){_0x19ce97[_0xd821('0x2b')](0xc8)['send']({'message':_0xd821('0x44')});})['catch'](function(_0x480ecd){return handleError(_0x19ce97,0x1f4,_0x480ecd);});};passport[_0xd821('0x45')](new LocalStrategy({'usernameField':_0xd821('0x17'),'passwordField':'password'},function(_0x205909,_0xdfef35,_0x6669d8){return localAuthenticate(db[_0xd821('0xc')],_0x205909,_0xdfef35,_0x6669d8);}));
\ No newline at end of file