Initial commit

This commit is contained in:
2026-08-14 12:43:11 +02:00
commit fa78640227
25 changed files with 6003 additions and 0 deletions
+15
View File
@@ -0,0 +1,15 @@
-- Runtime state is generic JSON so future widget and relation renderers can
-- persist interaction-specific state without adding a column per widget kind.
ALTER TABLE osint.playthrough_widget_state
ADD COLUMN config JSONB NOT NULL DEFAULT '{}'::jsonb;
CREATE TABLE osint.playthrough_widget_relation_state (
playthrough_id TEXT NOT NULL REFERENCES osint.playthroughs(id) ON DELETE CASCADE,
relation_id TEXT NOT NULL REFERENCES osint.widget_relations(id) ON DELETE CASCADE,
config JSONB NOT NULL DEFAULT '{}'::jsonb,
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
PRIMARY KEY (playthrough_id, relation_id)
);
COMMENT ON COLUMN osint.playthrough_widget_state.config IS 'Player-owned runtime and metadata overrides for any authored widget type';
COMMENT ON TABLE osint.playthrough_widget_relation_state IS 'Player-owned layout/state overrides for authored widget relations';