Seed-data: Vegard brukernode, Sidelinja samling, owner-edge (oppgave 1.2)
Oppretter kjernedataene som resten av systemet bygger på: - Vegards person-node med auth_identity (placeholder authentik_sub, oppdateres i oppgave 1.5 når Authentik konfigureres) - Sidelinja samlings-node (tenant for podcastredaksjonen) - Owner-edge fra Vegard til Sidelinja - node_access-rad via recompute_access() Kjørt og verifisert på server (sidelinja-postgres-1, synops-db). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
6cc67d7d38
commit
89f1db63d2
2 changed files with 71 additions and 2 deletions
70
migrations/002_seed_data.sql
Normal file
70
migrations/002_seed_data.sql
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
-- 002_seed_data.sql
|
||||
-- Seed-data: Vegards brukernode, auth_identity, Sidelinja samlings-node, og owner-edge.
|
||||
-- Ref: docs/primitiver/nodes.md, docs/primitiver/edges.md
|
||||
|
||||
BEGIN;
|
||||
|
||||
-- =============================================================================
|
||||
-- Vegards brukernode
|
||||
-- =============================================================================
|
||||
|
||||
INSERT INTO nodes (id, node_kind, title, visibility, metadata)
|
||||
VALUES (
|
||||
'a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11',
|
||||
'person',
|
||||
'Vegard',
|
||||
'discoverable',
|
||||
'{"display_name": "Vegard"}'::jsonb
|
||||
);
|
||||
|
||||
-- =============================================================================
|
||||
-- Auth-identitet (bro mellom Authentik-sesjon og Vegards node)
|
||||
-- authentik_sub oppdateres når Authentik konfigureres i oppgave 1.5.
|
||||
-- =============================================================================
|
||||
|
||||
INSERT INTO auth_identities (node_id, authentik_sub, email)
|
||||
VALUES (
|
||||
'a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11',
|
||||
'placeholder-will-be-updated-in-task-1.5',
|
||||
'vnotnes@pm.me'
|
||||
);
|
||||
|
||||
-- =============================================================================
|
||||
-- Sidelinja samlings-node
|
||||
-- =============================================================================
|
||||
|
||||
INSERT INTO nodes (id, node_kind, title, visibility, metadata, created_by)
|
||||
VALUES (
|
||||
'b1eebc99-9c0b-4ef8-bb6d-6bb9bd380a22',
|
||||
'collection',
|
||||
'Sidelinja',
|
||||
'readable',
|
||||
'{}'::jsonb,
|
||||
'a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11'
|
||||
);
|
||||
|
||||
-- =============================================================================
|
||||
-- Owner-edge: Vegard eier Sidelinja
|
||||
-- =============================================================================
|
||||
|
||||
INSERT INTO edges (id, source_id, target_id, edge_type, created_by)
|
||||
VALUES (
|
||||
'c2eebc99-9c0b-4ef8-bb6d-6bb9bd380a33',
|
||||
'a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11', -- Vegard
|
||||
'b1eebc99-9c0b-4ef8-bb6d-6bb9bd380a22', -- Sidelinja
|
||||
'owner',
|
||||
'a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11' -- Vegard
|
||||
);
|
||||
|
||||
-- =============================================================================
|
||||
-- Oppdater tilgangsmatrisen: Vegard har owner-tilgang til Sidelinja
|
||||
-- =============================================================================
|
||||
|
||||
SELECT recompute_access(
|
||||
'a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11', -- subject: Vegard
|
||||
'b1eebc99-9c0b-4ef8-bb6d-6bb9bd380a22', -- object: Sidelinja
|
||||
'owner',
|
||||
'c2eebc99-9c0b-4ef8-bb6d-6bb9bd380a33' -- via: owner-edge
|
||||
);
|
||||
|
||||
COMMIT;
|
||||
3
tasks.md
3
tasks.md
|
|
@ -44,8 +44,7 @@ Uavhengige faser kan fortsatt plukkes.
|
|||
## Fase 1: Infrastruktur-fundament
|
||||
|
||||
- [x] 1.1 PostgreSQL schema: opprett database `synops`, enums (`visibility`, `access_level`), tabeller (`nodes`, `edges`, `node_access`, `auth_identities`) med indekser. Kjør på server via SSH. Ref: `docs/primitiver/nodes.md`, `docs/primitiver/edges.md`, `docs/retninger/bruker_ikke_workspace.md`.
|
||||
- [~] 1.2 Seed-data: opprett Vegards brukernode (`node_kind='person'`, `title='Vegard'`) og `auth_identities`-rad. Opprett Sidelinja samlings-node og `owner`-edge fra Vegard.
|
||||
> Påbegynt: 2026-03-17T11:54
|
||||
- [x] 1.2 Seed-data: opprett Vegards brukernode (`node_kind='person'`, `title='Vegard'`) og `auth_identities`-rad. Opprett Sidelinja samlings-node og `owner`-edge fra Vegard.
|
||||
- [ ] 1.3 SpacetimeDB modul: opprett Rust-modul med `nodes` og `edges`-tabeller som speiler PG-skjema. Grunnleggende reducers for CRUD. Deploy til server. Ref: `docs/retninger/datalaget.md`, `docs/erfaringer/spacetimedb_integrasjon.md`.
|
||||
- [ ] 1.4 Caddy-config: reverse proxy for maskinrommet (api.sidelinja.org), SpacetimeDB, og SvelteKit. Auto-TLS. Ref: `docs/setup/produksjon.md`.
|
||||
- [ ] 1.5 Authentik: opprett OIDC-provider og applikasjon for Synops. Konfigurer redirect URIs. Ref: `docs/erfaringer/authentik_oppsett.md`.
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue