sqlite

package
v0.4.2 Latest Latest
Warning

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

Go to latest
Published: Apr 24, 2026 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Open

func Open(path string) (*sql.DB, error)

Open opens a SQLite database at the given path with production settings: foreign key enforcement via DSN, single connection (SQLite is single-writer), and WAL mode for concurrent reads.

func OpenRaw

func OpenRaw(path string) (*sql.DB, error)

OpenRaw opens a SQLite database without foreign key enforcement or connection limits. Intended for tests only.

func RunMigrations

func RunMigrations(db *sql.DB, migrationsFS fs.FS) error

RunMigrations applies all pending migrations from migrationsFS to db. It is idempotent — running it twice is a no-op.

Types

type Store

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

Store implements the contract.Store interface backed by SQLite via sqlc.

func New

func New(db *sql.DB) *Store

New creates a Store wrapping an already-opened *sql.DB.

func (*Store) BeginTx

func (s *Store) BeginTx(ctx context.Context) (*sql.Tx, error)

BeginTx starts a new database transaction.

func (*Store) Close

func (s *Store) Close() error

Close closes the underlying database connection.

func (*Store) CreateAPIKey

func (s *Store) CreateAPIKey(ctx context.Context, key *models.APIKey) error

func (*Store) CreateWorkspace

func (s *Store) CreateWorkspace(ctx context.Context, ws *models.Workspace) error

func (*Store) DeleteAPIKey

func (s *Store) DeleteAPIKey(ctx context.Context, id models.APIKeyID) error

func (*Store) DeleteBrain

func (s *Store) DeleteBrain(ctx context.Context, workspaceID models.WorkspaceID, slug models.Slug) error

func (*Store) DeleteLayerOverride

func (s *Store) DeleteLayerOverride(ctx context.Context, workspaceID models.WorkspaceID, scopeType models.ScopeType, referenceID string) error

func (*Store) DeletePersona

func (s *Store) DeletePersona(ctx context.Context, workspaceID models.WorkspaceID, slug models.Slug) error

func (*Store) DeleteRule

func (s *Store) DeleteRule(ctx context.Context, workspaceID models.WorkspaceID, slug models.Slug) error

func (*Store) DeleteSoul

func (s *Store) DeleteSoul(ctx context.Context, workspaceID models.WorkspaceID, slug models.Slug) error

func (*Store) DeleteWorkspace

func (s *Store) DeleteWorkspace(ctx context.Context, id models.WorkspaceID) error

func (*Store) FindBrain

func (s *Store) FindBrain(ctx context.Context, workspaceID models.WorkspaceID, slug models.Slug) (*models.Brain, error)

func (*Store) FindLayerOverride

func (s *Store) FindLayerOverride(ctx context.Context, workspaceID models.WorkspaceID, scopeType models.ScopeType, referenceID string) (*models.LayerOverride, error)

func (*Store) FindPersona

func (s *Store) FindPersona(ctx context.Context, workspaceID models.WorkspaceID, slug models.Slug) (*models.Persona, error)

func (*Store) FindRule

func (s *Store) FindRule(ctx context.Context, workspaceID models.WorkspaceID, slug models.Slug) (*models.Rule, error)

func (*Store) FindSoul

func (s *Store) FindSoul(ctx context.Context, workspaceID models.WorkspaceID, slug models.Slug) (*models.Soul, error)

func (*Store) FindWorkspaceByName

func (s *Store) FindWorkspaceByName(ctx context.Context, name string) (*models.Workspace, error)

func (*Store) GetAPIKey

func (s *Store) GetAPIKey(ctx context.Context, id models.APIKeyID) (*models.APIKey, error)

func (*Store) GetAPIKeyByHash

func (s *Store) GetAPIKeyByHash(ctx context.Context, keyHash string) (*models.APIKey, error)

func (*Store) GetBrain

func (s *Store) GetBrain(ctx context.Context, workspaceID models.WorkspaceID, slug models.Slug) (*models.Brain, error)

func (*Store) GetContentVersion

func (s *Store) GetContentVersion(ctx context.Context, workspaceID models.WorkspaceID, contentType models.ContentType, slug models.Slug, version int) (*models.ContentVersion, error)

func (*Store) GetPersona

func (s *Store) GetPersona(ctx context.Context, workspaceID models.WorkspaceID, slug models.Slug) (*models.Persona, error)

func (*Store) GetRule

func (s *Store) GetRule(ctx context.Context, workspaceID models.WorkspaceID, slug models.Slug) (*models.Rule, error)

func (*Store) GetSoul

func (s *Store) GetSoul(ctx context.Context, workspaceID models.WorkspaceID, slug models.Slug) (*models.Soul, error)

func (*Store) GetWorkspace

func (s *Store) GetWorkspace(ctx context.Context, id models.WorkspaceID) (*models.Workspace, error)

func (*Store) ListAPIKeysByWorkspace

func (s *Store) ListAPIKeysByWorkspace(ctx context.Context, workspaceID models.WorkspaceID) ([]models.APIKeySummary, error)

func (*Store) ListBrains

func (s *Store) ListBrains(ctx context.Context, workspaceID models.WorkspaceID) ([]models.Brain, error)

func (*Store) ListContentVersions

func (s *Store) ListContentVersions(ctx context.Context, workspaceID models.WorkspaceID, contentType models.ContentType, slug models.Slug) ([]models.VersionSummary, error)

func (*Store) ListPersonas

func (s *Store) ListPersonas(ctx context.Context, workspaceID models.WorkspaceID) ([]models.Persona, error)

func (*Store) ListRules

func (s *Store) ListRules(ctx context.Context, workspaceID models.WorkspaceID) ([]models.Rule, error)

func (*Store) ListSouls

func (s *Store) ListSouls(ctx context.Context, workspaceID models.WorkspaceID) ([]models.Soul, error)

func (*Store) ListWorkspaces

func (s *Store) ListWorkspaces(ctx context.Context) ([]models.Workspace, error)

func (*Store) PurgeWorkspaceContent

func (s *Store) PurgeWorkspaceContent(ctx context.Context, workspaceID models.WorkspaceID) error

PurgeWorkspaceContent deletes everything attached to a workspace except the workspace row itself, inside one transaction. Used by the CLI's `workspace delete --purge` flag. Order of deletes matters: content_versions reference content tables, layer_overrides reference the workspace, and api_keys reference the workspace — removing them first lets the workspace row be dropped afterwards without tripping any FK.

func (*Store) Query

func (s *Store) Query(tx *sql.Tx) *sqlgen.Queries

Query returns sqlc queries scoped to tx if non-nil, otherwise the default connection.

func (*Store) RevokeAPIKey

func (s *Store) RevokeAPIKey(ctx context.Context, key *models.APIKey) error

func (*Store) UpdateWorkspace

func (s *Store) UpdateWorkspace(ctx context.Context, ws *models.Workspace) error

func (*Store) UpsertBrain

func (s *Store) UpsertBrain(ctx context.Context, brain *models.Brain) error

func (*Store) UpsertLayerOverride

func (s *Store) UpsertLayerOverride(ctx context.Context, override *models.LayerOverride) error

func (*Store) UpsertPersona

func (s *Store) UpsertPersona(ctx context.Context, persona *models.Persona) error

func (*Store) UpsertRule

func (s *Store) UpsertRule(ctx context.Context, rule *models.Rule) error

func (*Store) UpsertSoul

func (s *Store) UpsertSoul(ctx context.Context, soul *models.Soul) error

Jump to

Keyboard shortcuts

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