2024-06-24 16:12:23 -06:00
|
|
|
import { Body, Controller, Delete, Get, Param, ParseIntPipe, Post, Put, Query,UseGuards } from '@nestjs/common';
|
2024-06-14 14:33:27 -06:00
|
|
|
import { ProfesorService } from './profesor.service';
|
2024-06-14 15:33:11 -06:00
|
|
|
import { profesorDto } from './dto/profesorDto.dto';
|
2024-06-24 16:12:23 -06:00
|
|
|
import {Roles} from '../permissions/roles.decorator'
|
|
|
|
|
import {RolesGuard} from '../permissions/roles.guard'
|
|
|
|
|
import {Role} from '../permissions/role.enum'
|
2024-06-14 14:33:27 -06:00
|
|
|
|
|
|
|
|
@Controller('profesor')
|
2024-06-25 22:18:43 -06:00
|
|
|
@UseGuards(RolesGuard)
|
2024-06-15 17:09:19 -06:00
|
|
|
export class ProfesorController {
|
|
|
|
|
constructor(private profesorService: ProfesorService) {}
|
2024-06-14 14:33:27 -06:00
|
|
|
|
2024-06-16 16:51:45 -06:00
|
|
|
@Post()
|
2024-07-05 08:08:31 -06:00
|
|
|
@Roles(Role.Responsable,Role.Admin)
|
2024-07-03 23:46:11 -06:00
|
|
|
async register(@Body() data: profesorDto) {
|
|
|
|
|
return this.profesorService.register(data);
|
2024-06-15 17:09:19 -06:00
|
|
|
}
|
2024-06-14 14:33:27 -06:00
|
|
|
|
2024-06-16 16:51:45 -06:00
|
|
|
@Get()
|
|
|
|
|
findAll() {
|
|
|
|
|
return this.profesorService.findAll();
|
|
|
|
|
}
|
|
|
|
|
|
2024-06-19 16:18:12 -06:00
|
|
|
@Get('page')
|
2024-06-20 19:02:11 -06:00
|
|
|
findAllPaginated(@Query('page') page: number = 1, @Query('limit') limit: number = 10, @Query() filters: any) {
|
2024-06-19 16:18:12 -06:00
|
|
|
page = page < 1 ? 1 : page;
|
2024-06-20 19:02:11 -06:00
|
|
|
limit = limit > 10 || limit < 1 ? 10 : limit;
|
2024-06-19 16:18:12 -06:00
|
|
|
|
2024-06-20 19:02:11 -06:00
|
|
|
return this.profesorService.findAllPaginated(page, limit, filters);
|
2024-06-19 16:18:12 -06:00
|
|
|
}
|
|
|
|
|
|
2024-06-16 16:51:45 -06:00
|
|
|
@Put(':id_profesor')
|
2024-06-25 22:18:43 -06:00
|
|
|
@Roles(Role.Responsable,Role.Admin)
|
|
|
|
|
async modify(@Param('id_profesor', ParseIntPipe) id_profesor: number, @Body() data: profesorDto) {
|
2024-06-15 17:09:19 -06:00
|
|
|
return this.profesorService.modify(id_profesor, data);
|
|
|
|
|
}
|
2024-06-14 14:33:27 -06:00
|
|
|
|
2024-06-16 16:51:45 -06:00
|
|
|
@Delete(':id_profesor')
|
2024-06-25 22:18:43 -06:00
|
|
|
@Roles(Role.Responsable,Role.Admin)
|
2024-06-15 17:09:19 -06:00
|
|
|
async remove(@Param('id_profesor', ParseIntPipe) id_profesor: number) {
|
|
|
|
|
return this.profesorService.remove(id_profesor);
|
|
|
|
|
}
|
2024-06-14 14:33:27 -06:00
|
|
|
|
2024-06-16 16:51:45 -06:00
|
|
|
@Get(':id_profesor')
|
2024-06-15 17:09:19 -06:00
|
|
|
async profile(@Param('id_profesor', ParseIntPipe) id_profesor: number) {
|
|
|
|
|
return this.profesorService.profile(id_profesor);
|
|
|
|
|
}
|
2024-06-14 14:33:27 -06:00
|
|
|
|
|
|
|
|
}
|