import { Body, Controller, Get, Param, ParseUUIDPipe, Patch, Post, Query, Req, UseGuards, } from '@nestjs/common'; import { Request } from 'express'; import { CurrentUser } from '../auth/decorators/current-user.decorator'; import { JwtAuthGuard } from '../auth/guards/jwt-auth.guard'; import { TenantGuard } from '../auth/guards/tenant.guard'; import { JwtPayload } from '../auth/types/jwt-payload.type'; import { ListRecebimentosQueryDto } from './dto/list-recebimentos.query.dto'; import { MarcarPagoDto } from './dto/marcar-pago.dto'; import { SalePaymentsService } from './sale-payments.service'; import { ApiBearerAuth, ApiTags } from '@nestjs/swagger'; @UseGuards(JwtAuthGuard, TenantGuard) @ApiTags('tenant/recebimentos') @ApiBearerAuth('jwt') @Controller('tenant/recebimentos') export class SalePaymentsController { constructor(private readonly salePaymentsService: SalePaymentsService) {} @Get() findAll(@Query() query: ListRecebimentosQueryDto) { return this.salePaymentsService.findAll(query); } @Patch(':id/marcar-pago') marcarPago( @Param('id', ParseUUIDPipe) id: string, @Body() dto: MarcarPagoDto, @CurrentUser() user: JwtPayload, @Req() req: Request, ) { return this.salePaymentsService.marcarPago(id, dto, user, req.ip); } @Post('atualizar-atrasadas') atualizarAtrasadas(@CurrentUser() user: JwtPayload, @Req() req: Request) { return this.salePaymentsService.atualizarAtrasadas(user, req.ip); } }