Files
artdanj-shortener/app/Controllers/Http/UsersController.ts
2021-10-19 17:21:34 +02:00

41 lines
1.1 KiB
TypeScript
Executable File

import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
export default class UsersController {
public async login ({request, auth, response}: HttpContextContract) {
const email = request.input('email')
const password = request.input('password')
const token = await auth.use('api').attempt(email, password, {
expiresIn: '2 days'
})
return response.status(200).send({
token: token.toJSON()
})
}
public async createInfiniteToken ({response, request, auth}: HttpContextContract) {
const email = request.input('email')
const password = request.input('password')
const token = await auth.use('api').attempt(email, password)
return response.status(200).send({
token: token.toJSON()
})
}
public async logout ({response, auth, i18n}: HttpContextContract) {
await auth.use('api').revoke()
return response.status(200).send({
message: i18n.formatMessage('messages.logout')
})
}
public async me ({response, auth}: HttpContextContract) {
await auth.authenticate()
return response.status(200).send({
user: auth.user
})
}
}