From b261ec59302414a3800fb356e82a5c85d102dade Mon Sep 17 00:00:00 2001 From: wangziqi Date: Fri, 10 Jul 2026 09:49:41 +0800 Subject: [PATCH] feat: change dingUserIds to users array with name/mobile in DTOs --- apps/server/src/classes/dto/class.dto.ts | 26 +++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/apps/server/src/classes/dto/class.dto.ts b/apps/server/src/classes/dto/class.dto.ts index fd7323d..beb7f66 100644 --- a/apps/server/src/classes/dto/class.dto.ts +++ b/apps/server/src/classes/dto/class.dto.ts @@ -1,4 +1,4 @@ -import { IsOptional, IsString, IsNotEmpty, IsInt, IsArray, IsDateString, IsEnum, ArrayNotEmpty } from 'class-validator'; +import { IsOptional, IsString, IsNotEmpty, IsInt, IsArray, IsDateString, IsEnum, ArrayNotEmpty, ValidateNested } from 'class-validator'; import { Type } from 'class-transformer'; import { ClassType, ClassStatus, TeacherRoleType } from '../../entities'; @@ -40,10 +40,11 @@ export class CreateClassDto { @IsOptional() @IsArray() studentIds?: number[]; - @IsArray() - @IsString({ each: true }) @IsOptional() - dingUserIds?: string[]; + @IsArray() + @ValidateNested({ each: true }) + @Type(() => ImportUserItem) + users?: ImportUserItem[]; @IsOptional() @IsArray() teachers?: Array<{ userId: number; roleType: string; subject?: string }>; @@ -132,10 +133,21 @@ export class QueryClassAttendanceSummaryDto { @IsOptional() @IsDateString() endDate?: string; } - export class BatchImportStudentsDto { @IsArray() - @IsString({ each: true }) @ArrayNotEmpty() - dingUserIds: string[]; + @ValidateNested({ each: true }) + @Type(() => ImportUserItem) + users: ImportUserItem[]; +} + +export class ImportUserItem { + @IsString() @IsNotEmpty() + dingUserId: string; + + @IsString() @IsNotEmpty() + name: string; + + @IsOptional() @IsString() + mobile?: string; }