admin

package
v0.16.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 11, 2026 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Overview

Package admin provides REST API endpoints for administrative operations.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RequireAdmin

func RequireAdmin(auth Authenticator) func(http.Handler) http.Handler

RequireAdmin creates middleware that enforces admin authentication.

Types

type APIKeyAuthenticator

type APIKeyAuthenticator struct {
	Keys map[string]User // key -> user info
}

APIKeyAuthenticator validates admin access via API keys.

func (*APIKeyAuthenticator) Authenticate

func (a *APIKeyAuthenticator) Authenticate(r *http.Request) (*User, error)

Authenticate checks the X-API-Key or Authorization header.

type Authenticator

type Authenticator interface {
	Authenticate(r *http.Request) (*User, error)
}

Authenticator validates admin credentials.

type Handler

type Handler struct {
	// contains filtered or unexported fields
}

Handler provides admin REST API endpoints.

func NewHandler

func NewHandler(kh *KnowledgeHandler, authMiddle func(http.Handler) http.Handler) *Handler

NewHandler creates a new admin API handler.

func (*Handler) ServeHTTP

func (h *Handler) ServeHTTP(w http.ResponseWriter, r *http.Request)

ServeHTTP implements http.Handler.

type KnowledgeHandler

type KnowledgeHandler struct {
	// contains filtered or unexported fields
}

KnowledgeHandler provides admin REST endpoints for knowledge management.

func NewKnowledgeHandler

func NewKnowledgeHandler(
	insightStore knowledge.InsightStore,
	changesetStore knowledge.ChangesetStore,
	writer knowledge.DataHubWriter,
) *KnowledgeHandler

NewKnowledgeHandler creates a new knowledge admin handler.

func (*KnowledgeHandler) GetChangeset

func (h *KnowledgeHandler) GetChangeset(w http.ResponseWriter, r *http.Request)

GetChangeset handles GET /api/v1/admin/knowledge/changesets/{id}.

func (*KnowledgeHandler) GetInsight

func (h *KnowledgeHandler) GetInsight(w http.ResponseWriter, r *http.Request)

GetInsight handles GET /api/v1/admin/knowledge/insights/{id}.

func (*KnowledgeHandler) GetStats

func (h *KnowledgeHandler) GetStats(w http.ResponseWriter, r *http.Request)

GetStats handles GET /api/v1/admin/knowledge/insights/stats.

func (*KnowledgeHandler) ListChangesets

func (h *KnowledgeHandler) ListChangesets(w http.ResponseWriter, r *http.Request)

ListChangesets handles GET /api/v1/admin/knowledge/changesets.

func (*KnowledgeHandler) ListInsights

func (h *KnowledgeHandler) ListInsights(w http.ResponseWriter, r *http.Request)

ListInsights handles GET /api/v1/admin/knowledge/insights.

func (*KnowledgeHandler) RollbackChangeset

func (h *KnowledgeHandler) RollbackChangeset(w http.ResponseWriter, r *http.Request)

RollbackChangeset handles POST /api/v1/admin/knowledge/changesets/{id}/rollback.

func (*KnowledgeHandler) UpdateInsight

func (h *KnowledgeHandler) UpdateInsight(w http.ResponseWriter, r *http.Request)

UpdateInsight handles PUT /api/v1/admin/knowledge/insights/{id}.

func (*KnowledgeHandler) UpdateInsightStatus

func (h *KnowledgeHandler) UpdateInsightStatus(w http.ResponseWriter, r *http.Request)

UpdateInsightStatus handles PUT /api/v1/admin/knowledge/insights/{id}/status.

type User

type User struct {
	UserID string
	Roles  []string
}

User holds information about the authenticated admin user.

func GetUser

func GetUser(ctx context.Context) *User

GetUser returns the User from context, or nil if not set.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL