feat: change dingUserIds to users array with name/mobile in DTOs

This commit is contained in:
2026-07-10 09:49:41 +08:00
parent 1f9308c1b7
commit b261ec5930

View File

@@ -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;
}