package adminauth import ( "time" "hfb_sys/backend/internal/modules/auth" ) type AdminDTO struct { ID uint64 `json:"id"` Username string `json:"username"` Nickname string `json:"nickname"` Status string `json:"status"` SupportStatus string `json:"support_status"` PasswordMustChange bool `json:"password_must_change"` Roles []RoleDTO `json:"roles"` Permissions []string `json:"permissions"` LastLoginAt *time.Time `json:"last_login_at"` } type RoleDTO struct { ID uint64 `json:"id"` Code string `json:"code"` Name string `json:"name"` } type LoginRequest struct { Username string `json:"username" binding:"required"` Password string `json:"password" binding:"required"` CaptchaID string `json:"captcha_id" binding:"required"` CaptchaCode string `json:"captcha_code" binding:"required"` } type LoginResult struct { Admin AdminDTO `json:"admin"` Tokens auth.TokenPair `json:"tokens"` } type CaptchaDTO struct { CaptchaID string `json:"captcha_id"` Image string `json:"image"` ExpiresIn int64 `json:"expires_in"` } type UpdateSupportStatusRequest struct { Status string `json:"status" binding:"required,oneof=online offline busy"` }