71 lines
2.0 KiB
TypeScript
71 lines
2.0 KiB
TypeScript
/**
|
||
* 管理员相关 DTO
|
||
*
|
||
* 功能描述:
|
||
* - 定义管理员登录与用户密码重置的请求结构
|
||
* - 提供完整的数据验证规则
|
||
* - 支持Swagger文档自动生成
|
||
*
|
||
* 职责分离:
|
||
* - 请求数据结构定义
|
||
* - 输入参数验证规则
|
||
* - API文档生成支持
|
||
*
|
||
* 最近修改:
|
||
* - 2026-01-08: 文件夹扁平化 - 从dto/子文件夹移动到上级目录 (修改者: moyin)
|
||
* - 2026-01-07: 代码规范优化 - 修正文件命名规范,更新作者信息和修改记录
|
||
* - 2026-01-08: 注释规范优化 - 补充类注释,完善DTO文档说明 (修改者: moyin)
|
||
*
|
||
* @author moyin
|
||
* @version 1.0.3
|
||
* @since 2025-12-19
|
||
* @lastModified 2026-01-08
|
||
*/
|
||
|
||
import { ApiProperty } from '@nestjs/swagger';
|
||
import { IsNotEmpty, IsString, MinLength } from 'class-validator';
|
||
|
||
/**
|
||
* 管理员登录请求DTO
|
||
*
|
||
* 功能描述:
|
||
* 定义管理员登录接口的请求数据结构和验证规则
|
||
*
|
||
* 验证规则:
|
||
* - identifier: 必填字符串,支持用户名/邮箱/手机号
|
||
* - password: 必填字符串,管理员密码
|
||
*
|
||
* 使用场景:
|
||
* - POST /admin/auth/login 接口的请求体
|
||
*/
|
||
export class AdminLoginDto {
|
||
@ApiProperty({ description: '登录标识符(用户名/邮箱/手机号)', example: 'admin' })
|
||
@IsString()
|
||
@IsNotEmpty()
|
||
identifier: string;
|
||
|
||
@ApiProperty({ description: '密码', example: 'Admin123456' })
|
||
@IsString()
|
||
@IsNotEmpty()
|
||
password: string;
|
||
}
|
||
|
||
/**
|
||
* 管理员重置密码请求DTO
|
||
*
|
||
* 功能描述:
|
||
* 定义管理员重置用户密码接口的请求数据结构和验证规则
|
||
*
|
||
* 验证规则:
|
||
* - newPassword: 必填字符串,至少8位,需包含字母和数字
|
||
*
|
||
* 使用场景:
|
||
* - POST /admin/users/:id/reset-password 接口的请求体
|
||
*/
|
||
export class AdminResetPasswordDto {
|
||
@ApiProperty({ description: '新密码(至少8位,包含字母和数字)', example: 'NewPass1234' })
|
||
@IsString()
|
||
@IsNotEmpty()
|
||
@MinLength(8)
|
||
newPassword: string;
|
||
} |