From 53679fde0228ca1e4921002ad56f9cd301933e46 Mon Sep 17 00:00:00 2001 From: Arthur DANJOU Date: Thu, 21 Oct 2021 22:07:38 +0200 Subject: [PATCH] Move auth methods to Auth controller --- app/Controllers/Http/AuthController.ts | 40 ++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 app/Controllers/Http/AuthController.ts diff --git a/app/Controllers/Http/AuthController.ts b/app/Controllers/Http/AuthController.ts new file mode 100644 index 0000000..b80cb94 --- /dev/null +++ b/app/Controllers/Http/AuthController.ts @@ -0,0 +1,40 @@ +import {HttpContextContract} from "@ioc:Adonis/Core/HttpContext"; + +export default class AuthController { + + 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 token ({ 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 + }) + } + +}