events linked to projects; truths; rules audit

This commit is contained in:
2026-08-08 19:54:06 +02:00
parent f3b536bc70
commit 36cd3b81f5
2 changed files with 109 additions and 10 deletions
+6 -3
View File
@@ -90,6 +90,7 @@ function publicGame(g) {
start_title: g.start_title || '', start_description: g.start_description || '', start_mood: g.start_mood || '',
end_title: g.end_title || '', end_description: g.end_description || '', end_mood: g.end_mood || '',
deck_id: g.deck_id || '',
truths: g.truths || [],
created_at: g.created_at
}
}
@@ -183,6 +184,7 @@ app.put('/api/games/:slug', requirePassword, (req, res) => {
game.end_description = end_description || ''
game.end_mood = end_mood || ''
game.deck_id = req.body.deck_id || ''
game.truths = req.body.truths || []
saveDB(req.db); broadcast(req.params.slug)
res.json(publicGame(game))
})
@@ -209,7 +211,7 @@ app.get('/api/games/:slug/items', (req, res) => {
})
app.post('/api/games/:slug/items', requirePassword, (req, res) => {
const { type, title, description, mood, date, end_date, status, discipline, env } = req.body
const { type, title, description, mood, date, end_date, status, discipline, env, project_id } = req.body
if (!type || !title || !date) return res.status(400).json({ error: 'type, title, date required' })
if (!['event', 'project', 'person'].includes(type)) {
return res.status(400).json({ error: 'type must be event, project, or person' })
@@ -218,7 +220,8 @@ app.post('/api/games/:slug/items', requirePassword, (req, res) => {
id: newId(), type, title, description: description || '',
mood: mood || null, date, end_date: end_date || null,
status: status || null, discipline: discipline || null,
env: env || null, env_layout: req.body.env_layout || null, created_at: now()
env: env || null, env_layout: req.body.env_layout || null,
project_id: project_id || null, created_at: now()
}
req.game.items = req.game.items || []
req.game.items.push(item)
@@ -233,7 +236,7 @@ app.put('/api/games/:slug/items/:id', requirePassword, (req, res) => {
const { title, description, mood, date, end_date, status, discipline } = req.body
if (!title || !date) return res.status(400).json({ error: 'title, date required' })
const { env, env_layout } = req.body
items[idx] = { ...items[idx], title, description: description || '', mood: mood || null, date, end_date: end_date || null, status: status || null, discipline: discipline || null, env: env || null, env_layout: env_layout || null }
items[idx] = { ...items[idx], title, description: description || '', mood: mood || null, date, end_date: end_date || null, status: status || null, discipline: discipline || null, env: env || null, env_layout: env_layout || null, project_id: req.body.project_id || null }
saveDB(req.db); broadcast(req.params.slug)
res.json(items[idx])
})