mirror of
https://github.com/Sendouc/sendou.ink.git
synced 2026-03-21 18:04:39 -05:00
40 lines
1.0 KiB
TypeScript
40 lines
1.0 KiB
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 "TournamentTeam"."isPlaceholder" = 0
|
|
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;
|
|
}
|