import { IsString, IsOptional, IsArray, ValidateNested, } from 'class-validator'; import { Type } from 'class-transformer'; import { WorkflowStageDto } from './workflow-stage.dto'; export class CreateWorkflowDto { @IsString() workflowType: string; @IsString() name: string; @IsOptional() @IsString() description?: string; @IsArray() @ValidateNested({ each: true }) @Type(() => WorkflowStageDto) stages: WorkflowStageDto[]; @IsOptional() @IsArray() @IsString({ each: true }) onSuccessActions?: string[]; @IsOptional() @IsArray() @IsString({ each: true }) onFailureActions?: string[]; @IsOptional() metadata?: Record; @IsOptional() @IsString() createdBy?: string; }