Files
api_directorio/src/Profesor/profesor.controller.ts
T

50 lines
1.6 KiB
TypeScript
Raw Normal View History

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
}