Skip to content

Commit

Permalink
slightly refactors checkin
Browse files Browse the repository at this point in the history
  • Loading branch information
xwilson03 committed Aug 5, 2024
1 parent 1cb2689 commit d118050
Showing 1 changed file with 45 additions and 46 deletions.
91 changes: 45 additions & 46 deletions apps/web/src/app/admin/check-in/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,54 +8,53 @@ export default async function Page({
}: {
searchParams: { [key: string]: string | undefined };
}) {
// Returns only if search params exist
if (searchParams.user) {
const [isChecked, scanUser, hasRSVPed] = await db.transaction(
async (tx) => {
const scanUser = await tx.query.userCommonData.findFirst({
where: eq(userCommonData.clerkID, searchParams.user ?? "unknown"),
});
if (!scanUser) {
return [null, null, null];
}
const scan = await tx
.select({
checkinTimestamp: userCommonData.checkinTimestamp,
hasRSVPed: userCommonData.isRSVPed,
})
.from(userCommonData)
.where(eq(userCommonData.clerkID, searchParams.user!));
if (scan) {
return [scan[0].checkinTimestamp != null, scanUser, scan[0].hasRSVPed];
} else {
return [null, scanUser, null];
}
},
);

return (
<div>
<CheckinScanner
checkedIn={isChecked}
hasScanned={true}
scanUser={scanUser}
hasRSVP={hasRSVPed}
/>
</div>
);
// Check for missing searchParams
if (!searchParams.user) {
return (
<div>
<CheckinScanner
hasScanned={false}
checkedIn={null}
scanUser={null}
hasRSVP={null}
/>
</div>
);
}

// Fall through case
return (
<div>
<CheckinScanner
hasScanned={false}
checkedIn={null}
scanUser={null}
hasRSVP={null}
/>
</div>
);
const [isChecked, scanUser, hasRSVPed] = await db.transaction(
async (tx) => {
const scanUser = await tx.query.userCommonData.findFirst({
where: eq(userCommonData.clerkID, searchParams.user ?? "unknown"),
});
if (!scanUser) {
return [null, null, null];
}
const scan = await tx
.select({
checkinTimestamp: userCommonData.checkinTimestamp,
hasRSVPed: userCommonData.isRSVPed,
})
.from(userCommonData)
.where(eq(userCommonData.clerkID, searchParams.user!));
if (scan) {
return [scan[0].checkinTimestamp != null, scanUser, scan[0].hasRSVPed];
} else {
return [null, scanUser, null];
}
},
);

return (
<div>
<CheckinScanner
checkedIn={isChecked}
hasScanned={true}
scanUser={scanUser}
hasRSVP={hasRSVPed}
/>
</div>
);
}

export const runtime = "edge";
Expand Down

0 comments on commit d118050

Please sign in to comment.