import { Body, JsonController, Post } from 'routing-controllers'; import { OpenAPI, ResponseSchema } from 'routing-controllers-openapi'; import { InvalidCredentialsError, PasswordNeededError, UsernameOrEmailNeededError } from '../errors/AuthError'; import { UserNotFoundError } from '../errors/UserErrors'; import { CreateAuth } from '../models/creation/CreateAuth'; @JsonController('/auth') export class AuthController { constructor() { } @Post("/login") @ResponseSchema(InvalidCredentialsError) @ResponseSchema(UserNotFoundError) @ResponseSchema(UsernameOrEmailNeededError) @ResponseSchema(PasswordNeededError) @ResponseSchema(InvalidCredentialsError) @OpenAPI({ description: 'Create a new access token object' }) async post(@Body({ validate: true }) createAuth: CreateAuth) { let auth; try { auth = await createAuth.toAuth(); console.log(auth); } catch (error) { return error; } return auth } }