seepur/app/Controllers/Http/AuthController.js

46 lines
1.1 KiB
JavaScript
Raw Normal View History

'use strict'
const User = use('App/Models/User')
class AuthController {
async registerIndex({view}){
return view.render('register')
}
async loginIndex({view}){
return view.render('login')
}
async register({request, response, view, session, auth}){
const user = await User.create({
email: request.input('email'),
name: request.input('name'),
password: request.input('password')
});
await auth.login(user)
response.redirect('/');
}
async login({request,response, auth, session}){
console.log('login');
const { email, password } = request.all()
try{
const token = await auth.attempt(email, password);
console.log('logged in');
}catch(e){
session.withErrors({ loginError: 'Invalid Credentials' }).flashAll()
return response.redirect('back')
}
response.redirect('/');
}
async logout({auth, response}){
await auth.logout();
response.redirect('/');
}
}
module.exports = AuthController