- Add GetMetrics method to MetricsClient interface and implement cluster metrics API - Add QuotaPrecheck service for validating resource quotas before deployment - Add auth DTO with role/permission models and auth handler tests - Add instance diagnostics: mounted NFS volumes, labels, annotations in pod diagnostics - Update workspace handler with GetWorkspace endpoint and shared-user list - Fix monitoring handler to use correct service method name - Add tail_lines fallback in instance handler for snake_case query params - Update nginx config for SSE log streaming support (no buffering) - Add comprehensive test coverage: auth_service_test, auth_handler_test, auth_dto_test, metrics_client_test, quota_precheck_test - Update error messages for quota validation and instance operations - ModifyModal: fix YAML lineWidth:0, modified keys summary, delta-only submit - InstanceCard: correctly disable scale-minus when replicas <= 0 - SidebarLayout: add hover transition for sidebar items - Update todo.md and lessons.md with latest fixes
29 lines
1.1 KiB
Go
29 lines
1.1 KiB
Go
package repository
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/ocdp/cluster-service/internal/domain/entity"
|
|
)
|
|
|
|
type WorkspaceRepository interface {
|
|
Create(ctx context.Context, workspace *entity.Workspace) error
|
|
GetByID(ctx context.Context, id string) (*entity.Workspace, error)
|
|
GetByName(ctx context.Context, name string) (*entity.Workspace, error)
|
|
Update(ctx context.Context, workspace *entity.Workspace) error
|
|
Delete(ctx context.Context, id string) error
|
|
List(ctx context.Context) ([]*entity.Workspace, error)
|
|
}
|
|
|
|
type WorkspaceClusterBindingRepository interface {
|
|
Upsert(ctx context.Context, binding *entity.WorkspaceClusterBinding) error
|
|
Get(ctx context.Context, workspaceID, clusterID string) (*entity.WorkspaceClusterBinding, error)
|
|
ListByWorkspace(ctx context.Context, workspaceID string) ([]*entity.WorkspaceClusterBinding, error)
|
|
Delete(ctx context.Context, workspaceID, clusterID string) error
|
|
}
|
|
|
|
type AuditLogRepository interface {
|
|
Create(ctx context.Context, log *entity.AuditLog) error
|
|
ListByWorkspace(ctx context.Context, workspaceID string, limit int) ([]*entity.AuditLog, error)
|
|
}
|