feat: Phase 3 campaign management

Campaign CRUD API with cascading delete across all campaign-scoped
tables, a systems endpoint to seed the create-campaign form, active
campaign state wired to the sidebar chaos factor, and a campaign
management view for creating/switching/deleting campaigns.
This commit is contained in:
claudecode
2026-06-30 23:22:34 -04:00
parent 2faa168847
commit 3a7340975f
9 changed files with 438 additions and 13 deletions
+2
View File
@@ -8,6 +8,7 @@ const threadsRouter = require('./routes/threads');
const npcsRouter = require('./routes/npcs');
const notesRouter = require('./routes/notes');
const tablesRouter = require('./routes/tables');
const systemsRouter = require('./routes/systems');
const app = express();
const PORT = 4000;
@@ -25,6 +26,7 @@ app.use('/api/threads', threadsRouter);
app.use('/api/npcs', npcsRouter);
app.use('/api/notes', notesRouter);
app.use('/api/tables', tablesRouter);
app.use('/api/systems', systemsRouter);
app.listen(PORT, () => {
console.log(`Mythic Oracle running at http://localhost:${PORT}`);