import { Controller, Get, Query, UseGuards } from "@nestjs/common";
import { Tenant } from "../../common/decorators/tenant.decorator";
import { JwtAuthGuard } from "../../common/guards/jwt-auth.guard";
import { ReportQueryDto } from "./dto/report-query.dto";
import { ReportsService } from "./reports.service";

@UseGuards(JwtAuthGuard)
@Controller("reports")
export class ReportsController {
  constructor(private readonly reportsService: ReportsService) {}

  @Get("summary")
  getSummary(@Tenant() companyId: string, @Query() query: ReportQueryDto) {
    return this.reportsService.getSummary(companyId, query);
  }

  @Get("financial")
  getFinancialReport(@Tenant() companyId: string, @Query() query: ReportQueryDto) {
    return this.reportsService.getFinancialReport(companyId, query);
  }

  @Get("fleet")
  getFleetReport(@Tenant() companyId: string, @Query() query: ReportQueryDto) {
    return this.reportsService.getFleetReport(companyId, query);
  }

  @Get("maintenance")
  getMaintenanceReport(@Tenant() companyId: string, @Query() query: ReportQueryDto) {
    return this.reportsService.getMaintenanceReport(companyId, query);
  }
}
