import { IsBoolean, IsEnum, IsOptional, IsString } from "class-validator";
import { OpsJobKind } from "@jorgecuadros/database";

export class StartJobDto {
  @IsEnum(OpsJobKind)
  kind!: OpsJobKind;

  /** Target backup filename — required for RESTORE, ignored otherwise. */
  @IsOptional()
  @IsString()
  file?: string;

  /**
   * REIMPORT only: proceed even though the rebuild deletes rows that exist only
   * in the platform. Off by default, so the guard in run_all.py stops the job
   * and lists what would be lost rather than the operator finding out after.
   */
  @IsOptional()
  @IsBoolean()
  forceFull?: boolean;
}
