From 702fb34de8947561b194b4d95f96da677500f4fb Mon Sep 17 00:00:00 2001 From: xXpuma99Xx <51341582+xXpuma99Xx@users.noreply.github.com> Date: Tue, 14 Jun 2022 00:47:47 -0500 Subject: [PATCH] auth input output dto --- src/auth/auth.controller.ts | 18 ++++++++++++------ .../login-admin.dto.ts} | 2 +- .../login-operador.dto.ts} | 2 +- .../login-usuario.dto.ts} | 2 +- src/auth/dto/output/operador.dto.ts | 11 +++++++++++ src/auth/dto/output/usuario.dto.ts | 11 +++++++++++ 6 files changed, 37 insertions(+), 9 deletions(-) rename src/auth/dto/{auth-login-admin.dto.ts => input/login-admin.dto.ts} (77%) rename src/auth/dto/{auth-login-operador.dto.ts => input/login-operador.dto.ts} (81%) rename src/auth/dto/{auth-login-usuario.dto.ts => input/login-usuario.dto.ts} (76%) create mode 100644 src/auth/dto/output/operador.dto.ts create mode 100644 src/auth/dto/output/usuario.dto.ts diff --git a/src/auth/auth.controller.ts b/src/auth/auth.controller.ts index e77964b..0cde7e6 100644 --- a/src/auth/auth.controller.ts +++ b/src/auth/auth.controller.ts @@ -1,15 +1,19 @@ import { Body, Controller, Post } from '@nestjs/common'; import { ApiBody, ApiOperation, ApiTags } from '@nestjs/swagger'; +import { Serealize } from '../interceptors/serialize.interceptor'; import { AuthService } from './auth.service'; -import { AuthLoginAdminDto } from './dto/auth-login-admin.dto'; -import { AuthLoginOperadorDto } from './dto/auth-login-operador.dto'; -import { AuthLoginUsuarioDto } from './dto/auth-login-usuario.dto'; +import { LoginAdminDto } from './dto/input/login-admin.dto'; +import { LoginOperadorDto } from './dto/input/login-operador.dto'; +import { LoginUsuarioDto } from './dto/input/login-usuario.dto'; +import { AuthOperadorOutputDto } from './dto/output/operador.dto'; +import { AuthUsuarioOutputDto } from './dto/output/usuario.dto'; @Controller('auth') @ApiTags('auth') export class AuthController { constructor(private authService: AuthService) {} + @Serealize(AuthOperadorOutputDto) @Post('login-admin') @ApiOperation({ description: 'Endpoint utilizado para el login del panel admin.', @@ -25,10 +29,11 @@ export class AuthController { }, }, }) - loginAdmin(@Body() body: AuthLoginAdminDto) { + loginAdmin(@Body() body: LoginAdminDto) { return this.authService.loginAdmin(body.operador, body.password); } + @Serealize(AuthOperadorOutputDto) @Post('login-operador') @ApiOperation({ description: 'Endpoint utilizado para el login del panel del operador.', @@ -45,7 +50,7 @@ export class AuthController { }, }, }) - loginOperador(@Body() body: AuthLoginOperadorDto) { + loginOperador(@Body() body: LoginOperadorDto) { return this.authService.loginOperador( body.id_modulo, body.operador, @@ -53,6 +58,7 @@ export class AuthController { ); } + @Serealize(AuthUsuarioOutputDto) @Post('login-usuario') @ApiOperation({ description: 'Endpoint utilizado para el login del usuario.', @@ -61,7 +67,7 @@ export class AuthController { description: 'Todas las variables son obligatorias.', examples: { ejemplo: { value: { usuario: '', password: '' } } }, }) - loginUsuario(@Body() body: AuthLoginUsuarioDto) { + loginUsuario(@Body() body: LoginUsuarioDto) { return this.authService.loginUsuario(body.usuario, body.password); } } diff --git a/src/auth/dto/auth-login-admin.dto.ts b/src/auth/dto/input/login-admin.dto.ts similarity index 77% rename from src/auth/dto/auth-login-admin.dto.ts rename to src/auth/dto/input/login-admin.dto.ts index 66cc79b..7229a12 100644 --- a/src/auth/dto/auth-login-admin.dto.ts +++ b/src/auth/dto/input/login-admin.dto.ts @@ -1,6 +1,6 @@ import { IsString } from 'class-validator'; -export class AuthLoginAdminDto { +export class LoginAdminDto { @IsString() operador: string; diff --git a/src/auth/dto/auth-login-operador.dto.ts b/src/auth/dto/input/login-operador.dto.ts similarity index 81% rename from src/auth/dto/auth-login-operador.dto.ts rename to src/auth/dto/input/login-operador.dto.ts index 9757dbf..c60c0cd 100644 --- a/src/auth/dto/auth-login-operador.dto.ts +++ b/src/auth/dto/input/login-operador.dto.ts @@ -1,6 +1,6 @@ import { IsInt, IsString } from 'class-validator'; -export class AuthLoginOperadorDto { +export class LoginOperadorDto { @IsInt() id_modulo: number; diff --git a/src/auth/dto/auth-login-usuario.dto.ts b/src/auth/dto/input/login-usuario.dto.ts similarity index 76% rename from src/auth/dto/auth-login-usuario.dto.ts rename to src/auth/dto/input/login-usuario.dto.ts index 130976e..6668bfc 100644 --- a/src/auth/dto/auth-login-usuario.dto.ts +++ b/src/auth/dto/input/login-usuario.dto.ts @@ -1,6 +1,6 @@ import { IsString } from 'class-validator'; -export class AuthLoginUsuarioDto { +export class LoginUsuarioDto { @IsString() usuario: string; diff --git a/src/auth/dto/output/operador.dto.ts b/src/auth/dto/output/operador.dto.ts new file mode 100644 index 0000000..c0ce54b --- /dev/null +++ b/src/auth/dto/output/operador.dto.ts @@ -0,0 +1,11 @@ +import { Expose, Type } from 'class-transformer'; +import { OperadorOutputDto } from '../../../operador/dto/output/operador.dto'; + +export class AuthOperadorOutputDto { + @Expose() + token; + + @Expose() + @Type(() => OperadorOutputDto) + operador; +} diff --git a/src/auth/dto/output/usuario.dto.ts b/src/auth/dto/output/usuario.dto.ts new file mode 100644 index 0000000..87fcf8e --- /dev/null +++ b/src/auth/dto/output/usuario.dto.ts @@ -0,0 +1,11 @@ +import { Expose, Type } from 'class-transformer'; +import { UsuarioOutputDto } from '../../../usuario/dto/output/usuario.dto'; + +export class AuthUsuarioOutputDto { + @Expose() + token; + + @Expose() + @Type(() => UsuarioOutputDto) + usuario; +}