31 lines
830 B
TypeScript
31 lines
830 B
TypeScript
import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
|
|
import { schema } from '@ioc:Adonis/Core/Validator'
|
|
|
|
export default class AuthController {
|
|
public async login({ auth, request, response }: HttpContextContract){
|
|
|
|
|
|
const loginSchema = schema.create({
|
|
username: schema.string({trim: true}),
|
|
password: schema.string()
|
|
})
|
|
|
|
|
|
const { username, password } = await request.validate({
|
|
schema: loginSchema,
|
|
messages: {
|
|
required: 'This field is required'
|
|
}
|
|
})
|
|
|
|
await auth.attempt(username, password)
|
|
response.redirect().toRoute('events.index')
|
|
}
|
|
|
|
public async logout({ auth, response }: HttpContextContract) {
|
|
await auth.logout()
|
|
|
|
response.redirect('/login')
|
|
}
|
|
}
|