From 5ff621425537a5bdbd517ed143d0740559a0f32e Mon Sep 17 00:00:00 2001 From: Scroogey-SN Date: Sat, 30 Aug 2025 00:51:48 +0000 Subject: [PATCH] fix #2392: make subs return meSubscription (#2451) * fix #2392: make subs return meSubscription * convert queryRawUnsafe to queryRaw * Fix syntax error in $queryRaw --------- Co-authored-by: ekzyis --- api/resolvers/sub.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/api/resolvers/sub.js b/api/resolvers/sub.js index 0f0e38d6..53c90d96 100644 --- a/api/resolvers/sub.js +++ b/api/resolvers/sub.js @@ -54,14 +54,15 @@ export default { const currentUser = await models.user.findUnique({ where: { id: me.id } }) const showNsfw = currentUser ? currentUser.nsfwMode : false - return await models.$queryRawUnsafe(` - SELECT "Sub".*, "Sub".created_at as "createdAt", COALESCE(json_agg("MuteSub".*) FILTER (WHERE "MuteSub"."userId" IS NOT NULL), '[]') AS "MuteSub" + return await models.$queryRaw` + SELECT "Sub".*, "Sub".created_at as "createdAt", ss."userId" IS NOT NULL as "meSubscription", COALESCE(json_agg("MuteSub".*) FILTER (WHERE "MuteSub"."userId" IS NOT NULL), '[]') AS "MuteSub" FROM "Sub" + LEFT JOIN "SubSubscription" ss ON "Sub".name = ss."subName" AND ss."userId" = ${me.id}::INTEGER LEFT JOIN "MuteSub" ON "Sub".name = "MuteSub"."subName" AND "MuteSub"."userId" = ${me.id}::INTEGER - WHERE status <> 'STOPPED' ${showNsfw ? '' : 'AND "Sub"."nsfw" = FALSE'} - GROUP BY "Sub".name, "MuteSub"."userId" + WHERE status <> 'STOPPED' ${showNsfw ? Prisma.empty : Prisma.sql`AND "Sub"."nsfw" = FALSE`} + GROUP BY "Sub".name, ss."userId", "MuteSub"."userId" ORDER BY "Sub".name ASC - `) + ` } return await models.sub.findMany({