events linked to projects; truths; rules audit
This commit is contained in:
@@ -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])
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user