Multa controller final

This commit is contained in:
lemuel 2023-01-03 13:42:58 -06:00
parent c36c9c0925
commit cf1ff4f5be
2 changed files with 33 additions and 37 deletions

View File

@ -12,10 +12,10 @@ export class MultasDto {
@IsString() @IsString()
@IsNotEmpty() @IsNotEmpty()
@IsOptional() @IsOptional()
usuario?: string; nombre?: string;
@IsString() @IsString()
@IsNotEmpty() @IsNotEmpty()
@IsOptional() @IsOptional()
nombre?: string; usuario?: string;
} }

View File

@ -22,10 +22,10 @@ import { ValidarUsuarioService } from '../validar-usuario/validar-usuario.servic
import { Operador } from '../operador/entity/operador.entity'; import { Operador } from '../operador/entity/operador.entity';
import { Usuario } from '../usuario/entity/usuario.entity'; import { Usuario } from '../usuario/entity/usuario.entity';
import { IdEquipoPaginaDto } from '../dto/input/id-equipo-pagina.dto'; import { IdEquipoPaginaDto } from '../dto/input/id-equipo-pagina.dto';
import { IdUsuarioPaginaDto } from '../dto/input/id-usuario-pagina.dto';
import { MultarDto } from './dto/input/multar.dto'; import { MultarDto } from './dto/input/multar.dto';
import { MultasDto } from './dto/input/multas.dto'; import { MultasDto } from './dto/input/multas.dto';
import { QuitarMultarDto } from './dto/input/quitar.dto'; import { QuitarMultarDto } from './dto/input/quitar.dto';
import { IdUsuarioPaginaDto } from '../dto/input/id-usuario-pagina.dto';
import { MessageOutputDto } from '../dto/output/message.dto'; import { MessageOutputDto } from '../dto/output/message.dto';
import { MultasOutputDto } from './dto/output/multas.dto'; import { MultasOutputDto } from './dto/output/multas.dto';
import { MultasEquipoOutputDto } from './dto/output/multas-equipo.dto'; import { MultasEquipoOutputDto } from './dto/output/multas-equipo.dto';
@ -43,16 +43,16 @@ export class MultaController {
@Serealize(MessageOutputDto) @Serealize(MessageOutputDto)
@Post() @Post()
@UseGuards(AuthGuard('jwt')) @UseGuards(AuthGuard('jwt'))
@ApiOperation({ description: 'Endpoint utilizado para multar a un usuario.' }) @ApiOperation({ description: 'Multar usuario.' })
@ApiBearerAuth('jwt') @ApiBearerAuth('jwt')
@ApiBody({ @ApiBody({
description: 'Todas las vairales son obligatorias.', description: 'Variables que necesita el endpoint.',
examples: { examples: {
ejemplo: { ejemplo: {
value: { value: {
descripcion: '',
id_institucion_infraccion: 1, id_institucion_infraccion: 1,
id_prestamo: 1, id_prestamo: 1,
descripcion: '',
}, },
}, },
}, },
@ -74,7 +74,7 @@ export class MultaController {
@UseGuards(AuthGuard('jwt')) @UseGuards(AuthGuard('jwt'))
@ApiOperation({ @ApiOperation({
description: description:
'Información de 25 multas dependiendo de la página en la que este el usuario y sus filtros.', 'Información de 25 multas dependiendo de los filtros enviados.',
}) })
@ApiBearerAuth('jwt') @ApiBearerAuth('jwt')
@ApiQuery({ @ApiQuery({
@ -83,8 +83,8 @@ export class MultaController {
type: 'string', type: 'string',
}) })
@ApiQuery({ @ApiQuery({
description: 'Id de la institución.', description: 'Nombre que se quiere usar como filtro.',
name: 'id_institucion', name: 'nombre',
type: 'string', type: 'string',
required: false, required: false,
}) })
@ -101,11 +101,24 @@ export class MultaController {
return this.multaService.findAll(operador, query); return this.multaService.findAll(operador, query);
} }
@Serealize(MultasMinOutputDto)
@Get('multas-usuario-activas')
@UseGuards(AuthGuard('jwt'))
@ApiOperation({ description: 'Todas las multas activas de un usuario.' })
@ApiBearerAuth('jwt')
multasActivas(@Request() req) {
const usuario: Usuario = req.user.usuario;
this.validarUsuarioService.validarUsuario(usuario);
return this.multaService.findMultasActivasByUsuario(usuario);
}
@Serealize(MultasEquipoOutputDto) @Serealize(MultasEquipoOutputDto)
@Get('multas-equipo') @Get('multas-equipo')
@UseGuards(AuthGuard('jwt')) @UseGuards(AuthGuard('jwt'))
@ApiOperation({ @ApiOperation({
description: 'Endpoint que retorna todas las multas de un equipo.', description:
'Información de 25 multas de un equipo dependiendo de los filtros enviados.',
}) })
@ApiBearerAuth('jwt') @ApiBearerAuth('jwt')
@ApiQuery({ @ApiQuery({
@ -133,7 +146,8 @@ export class MultaController {
@Get('multas-usuario') @Get('multas-usuario')
@UseGuards(AuthGuard('jwt')) @UseGuards(AuthGuard('jwt'))
@ApiOperation({ @ApiOperation({
description: 'Endpoint que retorna todas las multas de un usuario .', description:
'Información de 25 multas de un usuario dependiendo de los filtros enviados.',
}) })
@ApiBearerAuth('jwt') @ApiBearerAuth('jwt')
@ApiQuery({ @ApiQuery({
@ -157,36 +171,13 @@ export class MultaController {
); );
} }
@Serealize(MultasMinOutputDto)
@Get('multas-usuario-activas')
@UseGuards(AuthGuard('jwt'))
@ApiOperation({
description:
'Endpoint que retorna todas las multas de un usuario que esten activas.',
})
@ApiBearerAuth('jwt')
@ApiQuery({
description: 'Id del usuario.',
name: 'id_usuario',
type: 'string',
})
multasActivas(@Request() req) {
const usuario: Usuario = req.user.usuario;
this.validarUsuarioService.validarUsuario(usuario);
return this.multaService.findMultasActivasByUsuario(usuario);
}
@Serealize(MessageOutputDto) @Serealize(MessageOutputDto)
@Put() @Put()
@UseGuards(AuthGuard('jwt')) @UseGuards(AuthGuard('jwt'))
@ApiOperation({ @ApiOperation({ description: 'Variables que necesita el endpoint.' })
description:
'Endpoint que se encarga de quitar la multa de un alumno de cierta institución.',
})
@ApiBearerAuth('jwt') @ApiBearerAuth('jwt')
@ApiBody({ @ApiBody({
description: 'La variable id_institucion_usuario es obligatoria.', description: 'Variables que necesita el endpoint.',
examples: { example: { value: { id_institucion_usuario: 1 } } }, examples: { example: { value: { id_institucion_usuario: 1 } } },
}) })
quitarMulta(@Request() req, @Body() body: QuitarMultarDto) { quitarMulta(@Request() req, @Body() body: QuitarMultarDto) {
@ -199,5 +190,10 @@ export class MultaController {
// @Get('reporte') // @Get('reporte')
// @UseGuards(AuthGuard('jwt')) // @UseGuards(AuthGuard('jwt'))
// @ApiBearerAuth('jwt') // @ApiBearerAuth('jwt')
// reporte() {} // reporte(@Request() req) {
// const operador: Operador = req.user.operador;
// this.validarUsuarioService.validarAdminOperador(operador);
// // return this.multaService.findAll(operador, query);
// }
} }