package dto // RegisterRequest 用户注册请求 type RegisterRequest struct { Username string `json:"username" binding:"required"` Password string `json:"password" binding:"required,min=6"` Role string `json:"role,omitempty"` WorkspaceID string `json:"workspaceId,omitempty"` Namespace string `json:"namespace,omitempty"` DefaultClusterID string `json:"defaultClusterId,omitempty"` QuotaCPU string `json:"quotaCpu,omitempty"` QuotaMemory string `json:"quotaMemory,omitempty"` QuotaGPU string `json:"quotaGpu,omitempty"` QuotaGPUMem string `json:"quotaGpuMemory,omitempty"` IsActive *bool `json:"isActive,omitempty"` MustChangePassword *bool `json:"mustChangePassword,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"` } // AuthResponse 认证响应 type AuthResponse struct { AccessToken string `json:"accessToken"` RefreshToken string `json:"refreshToken"` UserID string `json:"userId"` Username string `json:"username"` Role string `json:"role"` WorkspaceID string `json:"workspaceId"` WorkspaceName string `json:"workspaceName,omitempty"` Namespace string `json:"namespace,omitempty"` DefaultClusterID string `json:"defaultClusterId,omitempty"` QuotaCPU string `json:"quotaCpu,omitempty"` QuotaMemory string `json:"quotaMemory,omitempty"` QuotaGPU string `json:"quotaGpu,omitempty"` QuotaGPUMem string `json:"quotaGpuMemory,omitempty"` Permissions []string `json:"permissions,omitempty"` PermissionVersion int `json:"permissionVersion"` } // UserResponse 用户信息响应 type UserResponse struct { ID string `json:"id"` Username string `json:"username"` Email string `json:"email"` Role string `json:"role"` WorkspaceID string `json:"workspaceId"` WorkspaceName string `json:"workspaceName,omitempty"` Namespace string `json:"namespace,omitempty"` DefaultClusterID string `json:"defaultClusterId,omitempty"` QuotaCPU string `json:"quotaCpu,omitempty"` QuotaMemory string `json:"quotaMemory,omitempty"` QuotaGPU string `json:"quotaGpu,omitempty"` QuotaGPUMem string `json:"quotaGpuMemory,omitempty"` IsActive bool `json:"isActive"` MustChangePassword bool `json:"mustChangePassword"` CreatedAt string `json:"createdAt"` UpdatedAt string `json:"updatedAt"` } // UpdateUserRequest 管理员更新用户状态/角色请求 type UpdateUserRequest struct { Role string `json:"role,omitempty"` WorkspaceID string `json:"workspaceId,omitempty"` Namespace string `json:"namespace,omitempty"` DefaultClusterID string `json:"defaultClusterId,omitempty"` QuotaCPU string `json:"quotaCpu,omitempty"` QuotaMemory string `json:"quotaMemory,omitempty"` QuotaGPU string `json:"quotaGpu,omitempty"` QuotaGPUMem string `json:"quotaGpuMemory,omitempty"` IsActive *bool `json:"isActive,omitempty"` MustChangePassword *bool `json:"mustChangePassword,omitempty"` }