From 78785aee42b536aac64d871f8cfe52ff04eece53 Mon Sep 17 00:00:00 2001 From: Mike Johnston Date: Fri, 30 Jan 2026 17:23:26 -0500 Subject: [PATCH] friends query improvement --- backend/src/routes/friends.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/backend/src/routes/friends.js b/backend/src/routes/friends.js index 5d9cfa6..14b443b 100644 --- a/backend/src/routes/friends.js +++ b/backend/src/routes/friends.js @@ -60,10 +60,15 @@ router.get('/', authMiddleware, asyncHandler(async (req, res) => { FROM challenges c INNER JOIN challenge_participants cp ON cp.challenge_id = c.id WHERE cp.user_id = ? AND c.created_by != ? AND cp.status = 'accepted' + UNION + SELECT DISTINCT cp.user_id + FROM challenge_participants cp + INNER JOIN challenges c ON cp.challenge_id = c.id + WHERE c.created_by = ? AND cp.user_id != ? AND cp.status = 'accepted' ) AND u.id NOT IN (${friends.map(() => '?').join(',') || 'NULL'}) ORDER BY u.username`, - [req.user.userId, req.user.userId, req.user.userId, req.user.userId, ...friends.map(f => f.id)] + [req.user.userId, req.user.userId, req.user.userId, req.user.userId, req.user.userId, req.user.userId, ...friends.map(f => f.id)] ); res.json({