sendou.ink/app/features/tournament/queries/findOwnTournamentTeam.server.ts
Kalle c0ec15b7de
Some checks failed
Tests and checks on push / run-checks-and-tests (push) Has been cancelled
Updates translation progress / update-translation-progress-issue (push) Has been cancelled
Unify db type files
2025-03-21 21:47:08 +02:00

39 lines
1003 B
TypeScript

import { sql } from "~/db/sql";
import type { Tables } from "~/db/tables";
const stm = sql.prepare(/*sql*/ `
select
"TournamentTeam"."id",
"TournamentTeam"."name",
"TournamentTeamCheckIn"."checkedInAt",
"TournamentTeam"."inviteCode"
from
"TournamentTeam"
left join "TournamentTeamCheckIn" on
"TournamentTeamCheckIn"."tournamentTeamId" = "TournamentTeam"."id"
left join "TournamentTeamMember" on
"TournamentTeamMember"."tournamentTeamId" = "TournamentTeam"."id"
and "TournamentTeamMember"."isOwner" = 1
where
"TournamentTeam"."tournamentId" = @tournamentId
and "TournamentTeamMember"."userId" = @userId
`);
type FindOwnTeam =
| (Pick<Tables["TournamentTeam"], "id" | "name" | "inviteCode"> &
Pick<Tables["TournamentTeamCheckIn"], "checkedInAt">)
| null;
export function findOwnTournamentTeam({
tournamentId,
userId,
}: {
tournamentId: number;
userId: number;
}) {
return stm.get({
tournamentId,
userId,
}) as FindOwnTeam;
}