import {
  Controller,
  Get,
  Query,
  Param,
  ParseIntPipe,
  UseGuards,
} from "@nestjs/common"
import { CompanySubscriptionHistoryService } from "../services/company-subscription-history.service"
import { SubscriptionHistoryFiltersDto } from "../dto/subscription-history-filters.dto"
import { AuthGuardMiddleware } from "src/middleware/auth-guard.middleware"
import { ApiBearerAuth, ApiTags } from "@nestjs/swagger"

@Controller("company-subscription-histories")
@UseGuards(AuthGuardMiddleware)
@ApiBearerAuth("access-token")
@ApiTags("Company Subscription Histories")
export class CompanySubscriptionHistoryController {
  constructor(
    private readonly subscriptionHistoryService: CompanySubscriptionHistoryService,
  ) {}

  @Get()
  async findAll(@Query() filters: SubscriptionHistoryFiltersDto) {
    return this.subscriptionHistoryService.findAll(filters)
  }

  @Get(":id")
  async findOne(@Param("id", ParseIntPipe) id: number) {
    return this.subscriptionHistoryService.findOne(id)
  }
}
