Files
gongxue-base/apps/server/src/rbac/dto/rbac.dto.ts

92 lines
1.3 KiB
TypeScript

import { IsString, MinLength, IsOptional, IsArray, IsBoolean, IsInt, IsNotEmpty } 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;
}
export class CreateStudentDingMappingDto {
@IsInt()
@IsNotEmpty()
studentId: number;
@IsString()
@IsNotEmpty()
dingUserId: string;
}