import { Controller, Get, Param, Post, Req, UseGuards, Body } from "@nestjs/common";
import { OffersService } from "./offers.service";
import { JwtAuthGuard } from "../../common/guards/jwt-auth.guard";
import { OfferAcceptDto } from "./dto/offer-accept.dto";
import { OfferDeclineDto } from "./dto/offer-decline.dto";

@Controller()
@UseGuards(JwtAuthGuard)
export class OffersController {
  constructor(private readonly svc: OffersService) {}

  @Get("provider/offers")
  listProviderOffers(@Req() req: any) {
    return this.svc.listProviderOffers(req.user.userId);
  }

  @Post("provider/offers/:offerId/accept")
  accept(@Req() req: any, @Param("offerId") offerId: string, @Body() dto: OfferAcceptDto) {
    return this.svc.acceptOffer(req.user.userId, offerId, dto);
  }

  @Post("provider/offers/:offerId/decline")
  decline(@Req() req: any, @Param("offerId") offerId: string, @Body() dto: OfferDeclineDto) {
    return this.svc.declineOffer(req.user.userId, offerId, dto);
  }
}
