auth input output dto

This commit is contained in:
xXpuma99Xx
2022-06-14 00:47:47 -05:00
parent 4d278e8b49
commit 702fb34de8
6 changed files with 37 additions and 9 deletions
+12 -6
View File
@@ -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);
}
}
@@ -1,6 +1,6 @@
import { IsString } from 'class-validator';
export class AuthLoginAdminDto {
export class LoginAdminDto {
@IsString()
operador: string;
@@ -1,6 +1,6 @@
import { IsInt, IsString } from 'class-validator';
export class AuthLoginOperadorDto {
export class LoginOperadorDto {
@IsInt()
id_modulo: number;
@@ -1,6 +1,6 @@
import { IsString } from 'class-validator';
export class AuthLoginUsuarioDto {
export class LoginUsuarioDto {
@IsString()
usuario: string;
+11
View File
@@ -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;
}
+11
View File
@@ -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;
}