mirror of
https://github.com/Dvorinka/Containr.git
synced 2026-10-28 15:51:26 +00:00
Add cnp_ personal access tokens so the CLI, MCP server, and external agents authenticate without a browser session — the agent-first spine from ROADMAP2 phase A. Modeled on agent_auth_tokens: raw token shown once, only SHA-256 hash stored. - user_tokens table (goose migration + sqlc), name/prefix/scope/expiry, owner-scoped revoke, last_used_at stamping - middleware: cnp_ bearer resolution, read scope gates mutations with 403 SCOPE_INSUFFICIENT, non-admin scopes cap is_admin even for admin owners — a token never outranks its scope or its owner - GET/POST/DELETE /api/v1/user/tokens + OpenAPI + generated types - Settings UI: create with scope/expiry pickers, one-time token display with copy, list with last-used/expiry, confirm-revoke - docs: OPERATIONS.md section, README feature line Verified end-to-end against live Postgres: create/list/revoke, read scope blocks PUT (403), write PAT on admin owner blocked from admin routes (403), admin scope works, revoked token returns 401. Authored By: TDvorak <[email protected]>
98 lines
7.3 KiB
Go
98 lines
7.3 KiB
Go
// Code generated by sqlc. DO NOT EDIT.
|
|
// versions:
|
|
// sqlc v1.31.1
|
|
|
|
package sqlcdb
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/google/uuid"
|
|
)
|
|
|
|
type Querier interface {
|
|
CompleteCommand(ctx context.Context, arg CompleteCommandParams) (AgentCommand, error)
|
|
CountDatabaseServicesByUserAndName(ctx context.Context, arg CountDatabaseServicesByUserAndNameParams) (int64, error)
|
|
CountProjectsByUser(ctx context.Context, arg CountProjectsByUserParams) (int64, error)
|
|
CountServicesByProjectAndName(ctx context.Context, arg CountServicesByProjectAndNameParams) (int64, error)
|
|
CountUnreadNotificationsByUser(ctx context.Context, userID uuid.UUID) (int64, error)
|
|
CreateAgent(ctx context.Context, arg CreateAgentParams) (NodeAgent, error)
|
|
CreateAgentAuthToken(ctx context.Context, arg CreateAgentAuthTokenParams) (AgentAuthToken, error)
|
|
CreateCommand(ctx context.Context, arg CreateCommandParams) (AgentCommand, error)
|
|
CreateContainer(ctx context.Context, arg CreateContainerParams) (ContainerInstance, error)
|
|
CreateDatabaseBackup(ctx context.Context, arg CreateDatabaseBackupParams) error
|
|
CreateDatabaseService(ctx context.Context, arg CreateDatabaseServiceParams) error
|
|
CreateNotification(ctx context.Context, arg CreateNotificationParams) error
|
|
CreateProject(ctx context.Context, arg CreateProjectParams) (Project, error)
|
|
CreateServiceFromTemplate(ctx context.Context, arg CreateServiceFromTemplateParams) error
|
|
CreateUserTemplate(ctx context.Context, arg CreateUserTemplateParams) error
|
|
CreateUserToken(ctx context.Context, arg CreateUserTokenParams) (UserToken, error)
|
|
DatabaseServiceExistsByIDAndUser(ctx context.Context, arg DatabaseServiceExistsByIDAndUserParams) (bool, error)
|
|
DeleteAgent(ctx context.Context, id string) error
|
|
DeleteDatabaseServiceByIDAndUser(ctx context.Context, arg DeleteDatabaseServiceByIDAndUserParams) error
|
|
DeleteProjectByID(ctx context.Context, projectID uuid.UUID) (int64, error)
|
|
DeleteUserTemplate(ctx context.Context, arg DeleteUserTemplateParams) (int64, error)
|
|
GetActiveAgentAuthTokenByHash(ctx context.Context, tokenHash string) (AgentAuthToken, error)
|
|
GetAgent(ctx context.Context, id string) (NodeAgent, error)
|
|
GetAgentByHostAndIP(ctx context.Context, arg GetAgentByHostAndIPParams) (NodeAgent, error)
|
|
GetCommandForAgent(ctx context.Context, arg GetCommandForAgentParams) (AgentCommand, error)
|
|
GetContainer(ctx context.Context, id string) (ContainerInstance, error)
|
|
GetContainerForAgent(ctx context.Context, arg GetContainerForAgentParams) (ContainerInstance, error)
|
|
GetDatabaseBackupByIDAndDatabaseAndUser(ctx context.Context, arg GetDatabaseBackupByIDAndDatabaseAndUserParams) (DatabaseBackup, error)
|
|
GetDatabaseServiceByID(ctx context.Context, id string) (DatabaseService, error)
|
|
GetDatabaseServiceByIDAndUser(ctx context.Context, arg GetDatabaseServiceByIDAndUserParams) (DatabaseService, error)
|
|
GetDatabaseServiceOwnerID(ctx context.Context, id string) (string, error)
|
|
GetProjectByIDForUser(ctx context.Context, arg GetProjectByIDForUserParams) (Project, error)
|
|
GetProjectOwnerByID(ctx context.Context, projectID uuid.UUID) (uuid.UUID, error)
|
|
GetProjectOwnerID(ctx context.Context, id uuid.UUID) (uuid.UUID, error)
|
|
GetProjectRoleForUser(ctx context.Context, arg GetProjectRoleForUserParams) (string, error)
|
|
GetServiceTemplateByID(ctx context.Context, id string) (ServiceTemplate, error)
|
|
GetUserTokenByHash(ctx context.Context, tokenHash string) (UserToken, error)
|
|
InsertAgentHeartbeat(ctx context.Context, arg InsertAgentHeartbeatParams) error
|
|
InsertProjectEnvironment(ctx context.Context, arg InsertProjectEnvironmentParams) error
|
|
ListAgentAuthTokens(ctx context.Context) ([]AgentAuthToken, error)
|
|
ListAgentHeartbeatsSince(ctx context.Context, arg ListAgentHeartbeatsSinceParams) ([]AgentHeartbeat, error)
|
|
ListAgents(ctx context.Context) ([]NodeAgent, error)
|
|
ListAllDatabaseServices(ctx context.Context) ([]DatabaseService, error)
|
|
ListCommandsForAgent(ctx context.Context, nodeAgentID string) ([]AgentCommand, error)
|
|
ListContainersForAgent(ctx context.Context, nodeAgentID string) ([]ContainerInstance, error)
|
|
ListDatabaseBackupsByDatabaseAndUser(ctx context.Context, arg ListDatabaseBackupsByDatabaseAndUserParams) ([]DatabaseBackup, error)
|
|
ListDatabaseServicesByUser(ctx context.Context, userID string) ([]DatabaseService, error)
|
|
ListDueDatabaseBackups(ctx context.Context) ([]ListDueDatabaseBackupsRow, error)
|
|
ListNotificationsByUser(ctx context.Context, arg ListNotificationsByUserParams) ([]Notification, error)
|
|
ListPendingCommands(ctx context.Context, nodeAgentID string) ([]AgentCommand, error)
|
|
ListPendingProjects(ctx context.Context) ([]Project, error)
|
|
// Visibility model: a project is readable when it is approved for public
|
|
// display, when the caller owns or is a member of it, or when the caller is a
|
|
// platform admin. Anonymous callers pass user_id = uuid.Nil, is_admin = false.
|
|
ListProjectsWithStatsByUser(ctx context.Context, arg ListProjectsWithStatsByUserParams) ([]ListProjectsWithStatsByUserRow, error)
|
|
ListServiceTemplatesByCategoryForUser(ctx context.Context, arg ListServiceTemplatesByCategoryForUserParams) ([]ServiceTemplate, error)
|
|
ListServiceTemplatesForUser(ctx context.Context, ownerID uuid.NullUUID) ([]ServiceTemplate, error)
|
|
ListUserTokens(ctx context.Context, userID uuid.UUID) ([]UserToken, error)
|
|
MarkAllNotificationsReadByUser(ctx context.Context, arg MarkAllNotificationsReadByUserParams) error
|
|
MarkNotificationReadByIDAndUser(ctx context.Context, arg MarkNotificationReadByIDAndUserParams) error
|
|
RevokeAgentAuthToken(ctx context.Context, id uuid.UUID) (AgentAuthToken, error)
|
|
RevokeUserToken(ctx context.Context, arg RevokeUserTokenParams) (int64, error)
|
|
SetDatabaseBackupScheduleByIDAndUser(ctx context.Context, arg SetDatabaseBackupScheduleByIDAndUserParams) error
|
|
SetDatabaseBackupStatusByID(ctx context.Context, arg SetDatabaseBackupStatusByIDParams) error
|
|
SetDatabaseNextBackupAt(ctx context.Context, arg SetDatabaseNextBackupAtParams) error
|
|
SetDatabaseServiceStatusAndConnectionByID(ctx context.Context, arg SetDatabaseServiceStatusAndConnectionByIDParams) error
|
|
SetDatabaseServiceStatusByID(ctx context.Context, arg SetDatabaseServiceStatusByIDParams) error
|
|
SetDatabaseServiceStatusByIDAndUser(ctx context.Context, arg SetDatabaseServiceStatusByIDAndUserParams) error
|
|
SetProjectApproved(ctx context.Context, arg SetProjectApprovedParams) (int64, error)
|
|
TouchAgentAuthToken(ctx context.Context, tokenHash string) error
|
|
TouchUserToken(ctx context.Context, id uuid.UUID) error
|
|
UpdateAgent(ctx context.Context, arg UpdateAgentParams) (NodeAgent, error)
|
|
UpdateAgentHeartbeat(ctx context.Context, arg UpdateAgentHeartbeatParams) error
|
|
UpdateContainerStatus(ctx context.Context, arg UpdateContainerStatusParams) error
|
|
UpdateDatabaseServiceNameAndPlanByIDAndUser(ctx context.Context, arg UpdateDatabaseServiceNameAndPlanByIDAndUserParams) error
|
|
UpdateDatabaseServiceNameByIDAndUser(ctx context.Context, arg UpdateDatabaseServiceNameByIDAndUserParams) error
|
|
UpdateDatabaseServicePlanByIDAndUser(ctx context.Context, arg UpdateDatabaseServicePlanByIDAndUserParams) error
|
|
UpdateProjectByID(ctx context.Context, arg UpdateProjectByIDParams) (int64, error)
|
|
UpdateUserTemplate(ctx context.Context, arg UpdateUserTemplateParams) (int64, error)
|
|
UpsertEnvironmentVariable(ctx context.Context, arg UpsertEnvironmentVariableParams) error
|
|
UpsertServiceTemplate(ctx context.Context, arg UpsertServiceTemplateParams) error
|
|
}
|
|
|
|
var _ Querier = (*Queries)(nil)
|