f4a0e17bb2a1956d30a4c5dff4b871c7c3d869c9
[motion-next.git] / server / api / authGoogle / authGoogle.controller.js
1 const a33_0xe256=['getLicense','../../mysqldb','profile','Incorrect\x20username\x20and/or\x20password.\x20Please\x20retry\x20again\x20or\x20contact\x20the\x20administrator.','clientSecret','passport','blockDuration','../../config/environment','disabled','clientID','catch','Strategy','../../config/utils','callbackURL','google','email','blocked','value','then','passport-google-oauth20','user','/login','sequelize'];(function(_0xfa3f6a,_0xe2567a){const _0x47bd3d=function(_0x14f1ab){while(--_0x14f1ab){_0xfa3f6a['push'](_0xfa3f6a['shift']());}};_0x47bd3d(++_0xe2567a);}(a33_0xe256,0xc1));const a33_0x47bd=function(_0xfa3f6a,_0xe2567a){_0xfa3f6a=_0xfa3f6a-0x0;let _0x47bd3d=a33_0xe256[_0xfa3f6a];return _0x47bd3d;};const _0x5a564f=a33_0x47bd;'use strict';const _=require('lodash'),passport=require(_0x5a564f('0x13')),GoogleStrategy=require(_0x5a564f('0xa'))[_0x5a564f('0x2')],moment=require('moment'),db=require(_0x5a564f('0xf'))['db'],config=require(_0x5a564f('0x15')),utils=require(_0x5a564f('0x3')),{Op}=require(_0x5a564f('0xd'));exports['login']=passport['authenticate']('google',{'failureRedirect':'/login','scope':[_0x5a564f('0x10'),_0x5a564f('0x6')],'session':![]}),exports['callback']=passport['authenticate'](_0x5a564f('0x5'),{'failureRedirect':_0x5a564f('0xc'),'session':![]}),passport['use'](new GoogleStrategy({'clientID':config[_0x5a564f('0x5')]?config[_0x5a564f('0x5')][_0x5a564f('0x0')]:'id','clientSecret':config[_0x5a564f('0x5')]?config[_0x5a564f('0x5')][_0x5a564f('0x12')]:'secret','callbackURL':config[_0x5a564f('0x5')]?config[_0x5a564f('0x5')][_0x5a564f('0x4')]:''},function(_0x14f1ab,_0x29f4b3,_0x507fb4,_0x3b31ec){const _0x54c4da=_0x5a564f;let _0x4c3cbe,_0x30b667;return db['Setting']['findOne']({'where':{'id':0x1},'attributes':['allowedLoginAttempts',_0x54c4da('0x14')],'raw':!![]})[_0x54c4da('0x9')](function(_0x442d40){const _0x230ee8=_0x54c4da;return _0x4c3cbe=_0x442d40,db['Use']['findOne']({'where':{'email':_['map'](_0x507fb4['emails'],_0x230ee8('0x8')),'role':{[Op['or']]:['admin',_0x230ee8('0xb'),'agent']}}});})['then'](function(_0x5e1c2c){const _0xc5f630=_0x54c4da;_0x30b667=_0x5e1c2c;if(_0x30b667){if(_0x30b667[_0xc5f630('0x16')])return _0x3b31ec(_0xc5f630('0x11'));else return _0x4c3cbe['blockDuration']>0x0?_0x30b667[_0xc5f630('0x7')]?moment(_0x30b667['blockedAt'])['add'](_0x4c3cbe[_0xc5f630('0x14')],'minutes')>moment()?_0x3b31ec('Incorrect\x20username\x20and/or\x20password.\x20Please\x20retry\x20again\x20or\x20contact\x20the\x20administrator.'):utils['clearBlockUser'](_0x30b667,0x0,![],null)[_0xc5f630('0x9')](function(){const _0x338263=_0xc5f630;return utils[_0x338263('0xe')](_0x30b667);})['then'](function(){return _0x3b31ec(null,_0x30b667);}):utils[_0xc5f630('0xe')](_0x30b667)[_0xc5f630('0x9')](function(){return _0x3b31ec(null,_0x30b667);}):utils[_0xc5f630('0xe')](_0x30b667)[_0xc5f630('0x9')](function(){return _0x3b31ec(null,_0x30b667);});}return _0x3b31ec(_0xc5f630('0x11'));})[_0x54c4da('0x1')](function(_0x587b8c){_0x3b31ec(_0x587b8c);});}));