diff --git a/src/decisions/dto.ts b/src/decisions/dto.ts new file mode 100644 index 0000000..eb92b86 --- /dev/null +++ b/src/decisions/dto.ts @@ -0,0 +1,56 @@ +import { IsArray, IsISO8601, IsOptional, IsString, Length } from 'class-validator'; + +export class CreateDecisionDto { + @IsString() + @Length(1, 2000) + context!: string; + + @IsOptional() + @IsArray() + options?: unknown[]; + + @IsOptional() + @IsArray() + assumptions?: unknown[]; + + @IsOptional() + @IsArray() + evidence?: unknown[]; + + @IsOptional() + @IsISO8601() + reviewDueAt?: string; +} + +export class UpdateDecisionDto { + @IsOptional() + @IsString() + @Length(1, 2000) + context?: string; + + @IsOptional() + @IsArray() + options?: unknown[]; + + @IsOptional() + @IsArray() + assumptions?: unknown[]; + + @IsOptional() + @IsArray() + evidence?: unknown[]; + + @IsOptional() + @IsString() + @Length(1, 500) + selectedOption?: string; + + @IsOptional() + @IsString() + @Length(1, 2000) + outcomeReview?: string; + + @IsOptional() + @IsISO8601() + reviewDueAt?: string; +}