/** * 管理员相关 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; }