import { IsString, MinLength, IsOptional, IsArray, IsBoolean } from 'class-validator'; export class CreateRoleDto { @IsString() name: string; @IsOptional() @IsString() description?: string; @IsOptional() @IsArray() permissionIds?: number[]; } export class UpdateRoleDto { @IsOptional() @IsString() name?: string; @IsOptional() @IsString() description?: string; @IsOptional() @IsArray() permissionIds?: number[]; } export class CreateUserDto { @IsString() username: string; @IsString() @MinLength(4) password: string; @IsString() name: string; @IsOptional() @IsArray() roleIds?: number[]; } export class UpdateUserDto { @IsOptional() @IsString() username?: string; @IsOptional() @IsString() name?: string; @IsOptional() @IsBoolean() isActive?: boolean; @IsOptional() @IsArray() roleIds?: number[]; } export class ResetPasswordDto { @IsString() @MinLength(4) password: string; } export class UpdateProfileDto { @IsOptional() subjects?: string[]; @IsOptional() @IsString() joinedAt?: string; @IsOptional() @IsString() qualifications?: string; }