test: harden business boundary conditions

This commit is contained in:
2026-07-15 00:03:55 +08:00
parent 17a5046ea0
commit b1f35f9d1a
65 changed files with 2311 additions and 293 deletions

View File

@@ -0,0 +1,21 @@
import { Transform, Type } from 'class-transformer';
import { IsBoolean, IsISO8601, IsInt, IsOptional, Matches, Max, Min } from 'class-validator';
export class ScheduleSyncQueryDto {
@IsOptional()
@Matches(/^\d{4}-\d{2}-\d{2}$/)
@IsISO8601({ strict: true })
dateFrom?: string;
@IsOptional()
@Type(() => Number)
@IsInt()
@Min(1)
@Max(90)
days: number = 30;
@IsOptional()
@Transform(({ value }) => value === true || value === 'true')
@IsBoolean()
attendanceMachineOnly: boolean = false;
}