package dto

// CreateUserRequest 定义创建用户请求的结构体
type CreateUserRequest struct {
	Username string `json:"username" validate:"required" example:"newuser"`
	Password string `json:"password" validate:"required" example:"password123"`
}

// LoginRequest 定义登录请求的结构体
type LoginRequest struct {
	// Identifier 可以是用户名、邮箱、手机号、微信号或飞书账号
	Identifier string `json:"identifier" validate:"required" example:"testuser"`
	Password   string `json:"password" validate:"required" example:"password123"`
}

// CreateUserResponse 定义创建用户成功响应的结构体
type CreateUserResponse struct {
	Username string `json:"username" example:"newuser"`
	ID       uint32 `json:"id" example:"1"`
}

// LoginResponse 定义登录成功响应的结构体
type LoginResponse struct {
	Username string `json:"username" example:"testuser"`
	ID       uint32 `json:"id" example:"1"`
	Token    string `json:"token" example:"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."`
}

// HistoryResponse 定义单条操作历史的响应结构体
type HistoryResponse struct {
	UserID         uint32      `json:"user_id" example:"101"`
	Username       string      `json:"username" example:"testuser"`
	ActionType     string      `json:"action_type" example:"更新设备"`
	Description    string      `json:"description" example:"设备更新成功"`
	TargetResource interface{} `json:"target_resource"`
	Time           string      `json:"time"`
}

// ListHistoryResponse 定义操作历史列表的响应结构体
type ListHistoryResponse struct {
	History []HistoryResponse `json:"history"`
	Total   int64             `json:"total" example:"100"`
}
