package dto import "time" // WorkspaceDTO 工作空间 DTO type WorkspaceDTO struct { ID string `json:"id"` Name string `json:"name"` Description string `json:"description,omitempty"` CreatedBy string `json:"created_by"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } // CreateWorkspaceRequest 创建工作空间请求 type CreateWorkspaceRequest struct { Name string `json:"name" validate:"required"` Description string `json:"description"` } // UpdateWorkspaceRequest 更新工作空间请求 type UpdateWorkspaceRequest struct { Name string `json:"name"` Description string `json:"description"` } // QuotaDTO 配额 DTO type QuotaDTO struct { ID string `json:"id"` WorkspaceID string `json:"workspace_id"` ResourceType string `json:"resource_type"` HardLimit float64 `json:"hard_limit"` SoftLimit float64 `json:"soft_limit"` Used float64 `json:"used"` } // SetQuotaRequest 设置配额请求 type SetQuotaRequest struct { ResourceType string `json:"resource_type" validate:"required"` HardLimit float64 `json:"hard_limit" validate:"required"` SoftLimit float64 `json:"soft_limit"` } // SetQuotasRequest 批量设置配额请求 type SetQuotasRequest struct { CPU *QuotaValue `json:"cpu"` GPU *QuotaValue `json:"gpu"` GPUMemory *QuotaValue `json:"gpu_memory"` } // QuotaValue 配额值 type QuotaValue struct { HardLimit float64 `json:"hard_limit"` SoftLimit float64 `json:"soft_limit"` } // WorkspaceResponse 工作空间响应 type WorkspaceResponse struct { Workspace *WorkspaceDTO `json:"workspace"` Quotas []*QuotaDTO `json:"quotas,omitempty"` } // WorkspaceListResponse 工作空间列表响应 type WorkspaceListResponse struct { Workspaces []*WorkspaceDTO `json:"workspaces"` Total int `json:"total"` }