import { getCompetition } from '@/lib/server/db/queries/competitions'; import { getRound } from '@/lib/server/db/queries/rounds'; import type { PageServerLoad } from './$types'; import { getBracketWithRoundsAndMatches } from '@/lib/server/db/queries/brackets'; import { getTeamsByCompetition } from '@/lib/server/db/queries/teams'; export const load: PageServerLoad = async ({ params, locals }) => { const competitionId = params.id; const bracketId = params.bracket_id; const { user } = locals; if (!user) { throw new Error('Unauthorized'); } if (competitionId === '') { throw new Error('Invalid competition id'); } if (bracketId === '') { throw new Error('Invalid round id'); } const competition = await getCompetition(competitionId); if (!competition) { throw new Error('Invalid competition'); } if (competition.owner !== locals.user.id) { throw new Error('Unauthorized'); } const bracket = await getBracketWithRoundsAndMatches(bracketId); if (!bracket) { throw new Error('Invalid round'); } return { competition: competition, bracket }; };