41 lines
1.4 KiB
TypeScript
41 lines
1.4 KiB
TypeScript
import { Body, Controller, Delete, Get, Param, Patch, Post, Put, UseGuards } from '@nestjs/common';
|
|
import { PeriodoService } from './periodo.service';
|
|
import { CreatePeriodoDto, ModifiedDateDto } from './dto/create-periodo.dto';
|
|
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('periodo')
|
|
export class PeriodoController {
|
|
constructor(private readonly periodoService: PeriodoService) { }
|
|
|
|
@UseGuards(JwtAuthGuard, RolesGuard)
|
|
@Roles(Role.ADMINISTRADOR, Role.SUPER_ADMINISTRADOR)
|
|
@Get()
|
|
findAll() {
|
|
return this.periodoService.findAll();
|
|
}
|
|
|
|
@UseGuards(JwtAuthGuard, RolesGuard)
|
|
@Roles(Role.ADMINISTRADOR, Role.SUPER_ADMINISTRADOR)
|
|
@Post()
|
|
create(@Body() data: CreatePeriodoDto) {
|
|
return this.periodoService.create(data);
|
|
}
|
|
|
|
@UseGuards(JwtAuthGuard, RolesGuard)
|
|
@Roles(Role.ADMINISTRADOR, Role.SUPER_ADMINISTRADOR)
|
|
@Delete("/:id_periodo")
|
|
delete(@Param("id_periodo") id_periodo: number) {
|
|
return this.periodoService.delete(id_periodo)
|
|
}
|
|
|
|
@UseGuards(JwtAuthGuard, RolesGuard)
|
|
@Roles(Role.ADMINISTRADOR, Role.SUPER_ADMINISTRADOR)
|
|
@Patch("/date/:id_periodo")
|
|
modifiedDate(@Body() data: ModifiedDateDto, @Param("id_periodo") id_periodo: number) {
|
|
return this.periodoService.modifiedDate(data, id_periodo)
|
|
}
|
|
}
|