package request

// RegisterRequest 用户注册请求
type RegisterRequest struct {
	Username string `json:"username" binding:"required,min=3,max=32"`
	Password string `json:"password" binding:"required,min=6,max=32"`
	NickName string `json:"nickName" binding:"max=50"`
	Email    string `json:"email" binding:"omitempty,email"`
	Phone    string `json:"phone" binding:"omitempty"`
}

// LoginRequest 用户登录请求
type LoginRequest struct {
	Username string `json:"username" binding:"required"`
	Password string `json:"password" binding:"required"`
}

// RefreshTokenRequest 刷新 Token 请求
type RefreshTokenRequest struct {
	RefreshToken string `json:"refreshToken" binding:"required"`
}

// ChangePasswordRequest 修改密码请求
type ChangePasswordRequest struct {
	OldPassword string `json:"oldPassword" binding:"required"`
	NewPassword string `json:"newPassword" binding:"required,min=6,max=32"`
}

// UpdateProfileRequest 更新用户信息请求
type UpdateProfileRequest struct {
	NickName    string `json:"nickName" binding:"max=50"`
	Email       string `json:"email" binding:"omitempty,email"`
	Phone       string `json:"phone"`
	Avatar      string `json:"avatar"`
	Preferences string `json:"preferences"` // JSON 字符串
	AISettings  string `json:"aiSettings"`  // JSON 字符串
}
