feat:简单添加管理员后台功能
This commit is contained in:
139
src/dto/admin_response.dto.ts
Normal file
139
src/dto/admin_response.dto.ts
Normal file
@@ -0,0 +1,139 @@
|
||||
/**
|
||||
* 管理员相关响应 DTO
|
||||
*
|
||||
* 功能描述:
|
||||
* - 为 Swagger 提供明确的响应结构定义
|
||||
* - 与 AdminService 返回结构保持一致
|
||||
*
|
||||
* @author jianuo
|
||||
* @version 1.0.0
|
||||
* @since 2025-12-19
|
||||
*/
|
||||
|
||||
import { ApiProperty } from '@nestjs/swagger';
|
||||
|
||||
class AdminInfoDto {
|
||||
@ApiProperty({ example: '1' })
|
||||
id: string;
|
||||
|
||||
@ApiProperty({ example: 'admin' })
|
||||
username: string;
|
||||
|
||||
@ApiProperty({ example: '管理员' })
|
||||
nickname: string;
|
||||
|
||||
@ApiProperty({ example: 9 })
|
||||
role: number;
|
||||
}
|
||||
|
||||
class AdminLoginDataDto {
|
||||
@ApiProperty({ type: AdminInfoDto })
|
||||
admin: AdminInfoDto;
|
||||
|
||||
@ApiProperty({ description: '管理员访问Token(用于Authorization Bearer)' })
|
||||
access_token: string;
|
||||
|
||||
@ApiProperty({ description: '过期时间戳(毫秒)', example: 1766102400000 })
|
||||
expires_at: number;
|
||||
}
|
||||
|
||||
export class AdminLoginResponseDto {
|
||||
@ApiProperty({ example: true })
|
||||
success: boolean;
|
||||
|
||||
@ApiProperty({ type: AdminLoginDataDto, required: false })
|
||||
data?: AdminLoginDataDto;
|
||||
|
||||
@ApiProperty({ example: '管理员登录成功' })
|
||||
message: string;
|
||||
|
||||
@ApiProperty({ required: false, example: 'ADMIN_LOGIN_FAILED' })
|
||||
error_code?: string;
|
||||
}
|
||||
|
||||
class AdminUserDto {
|
||||
@ApiProperty({ example: '1' })
|
||||
id: string;
|
||||
|
||||
@ApiProperty({ example: 'user1' })
|
||||
username: string;
|
||||
|
||||
@ApiProperty({ example: '小明' })
|
||||
nickname: string;
|
||||
|
||||
@ApiProperty({ required: false, example: 'user1@example.com', nullable: true })
|
||||
email?: string;
|
||||
|
||||
@ApiProperty({ example: false })
|
||||
email_verified: boolean;
|
||||
|
||||
@ApiProperty({ required: false, example: '+8613800138000', nullable: true })
|
||||
phone?: string;
|
||||
|
||||
@ApiProperty({ required: false, example: 'https://example.com/avatar.png', nullable: true })
|
||||
avatar_url?: string;
|
||||
|
||||
@ApiProperty({ example: 1 })
|
||||
role: number;
|
||||
|
||||
@ApiProperty({ example: '2025-12-19T00:00:00.000Z' })
|
||||
created_at: Date;
|
||||
|
||||
@ApiProperty({ example: '2025-12-19T00:00:00.000Z' })
|
||||
updated_at: Date;
|
||||
}
|
||||
|
||||
class AdminUsersDataDto {
|
||||
@ApiProperty({ type: [AdminUserDto] })
|
||||
users: AdminUserDto[];
|
||||
|
||||
@ApiProperty({ example: 100 })
|
||||
limit: number;
|
||||
|
||||
@ApiProperty({ example: 0 })
|
||||
offset: number;
|
||||
}
|
||||
|
||||
export class AdminUsersResponseDto {
|
||||
@ApiProperty({ example: true })
|
||||
success: boolean;
|
||||
|
||||
@ApiProperty({ type: AdminUsersDataDto, required: false })
|
||||
data?: AdminUsersDataDto;
|
||||
|
||||
@ApiProperty({ example: '用户列表获取成功' })
|
||||
message: string;
|
||||
|
||||
@ApiProperty({ required: false, example: 'ADMIN_USERS_FAILED' })
|
||||
error_code?: string;
|
||||
}
|
||||
|
||||
class AdminUserDataDto {
|
||||
@ApiProperty({ type: AdminUserDto })
|
||||
user: AdminUserDto;
|
||||
}
|
||||
|
||||
export class AdminUserResponseDto {
|
||||
@ApiProperty({ example: true })
|
||||
success: boolean;
|
||||
|
||||
@ApiProperty({ type: AdminUserDataDto, required: false })
|
||||
data?: AdminUserDataDto;
|
||||
|
||||
@ApiProperty({ example: '用户信息获取成功' })
|
||||
message: string;
|
||||
}
|
||||
|
||||
export class AdminCommonResponseDto {
|
||||
@ApiProperty({ example: true })
|
||||
success: boolean;
|
||||
|
||||
@ApiProperty({ required: false })
|
||||
data?: any;
|
||||
|
||||
@ApiProperty({ example: '密码重置成功' })
|
||||
message: string;
|
||||
|
||||
@ApiProperty({ required: false, example: 'ADMIN_OPERATION_FAILED' })
|
||||
error_code?: string;
|
||||
}
|
||||
Reference in New Issue
Block a user