Documentation
¶
Index ¶
- func Open(path string) (*sql.DB, error)
- func OpenRaw(path string) (*sql.DB, error)
- func RunMigrations(db *sql.DB, migrationsFS fs.FS) error
- type Store
- func (s *Store) BeginTx(ctx context.Context) (*sql.Tx, error)
- func (s *Store) Close() error
- func (s *Store) CreateAPIKey(ctx context.Context, key *models.APIKey) error
- func (s *Store) CreateWorkspace(ctx context.Context, ws *models.Workspace) error
- func (s *Store) DeleteAPIKey(ctx context.Context, id models.APIKeyID) error
- func (s *Store) DeleteBrain(ctx context.Context, workspaceID models.WorkspaceID, slug models.Slug) error
- func (s *Store) DeleteLayerOverride(ctx context.Context, workspaceID models.WorkspaceID, ...) error
- func (s *Store) DeletePersona(ctx context.Context, workspaceID models.WorkspaceID, slug models.Slug) error
- func (s *Store) DeleteRule(ctx context.Context, workspaceID models.WorkspaceID, slug models.Slug) error
- func (s *Store) DeleteSoul(ctx context.Context, workspaceID models.WorkspaceID, slug models.Slug) error
- func (s *Store) DeleteWorkspace(ctx context.Context, id models.WorkspaceID) error
- func (s *Store) FindBrain(ctx context.Context, workspaceID models.WorkspaceID, slug models.Slug) (*models.Brain, error)
- func (s *Store) FindLayerOverride(ctx context.Context, workspaceID models.WorkspaceID, ...) (*models.LayerOverride, error)
- func (s *Store) FindPersona(ctx context.Context, workspaceID models.WorkspaceID, slug models.Slug) (*models.Persona, error)
- func (s *Store) FindRule(ctx context.Context, workspaceID models.WorkspaceID, slug models.Slug) (*models.Rule, error)
- func (s *Store) FindSoul(ctx context.Context, workspaceID models.WorkspaceID, slug models.Slug) (*models.Soul, error)
- func (s *Store) FindWorkspaceByName(ctx context.Context, name string) (*models.Workspace, error)
- func (s *Store) GetAPIKey(ctx context.Context, id models.APIKeyID) (*models.APIKey, error)
- func (s *Store) GetAPIKeyByHash(ctx context.Context, keyHash string) (*models.APIKey, error)
- func (s *Store) GetBrain(ctx context.Context, workspaceID models.WorkspaceID, slug models.Slug) (*models.Brain, error)
- func (s *Store) GetContentVersion(ctx context.Context, workspaceID models.WorkspaceID, ...) (*models.ContentVersion, error)
- func (s *Store) GetPersona(ctx context.Context, workspaceID models.WorkspaceID, slug models.Slug) (*models.Persona, error)
- func (s *Store) GetRule(ctx context.Context, workspaceID models.WorkspaceID, slug models.Slug) (*models.Rule, error)
- func (s *Store) GetSoul(ctx context.Context, workspaceID models.WorkspaceID, slug models.Slug) (*models.Soul, error)
- func (s *Store) GetWorkspace(ctx context.Context, id models.WorkspaceID) (*models.Workspace, error)
- func (s *Store) ListAPIKeysByWorkspace(ctx context.Context, workspaceID models.WorkspaceID) ([]models.APIKeySummary, error)
- func (s *Store) ListBrains(ctx context.Context, workspaceID models.WorkspaceID) ([]models.Brain, error)
- func (s *Store) ListContentVersions(ctx context.Context, workspaceID models.WorkspaceID, ...) ([]models.VersionSummary, error)
- func (s *Store) ListPersonas(ctx context.Context, workspaceID models.WorkspaceID) ([]models.Persona, error)
- func (s *Store) ListRules(ctx context.Context, workspaceID models.WorkspaceID) ([]models.Rule, error)
- func (s *Store) ListSouls(ctx context.Context, workspaceID models.WorkspaceID) ([]models.Soul, error)
- func (s *Store) ListWorkspaces(ctx context.Context) ([]models.Workspace, error)
- func (s *Store) PurgeWorkspaceContent(ctx context.Context, workspaceID models.WorkspaceID) error
- func (s *Store) Query(tx *sql.Tx) *sqlgen.Queries
- func (s *Store) RevokeAPIKey(ctx context.Context, key *models.APIKey) error
- func (s *Store) UpdateWorkspace(ctx context.Context, ws *models.Workspace) error
- func (s *Store) UpsertBrain(ctx context.Context, brain *models.Brain) error
- func (s *Store) UpsertLayerOverride(ctx context.Context, override *models.LayerOverride) error
- func (s *Store) UpsertPersona(ctx context.Context, persona *models.Persona) error
- func (s *Store) UpsertRule(ctx context.Context, rule *models.Rule) error
- func (s *Store) UpsertSoul(ctx context.Context, soul *models.Soul) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Open ¶
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.
Types ¶
type Store ¶
type Store struct {
// contains filtered or unexported fields
}
Store implements the contract.Store interface backed by SQLite via sqlc.
func (*Store) CreateAPIKey ¶
func (*Store) CreateWorkspace ¶
func (*Store) DeleteAPIKey ¶
func (*Store) DeleteBrain ¶
func (*Store) DeleteLayerOverride ¶
func (*Store) DeletePersona ¶
func (*Store) DeleteRule ¶
func (*Store) DeleteSoul ¶
func (*Store) DeleteWorkspace ¶
func (*Store) FindLayerOverride ¶
func (*Store) FindPersona ¶
func (*Store) FindWorkspaceByName ¶
func (*Store) GetAPIKeyByHash ¶
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 (*Store) GetWorkspace ¶
func (*Store) ListAPIKeysByWorkspace ¶
func (s *Store) ListAPIKeysByWorkspace(ctx context.Context, workspaceID models.WorkspaceID) ([]models.APIKeySummary, error)
func (*Store) ListBrains ¶
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 (*Store) ListWorkspaces ¶
func (*Store) PurgeWorkspaceContent ¶
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 ¶
Query returns sqlc queries scoped to tx if non-nil, otherwise the default connection.