Files
pcpuma_unam_api/src/auth/auth.controller.ts
T

84 lines
2.3 KiB
TypeScript
Raw Normal View History

import { Body, Controller, Get, Post, UseGuards } from '@nestjs/common';
import { AuthGuard } from '@nestjs/passport';
2022-05-30 15:22:31 -05:00
import { ApiBody, ApiOperation, ApiTags } from '@nestjs/swagger';
2022-06-14 00:47:47 -05:00
import { Serealize } from '../interceptors/serialize.interceptor';
2022-04-21 20:33:05 -05:00
import { AuthService } from './auth.service';
2022-06-14 00:47:47 -05:00
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';
2022-04-21 16:31:26 -05:00
@Controller('auth')
2022-04-30 21:18:19 -05:00
@ApiTags('auth')
2022-04-21 20:33:05 -05:00
export class AuthController {
constructor(private authService: AuthService) {}
2022-06-14 00:47:47 -05:00
@Serealize(AuthOperadorOutputDto)
2022-05-02 12:45:12 -05:00
@Post('login-admin')
2022-05-30 15:22:31 -05:00
@ApiOperation({
description: 'Endpoint utilizado para el login del panel admin.',
})
@ApiBody({
description: 'Todas las variables son obligatorias.',
examples: {
ejemplo: {
value: {
operador: '',
password: '',
},
},
},
})
2022-06-14 00:47:47 -05:00
loginAdmin(@Body() body: LoginAdminDto) {
2022-05-02 12:45:12 -05:00
return this.authService.loginAdmin(body.operador, body.password);
}
2022-06-14 00:47:47 -05:00
@Serealize(AuthOperadorOutputDto)
2022-05-02 12:45:12 -05:00
@Post('login-operador')
2022-05-30 15:22:31 -05:00
@ApiOperation({
description: 'Endpoint utilizado para el login del panel del operador.',
})
@ApiBody({
description: 'Todas las variables son obligatorias.',
examples: {
ejemplo: {
value: {
2022-07-05 21:53:47 -05:00
id_modulo: 1,
2022-05-30 15:22:31 -05:00
operador: '',
password: '',
},
},
},
})
2022-06-14 00:47:47 -05:00
loginOperador(@Body() body: LoginOperadorDto) {
2022-04-21 21:52:40 -05:00
return this.authService.loginOperador(
2022-05-02 12:45:12 -05:00
body.id_modulo,
2022-04-21 21:52:40 -05:00
body.operador,
body.password,
);
2022-04-21 20:33:05 -05:00
}
2022-06-14 00:47:47 -05:00
@Serealize(AuthUsuarioOutputDto)
2022-05-02 12:45:12 -05:00
@Post('login-usuario')
2022-06-13 05:33:53 -05:00
@ApiOperation({
description: 'Endpoint utilizado para el login del usuario.',
})
2022-05-30 15:22:31 -05:00
@ApiBody({
description: 'Todas las variables son obligatorias.',
2022-07-24 22:35:00 -05:00
examples: { ejemplo: { value: { password: '', usuario: '' } } },
2022-05-30 15:22:31 -05:00
})
2022-06-14 00:47:47 -05:00
loginUsuario(@Body() body: LoginUsuarioDto) {
2022-04-21 20:33:05 -05:00
return this.authService.loginUsuario(body.usuario, body.password);
}
@Get('validar-token')
@UseGuards(AuthGuard('jwt'))
@ApiOperation({
description: 'Endpoint utilizado para validar un token.',
})
validarToken() {
return true;
}
2022-04-21 20:33:05 -05:00
}