From 2ff54e58b346654c1e8da5141c10dd704a67b9ca Mon Sep 17 00:00:00 2001 From: Adrian Bonpin Date: Mon, 27 Apr 2026 14:11:27 +0800 Subject: [PATCH] refactor: replace communityPresets count with performanceEntries preset count --- lib/api/search-unified.ts | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/lib/api/search-unified.ts b/lib/api/search-unified.ts index a8dac4b..fa354c1 100644 --- a/lib/api/search-unified.ts +++ b/lib/api/search-unified.ts @@ -4,7 +4,6 @@ import { games, gameVersions, performanceEntries, - communityPresets, gameComments, } from "@/lib/db/schema" import { ilike, or, sql, eq, inArray, and } from "drizzle-orm" @@ -109,12 +108,22 @@ export const searchUnifiedRoutes = new Elysia({ prefix: "/search" }).get( .groupBy(gameVersions.gameId), db .select({ - gameId: communityPresets.gameId, + gameId: gameVersions.gameId, count: sql`count(*)::int`, }) - .from(communityPresets) - .where(inArray(communityPresets.gameId, localGameIds)) - .groupBy(communityPresets.gameId), + .from(performanceEntries) + .innerJoin( + gameVersions, + eq(performanceEntries.versionId, gameVersions.id), + ) + .where( + and( + inArray(gameVersions.gameId, localGameIds), + eq(performanceEntries.isRemoved, false), + sql`${performanceEntries.settingsJson} IS NOT NULL`, + ), + ) + .groupBy(gameVersions.gameId), db .select({ gameId: gameComments.gameId,