import { Controller, Get, Post, Body, Patch, Param, Delete, Query } from '@nestjs/common';
import { CompanyAuditsService } from './company-audits.service';
import { CreateCompanyAuditDto } from './dto/create-company-audit.dto';
import { UpdateCompanyAuditDto } from './dto/update-company-audit.dto';
import { AuditStatus } from './entities/company-audit.entity';

@Controller('company-audits')
export class CompanyAuditsController {
  constructor(private readonly service: CompanyAuditsService) {}

  @Post()
  create(@Body() dto: CreateCompanyAuditDto) {
    return this.service.create(dto);
  }

  @Get()
  findAll(
    @Query('companyId') companyId?: string,
    @Query('status') status?: string,
  ) {
    // Convert companyId to number and cast status to AuditStatus enum
    const auditStatus: AuditStatus | undefined = status
      ? (status as AuditStatus)
      : undefined;

    return this.service.findAll({
      companyId: companyId ? Number(companyId) : undefined,
      status: auditStatus,
    });
  }

  @Get(':id')
  findOne(@Param('id') id: string) {
    return this.service.findOne(Number(id));
  }

  @Patch(':id')
  update(@Param('id') id: string, @Body() dto: UpdateCompanyAuditDto) {
    return this.service.update(Number(id), dto);
  }

  @Delete(':id')
  remove(@Param('id') id: string) {
    return this.service.remove(Number(id));
  }

  
}
