Files
api-AT/src/alumno_inscrito/alumno_inscrito.controller.ts
T
2026-03-26 18:43:08 -06:00

85 lines
2.9 KiB
TypeScript

import { Controller, Get, Post, Body, Param, Patch, UseGuards, ParseIntPipe } from '@nestjs/common';
import { AlumnoInscritoService } from './alumno_inscrito.service';
import {
CreateAlumnoInscritoDto,
} from './dto/create-alumno_inscrito.dto';
import { AlumnoInscrito } from './entities/alumno_inscrito.entity';
import { JwtAuthGuard } from 'src/user/jwt.guard';
import { RolesGuard } from 'src/roles.guard';
import { Roles } from 'src/roles.decorator';
import { Role } from 'src/role.enum';
@Controller('alumno-inscrito')
export class AlumnoInscritoController {
constructor(private readonly alumnoInscritoService: AlumnoInscritoService) { }
@UseGuards(JwtAuthGuard, RolesGuard)
@Roles(Role.ADMINISTRADOR, Role.SUPER_ADMINISTRADOR,Role.ATENCION_USUARIOS,Role.SERVICIO_SOCIAL)
@Post()
async create(@Body() dto: CreateAlumnoInscritoDto): Promise<AlumnoInscrito> {
return this.alumnoInscritoService.createWhitoutPay(dto);
}
@UseGuards(JwtAuthGuard, RolesGuard)
@Roles(Role.ADMINISTRADOR, Role.SUPER_ADMINISTRADOR)
@Get()
async findAll(): Promise<AlumnoInscrito[]> {
return this.alumnoInscritoService.findAll();
}
@UseGuards(JwtAuthGuard, RolesGuard)
@Roles(Role.ADMINISTRADOR, Role.SUPER_ADMINISTRADOR)
@Get("/inscritos/:idPeriodo")
async findAllInscritos(@Param('idPeriodo') idPeriodo: number) {
return this.alumnoInscritoService.findAllInscritos(idPeriodo);
}
@UseGuards(JwtAuthGuard, RolesGuard)
@Roles(Role.ADMINISTRADOR, Role.SUPER_ADMINISTRADOR)
@Get('/plataforma')
async findAllPlataforma() {
return this.alumnoInscritoService.findAllPlataforma();
}
@UseGuards(JwtAuthGuard, RolesGuard)
@Roles(Role.ADMINISTRADOR, Role.SUPER_ADMINISTRADOR,Role.ATENCION_USUARIOS,Role.SERVICIO_SOCIAL)
@Get(':id_cuenta')
async findByIdWhitoud(
@Param('id_cuenta') id_cuenta: number,
): Promise<AlumnoInscrito[]> {
return this.alumnoInscritoService.findByIdWhitoud(id_cuenta);
}
@UseGuards(JwtAuthGuard, RolesGuard)
@Roles(Role.ADMINISTRADOR, Role.SUPER_ADMINISTRADOR,Role.ATENCION_USUARIOS,Role.SERVICIO_SOCIAL)
@Get(':id_cuenta/sancion')
async findById(
@Param('id_cuenta') id_cuenta: number,
): Promise<AlumnoInscrito[]> {
return this.alumnoInscritoService.findById(id_cuenta);
}
@Get('inscritos/periodo/:inicio/:fin')
findByPeriodo(
@Param('inicio', ParseIntPipe) inicio: number,
@Param('fin', ParseIntPipe) fin: number,
) {
return this.alumnoInscritoService.findAllInscritosByRango(inicio, fin, 'periodo');
}
@Get('inscritos/anio/:inicio/:fin')
findByAnio(
@Param('inicio', ParseIntPipe) inicio: number,
@Param('fin', ParseIntPipe) fin: number,
) {
return this.alumnoInscritoService.findAllInscritosByRango(inicio, fin, 'anio');
}
@Get('inscritos/mes/:anio')
findByMes(
@Param('anio', ParseIntPipe) anio: number,
) {
return this.alumnoInscritoService.findAllInscritosByRango(anio, 0, 'mes');
}
}