From 11cc39fc14e661ca04cd0bc696365ee07ccb56ed Mon Sep 17 00:00:00 2001 From: Rami Abdou Date: Fri, 26 Jul 2024 08:00:15 -0700 Subject: [PATCH] fix bug --- .../app/routes/_profile.events.$id.check-in.tsx | 3 ++- packages/core/src/modules/event/event.core.ts | 7 ++----- packages/core/src/modules/event/queries/get-event.ts | 4 ++-- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/apps/member-profile/app/routes/_profile.events.$id.check-in.tsx b/apps/member-profile/app/routes/_profile.events.$id.check-in.tsx index 58736a21..b2b752f2 100644 --- a/apps/member-profile/app/routes/_profile.events.$id.check-in.tsx +++ b/apps/member-profile/app/routes/_profile.events.$id.check-in.tsx @@ -18,13 +18,14 @@ import { Route } from '@/shared/constants'; import { ensureUserAuthenticated, user } from '@/shared/session.server'; export async function loader({ params, request }: LoaderFunctionArgs) { - await ensureUserAuthenticated(request); + const session = await ensureUserAuthenticated(request); const event = await getEvent( params.id as string, ['events.endTime', 'events.name', 'events.startTime'], { include: ['isCheckedIn'], + memberId: user(session), type: 'irl', } ); diff --git a/packages/core/src/modules/event/event.core.ts b/packages/core/src/modules/event/event.core.ts index f59ee0a7..96295131 100644 --- a/packages/core/src/modules/event/event.core.ts +++ b/packages/core/src/modules/event/event.core.ts @@ -1,5 +1,3 @@ -import { sql } from 'kysely'; - import { job } from '@/infrastructure/bull/use-cases/job'; import { db } from '@/infrastructure/database'; @@ -27,11 +25,10 @@ export async function checkIntoEvent({ name: member.firstName + ' ' + member.lastName, studentId: memberId, }) - .returning(sql`xmax = 0`.as('inserted')) .onConflict((oc) => oc.doNothing()) - .executeTakeFirstOrThrow(); + .executeTakeFirst(); - return record.inserted; + return !!Number(record.numInsertedOrUpdatedRows); }); if (isNewCheckIn) { diff --git a/packages/core/src/modules/event/queries/get-event.ts b/packages/core/src/modules/event/queries/get-event.ts index eea8f764..9ede1725 100644 --- a/packages/core/src/modules/event/queries/get-event.ts +++ b/packages/core/src/modules/event/queries/get-event.ts @@ -17,7 +17,7 @@ export async function getEvent< >( id: string, selections: Selection[], - { include, memberId, type, withIsRegistered }: GetEventOptions = {} + { include = [], memberId, type, withIsRegistered }: GetEventOptions = {} ) { const result = await db .selectFrom('events') @@ -34,7 +34,7 @@ export async function getEvent< .as('isRegistered'); }); }) - .$if(!!include?.includes('isCheckedIn') && !!memberId, (qb) => { + .$if(include.includes('isCheckedIn') && !!memberId, (qb) => { return qb.select((eb) => { return eb .exists(