Files
api-AT/src/alumno_inscrito/alumno_inscrito.controller.ts
T

70 lines
2.5 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/:inicio/:fin')
findAllInscritosByRango(
@Param('inicio', ParseIntPipe) inicio: number,
@Param('fin', ParseIntPipe) fin: number,
) {
return this.alumnoInscritoService.findAllInscritosByRango(inicio, fin);
}
}