From 5be5347a00ae3066275f37453a83b9d87edb9e19 Mon Sep 17 00:00:00 2001 From: Muyue Date: Sat, 18 Oct 2025 23:35:26 +0200 Subject: [PATCH] Add GET endpoint to list all collaborative sessions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Allows frontend to retrieve history of all past sessions for easy access to previous discussions and documents. GET /api/collaborate returns: - List of last 50 sessions (ordered by most recent first) - Each session includes: id, prompt, format, status, created/completed dates 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- backend/src/routes/collaborate.js | 37 +++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/backend/src/routes/collaborate.js b/backend/src/routes/collaborate.js index 2ca5593..610defe 100644 --- a/backend/src/routes/collaborate.js +++ b/backend/src/routes/collaborate.js @@ -45,6 +45,43 @@ router.post('/', async (req, res) => { } }) +/** + * GET /api/collaborate + * List all collaborative sessions + */ +router.get('/', (req, res) => { + try { + const db = require('../db/schema.js').default + const stmt = db.prepare(` + SELECT + id, + initial_prompt, + document_format, + status, + created_at, + completed_at + FROM collaborative_sessions + ORDER BY created_at DESC + LIMIT 50 + `) + const sessions = stmt.all() + + res.json({ + sessions: sessions.map(s => ({ + sessionId: s.id, + prompt: s.initial_prompt, + documentFormat: s.document_format, + status: s.status, + createdAt: s.created_at, + completedAt: s.completed_at + })) + }) + } catch (error) { + console.error('Error listing sessions:', error) + res.status(500).json({ error: 'Failed to list sessions' }) + } +}) + /** * POST /api/collaborate/:id/start * Start the collaborative session