11 lines
592 B
SQL
11 lines
592 B
SQL
-- Case-briefing checklist: an ordered list of short, player-tickable steps authored per
|
|||
|
|
-- level, sitting alongside the brief body and concepts. Tick state is client-side only,
|
||
|
|
-- so the server just stores the authored item text and its order.
|
||
|
|
CREATE TABLE osint.level_brief_checklist_items (
|
||
|
|
id UUID PRIMARY KEY,
|
||
|
|
board_id UUID NOT NULL REFERENCES osint.boards(id) ON DELETE CASCADE,
|
||
|
|
sort_order INTEGER NOT NULL DEFAULT 0 CHECK (sort_order >= 0),
|
||
|
|
text TEXT NOT NULL
|
||
|
|
);
|
||
|
|
CREATE INDEX level_brief_checklist_items_board_order ON osint.level_brief_checklist_items (board_id, sort_order);
|