import { Body, Controller, Post, Req, UseGuards } from '@nestjs/common'; import { OperationsService } from './operations.services'; import { chargePrintDto } from './dto/operations.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('operations') export class OperationsController { constructor(private readonly operationsService: OperationsService) { } @UseGuards(JwtAuthGuard, RolesGuard) @Roles(Role.ADMINISTRADOR, Role.SUPER_ADMINISTRADOR, Role.ATENCION_USUARIOS, Role.PCPUMA, Role.SERVICIO_SOCIAL) @Post('impressions') async chargePrint(@Body() data: chargePrintDto, @Req() req: any) { const id_usuario = req.user.id; return this.operationsService.chargePrint(data, id_usuario); } @UseGuards(JwtAuthGuard, RolesGuard) @Roles(Role.ADMINISTRADOR, Role.SUPER_ADMINISTRADOR, Role.ATENCION_USUARIOS, Role.PCPUMA, Role.SERVICIO_SOCIAL) @Post('receipt') async addCredit(@Body() data, @Req() req: any) { const id_usuario = req.user.id; return this.operationsService.addCredit(data, id_usuario); } @UseGuards(JwtAuthGuard, RolesGuard) @Roles(Role.ADMINISTRADOR, Role.SUPER_ADMINISTRADOR, Role.SERVICIO_SOCIAL, Role.ATENCION_USUARIOS) @Post('registration') async addReceiptInscription(@Body() data, @Req() req: any) { const id_usuario = req.user.id; return this.operationsService.addReceiptInscription(data, id_usuario); } @UseGuards(JwtAuthGuard, RolesGuard) @Roles(Role.ADMINISTRADOR, Role.SUPER_ADMINISTRADOR, Role.SERVICIO_SOCIAL, Role.ATENCION_USUARIOS) @Post('time') async addTime(@Body() data, @Req() req: any) { const id_usuario = req.user.id; return this.operationsService.addTime(data, id_usuario); } } //IO