import { IsOptional, IsEnum, IsArray, IsInt, IsString } from 'class-validator';
import { InquiryStatus, CertBody, AuditStage } from '../entities/inquiry.entity';

export class UpdateInquiryDto {
  // Scheme edits these before generating draft
  @IsOptional() audit_date?: string;
  @IsOptional() auditor_name?: string;
  @IsOptional() certificate_number?: string;
  @IsOptional() issue_date?: string;
  @IsOptional() expiry_date?: string;
  @IsOptional() accreditation_body?: string;
  @IsOptional() scope_of_work?: string;
  @IsOptional() draft_certificate_path?: string;

  // ✅ NEW — Certification body (QRS / TQS)
  @IsOptional()
  @IsEnum(CertBody)
  cert_body?: CertBody;

  // ✅ NEW — Audit stage (Stage 1 / Stage 2 / Surveillance / Recertification)
  @IsOptional()
  @IsEnum(AuditStage)
  audit_stage?: AuditStage;

  // Marketing sends back change notes
  @IsOptional() change_request_notes?: string;

  // Status transition
  @IsOptional()
  @IsEnum(InquiryStatus)
  status?: InquiryStatus;

  // Standards can be updated (e.g. adding new ISO standard)
  @IsOptional()
  @IsArray()
  @IsInt({ each: true })
  standards?: number[];
}