From b567fda0aeedde5fc3a9c31efc61f67bb134ad79 Mon Sep 17 00:00:00 2001 From: Mike Johnston Date: Thu, 29 Jan 2026 02:20:56 -0500 Subject: [PATCH] bugfix --- backend/src/routes/challenges.js | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/backend/src/routes/challenges.js b/backend/src/routes/challenges.js index e90aa61..095270a 100644 --- a/backend/src/routes/challenges.js +++ b/backend/src/routes/challenges.js @@ -185,6 +185,24 @@ router.post('/:id/invite', authMiddleware, asyncHandler(async (req, res) => { } } } + + res.json({ invited: invitedUsers.length }); +})); + +// Accept/reject challenge invitation +router.post('/:id/respond', authMiddleware, asyncHandler(async (req, res) => { + const challengeId = req.params.id; + const { status } = req.body; // 'accepted' or 'rejected' + + if (!['accepted', 'rejected'].includes(status)) { + throw new AppError('Invalid status', 400); + } + + await query( + 'UPDATE challenge_participants SET status = ?, responded_at = NOW() WHERE challenge_id = ? AND user_id = ?', + [status, challengeId, req.user.userId] + ); + // Emit real-time event to challenge participants socketEvents.challengeInvitationResponse(challengeId, { user_id: req.user.userId,