library-picturebook-activity/backend/src/contests/review-rules/dto/create-review-rule.dto.ts

25 lines
428 B
TypeScript
Raw Normal View History

2025-12-09 11:10:36 +08:00
import { IsString, IsInt, IsEnum, IsOptional, IsObject } from 'class-validator';
export enum CalculationRule {
AVERAGE = 'average',
MAX = 'max',
MIN = 'min',
WEIGHTED = 'weighted',
}
export class CreateReviewRuleDto {
@IsInt()
contestId: number;
@IsString()
ruleName: string;
@IsObject()
dimensions: any; // JSON object
@IsEnum(CalculationRule)
@IsOptional()
calculationRule?: CalculationRule;
}