From 6539762c921905deeb8e92c9556590073b76ed5a Mon Sep 17 00:00:00 2001 From: OpenClaw Date: Fri, 6 Mar 2026 17:30:29 +0000 Subject: [PATCH] auto(agent): added try/catch blocks and improved error handling in helpRequests.js --- backend/src/routes/helpRequests.js | 50 ++++++++++++++++++------------ 1 file changed, 30 insertions(+), 20 deletions(-) diff --git a/backend/src/routes/helpRequests.js b/backend/src/routes/helpRequests.js index 91a1b1a..981afa8 100644 --- a/backend/src/routes/helpRequests.js +++ b/backend/src/routes/helpRequests.js @@ -6,31 +6,41 @@ import { requireAuth } from '../middleware/auth.js'; const router = Router(); router.get('/', async (_req, res) => { - const [rows] = await pool.query( - `SELECT hr.id, hr.title, hr.description, hr.value_chf, hr.status, hr.created_at, u.display_name requester_name - FROM help_requests hr - JOIN users u ON u.id = hr.requester_id - ORDER BY hr.created_at DESC` - ); - res.json(rows); + try { + const [rows] = await pool.query( + `SELECT hr.id, hr.title, hr.description, hr.value_chf, hr.status, hr.created_at, u.display_name requester_name + FROM help_requests hr + JOIN users u ON u.id = hr.requester_id + ORDER BY hr.created_at DESC` + ); + res.json(rows); + } catch (error) { + console.error('Error fetching help requests:', error); + res.status(500).json({ error: 'Internal server error' }); + } }); router.post('/', requireAuth, async (req, res) => { - const parsed = z.object({ - title: z.string().min(3).max(180), - description: z.string().min(5), - valueChf: z.number().positive() - }).safeParse(req.body); + try { + const parsed = z.object({ + title: z.string().min(3).max(180), + description: z.string().min(5), + valueChf: z.number().positive() + }).safeParse(req.body); - if (!parsed.success) return res.status(400).json({ error: parsed.error.flatten() }); + if (!parsed.success) return res.status(400).json({ error: parsed.error.flatten() }); - const { title, description, valueChf } = parsed.data; - const [result] = await pool.query( - 'INSERT INTO help_requests (requester_id, title, description, value_chf) VALUES (?, ?, ?, ?)', - [req.user.userId, title, description, valueChf] - ); + const { title, description, valueChf } = parsed.data; + const [result] = await pool.query( + 'INSERT INTO help_requests (requester_id, title, description, value_chf) VALUES (?, ?, ?, ?)', + [req.user.userId, title, description, valueChf] + ); - res.status(201).json({ id: result.insertId }); + res.status(201).json({ id: result.insertId }); + } catch (error) { + console.error('Error creating help request:', error); + res.status(500).json({ error: 'Internal server error' }); + } }); -export default router; +export default router; \ No newline at end of file