feat: add POST archive and unarchive endpoints for sessions
Made-with: Cursor
This commit is contained in:
@@ -315,6 +315,42 @@ router.delete('/:id/notes', authenticateToken, (req, res) => {
|
||||
}
|
||||
});
|
||||
|
||||
// Archive a session (admin only)
|
||||
router.post('/:id/archive', authenticateToken, (req, res) => {
|
||||
try {
|
||||
const session = db.prepare('SELECT id, is_active FROM sessions WHERE id = ?').get(req.params.id);
|
||||
|
||||
if (!session) {
|
||||
return res.status(404).json({ error: 'Session not found' });
|
||||
}
|
||||
|
||||
if (session.is_active === 1) {
|
||||
return res.status(400).json({ error: 'Cannot archive an active session. Please close it first.' });
|
||||
}
|
||||
|
||||
db.prepare('UPDATE sessions SET archived = 1 WHERE id = ?').run(req.params.id);
|
||||
res.json({ success: true });
|
||||
} catch (error) {
|
||||
res.status(500).json({ error: error.message });
|
||||
}
|
||||
});
|
||||
|
||||
// Unarchive a session (admin only)
|
||||
router.post('/:id/unarchive', authenticateToken, (req, res) => {
|
||||
try {
|
||||
const session = db.prepare('SELECT id FROM sessions WHERE id = ?').get(req.params.id);
|
||||
|
||||
if (!session) {
|
||||
return res.status(404).json({ error: 'Session not found' });
|
||||
}
|
||||
|
||||
db.prepare('UPDATE sessions SET archived = 0 WHERE id = ?').run(req.params.id);
|
||||
res.json({ success: true });
|
||||
} catch (error) {
|
||||
res.status(500).json({ error: error.message });
|
||||
}
|
||||
});
|
||||
|
||||
// Get games played in a session
|
||||
router.get('/:id/games', (req, res) => {
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user