diff --git a/utils/attendees.ts b/utils/attendees.ts index f27e3a4..0f8e192 100644 --- a/utils/attendees.ts +++ b/utils/attendees.ts @@ -2,7 +2,7 @@ import 'server-only' import { db } from '@/db/db' import { attendees, events, rsvps } from '@/db/schema' import { memoize } from 'nextjs-better-unstable-cache' -import { eq, sql } from 'drizzle-orm' +import { eq, count } from 'drizzle-orm' import { delay } from './delay' export const getAttendeesCountForDashboard = memoize( @@ -10,17 +10,18 @@ export const getAttendeesCountForDashboard = memoize( await delay() const counts = await db .select({ - totalAttendees: sql`count(distinct ${attendees.id})`, + totalAttendees: count(attendees.id), }) .from(events) .leftJoin(rsvps, eq(rsvps.eventId, events.id)) .leftJoin(attendees, eq(attendees.id, rsvps.attendeeId)) .where(eq(events.createdById, userId)) - .groupBy(events.id) .execute() - const total = counts.reduce((acc, count) => acc + count.totalAttendees, 0) - return total + const [firstCount] = counts + const totalAttendees = firstCount.totalAttendees | 0 + + return totalAttendees }, { persist: true,