diff --git a/prisma/schema.prisma b/prisma/schema.prisma index da461a1..e0ec210 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -43,6 +43,8 @@ model User { createdSchedules Schedule[] @relation("CreatedSchedules") confirmedSchedules Schedule[] @relation("ConfirmedSchedules") + + mapVetoChoices MapVoteStep[] @relation("VetoStepChooser") } model Team { @@ -65,6 +67,8 @@ model Team { schedulesAsTeamA Schedule[] @relation("ScheduleTeamA") schedulesAsTeamB Schedule[] @relation("ScheduleTeamB") + + mapVetoSteps MapVoteStep[] @relation("VetoStepTeam") } model TeamInvite { @@ -98,6 +102,10 @@ model Notification { // ────────────────────────────────────────────── // +// ────────────────────────────────────────────── +// 🎮 Matches +// ────────────────────────────────────────────── + model Match { id String @id @default(uuid()) title String @@ -128,6 +136,10 @@ model Match { roundHistory Json? winnerTeam String? + bestOf Int @default(3) // 1 | 3 | 5 – app-seitig validieren + matchDate DateTime? // geplante Startzeit (separat von demoDate) + mapVote MapVote? // 1:1 Map-Vote-Status + createdAt DateTime @default(now()) updatedAt DateTime @updatedAt @@ -175,19 +187,19 @@ model PlayerStats { headshots Int @default(0) noScopes Int @default(0) blindKills Int @default(0) - - aim Int @default(0) - oneK Int @default(0) - twoK Int @default(0) - threeK Int @default(0) - fourK Int @default(0) - fiveK Int @default(0) + aim Int @default(0) - rankOld Int? - rankNew Int? - rankChange Int? - winCount Int? + oneK Int @default(0) + twoK Int @default(0) + threeK Int @default(0) + fourK Int @default(0) + fiveK Int @default(0) + + rankOld Int? + rankNew Int? + rankChange Int? + winCount Int? matchPlayer MatchPlayer @relation(fields: [matchId, steamId], references: [matchId, steamId]) @@ -280,3 +292,56 @@ model ServerRequest { @@unique([steamId, matchId]) } + +// ────────────────────────────────────────────── +// 🗺️ Map-Vote +// ────────────────────────────────────────────── + +enum MapVoteAction { + BAN + PICK + DECIDER +} + +model MapVote { + id String @id @default(uuid()) + matchId String @unique + match Match @relation(fields: [matchId], references: [id]) + + // Basiszustand + bestOf Int @default(3) + mapPool String[] // z.B. ["de_inferno","de_mirage",...] + currentIdx Int @default(0) + locked Boolean @default(false) + + // Optional: serverseitig speichern, statt im UI zu berechnen + opensAt DateTime? + + steps MapVoteStep[] + + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt +} + +model MapVoteStep { + id String @id @default(uuid()) + vetoId String + order Int + action MapVoteAction + + // Team, das am Zug ist (kann bei DECIDER null sein) + teamId String? + team Team? @relation("VetoStepTeam", fields: [teamId], references: [id]) + + // Ergebnis & wer gewählt hat + map String? + chosenAt DateTime? + chosenBy String? + chooser User? @relation("VetoStepChooser", fields: [chosenBy], references: [steamId]) + + veto MapVote @relation(fields: [vetoId], references: [id]) + + @@unique([vetoId, order]) + @@index([teamId]) + @@index([chosenBy]) +} diff --git a/src/app/api/matches/[id]/delete/route.ts b/src/app/api/matches/[id]/delete/route.ts new file mode 100644 index 0000000..43628c8 --- /dev/null +++ b/src/app/api/matches/[id]/delete/route.ts @@ -0,0 +1,47 @@ +// /app/api/matches/[id]/delete/route.ts +import { NextRequest, NextResponse } from 'next/server' +import { getServerSession } from 'next-auth' +import { authOptions } from '@/app/lib/auth' +import { prisma } from '@/app/lib/prisma' + +export async function POST(req: NextRequest, { params }: { params: { id: string } }) { + try { + const session = await getServerSession(authOptions(req)) + const me = session?.user as { steamId: string; isAdmin?: boolean } | undefined + if (!me?.isAdmin) { + return NextResponse.json({ message: 'Nur Admins dürfen löschen.' }, { status: 403 }) + } + + const matchId = params?.id + if (!matchId) { + return NextResponse.json({ message: 'Match-ID fehlt.' }, { status: 400 }) + } + + const match = await prisma.match.findUnique({ + where: { id: matchId }, + select: { id: true }, + }) + if (!match) { + return NextResponse.json({ message: 'Match nicht gefunden.' }, { status: 404 }) + } + + await prisma.$transaction(async (tx) => { + await tx.mapVetoStep.deleteMany({ where: { veto: { matchId } } }) + await tx.mapVeto.deleteMany({ where: { matchId } }) + await tx.playerStats.deleteMany({ where: { matchId } }) + await tx.matchPlayer.deleteMany({ where: { matchId } }) + await tx.rankHistory.deleteMany({ where: { matchId } }) + await tx.demoFile.deleteMany({ where: { matchId } }) + await tx.serverRequest.deleteMany({ where: { matchId } }) + await tx.schedule.deleteMany({ + where: { linkedMatchId: matchId }, + }) + await tx.match.delete({ where: { id: matchId } }) + }) + + return NextResponse.json({ ok: true }) + } catch (e) { + console.error('[DELETE MATCH] error', e) + return NextResponse.json({ message: 'Löschen fehlgeschlagen.' }, { status: 500 }) + } +} diff --git a/src/app/api/matches/[id]/map-vote/route.ts b/src/app/api/matches/[id]/map-vote/route.ts new file mode 100644 index 0000000..e11837b --- /dev/null +++ b/src/app/api/matches/[id]/map-vote/route.ts @@ -0,0 +1,273 @@ +// /app/api/matches/[id]/map-vote/route.ts +import { NextResponse, NextRequest } from 'next/server' +import { getServerSession } from 'next-auth' +import { authOptions } from '@/app/lib/auth' +import { prisma } from '@/app/lib/prisma' // gemeinsame Prisma-Instanz nutzen +import { MapVetoAction } from '@/generated/prisma' // dein Prisma-Types-Output +import { sendServerSSEMessage } from '@/app/lib/sse-server-client' + +/* -------------------- Konstanten -------------------- */ + +const ACTIVE_DUTY: string[] = [ + 'de_inferno','de_mirage','de_nuke','de_overpass','de_vertigo','de_ancient','de_anubis', +] + +const ACTION_MAP: Record = { + BAN: 'ban', PICK: 'pick', DECIDER: 'decider', +} + +/* -------------------- Helper -------------------- */ + +function vetoOpensAt(match: { matchDate: Date | null, demoDate: Date | null }) { + const base = match.matchDate ?? match.demoDate ?? new Date() + return new Date(base.getTime() - 60 * 60 * 1000) // 1h vorher +} + +function mapActionToApi(a: MapVetoAction): 'ban'|'pick'|'decider' { + return ACTION_MAP[a] +} + +function buildSteps(bestOf: number, teamAId: string, teamBId: string) { + if (bestOf === 3) { + // 2x Ban, 2x Pick, 2x Ban, Decider + return [ + { order: 0, action: 'BAN', teamId: teamAId }, + { order: 1, action: 'BAN', teamId: teamBId }, + { order: 2, action: 'PICK', teamId: teamAId }, + { order: 3, action: 'PICK', teamId: teamBId }, + { order: 4, action: 'BAN', teamId: teamAId }, + { order: 5, action: 'BAN', teamId: teamBId }, + { order: 6, action: 'DECIDER', teamId: null }, + ] as const + } + // BO5: 2x Ban, dann 5 Picks (kein Decider) + return [ + { order: 0, action: 'BAN', teamId: teamAId }, + { order: 1, action: 'BAN', teamId: teamBId }, + { order: 2, action: 'PICK', teamId: teamAId }, + { order: 3, action: 'PICK', teamId: teamBId }, + { order: 4, action: 'PICK', teamId: teamAId }, + { order: 5, action: 'PICK', teamId: teamBId }, + { order: 6, action: 'PICK', teamId: teamAId }, + ] as const +} + +function shapeState(veto: any) { + const steps = [...veto.steps] + .sort((a, b) => a.order - b.order) + .map((s: any) => ({ + order : s.order, + action : mapActionToApi(s.action), + teamId : s.teamId, + map : s.map, + chosenAt: s.chosenAt ? s.chosenAt.toISOString() : null, + chosenBy: s.chosenBy ?? null, + })) + + return { + bestOf : veto.bestOf, + mapPool : veto.mapPool as string[], + currentIndex: veto.currentIdx, + locked : veto.locked as boolean, + opensAt : veto.opensAt ? new Date(veto.opensAt).toISOString() : null, + steps, + } +} + +async function ensureVeto(matchId: string) { + const match = await prisma.match.findUnique({ + where: { id: matchId }, + include: { + teamA : true, + teamB : true, + mapVeto: { include: { steps: true } }, + }, + }) + if (!match) return { match: null, veto: null } + + // Bereits vorhanden? + if (match.mapVeto) return { match, veto: match.mapVeto } + + // Neu anlegen + const bestOf = match.bestOf ?? 3 + const mapPool = ACTIVE_DUTY + const opensAt = vetoOpensAt({ matchDate: match.matchDate ?? null, demoDate: match.demoDate ?? null }) + const stepsDef = buildSteps(bestOf, match.teamA!.id, match.teamB!.id) + + const created = await prisma.mapVeto.create({ + data: { + matchId : match.id, + bestOf, + mapPool, + currentIdx: 0, + locked : false, + opensAt, + steps : { + create: stepsDef.map(s => ({ + order : s.order, + action: s.action as MapVetoAction, + teamId: s.teamId, + })), + }, + }, + include: { steps: true }, + }) + + return { match, veto: created } +} + +function computeAvailableMaps(mapPool: string[], steps: Array<{ map: string | null }>) { + const used = new Set(steps.map(s => s.map).filter(Boolean) as string[]) + return mapPool.filter(m => !used.has(m)) +} + +/* -------------------- GET -------------------- */ + +export async function GET(_req: NextRequest, { params }: { params: { id: string } }) { + try { + const matchId = params.id + if (!matchId) return NextResponse.json({ message: 'Missing id' }, { status: 400 }) + + const { veto } = await ensureVeto(matchId) + if (!veto) return NextResponse.json({ message: 'Match nicht gefunden' }, { status: 404 }) + + return NextResponse.json( + shapeState(veto), + { headers: { 'Cache-Control': 'no-store' } }, + ) + } catch (e) { + console.error('[map-vote][GET] error', e) + return NextResponse.json({ message: 'Fehler beim Laden' }, { status: 500 }) + } +} + +/* -------------------- POST ------------------- */ + +export async function POST(req: NextRequest, { params }: { params: { id: string } }) { + const session = await getServerSession(authOptions(req)) + const me = session?.user as { steamId: string; isAdmin?: boolean } | undefined + if (!me?.steamId) return NextResponse.json({ message: 'Nicht eingeloggt' }, { status: 401 }) + + const matchId = params.id + if (!matchId) return NextResponse.json({ message: 'Missing id' }, { status: 400 }) + + let body: { map?: string } = {} + try { body = await req.json() } catch {} + + try { + const { match, veto } = await ensureVeto(matchId) + if (!match || !veto) return NextResponse.json({ message: 'Match nicht gefunden' }, { status: 404 }) + + // Öffnungsfenster (1h vor Match-/Demo-Beginn) + const opensAt = veto.opensAt ?? vetoOpensAt({ matchDate: match.matchDate ?? null, demoDate: match.demoDate ?? null }) + const isOpen = new Date() >= new Date(opensAt) + if (!isOpen && !me.isAdmin) return NextResponse.json({ message: 'Veto ist noch nicht offen' }, { status: 403 }) + + // Schon abgeschlossen? + if (veto.locked) return NextResponse.json({ message: 'Veto bereits abgeschlossen' }, { status: 409 }) + + // Aktuellen Schritt bestimmen + const stepsSorted = [...veto.steps].sort((a: any, b: any) => a.order - b.order) + const current = stepsSorted.find((s: any) => s.order === veto.currentIdx) + + if (!current) { + // Kein Schritt mehr -> Veto abschließen + await prisma.mapVeto.update({ where: { id: veto.id }, data: { locked: true } }) + const updated = await prisma.mapVeto.findUnique({ where: { id: veto.id }, include: { steps: true } }) + await sendServerSSEMessage({ type: 'map-vote-updated', payload: { matchId } }) + return NextResponse.json(shapeState(updated)) + } + + const available = computeAvailableMaps(veto.mapPool, stepsSorted) + + // DECIDER automatisch setzen, wenn nur noch 1 Map übrig + if (current.action === 'DECIDER') { + if (available.length !== 1) { + return NextResponse.json({ message: 'DECIDER noch nicht bestimmbar' }, { status: 400 }) + } + const lastMap = available[0] + await prisma.$transaction(async (tx) => { + await tx.mapVetoStep.update({ + where: { id: current.id }, + data : { map: lastMap, chosenAt: new Date(), chosenBy: me.steamId }, + }) + await tx.mapVeto.update({ + where: { id: veto.id }, + data : { currentIdx: veto.currentIdx + 1, locked: true }, + }) + }) + const updated = await prisma.mapVeto.findUnique({ where: { id: veto.id }, include: { steps: true } }) + await sendServerSSEMessage({ type: 'map-vote-updated', payload: { matchId } }) + return NextResponse.json(shapeState(updated)) + } + + // Rechte prüfen (Admin oder Leader des Teams am Zug) + const isLeaderA = !!match.teamA?.leaderId && match.teamA.leaderId === me.steamId + const isLeaderB = !!match.teamB?.leaderId && match.teamB.leaderId === me.steamId + const allowed = me.isAdmin || (current.teamId && ( + (current.teamId === match.teamA?.id && isLeaderA) || + (current.teamId === match.teamB?.id && isLeaderB) + )) + if (!allowed) return NextResponse.json({ message: 'Keine Berechtigung für diesen Schritt' }, { status: 403 }) + + // Payload validieren + const map = body.map?.trim() + if (!map) return NextResponse.json({ message: 'map fehlt' }, { status: 400 }) + if (!veto.mapPool.includes(map)) return NextResponse.json({ message: 'Map nicht im Pool' }, { status: 400 }) + if (!available.includes(map)) return NextResponse.json({ message: 'Map bereits vergeben' }, { status: 409 }) + + // Schritt setzen & ggf. weiterdrehen (+ Decider evtl. auto) + await prisma.$transaction(async (tx) => { + // aktuellen Schritt setzen + await tx.mapVetoStep.update({ + where: { id: current.id }, + data : { map, chosenAt: new Date(), chosenBy: me.steamId }, + }) + + // neuen Zustand ermitteln + const after = await tx.mapVeto.findUnique({ + where : { id: veto.id }, + include: { steps: true }, + }) + if (!after) return + + const stepsAfter = [...after.steps].sort((a: any, b: any) => a.order - b.order) + let idx = after.currentIdx + 1 + let locked = false + + // Falls nächster Schritt DECIDER und genau 1 Map übrig -> auto setzen & locken + const next = stepsAfter.find(s => s.order === idx) + if (next?.action === 'DECIDER') { + const avail = computeAvailableMaps(after.mapPool, stepsAfter) + if (avail.length === 1) { + await tx.mapVetoStep.update({ + where: { id: next.id }, + data : { map: avail[0], chosenAt: new Date(), chosenBy: me.steamId }, + }) + idx += 1 + locked = true + } + } + + // Ende erreicht? + const maxOrder = Math.max(...stepsAfter.map(s => s.order)) + if (idx > maxOrder) locked = true + + await tx.mapVeto.update({ + where: { id: after.id }, + data : { currentIdx: idx, locked }, + }) + }) + + const updated = await prisma.mapVeto.findUnique({ + where : { id: veto.id }, + include: { steps: true }, + }) + + await sendServerSSEMessage({ type: 'map-vote-updated', payload: { matchId } }) + return NextResponse.json(shapeState(updated)) + } catch (e) { + console.error('[map-vote][POST] error', e) + return NextResponse.json({ message: 'Aktion fehlgeschlagen' }, { status: 500 }) + } +} diff --git a/src/app/api/matches/[id]/route.ts b/src/app/api/matches/[id]/route.ts index e168d8d..e506465 100644 --- a/src/app/api/matches/[id]/route.ts +++ b/src/app/api/matches/[id]/route.ts @@ -20,8 +20,9 @@ export async function GET ( _req: Request, { params: { id } }: { params: { id: string } }, ) { - if (!id) + if (!id) { return NextResponse.json({ error: 'Missing ID' }, { status: 400 }) + } const match = await prisma.match.findUnique({ where : { id }, @@ -31,14 +32,17 @@ export async function GET ( teamAUsers : { include: { team: true } }, teamBUsers : { include: { team: true } }, players : { include: { user: true, stats: true, team: true } }, + mapVeto : { include: { steps: true } }, // ⬅️ wichtig }, }) - if (!match) + if (!match) { return NextResponse.json({ error: 'Match nicht gefunden' }, { status: 404 }) + } /* ---------- Editierbarkeit bestimmen ---------- */ - const isFuture = !!match.demoDate && isAfter(match.demoDate, new Date()) + const baseDate = match.matchDate ?? match.demoDate ?? null + const isFuture = !!baseDate && isAfter(baseDate, new Date()) const editable = match.matchType === 'community' && isFuture /* ---------- Spielerlisten zusammenstellen --------------------------------- */ @@ -47,22 +51,20 @@ export async function GET ( if (editable) { /* ───── Spieler kommen direkt aus der Match-Relation ───── */ - /* ▸ teamAUsers / teamBUsers enthalten bereits User-Objekte */ const mapUser = (u: any, fallbackTeam: string) => ({ - user : { // nur die Felder, die das Frontend braucht + user : { steamId: u.steamId, name : u.name ?? 'Unbekannt', avatar : u.avatar ?? null, }, - stats: null, // noch keine Stats vorhanden + stats: null, team : fallbackTeam, }) playersA = match.teamAUsers.map(u => mapUser(u, match.teamA?.name ?? 'CT')) playersB = match.teamBUsers.map(u => mapUser(u, match.teamB?.name ?? 'T')) - /* ► Falls beim Anlegen noch keine Spieler zugewiesen wurden, - (z. B. nach Migration) greifen wir auf activePlayers zurück */ + /* ► Fallback: aktive Spieler, falls noch leer (z. B. nach Migration) */ if (playersA.length === 0 || playersB.length === 0) { const [aIds, bIds] = [ match.teamA?.activePlayers ?? [], @@ -92,18 +94,50 @@ export async function GET ( .map(p => ({ user: p.user, stats: p.stats, team: p.team?.name ?? 'T' })) } + /* ---------- Map-Vote ableiten (immer mitsenden) ---------- */ + const computedOpensAt = baseDate + ? new Date(new Date(baseDate).getTime() - 60 * 60 * 1000) + : null + + let status: 'not_started' | 'in_progress' | 'completed' = 'not_started' + let opensAt = computedOpensAt?.toISOString() ?? null + let isOpen = opensAt ? (Date.now() >= new Date(opensAt).getTime()) : false + let currentIndex: number | null = null + let currentAction: 'BAN' | 'PICK' | 'DECIDER' | null = null + let decidedCount: number | null = null + let totalSteps: number | null = null + + if (match.mapVeto) { + const stepsSorted = [...match.mapVeto.steps].sort((a, b) => a.order - b.order) + const anyChosen = stepsSorted.some(s => !!s.chosenAt) + status = match.mapVeto.locked ? 'completed' : (anyChosen ? 'in_progress' : 'not_started') + opensAt = (match.mapVeto.opensAt ?? computedOpensAt)?.toISOString() ?? null + isOpen = opensAt ? (Date.now() >= new Date(opensAt).getTime()) : false + currentIndex = match.mapVeto.currentIdx + currentAction = (stepsSorted.find(s => s.order === match.mapVeto.currentIdx)?.action ?? null) as any + decidedCount = stepsSorted.filter(s => !!s.chosenAt).length + totalSteps = stepsSorted.length + } + /* ---------- Antwort ---------- */ return NextResponse.json({ id : match.id, title : match.title, description: match.description, demoDate : match.demoDate, + matchDate : match.matchDate, // ⬅️ nützlich fürs Frontend matchType : match.matchType, roundCount : match.roundCount, map : match.map, scoreA : match.scoreA, scoreB : match.scoreB, - editable, // <-- Frontend-Flag + editable, + + // ⬇️ NEU: kompaktes Map-Vote-Objekt (virtuell, wenn kein DB-Eintrag) + mapVote: { + status, opensAt, isOpen, currentIndex, currentAction, decidedCount, totalSteps, + }, + teamA: { id : match.teamA?.id ?? null, name : match.teamA?.name ?? 'CT', @@ -130,18 +164,22 @@ export async function PUT ( ) { const session = await getServerSession(authOptions(req)) const me = session?.user - if (!me?.steamId) + if (!me?.steamId) { return NextResponse.json({ error: 'Unauthorized' }, { status: 403 }) + } const match = await prisma.match.findUnique({ where: { id } }) - if (!match) + if (!match) { return NextResponse.json({ error: 'Match not found' }, { status: 404 }) + } /* ---------- erneute Editierbarkeits-Prüfung ---------- */ - const isFuture = !!match.demoDate && isAfter(match.demoDate, new Date()) - const editable = match.matchType === 'community' && isFuture - if (!editable) + const baseDate = match.matchDate ?? match.demoDate ?? null + const isFuture = !!baseDate && isAfter(baseDate, new Date()) + const editable = match.matchType === 'community' && isFuture + if (!editable) { return NextResponse.json({ error: 'Match kann nicht bearbeitet werden' }, { status: 403 }) + } /* ---------- Rollen-Check (Admin oder Team-Leader) ----- */ const userData = await prisma.user.findUnique({ @@ -151,13 +189,13 @@ export async function PUT ( const leaderOf = userData?.ledTeam?.id const isLeader = leaderOf && (leaderOf === match.teamAId || leaderOf === match.teamBId) - if (!me.isAdmin && !isLeader) + if (!me.isAdmin && !isLeader) { return NextResponse.json({ error: 'Forbidden' }, { status: 403 }) + } /* ---------- Payload einlesen & validieren ------------- */ - const { players } = await req.json() // title / description etc. bei Bedarf ergänzen + const { players } = await req.json() - // wenn kein Admin: sicherstellen, dass nur Spieler des eigenen Teams gesetzt werden if (!me.isAdmin && leaderOf) { const ownTeam = await prisma.team.findUnique({ where: { id: leaderOf } }) const allowed = new Set([ @@ -165,16 +203,16 @@ export async function PUT ( ...(ownTeam?.inactivePlayers ?? []), ]) - const invalid = players.some((p: any) => + const invalid = players.some((p: any) => p.teamId === leaderOf && !allowed.has(p.steamId), ) - if (invalid) + if (invalid) { return NextResponse.json({ error: 'Ungültige Spielerzuweisung' }, { status: 403 }) + } } /* ---------- Spieler-Mapping speichern ----------------- */ try { - /* ► Listen pro Team aus dem Payload aufteilen */ const teamAIds = players .filter((p: any) => p.teamId === match.teamAId) .map((p: any) => p.steamId) @@ -184,10 +222,7 @@ export async function PUT ( .map((p: any) => p.steamId) await prisma.$transaction([ - /* 1) alle alten Zuordnungen löschen … */ prisma.matchPlayer.deleteMany({ where: { matchId: id } }), - - /* 2) … neue anlegen */ prisma.matchPlayer.createMany({ data: players.map((p: any) => ({ matchId: id, @@ -196,8 +231,6 @@ export async function PUT ( })), skipDuplicates: true, }), - - /* 3) M-N-Relationen an Match-Eintrag aktualisieren */ prisma.match.update({ where: { id }, data : { @@ -212,7 +245,7 @@ export async function PUT ( } /* ---------- neue Daten abrufen & zurückgeben ---------- */ - return GET(req, { params: { id } }) // gleiche Antwort-Struktur wie oben + return GET(_req as any, { params: { id } }) // gleiche Antwort-Struktur wie oben } /* ─────────────────────────── DELETE ─────────────────────────── */ @@ -221,8 +254,9 @@ export async function DELETE ( { params: { id } }: { params: { id: string } }, ) { const session = await getServerSession(authOptions(_req)) - if (!session?.user?.isAdmin) + if (!session?.user?.isAdmin) { return NextResponse.json({ error: 'Unauthorized' }, { status: 403 }) + } try { await prisma.$transaction([ diff --git a/src/app/api/matches/create/route.ts b/src/app/api/matches/create/route.ts index c3c4de9..2d0855d 100644 --- a/src/app/api/matches/create/route.ts +++ b/src/app/api/matches/create/route.ts @@ -3,10 +3,40 @@ import { NextRequest, NextResponse } from 'next/server' import { getServerSession } from 'next-auth' import { authOptions } from '@/app/lib/auth' import { prisma } from '@/app/lib/prisma' +import { MapVetoAction } from '@/generated/prisma' import { sendServerSSEMessage } from '@/app/lib/sse-server-client' export const dynamic = 'force-dynamic' +// Hilfsfunktion in der Datei (oder shared): +function buildSteps(bestOf: number, teamAId: string, teamBId: string) { + if (bestOf === 5) { + return [ + { order: 0, action: MapVetoAction.BAN, teamId: teamAId }, + { order: 1, action: MapVetoAction.BAN, teamId: teamBId }, + { order: 2, action: MapVetoAction.PICK, teamId: teamAId }, + { order: 3, action: MapVetoAction.PICK, teamId: teamBId }, + { order: 4, action: MapVetoAction.PICK, teamId: teamAId }, + { order: 5, action: MapVetoAction.PICK, teamId: teamBId }, + { order: 6, action: MapVetoAction.PICK, teamId: teamAId }, + ] as const + } + // default BO3 + return [ + { order: 0, action: MapVetoAction.BAN, teamId: teamAId }, + { order: 1, action: MapVetoAction.BAN, teamId: teamBId }, + { order: 2, action: MapVetoAction.PICK, teamId: teamAId }, + { order: 3, action: MapVetoAction.PICK, teamId: teamBId }, + { order: 4, action: MapVetoAction.BAN, teamId: teamAId }, + { order: 5, action: MapVetoAction.BAN, teamId: teamBId }, + { order: 6, action: MapVetoAction.DECIDER, teamId: null }, + ] as const +} + +const ACTIVE_DUTY = [ + 'de_inferno','de_mirage','de_nuke','de_overpass','de_vertigo','de_ancient','de_anubis', +] + export async function POST (req: NextRequest) { // ── Auth: nur Admins const session = await getServerSession(authOptions(req)) @@ -71,15 +101,14 @@ export async function POST (req: NextRequest) { const created = await prisma.$transaction(async (tx) => { const newMatch = await tx.match.create({ data: { - teamAId, - teamBId, - title : safeTitle, - description : safeDesc, - map : safeMap, - demoDate : plannedAt, - // ⚠ hier KEIN "type" setzen – existiert nicht im Schema - teamAUsers : { connect: (teamA.activePlayers ?? []).map(id => ({ steamId: id })) }, - teamBUsers : { connect: (teamB.activePlayers ?? []).map(id => ({ steamId: id })) }, + teamAId, teamBId, + title: safeTitle, + description: safeDesc, + map: safeMap, + demoDate: plannedAt, // du nutzt demoDate als geplante Zeit + bestOf: bestOfInt, + teamAUsers: { connect: (teamA.activePlayers ?? []).map(id => ({ steamId: id })) }, + teamBUsers: { connect: (teamB.activePlayers ?? []).map(id => ({ steamId: id })) }, }, }) @@ -91,6 +120,28 @@ export async function POST (req: NextRequest) { await tx.matchPlayer.createMany({ data: playersData, skipDuplicates: true }) } + // ⬇️ MapVeto sofort anlegen + const opensAt = new Date((new Date(newMatch.matchDate ?? newMatch.demoDate ?? plannedAt)).getTime() - 60*60*1000) + const stepsDef = buildSteps(bestOfInt, teamAId, teamBId) + + await tx.mapVeto.create({ + data: { + matchId: newMatch.id, + bestOf : bestOfInt, + mapPool: ACTIVE_DUTY, + currentIdx: 0, + locked: false, + opensAt, + steps: { + create: stepsDef.map(s => ({ + order: s.order, + action: s.action, // prisma.MapVetoAction.* + teamId: s.teamId ?? undefined, + })), + }, + }, + }) + return newMatch }) diff --git a/src/app/api/matches/route.ts b/src/app/api/matches/route.ts index 98c0210..63c4c71 100644 --- a/src/app/api/matches/route.ts +++ b/src/app/api/matches/route.ts @@ -1,113 +1,110 @@ -// /app/api/user/[steamId]/matches/route.ts -import { NextResponse, type NextRequest } from 'next/server' +import { NextResponse } from 'next/server' import { prisma } from '@/app/lib/prisma' -export async function GET( - req: NextRequest, - { params }: { params: { steamId: string } }, -) { - const steamId = params.steamId - if (!steamId) { - return NextResponse.json({ error: 'Steam-ID fehlt' }, { status: 400 }) - } - - const { searchParams } = new URL(req.url) - - // Query-Parameter - const typesParam = searchParams.get('types') // z. B. "premier,competitive" - const types = typesParam - ? typesParam.split(',').map(t => t.trim()).filter(Boolean) - : [] - - const limit = Math.min( - Math.max(parseInt(searchParams.get('limit') || '10', 10), 1), - 50, - ) // 1..50 (Default 10) - - const cursor = searchParams.get('cursor') // letzte match.id der vorherigen Page - +export async function GET(req: Request) { try { - // Matches, in denen der Spieler vorkommt - const matches = await prisma.match.findMany({ - where: { - players: { some: { steamId } }, - ...(types.length ? { matchType: { in: types } } : {}), - }, - orderBy: [{ demoDate: 'desc' }, { id: 'desc' }], - take: limit + 1, // eine extra zum Prüfen, ob es weiter geht - ...(cursor ? { cursor: { id: cursor }, skip: 1 } : {}), + const { searchParams } = new URL(req.url) + const matchType = searchParams.get('type') // z. B. "community" - select: { - id: true, - demoDate: true, - map: true, - roundCount: true, - scoreA: true, - scoreB: true, - matchType: true, - teamAId: true, - teamBId: true, - teamAUsers: { select: { steamId: true } }, - teamBUsers: { select: { steamId: true } }, - winnerTeam: true, - // nur die MatchPlayer-Zeile des aktuellen Users (für Stats) - players: { - where: { steamId }, - select: { stats: true }, - }, + const matches = await prisma.match.findMany({ + where : matchType ? { matchType } : undefined, + orderBy: { demoDate: 'desc' }, + include: { + teamA : true, + teamB : true, + players: { include: { user: true, stats: true, team: true } }, + mapVeto: { include: { steps: true } }, }, }) - const hasMore = matches.length > limit - const page = hasMore ? matches.slice(0, limit) : matches + const formatted = matches.map(m => { + let status: 'not_started' | 'in_progress' | 'completed' | null = null + let opensAtISO: string | null = null + let isOpen = false // <-- immer boolean + let currentIndex: number | null = null + let currentAction: 'BAN'|'PICK'|'DECIDER' | null = null + let decidedCount: number | null = null + let totalSteps: number | null = null + let opensInMinutes: number | null = null // <-- optional - const items = page.map(m => { - const stats = m.players[0]?.stats ?? null - const kills = stats?.kills ?? 0 - const deaths = stats?.deaths ?? 0 - const kdr = deaths ? (kills / deaths).toFixed(2) : '∞' - const rankOld = stats?.rankOld ?? null - const rankNew = stats?.rankNew ?? null - const aim = stats?.aim ?? null - const rankChange = - rankNew != null && rankOld != null ? rankNew - rankOld : null + if (m.mapVeto) { + const stepsSorted = [...m.mapVeto.steps].sort((a, b) => a.order - b.order) + const anyChosen = stepsSorted.some(s => !!s.chosenAt) + status = m.mapVeto.locked ? 'completed' : (anyChosen ? 'in_progress' : 'not_started') - // Teamzugehörigkeit aus Sicht des Spielers (CT/T) - const playerTeam = m.teamAUsers.some(u => u.steamId === steamId) ? 'CT' : 'T' - const score = `${m.scoreA ?? 0} : ${m.scoreB ?? 0}` + const computedOpensAt = + m.mapVeto.opensAt ?? + (() => { + const base = m.matchDate ?? m.demoDate ?? new Date() + return new Date(base.getTime() - 60 * 60 * 1000) // 1h vorher + })() + + opensAtISO = computedOpensAt?.toISOString() ?? null + if (opensAtISO) { + const now = Date.now() + const oa = new Date(opensAtISO).getTime() + isOpen = now >= oa + opensInMinutes = Math.max(0, Math.ceil((oa - now) / 60000)) + } + + currentIndex = m.mapVeto.currentIdx + const cur = stepsSorted.find(s => s.order === m.mapVeto.currentIdx) + currentAction = (cur?.action as 'BAN'|'PICK'|'DECIDER') ?? null + decidedCount = stepsSorted.filter(s => !!s.chosenAt).length + totalSteps = stepsSorted.length + } + + // Fallback für Anzeige-Datum im Frontend + const displayDate = m.demoDate ?? m.matchDate return { - id: m.id, - map: m.map ?? 'Unknown', - date: m.demoDate?.toISOString() ?? '', - matchType: m.matchType ?? 'community', - - score, - roundCount: m.roundCount, - - rankOld, - rankNew, - rankChange, - - kills, - deaths, - kdr, - aim, - + id : m.id, + map : m.map, + demoDate : m.demoDate, // unverändert + matchDate : m.matchDate, // falls du’s im UI brauchst + displayDate, // <-- neu (für sicheres Rendern) + matchType : m.matchType, + scoreA : m.scoreA, + scoreB : m.scoreB, winnerTeam: m.winnerTeam ?? null, - team: playerTeam, // 'CT' | 'T' + + mapVote: m.mapVeto ? { + status, + opensAt: opensAtISO, + isOpen, + opensInMinutes, // <-- optional + currentIndex, + currentAction, + decidedCount, + totalSteps, + } : null, + + teamA: { + id : m.teamA?.id ?? null, + name : m.teamA?.name ?? 'CT', + logo : m.teamA?.logo ?? null, + score: m.scoreA, + }, + teamB: { + id : m.teamB?.id ?? null, + name : m.teamB?.name ?? 'T', + logo : m.teamB?.logo ?? null, + score: m.scoreB, + }, + players: m.players.map(p => ({ + steamId : p.steamId, + name : p.user?.name, + avatar : p.user?.avatar, + stats : p.stats, + teamId : p.teamId, + teamName: p.team?.name ?? null, + })), } }) - const nextCursor = hasMore ? page[page.length - 1].id : null - - return NextResponse.json({ - items, - nextCursor, - hasMore, - }) + return NextResponse.json(formatted) } catch (err) { - console.error('[API] /user/[steamId]/matches Fehler:', err) - return NextResponse.json({ error: 'Serverfehler' }, { status: 500 }) + console.error('GET /matches failed:', err) + return NextResponse.json({ error: 'Failed to load matches' }, { status: 500 }) } } diff --git a/src/app/components/CommunityMatchList.tsx b/src/app/components/CommunityMatchList.tsx index 98f462a..7986650 100644 --- a/src/app/components/CommunityMatchList.tsx +++ b/src/app/components/CommunityMatchList.tsx @@ -69,6 +69,15 @@ export default function CommunityMatchList({ matchType }: Props) { [teams] ) + useEffect(() => { + const id = setInterval(() => { + // force re-render, damit isOpen (Vergleich mit Date.now) neu bewertet wird + setMatches(m => [...m]) + }, 30_000) + return () => clearInterval(id) + }, []) + + // Auto-Titel useEffect(() => { if (!autoTitle) return @@ -240,6 +249,27 @@ export default function CommunityMatchList({ matchType }: Props) { )} + {/* Map-Vote Badge */} + {m.mapVote && ( + + {m.mapVote.isOpen + ? (m.mapVote.status === 'completed' ? 'Map-Vote abgeschlossen' : 'Map-Vote offen') + : m.mapVote.opensAt + ? `Map-Vote ab ${format(new Date(m.mapVote.opensAt), 'HH:mm', { locale: de })} Uhr` + : 'Map-Vote bald'} + + )} +
{m.teamA.name} @@ -256,6 +286,7 @@ export default function CommunityMatchList({ matchType }: Props) { {format(new Date(m.demoDate), 'dd.MM.yyyy', { locale: de })} + diff --git a/src/app/components/MapVotePanel.tsx b/src/app/components/MapVotePanel.tsx new file mode 100644 index 0000000..1b6f1ed --- /dev/null +++ b/src/app/components/MapVotePanel.tsx @@ -0,0 +1,249 @@ +// /app/components/MapVotePanel.tsx +'use client' + +import { useEffect, useMemo, useState, useCallback } from 'react' +import { useSession } from 'next-auth/react' +import { mapNameMap } from '../lib/mapNameMap' +import Button from './Button' +import { useSSEStore } from '@/app/lib/useSSEStore' +import type { Match } from '../types/match' +import type { MapVetoState } from '../types/mapvote' + +type Props = { match: Match } + +export default function MapVotePanel({ match }: Props) { + const { data: session } = useSession() + + const [state, setState] = useState(null) + const [isLoading, setIsLoading] = useState(false) + const [error, setError] = useState(null) + + // --- Zeitpunkt: 1h vor Matchbeginn --- + const opensAtTs = useMemo(() => { + const base = new Date(match.matchDate ?? match.demoDate ?? Date.now()) + return base.getTime() - 60 * 60 * 1000 + }, [match.matchDate, match.demoDate]) + + // Sauberer Countdown/„Jetzt offen“-Trigger + const [nowTs, setNowTs] = useState(() => Date.now()) + const isOpen = nowTs >= opensAtTs + const msToOpen = Math.max(opensAtTs - nowTs, 0) + + useEffect(() => { + if (isOpen) return + const t = setInterval(() => setNowTs(Date.now()), 1000) + return () => clearInterval(t) + }, [isOpen]) + + // --- Berechtigungen: nur Leader des Teams, Admins immer --- + const me = session?.user + const isAdmin = !!me?.isAdmin + const isLeaderA = !!me?.steamId && match.teamA?.leader === me.steamId + const isLeaderB = !!me?.steamId && match.teamB?.leader === me.steamId + + const canActForTeamId = useCallback((teamId?: string | null) => { + if (!teamId) return false + if (isAdmin) return true + return (teamId === match.teamA?.id && isLeaderA) || + (teamId === match.teamB?.id && isLeaderB) + }, [isAdmin, isLeaderA, isLeaderB, match.teamA?.id, match.teamB?.id]) + + // --- Laden / Reload --- + const load = useCallback(async () => { + setIsLoading(true) + setError(null) + try { + const r = await fetch(`/api/matches/${match.id}/map-vote`, { cache: 'no-store' }) + if (!r.ok) { + // Server-Fehlertext übernehmen, falls vorhanden + const j = await r.json().catch(() => ({})) + throw new Error(j?.message || 'Laden fehlgeschlagen') + } + const json = await r.json() + + // ➜ harte Validierung der erwarteten Struktur + if (!json || !Array.isArray(json.steps)) { + // optional: console.debug('Unerwartete Antwort:', json) + throw new Error('Ungültige Serverantwort (steps fehlt)') + } + setState(json) + } catch (e: any) { + setState(null) // wichtig: kein halbgares Objekt rendern + setError(e?.message ?? 'Unbekannter Fehler') + } finally { + setIsLoading(false) + } +}, [match.id]) + + useEffect(() => { load() }, [load]) + + // --- SSE: bei Änderungen nachladen --- + const { lastEvent } = useSSEStore() + useEffect(() => { + if (!lastEvent) return + if (lastEvent.type !== 'map-vote-updated') return + const matchId = lastEvent.payload?.matchId + if (matchId !== match.id) return + load() + }, [lastEvent, match.id, load]) + + // --- Abgeleitete Zustände --- + const currentStep = state?.steps?.[state.currentIndex] + const isMyTurn = Boolean( + isOpen && !state?.locked && currentStep?.teamId && canActForTeamId(currentStep.teamId) + ) + + const mapPool = state?.mapPool ?? [] + const pickedOrBanned = useMemo( + () => new Set((state?.steps ?? []).map(s => s.map).filter(Boolean) as string[]), + [state?.steps] + ) + + const fmt = (k: string) => mapNameMap[k]?.name ?? k + + // --- Aktionen --- + const handlePickOrBan = async (map: string) => { + if (!isMyTurn || !currentStep) return + try { + const r = await fetch(`/api/matches/${match.id}/map-vote`, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ map }), + }) + if (!r.ok) { + const j = await r.json().catch(() => ({})) + alert(j.message ?? 'Aktion fehlgeschlagen') + return + } + // Erfolg: Server triggert SSE → load() via SSE + } catch { + alert('Netzwerkfehler') + } + } + + if (isLoading && !state) return
Lade Map-Voting…
+ if (error && !state) return
{error}
+ + return ( +
+
+

Map-Vote

+
Modus: BO{match.bestOf ?? state?.bestOf ?? 3}
+
+ + {!isOpen && ( +
+ + Öffnet in {formatCountdown(msToOpen)} + +
+ )} + + {state && Array.isArray(state.steps) && ( + <> +
    + {state.steps.map((s, i) => { + const done = !!s.map + const isCurrent = i === state.currentIndex && !state.locked + const actionLabel = s.action === 'ban' ? 'Ban' : s.action === 'pick' ? 'Pick' : 'Decider' + const teamLabel = s.teamId + ? (s.teamId === match.teamA.id ? match.teamA.name : match.teamB.name) + : '—' + return ( +
  1. +
    + {actionLabel} {s.teamId ? `• ${teamLabel}` : ''} +
    +
    + {s.map ? fmt(s.map) : (isCurrent ? 'am Zug…' : '—')} +
    +
  2. + ) + })} +
+ + {/* Karten-Grid */} +
+ {mapPool.map((map) => { + const taken = pickedOrBanned.has(map) + const isAvailable = !taken && isMyTurn && isOpen && !state.locked + return ( + + ) + })} +
+ + {/* Footer */} +
+ {state.locked ? ( + + Veto abgeschlossen + + ) : isOpen ? ( + isMyTurn ? ( + + Du bist am Zug (Leader/Admin) + + ) : ( + + Wartet auf  + {currentStep?.teamId === match.teamA?.id ? match.teamA.name : match.teamB.name} +  (Leader/Admin) + + ) + ) : null} + + +
+ + )} +
+ ) +} + +function formatCountdown(ms: number) { + if (ms <= 0) return '0:00:00' + const totalSec = Math.floor(ms / 1000) + const h = Math.floor(totalSec / 3600) + const m = Math.floor((totalSec % 3600) / 60) + const s = totalSec % 60 + const pad = (n:number)=>String(n).padStart(2,'0') + return `${h}:${pad(m)}:${pad(s)}` +} diff --git a/src/app/components/MatchDetails.tsx b/src/app/components/MatchDetails.tsx index e39640c..52ae6a8 100644 --- a/src/app/components/MatchDetails.tsx +++ b/src/app/components/MatchDetails.tsx @@ -19,6 +19,8 @@ import type { EditSide } from './EditMatchPlayersModal' // 'A' | 'B' import type { Match, MatchPlayer } from '../types/match' import Button from './Button' +import { mapNameMap } from '../lib/mapNameMap' +import MapVotePanel from './MapVotePanel' /* ─────────────────── Hilfsfunktionen ────────────────────────── */ const kdr = (k?: number, d?: number) => @@ -35,15 +37,29 @@ const adr = (dmg?: number, rounds?: number) => export function MatchDetails ({ match }: { match: Match }) { const { data: session } = useSession() const router = useRouter() + const isAdmin = !!session?.user?.isAdmin /* ─── Rollen & Rechte ─────────────────────────────────────── */ const me = session?.user const userId = me?.steamId - const isAdmin = me?.isAdmin const isLeaderA = !!userId && userId === match.teamA?.leader const isLeaderB = !!userId && userId === match.teamB?.leader const canEditA = isAdmin || isLeaderA const canEditB = isAdmin || isLeaderB + + const isMapVoteOpen = !!match.mapVote?.isOpen + + console.log("Mapvote offen?: ", isMapVoteOpen); + + /* ─── Map ─────────────────────────────────────────────────── */ + const normalizeMapKey = (raw?: string) => + (raw ?? '') + .toLowerCase() + .replace(/\.bsp$/,'') + .replace(/^.*\//,'') + + const mapKey = normalizeMapKey(match.map) + const mapLabel = mapNameMap[mapKey]?.name ?? (match.map ?? 'Unbekannte Map') /* ─── Match-Zeitpunkt ─────────────────────────────────────── */ const dateString = match.matchDate ?? match.demoDate @@ -63,6 +79,24 @@ export function MatchDetails ({ match }: { match: Match }) { ) + /* ─── Match löschen ────────────────────────────────────────── */ + const handleDelete = async () => { + if (!confirm('Match wirklich löschen? Das kann nicht rückgängig gemacht werden.')) return + try { + const res = await fetch(`/api/matches/${match.id}/delete`, { method: 'POST' }) + if (!res.ok) { + const j = await res.json().catch(() => ({})) + alert(j.message ?? 'Löschen fehlgeschlagen') + return + } + // Zurück zur Matchliste + router.push('/schedule') // ggf. an deinen Pfad anpassen + } catch (e) { + console.error('[MatchDetails] delete failed', e) + alert('Löschen fehlgeschlagen.') + } + } + /* ─── Spieler-Tabelle ─────────────────────────────────────── */ const renderTable = (players: MatchPlayer[]) => { const sorted = [...players].sort( @@ -147,8 +181,17 @@ export function MatchDetails ({ match }: { match: Match }) { return (

- Match auf {match.map} ({match.matchType}) + Match auf {mapLabel} ({match.matchType})

+ + {isAdmin && ( + + )}

Datum: {readableDate}

@@ -161,6 +204,10 @@ export function MatchDetails ({ match }: { match: Match }) { Score: {match.scoreA ?? 0}:{match.scoreB ?? 0}
+ + {/* Map-Vote Panel nur anzeigen, wenn freigegeben */} + {isMapVoteOpen && } + {/* ───────── Team-Blöcke ───────── */}
{/* Team A */} diff --git a/src/app/types/mapvote.ts b/src/app/types/mapvote.ts new file mode 100644 index 0000000..9bc0de0 --- /dev/null +++ b/src/app/types/mapvote.ts @@ -0,0 +1,21 @@ +// z.B. /app/types/mapvote.ts +export type VetoAction = 'ban' | 'pick' | 'decider'; + +export type MapVetoStep = { + index: number; + action: VetoAction; // 'ban' | 'pick' | 'decider' + teamId?: string | null; // wer ist dran (bei 'decider' meist null) + map?: string | null; // gewählte Map (wenn ausgeführt) + byUser?: string | null; // steamId des Klickers + at?: string | null; // ISO-Zeitpunkt +}; + +export type MapVetoState = { + matchId: string; + bestOf: 3|5; + mapPool: string[]; // z.B. ['de_inferno','de_mirage',...] + steps: MapVetoStep[]; // komplette Reihenfolge inkl. 'decider' + currentIndex: number; // nächste auszuführende Stufe + opensAt: string; // ISO: matchDate - 60min + locked: boolean; // fertig / gesperrt +}; diff --git a/src/app/types/match.ts b/src/app/types/match.ts index 498acbf..61fd3ed 100644 --- a/src/app/types/match.ts +++ b/src/app/types/match.ts @@ -6,21 +6,30 @@ export type Match = { /* Basis-Infos ---------------------------------------------------- */ id : string title : string - demoDate : string // ⇐ Backend kommt als ISO-String + demoDate : string description?: string map : string matchType : 'premier' | 'competitive' | 'community' | string roundCount : number + // ⬇️ neu/optional, damit Alt-Daten weiter kompilen + bestOf? : 1 | 3 | 5 + matchDate? : string + /* Ergebnis ------------------------------------------------------- */ scoreA? : number | null scoreB? : number | null - /** CT | T | Draw | null – null, solange noch kein Ergebnis vorliegt */ winnerTeam? : 'CT' | 'T' | 'Draw' | null /* Teams ---------------------------------------------------------- */ teamA: TeamMatches teamB: TeamMatches + + mapVote?: { + status: 'not_started' | 'in_progress' | 'completed' | null + opensAt: string | null + isOpen: boolean | null + } | null } /* --------------------------------------------------------------- */ diff --git a/src/generated/prisma/edge.js b/src/generated/prisma/edge.js index 0146bd1..731a453 100644 --- a/src/generated/prisma/edge.js +++ b/src/generated/prisma/edge.js @@ -152,6 +152,8 @@ exports.Prisma.MatchScalarFieldEnum = { roundCount: 'roundCount', roundHistory: 'roundHistory', winnerTeam: 'winnerTeam', + bestOf: 'bestOf', + matchDate: 'matchDate', createdAt: 'createdAt', updatedAt: 'updatedAt' }; @@ -246,6 +248,29 @@ exports.Prisma.ServerRequestScalarFieldEnum = { createdAt: 'createdAt' }; +exports.Prisma.MapVetoScalarFieldEnum = { + id: 'id', + matchId: 'matchId', + bestOf: 'bestOf', + mapPool: 'mapPool', + currentIdx: 'currentIdx', + locked: 'locked', + opensAt: 'opensAt', + createdAt: 'createdAt', + updatedAt: 'updatedAt' +}; + +exports.Prisma.MapVetoStepScalarFieldEnum = { + id: 'id', + vetoId: 'vetoId', + order: 'order', + action: 'action', + teamId: 'teamId', + map: 'map', + chosenAt: 'chosenAt', + chosenBy: 'chosenBy' +}; + exports.Prisma.SortOrder = { asc: 'asc', desc: 'desc' @@ -279,6 +304,12 @@ exports.ScheduleStatus = exports.$Enums.ScheduleStatus = { COMPLETED: 'COMPLETED' }; +exports.MapVetoAction = exports.$Enums.MapVetoAction = { + BAN: 'BAN', + PICK: 'PICK', + DECIDER: 'DECIDER' +}; + exports.Prisma.ModelName = { User: 'User', Team: 'Team', @@ -290,7 +321,9 @@ exports.Prisma.ModelName = { RankHistory: 'RankHistory', Schedule: 'Schedule', DemoFile: 'DemoFile', - ServerRequest: 'ServerRequest' + ServerRequest: 'ServerRequest', + MapVeto: 'MapVeto', + MapVetoStep: 'MapVetoStep' }; /** * Create the Client @@ -303,7 +336,7 @@ const config = { "value": "prisma-client-js" }, "output": { - "value": "C:\\Users\\Chris\\fork\\ironie-nextjs\\src\\generated\\prisma", + "value": "C:\\Users\\Rother\\fork\\ironie-nextjs\\src\\generated\\prisma", "fromEnvVar": null }, "config": { @@ -317,7 +350,7 @@ const config = { } ], "previewFeatures": [], - "sourceFilePath": "C:\\Users\\Chris\\fork\\ironie-nextjs\\prisma\\schema.prisma", + "sourceFilePath": "C:\\Users\\Rother\\fork\\ironie-nextjs\\prisma\\schema.prisma", "isCustomOutput": true }, "relativeEnvPaths": { @@ -331,6 +364,7 @@ const config = { "db" ], "activeProvider": "postgresql", + "postinstall": false, "inlineDatasources": { "db": { "url": { @@ -339,13 +373,13 @@ const config = { } } }, - "inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n output = \"../src/generated/prisma\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n url = env(\"DATABASE_URL\")\n}\n\n//\n// ──────────────────────────────────────────────\n// 🧑 Benutzer, Teams & Verwaltung\n// ──────────────────────────────────────────────\n//\n\nmodel User {\n steamId String @id\n name String?\n avatar String?\n location String?\n isAdmin Boolean @default(false)\n\n teamId String?\n team Team? @relation(\"UserTeam\", fields: [teamId], references: [id])\n ledTeam Team? @relation(\"TeamLeader\")\n\n matchesAsTeamA Match[] @relation(\"TeamAPlayers\")\n matchesAsTeamB Match[] @relation(\"TeamBPlayers\")\n\n premierRank Int?\n authCode String?\n lastKnownShareCode String?\n lastKnownShareCodeDate DateTime?\n createdAt DateTime @default(now())\n\n invites TeamInvite[] @relation(\"UserInvitations\")\n notifications Notification[]\n matchPlayers MatchPlayer[]\n serverRequests ServerRequest[] @relation(\"MatchRequests\")\n rankHistory RankHistory[] @relation(\"UserRankHistory\")\n demoFiles DemoFile[]\n\n createdSchedules Schedule[] @relation(\"CreatedSchedules\")\n confirmedSchedules Schedule[] @relation(\"ConfirmedSchedules\")\n}\n\nmodel Team {\n id String @id @default(uuid())\n name String @unique\n logo String?\n leaderId String? @unique\n createdAt DateTime @default(now())\n\n activePlayers String[]\n inactivePlayers String[]\n\n leader User? @relation(\"TeamLeader\", fields: [leaderId], references: [steamId])\n members User[] @relation(\"UserTeam\")\n invites TeamInvite[]\n matchPlayers MatchPlayer[]\n\n matchesAsTeamA Match[] @relation(\"MatchTeamA\")\n matchesAsTeamB Match[] @relation(\"MatchTeamB\")\n\n schedulesAsTeamA Schedule[] @relation(\"ScheduleTeamA\")\n schedulesAsTeamB Schedule[] @relation(\"ScheduleTeamB\")\n}\n\nmodel TeamInvite {\n id String @id @default(uuid())\n steamId String\n teamId String\n type String\n createdAt DateTime @default(now())\n\n user User @relation(\"UserInvitations\", fields: [steamId], references: [steamId])\n team Team @relation(fields: [teamId], references: [id])\n}\n\nmodel Notification {\n id String @id @default(uuid())\n steamId String\n title String?\n message String\n read Boolean @default(false)\n persistent Boolean @default(false)\n actionType String?\n actionData String?\n createdAt DateTime @default(now())\n\n user User @relation(fields: [steamId], references: [steamId])\n}\n\n//\n// ──────────────────────────────────────────────\n// 🎮 Matches & Spieler\n// ──────────────────────────────────────────────\n//\n\nmodel Match {\n id String @id @default(uuid())\n title String\n matchType String @default(\"community\")\n map String?\n description String?\n scoreA Int?\n scoreB Int?\n\n teamAId String?\n teamA Team? @relation(\"MatchTeamA\", fields: [teamAId], references: [id])\n\n teamBId String?\n teamB Team? @relation(\"MatchTeamB\", fields: [teamBId], references: [id])\n\n teamAUsers User[] @relation(\"TeamAPlayers\")\n teamBUsers User[] @relation(\"TeamBPlayers\")\n\n filePath String?\n demoFile DemoFile?\n demoDate DateTime?\n demoData Json?\n\n players MatchPlayer[]\n rankUpdates RankHistory[] @relation(\"MatchRankHistory\")\n\n roundCount Int?\n roundHistory Json?\n winnerTeam String?\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n schedule Schedule?\n}\n\nmodel MatchPlayer {\n id String @id @default(uuid())\n steamId String\n matchId String\n teamId String?\n team Team? @relation(fields: [teamId], references: [id])\n\n match Match @relation(fields: [matchId], references: [id])\n user User @relation(fields: [steamId], references: [steamId])\n\n stats PlayerStats?\n\n createdAt DateTime @default(now())\n\n @@unique([matchId, steamId])\n}\n\nmodel PlayerStats {\n id String @id @default(uuid())\n matchId String\n steamId String\n\n kills Int\n assists Int\n deaths Int\n headshotPct Float\n\n totalDamage Float @default(0)\n utilityDamage Int @default(0)\n flashAssists Int @default(0)\n mvps Int @default(0)\n mvpEliminations Int @default(0)\n mvpDefuse Int @default(0)\n mvpPlant Int @default(0)\n knifeKills Int @default(0)\n zeusKills Int @default(0)\n wallbangKills Int @default(0)\n smokeKills Int @default(0)\n headshots Int @default(0)\n noScopes Int @default(0)\n blindKills Int @default(0)\n\n aim Int @default(0)\n\n oneK Int @default(0)\n twoK Int @default(0)\n threeK Int @default(0)\n fourK Int @default(0)\n fiveK Int @default(0)\n\n rankOld Int?\n rankNew Int?\n rankChange Int?\n winCount Int?\n\n matchPlayer MatchPlayer @relation(fields: [matchId, steamId], references: [matchId, steamId])\n\n @@unique([matchId, steamId])\n}\n\nmodel RankHistory {\n id String @id @default(uuid())\n steamId String\n matchId String?\n\n rankOld Int\n rankNew Int\n delta Int\n winCount Int\n\n createdAt DateTime @default(now())\n\n user User @relation(\"UserRankHistory\", fields: [steamId], references: [steamId])\n match Match? @relation(\"MatchRankHistory\", fields: [matchId], references: [id])\n}\n\nmodel Schedule {\n id String @id @default(uuid())\n title String\n description String?\n map String?\n date DateTime\n status ScheduleStatus @default(PENDING)\n\n teamAId String?\n teamA Team? @relation(\"ScheduleTeamA\", fields: [teamAId], references: [id])\n\n teamBId String?\n teamB Team? @relation(\"ScheduleTeamB\", fields: [teamBId], references: [id])\n\n createdById String\n createdBy User @relation(\"CreatedSchedules\", fields: [createdById], references: [steamId])\n\n confirmedById String?\n confirmedBy User? @relation(\"ConfirmedSchedules\", fields: [confirmedById], references: [steamId])\n\n linkedMatchId String? @unique\n linkedMatch Match? @relation(fields: [linkedMatchId], references: [id])\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nenum ScheduleStatus {\n PENDING\n CONFIRMED\n DECLINED\n CANCELLED\n COMPLETED\n}\n\n//\n// ──────────────────────────────────────────────\n// 📦 Demo-Dateien & CS2 Requests\n// ──────────────────────────────────────────────\n//\n\nmodel DemoFile {\n id String @id @default(uuid())\n matchId String @unique\n steamId String\n fileName String @unique\n filePath String\n parsed Boolean @default(false)\n\n createdAt DateTime @default(now())\n\n match Match @relation(fields: [matchId], references: [id])\n user User @relation(fields: [steamId], references: [steamId])\n}\n\nmodel ServerRequest {\n id String @id @default(uuid())\n steamId String\n matchId String\n reservationId BigInt\n tvPort BigInt\n processed Boolean @default(false)\n failed Boolean @default(false)\n\n createdAt DateTime @default(now())\n\n user User @relation(\"MatchRequests\", fields: [steamId], references: [steamId])\n\n @@unique([steamId, matchId])\n}\n", - "inlineSchemaHash": "ade4e560fc8905cca973dec93825a926dbbcf59f6d3c08461a27cf13a3588433", + "inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n output = \"../src/generated/prisma\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n url = env(\"DATABASE_URL\")\n}\n\n//\n// ──────────────────────────────────────────────\n// 🧑 Benutzer, Teams & Verwaltung\n// ──────────────────────────────────────────────\n//\n\nmodel User {\n steamId String @id\n name String?\n avatar String?\n location String?\n isAdmin Boolean @default(false)\n\n teamId String?\n team Team? @relation(\"UserTeam\", fields: [teamId], references: [id])\n ledTeam Team? @relation(\"TeamLeader\")\n\n matchesAsTeamA Match[] @relation(\"TeamAPlayers\")\n matchesAsTeamB Match[] @relation(\"TeamBPlayers\")\n\n premierRank Int?\n authCode String?\n lastKnownShareCode String?\n lastKnownShareCodeDate DateTime?\n createdAt DateTime @default(now())\n\n invites TeamInvite[] @relation(\"UserInvitations\")\n notifications Notification[]\n matchPlayers MatchPlayer[]\n serverRequests ServerRequest[] @relation(\"MatchRequests\")\n rankHistory RankHistory[] @relation(\"UserRankHistory\")\n demoFiles DemoFile[]\n\n createdSchedules Schedule[] @relation(\"CreatedSchedules\")\n confirmedSchedules Schedule[] @relation(\"ConfirmedSchedules\")\n\n mapVetoChoices MapVetoStep[] @relation(\"VetoStepChooser\")\n}\n\nmodel Team {\n id String @id @default(uuid())\n name String @unique\n logo String?\n leaderId String? @unique\n createdAt DateTime @default(now())\n\n activePlayers String[]\n inactivePlayers String[]\n\n leader User? @relation(\"TeamLeader\", fields: [leaderId], references: [steamId])\n members User[] @relation(\"UserTeam\")\n invites TeamInvite[]\n matchPlayers MatchPlayer[]\n\n matchesAsTeamA Match[] @relation(\"MatchTeamA\")\n matchesAsTeamB Match[] @relation(\"MatchTeamB\")\n\n schedulesAsTeamA Schedule[] @relation(\"ScheduleTeamA\")\n schedulesAsTeamB Schedule[] @relation(\"ScheduleTeamB\")\n\n mapVetoSteps MapVetoStep[] @relation(\"VetoStepTeam\")\n}\n\nmodel TeamInvite {\n id String @id @default(uuid())\n steamId String\n teamId String\n type String\n createdAt DateTime @default(now())\n\n user User @relation(\"UserInvitations\", fields: [steamId], references: [steamId])\n team Team @relation(fields: [teamId], references: [id])\n}\n\nmodel Notification {\n id String @id @default(uuid())\n steamId String\n title String?\n message String\n read Boolean @default(false)\n persistent Boolean @default(false)\n actionType String?\n actionData String?\n createdAt DateTime @default(now())\n\n user User @relation(fields: [steamId], references: [steamId])\n}\n\n//\n// ──────────────────────────────────────────────\n// 🎮 Matches & Spieler\n// ──────────────────────────────────────────────\n//\n\n// ──────────────────────────────────────────────\n// 🎮 Matches\n// ──────────────────────────────────────────────\n\nmodel Match {\n id String @id @default(uuid())\n title String\n matchType String @default(\"community\")\n map String?\n description String?\n scoreA Int?\n scoreB Int?\n\n teamAId String?\n teamA Team? @relation(\"MatchTeamA\", fields: [teamAId], references: [id])\n\n teamBId String?\n teamB Team? @relation(\"MatchTeamB\", fields: [teamBId], references: [id])\n\n teamAUsers User[] @relation(\"TeamAPlayers\")\n teamBUsers User[] @relation(\"TeamBPlayers\")\n\n filePath String?\n demoFile DemoFile?\n demoDate DateTime?\n demoData Json?\n\n players MatchPlayer[]\n rankUpdates RankHistory[] @relation(\"MatchRankHistory\")\n\n roundCount Int?\n roundHistory Json?\n winnerTeam String?\n\n bestOf Int @default(3) // 1 | 3 | 5 – app-seitig validieren\n matchDate DateTime? // geplante Startzeit (separat von demoDate)\n mapVeto MapVeto? // 1:1 Map-Vote-Status\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n schedule Schedule?\n}\n\nmodel MatchPlayer {\n id String @id @default(uuid())\n steamId String\n matchId String\n teamId String?\n team Team? @relation(fields: [teamId], references: [id])\n\n match Match @relation(fields: [matchId], references: [id])\n user User @relation(fields: [steamId], references: [steamId])\n\n stats PlayerStats?\n\n createdAt DateTime @default(now())\n\n @@unique([matchId, steamId])\n}\n\nmodel PlayerStats {\n id String @id @default(uuid())\n matchId String\n steamId String\n\n kills Int\n assists Int\n deaths Int\n headshotPct Float\n\n totalDamage Float @default(0)\n utilityDamage Int @default(0)\n flashAssists Int @default(0)\n mvps Int @default(0)\n mvpEliminations Int @default(0)\n mvpDefuse Int @default(0)\n mvpPlant Int @default(0)\n knifeKills Int @default(0)\n zeusKills Int @default(0)\n wallbangKills Int @default(0)\n smokeKills Int @default(0)\n headshots Int @default(0)\n noScopes Int @default(0)\n blindKills Int @default(0)\n\n aim Int @default(0)\n\n oneK Int @default(0)\n twoK Int @default(0)\n threeK Int @default(0)\n fourK Int @default(0)\n fiveK Int @default(0)\n\n rankOld Int?\n rankNew Int?\n rankChange Int?\n winCount Int?\n\n matchPlayer MatchPlayer @relation(fields: [matchId, steamId], references: [matchId, steamId])\n\n @@unique([matchId, steamId])\n}\n\nmodel RankHistory {\n id String @id @default(uuid())\n steamId String\n matchId String?\n\n rankOld Int\n rankNew Int\n delta Int\n winCount Int\n\n createdAt DateTime @default(now())\n\n user User @relation(\"UserRankHistory\", fields: [steamId], references: [steamId])\n match Match? @relation(\"MatchRankHistory\", fields: [matchId], references: [id])\n}\n\nmodel Schedule {\n id String @id @default(uuid())\n title String\n description String?\n map String?\n date DateTime\n status ScheduleStatus @default(PENDING)\n\n teamAId String?\n teamA Team? @relation(\"ScheduleTeamA\", fields: [teamAId], references: [id])\n\n teamBId String?\n teamB Team? @relation(\"ScheduleTeamB\", fields: [teamBId], references: [id])\n\n createdById String\n createdBy User @relation(\"CreatedSchedules\", fields: [createdById], references: [steamId])\n\n confirmedById String?\n confirmedBy User? @relation(\"ConfirmedSchedules\", fields: [confirmedById], references: [steamId])\n\n linkedMatchId String? @unique\n linkedMatch Match? @relation(fields: [linkedMatchId], references: [id])\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nenum ScheduleStatus {\n PENDING\n CONFIRMED\n DECLINED\n CANCELLED\n COMPLETED\n}\n\n//\n// ──────────────────────────────────────────────\n// 📦 Demo-Dateien & CS2 Requests\n// ──────────────────────────────────────────────\n//\n\nmodel DemoFile {\n id String @id @default(uuid())\n matchId String @unique\n steamId String\n fileName String @unique\n filePath String\n parsed Boolean @default(false)\n\n createdAt DateTime @default(now())\n\n match Match @relation(fields: [matchId], references: [id])\n user User @relation(fields: [steamId], references: [steamId])\n}\n\nmodel ServerRequest {\n id String @id @default(uuid())\n steamId String\n matchId String\n reservationId BigInt\n tvPort BigInt\n processed Boolean @default(false)\n failed Boolean @default(false)\n\n createdAt DateTime @default(now())\n\n user User @relation(\"MatchRequests\", fields: [steamId], references: [steamId])\n\n @@unique([steamId, matchId])\n}\n\n// ──────────────────────────────────────────────\n// 🗺️ Map-Vote\n// ──────────────────────────────────────────────\n\nenum MapVetoAction {\n BAN\n PICK\n DECIDER\n}\n\nmodel MapVeto {\n id String @id @default(uuid())\n matchId String @unique\n match Match @relation(fields: [matchId], references: [id])\n\n // Basiszustand\n bestOf Int @default(3)\n mapPool String[] // z.B. [\"de_inferno\",\"de_mirage\",...]\n currentIdx Int @default(0)\n locked Boolean @default(false)\n\n // Optional: serverseitig speichern, statt im UI zu berechnen\n opensAt DateTime?\n\n steps MapVetoStep[]\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel MapVetoStep {\n id String @id @default(uuid())\n vetoId String\n order Int\n action MapVetoAction\n\n // Team, das am Zug ist (kann bei DECIDER null sein)\n teamId String?\n team Team? @relation(\"VetoStepTeam\", fields: [teamId], references: [id])\n\n // Ergebnis & wer gewählt hat\n map String?\n chosenAt DateTime?\n chosenBy String?\n chooser User? @relation(\"VetoStepChooser\", fields: [chosenBy], references: [steamId])\n\n veto MapVeto @relation(fields: [vetoId], references: [id])\n\n @@unique([vetoId, order])\n @@index([teamId])\n @@index([chosenBy])\n}\n", + "inlineSchemaHash": "8e7008c693e03efce5121e41440c2eb0fb24e52679ec9ac6c1ebccc7fc1f5c5a", "copyEngine": true } config.dirname = '/' -config.runtimeDataModel = JSON.parse("{\"models\":{\"User\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"steamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"avatar\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"location\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isAdmin\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"team\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Team\",\"nativeType\":null,\"relationName\":\"UserTeam\",\"relationFromFields\":[\"teamId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ledTeam\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Team\",\"nativeType\":null,\"relationName\":\"TeamLeader\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchesAsTeamA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Match\",\"nativeType\":null,\"relationName\":\"TeamAPlayers\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchesAsTeamB\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Match\",\"nativeType\":null,\"relationName\":\"TeamBPlayers\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"premierRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"authCode\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastKnownShareCode\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastKnownShareCodeDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"invites\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"TeamInvite\",\"nativeType\":null,\"relationName\":\"UserInvitations\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notifications\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Notification\",\"nativeType\":null,\"relationName\":\"NotificationToUser\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchPlayers\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"MatchPlayer\",\"nativeType\":null,\"relationName\":\"MatchPlayerToUser\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"serverRequests\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ServerRequest\",\"nativeType\":null,\"relationName\":\"MatchRequests\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rankHistory\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"RankHistory\",\"nativeType\":null,\"relationName\":\"UserRankHistory\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"demoFiles\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DemoFile\",\"nativeType\":null,\"relationName\":\"DemoFileToUser\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdSchedules\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Schedule\",\"nativeType\":null,\"relationName\":\"CreatedSchedules\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"confirmedSchedules\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Schedule\",\"nativeType\":null,\"relationName\":\"ConfirmedSchedules\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Team\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"logo\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"leaderId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"activePlayers\",\"kind\":\"scalar\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"inactivePlayers\",\"kind\":\"scalar\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"leader\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"TeamLeader\",\"relationFromFields\":[\"leaderId\"],\"relationToFields\":[\"steamId\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"members\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"UserTeam\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"invites\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"TeamInvite\",\"nativeType\":null,\"relationName\":\"TeamToTeamInvite\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchPlayers\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"MatchPlayer\",\"nativeType\":null,\"relationName\":\"MatchPlayerToTeam\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchesAsTeamA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Match\",\"nativeType\":null,\"relationName\":\"MatchTeamA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchesAsTeamB\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Match\",\"nativeType\":null,\"relationName\":\"MatchTeamB\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"schedulesAsTeamA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Schedule\",\"nativeType\":null,\"relationName\":\"ScheduleTeamA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"schedulesAsTeamB\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Schedule\",\"nativeType\":null,\"relationName\":\"ScheduleTeamB\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"TeamInvite\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"steamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"UserInvitations\",\"relationFromFields\":[\"steamId\"],\"relationToFields\":[\"steamId\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"team\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Team\",\"nativeType\":null,\"relationName\":\"TeamToTeamInvite\",\"relationFromFields\":[\"teamId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Notification\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"steamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"title\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"message\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"read\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"persistent\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"actionType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"actionData\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"NotificationToUser\",\"relationFromFields\":[\"steamId\"],\"relationToFields\":[\"steamId\"],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Match\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"title\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":\"community\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"map\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"scoreA\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"scoreB\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamAId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Team\",\"nativeType\":null,\"relationName\":\"MatchTeamA\",\"relationFromFields\":[\"teamAId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamBId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamB\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Team\",\"nativeType\":null,\"relationName\":\"MatchTeamB\",\"relationFromFields\":[\"teamBId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamAUsers\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"TeamAPlayers\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamBUsers\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"TeamBPlayers\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"filePath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"demoFile\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DemoFile\",\"nativeType\":null,\"relationName\":\"DemoFileToMatch\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"demoDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"demoData\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"players\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"MatchPlayer\",\"nativeType\":null,\"relationName\":\"MatchToMatchPlayer\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rankUpdates\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"RankHistory\",\"nativeType\":null,\"relationName\":\"MatchRankHistory\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"roundCount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"roundHistory\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"winnerTeam\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"schedule\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Schedule\",\"nativeType\":null,\"relationName\":\"MatchToSchedule\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"MatchPlayer\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"steamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"team\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Team\",\"nativeType\":null,\"relationName\":\"MatchPlayerToTeam\",\"relationFromFields\":[\"teamId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"match\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Match\",\"nativeType\":null,\"relationName\":\"MatchToMatchPlayer\",\"relationFromFields\":[\"matchId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"MatchPlayerToUser\",\"relationFromFields\":[\"steamId\"],\"relationToFields\":[\"steamId\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"stats\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"PlayerStats\",\"nativeType\":null,\"relationName\":\"MatchPlayerToPlayerStats\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"matchId\",\"steamId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"matchId\",\"steamId\"]}],\"isGenerated\":false},\"PlayerStats\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"steamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"kills\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"assists\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"deaths\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"headshotPct\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"totalDamage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Float\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"utilityDamage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"flashAssists\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mvps\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mvpEliminations\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mvpDefuse\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mvpPlant\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"knifeKills\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"zeusKills\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"wallbangKills\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"smokeKills\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"headshots\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"noScopes\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"blindKills\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"aim\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"oneK\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"twoK\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"threeK\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fourK\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fiveK\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rankOld\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rankNew\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rankChange\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"winCount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchPlayer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"MatchPlayer\",\"nativeType\":null,\"relationName\":\"MatchPlayerToPlayerStats\",\"relationFromFields\":[\"matchId\",\"steamId\"],\"relationToFields\":[\"matchId\",\"steamId\"],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"matchId\",\"steamId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"matchId\",\"steamId\"]}],\"isGenerated\":false},\"RankHistory\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"steamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rankOld\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rankNew\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"delta\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"winCount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"UserRankHistory\",\"relationFromFields\":[\"steamId\"],\"relationToFields\":[\"steamId\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"match\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Match\",\"nativeType\":null,\"relationName\":\"MatchRankHistory\",\"relationFromFields\":[\"matchId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Schedule\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"title\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"map\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"date\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"ScheduleStatus\",\"nativeType\":null,\"default\":\"PENDING\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamAId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Team\",\"nativeType\":null,\"relationName\":\"ScheduleTeamA\",\"relationFromFields\":[\"teamAId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamBId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamB\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Team\",\"nativeType\":null,\"relationName\":\"ScheduleTeamB\",\"relationFromFields\":[\"teamBId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdById\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"CreatedSchedules\",\"relationFromFields\":[\"createdById\"],\"relationToFields\":[\"steamId\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"confirmedById\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"confirmedBy\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"ConfirmedSchedules\",\"relationFromFields\":[\"confirmedById\"],\"relationToFields\":[\"steamId\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"linkedMatchId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"linkedMatch\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Match\",\"nativeType\":null,\"relationName\":\"MatchToSchedule\",\"relationFromFields\":[\"linkedMatchId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"DemoFile\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"steamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fileName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"filePath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"parsed\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"match\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Match\",\"nativeType\":null,\"relationName\":\"DemoFileToMatch\",\"relationFromFields\":[\"matchId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"DemoFileToUser\",\"relationFromFields\":[\"steamId\"],\"relationToFields\":[\"steamId\"],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ServerRequest\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"steamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"reservationId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tvPort\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"processed\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"failed\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"MatchRequests\",\"relationFromFields\":[\"steamId\"],\"relationToFields\":[\"steamId\"],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"steamId\",\"matchId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"steamId\",\"matchId\"]}],\"isGenerated\":false}},\"enums\":{\"ScheduleStatus\":{\"values\":[{\"name\":\"PENDING\",\"dbName\":null},{\"name\":\"CONFIRMED\",\"dbName\":null},{\"name\":\"DECLINED\",\"dbName\":null},{\"name\":\"CANCELLED\",\"dbName\":null},{\"name\":\"COMPLETED\",\"dbName\":null}],\"dbName\":null}},\"types\":{}}") +config.runtimeDataModel = JSON.parse("{\"models\":{\"User\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"steamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"avatar\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"location\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isAdmin\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"team\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Team\",\"nativeType\":null,\"relationName\":\"UserTeam\",\"relationFromFields\":[\"teamId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ledTeam\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Team\",\"nativeType\":null,\"relationName\":\"TeamLeader\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchesAsTeamA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Match\",\"nativeType\":null,\"relationName\":\"TeamAPlayers\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchesAsTeamB\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Match\",\"nativeType\":null,\"relationName\":\"TeamBPlayers\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"premierRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"authCode\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastKnownShareCode\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastKnownShareCodeDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"invites\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"TeamInvite\",\"nativeType\":null,\"relationName\":\"UserInvitations\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notifications\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Notification\",\"nativeType\":null,\"relationName\":\"NotificationToUser\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchPlayers\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"MatchPlayer\",\"nativeType\":null,\"relationName\":\"MatchPlayerToUser\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"serverRequests\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ServerRequest\",\"nativeType\":null,\"relationName\":\"MatchRequests\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rankHistory\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"RankHistory\",\"nativeType\":null,\"relationName\":\"UserRankHistory\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"demoFiles\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DemoFile\",\"nativeType\":null,\"relationName\":\"DemoFileToUser\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdSchedules\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Schedule\",\"nativeType\":null,\"relationName\":\"CreatedSchedules\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"confirmedSchedules\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Schedule\",\"nativeType\":null,\"relationName\":\"ConfirmedSchedules\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mapVetoChoices\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"MapVetoStep\",\"nativeType\":null,\"relationName\":\"VetoStepChooser\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Team\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"logo\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"leaderId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"activePlayers\",\"kind\":\"scalar\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"inactivePlayers\",\"kind\":\"scalar\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"leader\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"TeamLeader\",\"relationFromFields\":[\"leaderId\"],\"relationToFields\":[\"steamId\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"members\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"UserTeam\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"invites\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"TeamInvite\",\"nativeType\":null,\"relationName\":\"TeamToTeamInvite\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchPlayers\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"MatchPlayer\",\"nativeType\":null,\"relationName\":\"MatchPlayerToTeam\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchesAsTeamA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Match\",\"nativeType\":null,\"relationName\":\"MatchTeamA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchesAsTeamB\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Match\",\"nativeType\":null,\"relationName\":\"MatchTeamB\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"schedulesAsTeamA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Schedule\",\"nativeType\":null,\"relationName\":\"ScheduleTeamA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"schedulesAsTeamB\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Schedule\",\"nativeType\":null,\"relationName\":\"ScheduleTeamB\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mapVetoSteps\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"MapVetoStep\",\"nativeType\":null,\"relationName\":\"VetoStepTeam\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"TeamInvite\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"steamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"UserInvitations\",\"relationFromFields\":[\"steamId\"],\"relationToFields\":[\"steamId\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"team\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Team\",\"nativeType\":null,\"relationName\":\"TeamToTeamInvite\",\"relationFromFields\":[\"teamId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Notification\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"steamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"title\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"message\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"read\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"persistent\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"actionType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"actionData\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"NotificationToUser\",\"relationFromFields\":[\"steamId\"],\"relationToFields\":[\"steamId\"],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Match\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"title\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":\"community\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"map\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"scoreA\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"scoreB\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamAId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Team\",\"nativeType\":null,\"relationName\":\"MatchTeamA\",\"relationFromFields\":[\"teamAId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamBId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamB\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Team\",\"nativeType\":null,\"relationName\":\"MatchTeamB\",\"relationFromFields\":[\"teamBId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamAUsers\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"TeamAPlayers\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamBUsers\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"TeamBPlayers\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"filePath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"demoFile\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DemoFile\",\"nativeType\":null,\"relationName\":\"DemoFileToMatch\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"demoDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"demoData\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"players\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"MatchPlayer\",\"nativeType\":null,\"relationName\":\"MatchToMatchPlayer\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rankUpdates\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"RankHistory\",\"nativeType\":null,\"relationName\":\"MatchRankHistory\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"roundCount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"roundHistory\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"winnerTeam\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bestOf\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":3,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mapVeto\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"MapVeto\",\"nativeType\":null,\"relationName\":\"MapVetoToMatch\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"schedule\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Schedule\",\"nativeType\":null,\"relationName\":\"MatchToSchedule\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"MatchPlayer\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"steamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"team\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Team\",\"nativeType\":null,\"relationName\":\"MatchPlayerToTeam\",\"relationFromFields\":[\"teamId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"match\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Match\",\"nativeType\":null,\"relationName\":\"MatchToMatchPlayer\",\"relationFromFields\":[\"matchId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"MatchPlayerToUser\",\"relationFromFields\":[\"steamId\"],\"relationToFields\":[\"steamId\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"stats\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"PlayerStats\",\"nativeType\":null,\"relationName\":\"MatchPlayerToPlayerStats\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"matchId\",\"steamId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"matchId\",\"steamId\"]}],\"isGenerated\":false},\"PlayerStats\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"steamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"kills\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"assists\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"deaths\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"headshotPct\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"totalDamage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Float\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"utilityDamage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"flashAssists\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mvps\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mvpEliminations\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mvpDefuse\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mvpPlant\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"knifeKills\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"zeusKills\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"wallbangKills\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"smokeKills\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"headshots\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"noScopes\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"blindKills\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"aim\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"oneK\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"twoK\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"threeK\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fourK\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fiveK\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rankOld\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rankNew\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rankChange\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"winCount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchPlayer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"MatchPlayer\",\"nativeType\":null,\"relationName\":\"MatchPlayerToPlayerStats\",\"relationFromFields\":[\"matchId\",\"steamId\"],\"relationToFields\":[\"matchId\",\"steamId\"],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"matchId\",\"steamId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"matchId\",\"steamId\"]}],\"isGenerated\":false},\"RankHistory\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"steamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rankOld\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rankNew\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"delta\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"winCount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"UserRankHistory\",\"relationFromFields\":[\"steamId\"],\"relationToFields\":[\"steamId\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"match\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Match\",\"nativeType\":null,\"relationName\":\"MatchRankHistory\",\"relationFromFields\":[\"matchId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Schedule\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"title\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"map\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"date\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"ScheduleStatus\",\"nativeType\":null,\"default\":\"PENDING\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamAId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Team\",\"nativeType\":null,\"relationName\":\"ScheduleTeamA\",\"relationFromFields\":[\"teamAId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamBId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamB\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Team\",\"nativeType\":null,\"relationName\":\"ScheduleTeamB\",\"relationFromFields\":[\"teamBId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdById\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"CreatedSchedules\",\"relationFromFields\":[\"createdById\"],\"relationToFields\":[\"steamId\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"confirmedById\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"confirmedBy\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"ConfirmedSchedules\",\"relationFromFields\":[\"confirmedById\"],\"relationToFields\":[\"steamId\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"linkedMatchId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"linkedMatch\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Match\",\"nativeType\":null,\"relationName\":\"MatchToSchedule\",\"relationFromFields\":[\"linkedMatchId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"DemoFile\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"steamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fileName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"filePath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"parsed\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"match\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Match\",\"nativeType\":null,\"relationName\":\"DemoFileToMatch\",\"relationFromFields\":[\"matchId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"DemoFileToUser\",\"relationFromFields\":[\"steamId\"],\"relationToFields\":[\"steamId\"],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ServerRequest\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"steamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"reservationId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tvPort\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"processed\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"failed\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"MatchRequests\",\"relationFromFields\":[\"steamId\"],\"relationToFields\":[\"steamId\"],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"steamId\",\"matchId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"steamId\",\"matchId\"]}],\"isGenerated\":false},\"MapVeto\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"match\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Match\",\"nativeType\":null,\"relationName\":\"MapVetoToMatch\",\"relationFromFields\":[\"matchId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bestOf\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":3,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mapPool\",\"kind\":\"scalar\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"currentIdx\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"locked\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"opensAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"steps\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"MapVetoStep\",\"nativeType\":null,\"relationName\":\"MapVetoToMapVetoStep\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"MapVetoStep\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"vetoId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"order\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"action\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"MapVetoAction\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"team\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Team\",\"nativeType\":null,\"relationName\":\"VetoStepTeam\",\"relationFromFields\":[\"teamId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"map\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"chosenAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"chosenBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"chooser\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"VetoStepChooser\",\"relationFromFields\":[\"chosenBy\"],\"relationToFields\":[\"steamId\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"veto\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"MapVeto\",\"nativeType\":null,\"relationName\":\"MapVetoToMapVetoStep\",\"relationFromFields\":[\"vetoId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"vetoId\",\"order\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"vetoId\",\"order\"]}],\"isGenerated\":false}},\"enums\":{\"ScheduleStatus\":{\"values\":[{\"name\":\"PENDING\",\"dbName\":null},{\"name\":\"CONFIRMED\",\"dbName\":null},{\"name\":\"DECLINED\",\"dbName\":null},{\"name\":\"CANCELLED\",\"dbName\":null},{\"name\":\"COMPLETED\",\"dbName\":null}],\"dbName\":null},\"MapVetoAction\":{\"values\":[{\"name\":\"BAN\",\"dbName\":null},{\"name\":\"PICK\",\"dbName\":null},{\"name\":\"DECIDER\",\"dbName\":null}],\"dbName\":null}},\"types\":{}}") defineDmmfProperty(exports.Prisma, config.runtimeDataModel) config.engineWasm = undefined config.compilerWasm = undefined diff --git a/src/generated/prisma/index-browser.js b/src/generated/prisma/index-browser.js index d8028aa..5a89a34 100644 --- a/src/generated/prisma/index-browser.js +++ b/src/generated/prisma/index-browser.js @@ -180,6 +180,8 @@ exports.Prisma.MatchScalarFieldEnum = { roundCount: 'roundCount', roundHistory: 'roundHistory', winnerTeam: 'winnerTeam', + bestOf: 'bestOf', + matchDate: 'matchDate', createdAt: 'createdAt', updatedAt: 'updatedAt' }; @@ -274,6 +276,29 @@ exports.Prisma.ServerRequestScalarFieldEnum = { createdAt: 'createdAt' }; +exports.Prisma.MapVetoScalarFieldEnum = { + id: 'id', + matchId: 'matchId', + bestOf: 'bestOf', + mapPool: 'mapPool', + currentIdx: 'currentIdx', + locked: 'locked', + opensAt: 'opensAt', + createdAt: 'createdAt', + updatedAt: 'updatedAt' +}; + +exports.Prisma.MapVetoStepScalarFieldEnum = { + id: 'id', + vetoId: 'vetoId', + order: 'order', + action: 'action', + teamId: 'teamId', + map: 'map', + chosenAt: 'chosenAt', + chosenBy: 'chosenBy' +}; + exports.Prisma.SortOrder = { asc: 'asc', desc: 'desc' @@ -307,6 +332,12 @@ exports.ScheduleStatus = exports.$Enums.ScheduleStatus = { COMPLETED: 'COMPLETED' }; +exports.MapVetoAction = exports.$Enums.MapVetoAction = { + BAN: 'BAN', + PICK: 'PICK', + DECIDER: 'DECIDER' +}; + exports.Prisma.ModelName = { User: 'User', Team: 'Team', @@ -318,7 +349,9 @@ exports.Prisma.ModelName = { RankHistory: 'RankHistory', Schedule: 'Schedule', DemoFile: 'DemoFile', - ServerRequest: 'ServerRequest' + ServerRequest: 'ServerRequest', + MapVeto: 'MapVeto', + MapVetoStep: 'MapVetoStep' }; /** diff --git a/src/generated/prisma/index.d.ts b/src/generated/prisma/index.d.ts index 2e17755..39cfb43 100644 --- a/src/generated/prisma/index.d.ts +++ b/src/generated/prisma/index.d.ts @@ -68,6 +68,16 @@ export type DemoFile = $Result.DefaultSelection * */ export type ServerRequest = $Result.DefaultSelection +/** + * Model MapVeto + * + */ +export type MapVeto = $Result.DefaultSelection +/** + * Model MapVetoStep + * + */ +export type MapVetoStep = $Result.DefaultSelection /** * Enums @@ -83,12 +93,25 @@ export namespace $Enums { export type ScheduleStatus = (typeof ScheduleStatus)[keyof typeof ScheduleStatus] + +export const MapVetoAction: { + BAN: 'BAN', + PICK: 'PICK', + DECIDER: 'DECIDER' +}; + +export type MapVetoAction = (typeof MapVetoAction)[keyof typeof MapVetoAction] + } export type ScheduleStatus = $Enums.ScheduleStatus export const ScheduleStatus: typeof $Enums.ScheduleStatus +export type MapVetoAction = $Enums.MapVetoAction + +export const MapVetoAction: typeof $Enums.MapVetoAction + /** * ## Prisma Client ʲˢ * @@ -323,6 +346,26 @@ export class PrismaClient< * ``` */ get serverRequest(): Prisma.ServerRequestDelegate; + + /** + * `prisma.mapVeto`: Exposes CRUD operations for the **MapVeto** model. + * Example usage: + * ```ts + * // Fetch zero or more MapVetos + * const mapVetos = await prisma.mapVeto.findMany() + * ``` + */ + get mapVeto(): Prisma.MapVetoDelegate; + + /** + * `prisma.mapVetoStep`: Exposes CRUD operations for the **MapVetoStep** model. + * Example usage: + * ```ts + * // Fetch zero or more MapVetoSteps + * const mapVetoSteps = await prisma.mapVetoStep.findMany() + * ``` + */ + get mapVetoStep(): Prisma.MapVetoStepDelegate; } export namespace Prisma { @@ -773,7 +816,9 @@ export namespace Prisma { RankHistory: 'RankHistory', Schedule: 'Schedule', DemoFile: 'DemoFile', - ServerRequest: 'ServerRequest' + ServerRequest: 'ServerRequest', + MapVeto: 'MapVeto', + MapVetoStep: 'MapVetoStep' }; export type ModelName = (typeof ModelName)[keyof typeof ModelName] @@ -792,7 +837,7 @@ export namespace Prisma { omit: GlobalOmitOptions } meta: { - modelProps: "user" | "team" | "teamInvite" | "notification" | "match" | "matchPlayer" | "playerStats" | "rankHistory" | "schedule" | "demoFile" | "serverRequest" + modelProps: "user" | "team" | "teamInvite" | "notification" | "match" | "matchPlayer" | "playerStats" | "rankHistory" | "schedule" | "demoFile" | "serverRequest" | "mapVeto" | "mapVetoStep" txIsolationLevel: Prisma.TransactionIsolationLevel } model: { @@ -1610,6 +1655,154 @@ export namespace Prisma { } } } + MapVeto: { + payload: Prisma.$MapVetoPayload + fields: Prisma.MapVetoFieldRefs + operations: { + findUnique: { + args: Prisma.MapVetoFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.MapVetoFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.MapVetoFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.MapVetoFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.MapVetoFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.MapVetoCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.MapVetoCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.MapVetoCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.MapVetoDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.MapVetoUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.MapVetoDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.MapVetoUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.MapVetoUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.MapVetoUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.MapVetoAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.MapVetoGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.MapVetoCountArgs + result: $Utils.Optional | number + } + } + } + MapVetoStep: { + payload: Prisma.$MapVetoStepPayload + fields: Prisma.MapVetoStepFieldRefs + operations: { + findUnique: { + args: Prisma.MapVetoStepFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.MapVetoStepFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.MapVetoStepFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.MapVetoStepFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.MapVetoStepFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.MapVetoStepCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.MapVetoStepCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.MapVetoStepCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.MapVetoStepDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.MapVetoStepUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.MapVetoStepDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.MapVetoStepUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.MapVetoStepUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.MapVetoStepUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.MapVetoStepAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.MapVetoStepGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.MapVetoStepCountArgs + result: $Utils.Optional | number + } + } + } } } & { other: { @@ -1713,6 +1906,8 @@ export namespace Prisma { schedule?: ScheduleOmit demoFile?: DemoFileOmit serverRequest?: ServerRequestOmit + mapVeto?: MapVetoOmit + mapVetoStep?: MapVetoStepOmit } /* Types for Logging */ @@ -1822,6 +2017,7 @@ export namespace Prisma { demoFiles: number createdSchedules: number confirmedSchedules: number + mapVetoChoices: number } export type UserCountOutputTypeSelect = { @@ -1835,6 +2031,7 @@ export namespace Prisma { demoFiles?: boolean | UserCountOutputTypeCountDemoFilesArgs createdSchedules?: boolean | UserCountOutputTypeCountCreatedSchedulesArgs confirmedSchedules?: boolean | UserCountOutputTypeCountConfirmedSchedulesArgs + mapVetoChoices?: boolean | UserCountOutputTypeCountMapVetoChoicesArgs } // Custom InputTypes @@ -1918,6 +2115,13 @@ export namespace Prisma { where?: ScheduleWhereInput } + /** + * UserCountOutputType without action + */ + export type UserCountOutputTypeCountMapVetoChoicesArgs = { + where?: MapVetoStepWhereInput + } + /** * Count Type TeamCountOutputType @@ -1931,6 +2135,7 @@ export namespace Prisma { matchesAsTeamB: number schedulesAsTeamA: number schedulesAsTeamB: number + mapVetoSteps: number } export type TeamCountOutputTypeSelect = { @@ -1941,6 +2146,7 @@ export namespace Prisma { matchesAsTeamB?: boolean | TeamCountOutputTypeCountMatchesAsTeamBArgs schedulesAsTeamA?: boolean | TeamCountOutputTypeCountSchedulesAsTeamAArgs schedulesAsTeamB?: boolean | TeamCountOutputTypeCountSchedulesAsTeamBArgs + mapVetoSteps?: boolean | TeamCountOutputTypeCountMapVetoStepsArgs } // Custom InputTypes @@ -2003,6 +2209,13 @@ export namespace Prisma { where?: ScheduleWhereInput } + /** + * TeamCountOutputType without action + */ + export type TeamCountOutputTypeCountMapVetoStepsArgs = { + where?: MapVetoStepWhereInput + } + /** * Count Type MatchCountOutputType @@ -2062,6 +2275,37 @@ export namespace Prisma { } + /** + * Count Type MapVetoCountOutputType + */ + + export type MapVetoCountOutputType = { + steps: number + } + + export type MapVetoCountOutputTypeSelect = { + steps?: boolean | MapVetoCountOutputTypeCountStepsArgs + } + + // Custom InputTypes + /** + * MapVetoCountOutputType without action + */ + export type MapVetoCountOutputTypeDefaultArgs = { + /** + * Select specific fields to fetch from the MapVetoCountOutputType + */ + select?: MapVetoCountOutputTypeSelect | null + } + + /** + * MapVetoCountOutputType without action + */ + export type MapVetoCountOutputTypeCountStepsArgs = { + where?: MapVetoStepWhereInput + } + + /** * Models */ @@ -2324,6 +2568,7 @@ export namespace Prisma { demoFiles?: boolean | User$demoFilesArgs createdSchedules?: boolean | User$createdSchedulesArgs confirmedSchedules?: boolean | User$confirmedSchedulesArgs + mapVetoChoices?: boolean | User$mapVetoChoicesArgs _count?: boolean | UserCountOutputTypeDefaultArgs }, ExtArgs["result"]["user"]> @@ -2385,6 +2630,7 @@ export namespace Prisma { demoFiles?: boolean | User$demoFilesArgs createdSchedules?: boolean | User$createdSchedulesArgs confirmedSchedules?: boolean | User$confirmedSchedulesArgs + mapVetoChoices?: boolean | User$mapVetoChoicesArgs _count?: boolean | UserCountOutputTypeDefaultArgs } export type UserIncludeCreateManyAndReturn = { @@ -2409,6 +2655,7 @@ export namespace Prisma { demoFiles: Prisma.$DemoFilePayload[] createdSchedules: Prisma.$SchedulePayload[] confirmedSchedules: Prisma.$SchedulePayload[] + mapVetoChoices: Prisma.$MapVetoStepPayload[] } scalars: $Extensions.GetPayloadResult<{ steamId: string @@ -2828,6 +3075,7 @@ export namespace Prisma { demoFiles = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> createdSchedules = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> confirmedSchedules = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + mapVetoChoices = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. @@ -3541,6 +3789,30 @@ export namespace Prisma { distinct?: ScheduleScalarFieldEnum | ScheduleScalarFieldEnum[] } + /** + * User.mapVetoChoices + */ + export type User$mapVetoChoicesArgs = { + /** + * Select specific fields to fetch from the MapVetoStep + */ + select?: MapVetoStepSelect | null + /** + * Omit specific fields from the MapVetoStep + */ + omit?: MapVetoStepOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MapVetoStepInclude | null + where?: MapVetoStepWhereInput + orderBy?: MapVetoStepOrderByWithRelationInput | MapVetoStepOrderByWithRelationInput[] + cursor?: MapVetoStepWhereUniqueInput + take?: number + skip?: number + distinct?: MapVetoStepScalarFieldEnum | MapVetoStepScalarFieldEnum[] + } + /** * User without action */ @@ -3740,6 +4012,7 @@ export namespace Prisma { matchesAsTeamB?: boolean | Team$matchesAsTeamBArgs schedulesAsTeamA?: boolean | Team$schedulesAsTeamAArgs schedulesAsTeamB?: boolean | Team$schedulesAsTeamBArgs + mapVetoSteps?: boolean | Team$mapVetoStepsArgs _count?: boolean | TeamCountOutputTypeDefaultArgs }, ExtArgs["result"]["team"]> @@ -3785,6 +4058,7 @@ export namespace Prisma { matchesAsTeamB?: boolean | Team$matchesAsTeamBArgs schedulesAsTeamA?: boolean | Team$schedulesAsTeamAArgs schedulesAsTeamB?: boolean | Team$schedulesAsTeamBArgs + mapVetoSteps?: boolean | Team$mapVetoStepsArgs _count?: boolean | TeamCountOutputTypeDefaultArgs } export type TeamIncludeCreateManyAndReturn = { @@ -3805,6 +4079,7 @@ export namespace Prisma { matchesAsTeamB: Prisma.$MatchPayload[] schedulesAsTeamA: Prisma.$SchedulePayload[] schedulesAsTeamB: Prisma.$SchedulePayload[] + mapVetoSteps: Prisma.$MapVetoStepPayload[] } scalars: $Extensions.GetPayloadResult<{ id: string @@ -4216,6 +4491,7 @@ export namespace Prisma { matchesAsTeamB = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> schedulesAsTeamA = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> schedulesAsTeamB = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + mapVetoSteps = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. @@ -4834,6 +5110,30 @@ export namespace Prisma { distinct?: ScheduleScalarFieldEnum | ScheduleScalarFieldEnum[] } + /** + * Team.mapVetoSteps + */ + export type Team$mapVetoStepsArgs = { + /** + * Select specific fields to fetch from the MapVetoStep + */ + select?: MapVetoStepSelect | null + /** + * Omit specific fields from the MapVetoStep + */ + omit?: MapVetoStepOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MapVetoStepInclude | null + where?: MapVetoStepWhereInput + orderBy?: MapVetoStepOrderByWithRelationInput | MapVetoStepOrderByWithRelationInput[] + cursor?: MapVetoStepWhereUniqueInput + take?: number + skip?: number + distinct?: MapVetoStepScalarFieldEnum | MapVetoStepScalarFieldEnum[] + } + /** * Team without action */ @@ -7045,12 +7345,14 @@ export namespace Prisma { scoreA: number | null scoreB: number | null roundCount: number | null + bestOf: number | null } export type MatchSumAggregateOutputType = { scoreA: number | null scoreB: number | null roundCount: number | null + bestOf: number | null } export type MatchMinAggregateOutputType = { @@ -7067,6 +7369,8 @@ export namespace Prisma { demoDate: Date | null roundCount: number | null winnerTeam: string | null + bestOf: number | null + matchDate: Date | null createdAt: Date | null updatedAt: Date | null } @@ -7085,6 +7389,8 @@ export namespace Prisma { demoDate: Date | null roundCount: number | null winnerTeam: string | null + bestOf: number | null + matchDate: Date | null createdAt: Date | null updatedAt: Date | null } @@ -7105,6 +7411,8 @@ export namespace Prisma { roundCount: number roundHistory: number winnerTeam: number + bestOf: number + matchDate: number createdAt: number updatedAt: number _all: number @@ -7115,12 +7423,14 @@ export namespace Prisma { scoreA?: true scoreB?: true roundCount?: true + bestOf?: true } export type MatchSumAggregateInputType = { scoreA?: true scoreB?: true roundCount?: true + bestOf?: true } export type MatchMinAggregateInputType = { @@ -7137,6 +7447,8 @@ export namespace Prisma { demoDate?: true roundCount?: true winnerTeam?: true + bestOf?: true + matchDate?: true createdAt?: true updatedAt?: true } @@ -7155,6 +7467,8 @@ export namespace Prisma { demoDate?: true roundCount?: true winnerTeam?: true + bestOf?: true + matchDate?: true createdAt?: true updatedAt?: true } @@ -7175,6 +7489,8 @@ export namespace Prisma { roundCount?: true roundHistory?: true winnerTeam?: true + bestOf?: true + matchDate?: true createdAt?: true updatedAt?: true _all?: true @@ -7282,6 +7598,8 @@ export namespace Prisma { roundCount: number | null roundHistory: JsonValue | null winnerTeam: string | null + bestOf: number + matchDate: Date | null createdAt: Date updatedAt: Date _count: MatchCountAggregateOutputType | null @@ -7321,6 +7639,8 @@ export namespace Prisma { roundCount?: boolean roundHistory?: boolean winnerTeam?: boolean + bestOf?: boolean + matchDate?: boolean createdAt?: boolean updatedAt?: boolean teamA?: boolean | Match$teamAArgs @@ -7330,6 +7650,7 @@ export namespace Prisma { demoFile?: boolean | Match$demoFileArgs players?: boolean | Match$playersArgs rankUpdates?: boolean | Match$rankUpdatesArgs + mapVeto?: boolean | Match$mapVetoArgs schedule?: boolean | Match$scheduleArgs _count?: boolean | MatchCountOutputTypeDefaultArgs }, ExtArgs["result"]["match"]> @@ -7350,6 +7671,8 @@ export namespace Prisma { roundCount?: boolean roundHistory?: boolean winnerTeam?: boolean + bestOf?: boolean + matchDate?: boolean createdAt?: boolean updatedAt?: boolean teamA?: boolean | Match$teamAArgs @@ -7372,6 +7695,8 @@ export namespace Prisma { roundCount?: boolean roundHistory?: boolean winnerTeam?: boolean + bestOf?: boolean + matchDate?: boolean createdAt?: boolean updatedAt?: boolean teamA?: boolean | Match$teamAArgs @@ -7394,11 +7719,13 @@ export namespace Prisma { roundCount?: boolean roundHistory?: boolean winnerTeam?: boolean + bestOf?: boolean + matchDate?: boolean createdAt?: boolean updatedAt?: boolean } - export type MatchOmit = $Extensions.GetOmit<"id" | "title" | "matchType" | "map" | "description" | "scoreA" | "scoreB" | "teamAId" | "teamBId" | "filePath" | "demoDate" | "demoData" | "roundCount" | "roundHistory" | "winnerTeam" | "createdAt" | "updatedAt", ExtArgs["result"]["match"]> + export type MatchOmit = $Extensions.GetOmit<"id" | "title" | "matchType" | "map" | "description" | "scoreA" | "scoreB" | "teamAId" | "teamBId" | "filePath" | "demoDate" | "demoData" | "roundCount" | "roundHistory" | "winnerTeam" | "bestOf" | "matchDate" | "createdAt" | "updatedAt", ExtArgs["result"]["match"]> export type MatchInclude = { teamA?: boolean | Match$teamAArgs teamB?: boolean | Match$teamBArgs @@ -7407,6 +7734,7 @@ export namespace Prisma { demoFile?: boolean | Match$demoFileArgs players?: boolean | Match$playersArgs rankUpdates?: boolean | Match$rankUpdatesArgs + mapVeto?: boolean | Match$mapVetoArgs schedule?: boolean | Match$scheduleArgs _count?: boolean | MatchCountOutputTypeDefaultArgs } @@ -7429,6 +7757,7 @@ export namespace Prisma { demoFile: Prisma.$DemoFilePayload | null players: Prisma.$MatchPlayerPayload[] rankUpdates: Prisma.$RankHistoryPayload[] + mapVeto: Prisma.$MapVetoPayload | null schedule: Prisma.$SchedulePayload | null } scalars: $Extensions.GetPayloadResult<{ @@ -7447,6 +7776,8 @@ export namespace Prisma { roundCount: number | null roundHistory: Prisma.JsonValue | null winnerTeam: string | null + bestOf: number + matchDate: Date | null createdAt: Date updatedAt: Date }, ExtArgs["result"]["match"]> @@ -7850,6 +8181,7 @@ export namespace Prisma { demoFile = {}>(args?: Subset>): Prisma__DemoFileClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> players = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> rankUpdates = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + mapVeto = {}>(args?: Subset>): Prisma__MapVetoClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> schedule = {}>(args?: Subset>): Prisma__ScheduleClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Attaches callbacks for the resolution and/or rejection of the Promise. @@ -7895,6 +8227,8 @@ export namespace Prisma { readonly roundCount: FieldRef<"Match", 'Int'> readonly roundHistory: FieldRef<"Match", 'Json'> readonly winnerTeam: FieldRef<"Match", 'String'> + readonly bestOf: FieldRef<"Match", 'Int'> + readonly matchDate: FieldRef<"Match", 'DateTime'> readonly createdAt: FieldRef<"Match", 'DateTime'> readonly updatedAt: FieldRef<"Match", 'DateTime'> } @@ -8445,6 +8779,25 @@ export namespace Prisma { distinct?: RankHistoryScalarFieldEnum | RankHistoryScalarFieldEnum[] } + /** + * Match.mapVeto + */ + export type Match$mapVetoArgs = { + /** + * Select specific fields to fetch from the MapVeto + */ + select?: MapVetoSelect | null + /** + * Omit specific fields from the MapVeto + */ + omit?: MapVetoOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MapVetoInclude | null + where?: MapVetoWhereInput + } + /** * Match.schedule */ @@ -15804,6 +16157,2365 @@ export namespace Prisma { } + /** + * Model MapVeto + */ + + export type AggregateMapVeto = { + _count: MapVetoCountAggregateOutputType | null + _avg: MapVetoAvgAggregateOutputType | null + _sum: MapVetoSumAggregateOutputType | null + _min: MapVetoMinAggregateOutputType | null + _max: MapVetoMaxAggregateOutputType | null + } + + export type MapVetoAvgAggregateOutputType = { + bestOf: number | null + currentIdx: number | null + } + + export type MapVetoSumAggregateOutputType = { + bestOf: number | null + currentIdx: number | null + } + + export type MapVetoMinAggregateOutputType = { + id: string | null + matchId: string | null + bestOf: number | null + currentIdx: number | null + locked: boolean | null + opensAt: Date | null + createdAt: Date | null + updatedAt: Date | null + } + + export type MapVetoMaxAggregateOutputType = { + id: string | null + matchId: string | null + bestOf: number | null + currentIdx: number | null + locked: boolean | null + opensAt: Date | null + createdAt: Date | null + updatedAt: Date | null + } + + export type MapVetoCountAggregateOutputType = { + id: number + matchId: number + bestOf: number + mapPool: number + currentIdx: number + locked: number + opensAt: number + createdAt: number + updatedAt: number + _all: number + } + + + export type MapVetoAvgAggregateInputType = { + bestOf?: true + currentIdx?: true + } + + export type MapVetoSumAggregateInputType = { + bestOf?: true + currentIdx?: true + } + + export type MapVetoMinAggregateInputType = { + id?: true + matchId?: true + bestOf?: true + currentIdx?: true + locked?: true + opensAt?: true + createdAt?: true + updatedAt?: true + } + + export type MapVetoMaxAggregateInputType = { + id?: true + matchId?: true + bestOf?: true + currentIdx?: true + locked?: true + opensAt?: true + createdAt?: true + updatedAt?: true + } + + export type MapVetoCountAggregateInputType = { + id?: true + matchId?: true + bestOf?: true + mapPool?: true + currentIdx?: true + locked?: true + opensAt?: true + createdAt?: true + updatedAt?: true + _all?: true + } + + export type MapVetoAggregateArgs = { + /** + * Filter which MapVeto to aggregate. + */ + where?: MapVetoWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of MapVetos to fetch. + */ + orderBy?: MapVetoOrderByWithRelationInput | MapVetoOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: MapVetoWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` MapVetos from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` MapVetos. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned MapVetos + **/ + _count?: true | MapVetoCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: MapVetoAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: MapVetoSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: MapVetoMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: MapVetoMaxAggregateInputType + } + + export type GetMapVetoAggregateType = { + [P in keyof T & keyof AggregateMapVeto]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type MapVetoGroupByArgs = { + where?: MapVetoWhereInput + orderBy?: MapVetoOrderByWithAggregationInput | MapVetoOrderByWithAggregationInput[] + by: MapVetoScalarFieldEnum[] | MapVetoScalarFieldEnum + having?: MapVetoScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: MapVetoCountAggregateInputType | true + _avg?: MapVetoAvgAggregateInputType + _sum?: MapVetoSumAggregateInputType + _min?: MapVetoMinAggregateInputType + _max?: MapVetoMaxAggregateInputType + } + + export type MapVetoGroupByOutputType = { + id: string + matchId: string + bestOf: number + mapPool: string[] + currentIdx: number + locked: boolean + opensAt: Date | null + createdAt: Date + updatedAt: Date + _count: MapVetoCountAggregateOutputType | null + _avg: MapVetoAvgAggregateOutputType | null + _sum: MapVetoSumAggregateOutputType | null + _min: MapVetoMinAggregateOutputType | null + _max: MapVetoMaxAggregateOutputType | null + } + + type GetMapVetoGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof MapVetoGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type MapVetoSelect = $Extensions.GetSelect<{ + id?: boolean + matchId?: boolean + bestOf?: boolean + mapPool?: boolean + currentIdx?: boolean + locked?: boolean + opensAt?: boolean + createdAt?: boolean + updatedAt?: boolean + match?: boolean | MatchDefaultArgs + steps?: boolean | MapVeto$stepsArgs + _count?: boolean | MapVetoCountOutputTypeDefaultArgs + }, ExtArgs["result"]["mapVeto"]> + + export type MapVetoSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + matchId?: boolean + bestOf?: boolean + mapPool?: boolean + currentIdx?: boolean + locked?: boolean + opensAt?: boolean + createdAt?: boolean + updatedAt?: boolean + match?: boolean | MatchDefaultArgs + }, ExtArgs["result"]["mapVeto"]> + + export type MapVetoSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + matchId?: boolean + bestOf?: boolean + mapPool?: boolean + currentIdx?: boolean + locked?: boolean + opensAt?: boolean + createdAt?: boolean + updatedAt?: boolean + match?: boolean | MatchDefaultArgs + }, ExtArgs["result"]["mapVeto"]> + + export type MapVetoSelectScalar = { + id?: boolean + matchId?: boolean + bestOf?: boolean + mapPool?: boolean + currentIdx?: boolean + locked?: boolean + opensAt?: boolean + createdAt?: boolean + updatedAt?: boolean + } + + export type MapVetoOmit = $Extensions.GetOmit<"id" | "matchId" | "bestOf" | "mapPool" | "currentIdx" | "locked" | "opensAt" | "createdAt" | "updatedAt", ExtArgs["result"]["mapVeto"]> + export type MapVetoInclude = { + match?: boolean | MatchDefaultArgs + steps?: boolean | MapVeto$stepsArgs + _count?: boolean | MapVetoCountOutputTypeDefaultArgs + } + export type MapVetoIncludeCreateManyAndReturn = { + match?: boolean | MatchDefaultArgs + } + export type MapVetoIncludeUpdateManyAndReturn = { + match?: boolean | MatchDefaultArgs + } + + export type $MapVetoPayload = { + name: "MapVeto" + objects: { + match: Prisma.$MatchPayload + steps: Prisma.$MapVetoStepPayload[] + } + scalars: $Extensions.GetPayloadResult<{ + id: string + matchId: string + bestOf: number + mapPool: string[] + currentIdx: number + locked: boolean + opensAt: Date | null + createdAt: Date + updatedAt: Date + }, ExtArgs["result"]["mapVeto"]> + composites: {} + } + + type MapVetoGetPayload = $Result.GetResult + + type MapVetoCountArgs = + Omit & { + select?: MapVetoCountAggregateInputType | true + } + + export interface MapVetoDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['MapVeto'], meta: { name: 'MapVeto' } } + /** + * Find zero or one MapVeto that matches the filter. + * @param {MapVetoFindUniqueArgs} args - Arguments to find a MapVeto + * @example + * // Get one MapVeto + * const mapVeto = await prisma.mapVeto.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__MapVetoClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one MapVeto that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {MapVetoFindUniqueOrThrowArgs} args - Arguments to find a MapVeto + * @example + * // Get one MapVeto + * const mapVeto = await prisma.mapVeto.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__MapVetoClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first MapVeto that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MapVetoFindFirstArgs} args - Arguments to find a MapVeto + * @example + * // Get one MapVeto + * const mapVeto = await prisma.mapVeto.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__MapVetoClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first MapVeto that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MapVetoFindFirstOrThrowArgs} args - Arguments to find a MapVeto + * @example + * // Get one MapVeto + * const mapVeto = await prisma.mapVeto.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__MapVetoClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more MapVetos that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MapVetoFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all MapVetos + * const mapVetos = await prisma.mapVeto.findMany() + * + * // Get first 10 MapVetos + * const mapVetos = await prisma.mapVeto.findMany({ take: 10 }) + * + * // Only select the `id` + * const mapVetoWithIdOnly = await prisma.mapVeto.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a MapVeto. + * @param {MapVetoCreateArgs} args - Arguments to create a MapVeto. + * @example + * // Create one MapVeto + * const MapVeto = await prisma.mapVeto.create({ + * data: { + * // ... data to create a MapVeto + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__MapVetoClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many MapVetos. + * @param {MapVetoCreateManyArgs} args - Arguments to create many MapVetos. + * @example + * // Create many MapVetos + * const mapVeto = await prisma.mapVeto.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many MapVetos and returns the data saved in the database. + * @param {MapVetoCreateManyAndReturnArgs} args - Arguments to create many MapVetos. + * @example + * // Create many MapVetos + * const mapVeto = await prisma.mapVeto.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many MapVetos and only return the `id` + * const mapVetoWithIdOnly = await prisma.mapVeto.createManyAndReturn({ + * select: { id: true }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a MapVeto. + * @param {MapVetoDeleteArgs} args - Arguments to delete one MapVeto. + * @example + * // Delete one MapVeto + * const MapVeto = await prisma.mapVeto.delete({ + * where: { + * // ... filter to delete one MapVeto + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__MapVetoClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one MapVeto. + * @param {MapVetoUpdateArgs} args - Arguments to update one MapVeto. + * @example + * // Update one MapVeto + * const mapVeto = await prisma.mapVeto.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__MapVetoClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more MapVetos. + * @param {MapVetoDeleteManyArgs} args - Arguments to filter MapVetos to delete. + * @example + * // Delete a few MapVetos + * const { count } = await prisma.mapVeto.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more MapVetos. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MapVetoUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many MapVetos + * const mapVeto = await prisma.mapVeto.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more MapVetos and returns the data updated in the database. + * @param {MapVetoUpdateManyAndReturnArgs} args - Arguments to update many MapVetos. + * @example + * // Update many MapVetos + * const mapVeto = await prisma.mapVeto.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more MapVetos and only return the `id` + * const mapVetoWithIdOnly = await prisma.mapVeto.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one MapVeto. + * @param {MapVetoUpsertArgs} args - Arguments to update or create a MapVeto. + * @example + * // Update or create a MapVeto + * const mapVeto = await prisma.mapVeto.upsert({ + * create: { + * // ... data to create a MapVeto + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the MapVeto we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__MapVetoClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of MapVetos. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MapVetoCountArgs} args - Arguments to filter MapVetos to count. + * @example + * // Count the number of MapVetos + * const count = await prisma.mapVeto.count({ + * where: { + * // ... the filter for the MapVetos we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a MapVeto. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MapVetoAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Subset): Prisma.PrismaPromise> + + /** + * Group by MapVeto. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MapVetoGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends MapVetoGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: MapVetoGroupByArgs['orderBy'] } + : { orderBy?: MapVetoGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetMapVetoGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the MapVeto model + */ + readonly fields: MapVetoFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for MapVeto. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ + export interface Prisma__MapVetoClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + match = {}>(args?: Subset>): Prisma__MatchClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + steps = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise + } + + + + + /** + * Fields of the MapVeto model + */ + interface MapVetoFieldRefs { + readonly id: FieldRef<"MapVeto", 'String'> + readonly matchId: FieldRef<"MapVeto", 'String'> + readonly bestOf: FieldRef<"MapVeto", 'Int'> + readonly mapPool: FieldRef<"MapVeto", 'String[]'> + readonly currentIdx: FieldRef<"MapVeto", 'Int'> + readonly locked: FieldRef<"MapVeto", 'Boolean'> + readonly opensAt: FieldRef<"MapVeto", 'DateTime'> + readonly createdAt: FieldRef<"MapVeto", 'DateTime'> + readonly updatedAt: FieldRef<"MapVeto", 'DateTime'> + } + + + // Custom InputTypes + /** + * MapVeto findUnique + */ + export type MapVetoFindUniqueArgs = { + /** + * Select specific fields to fetch from the MapVeto + */ + select?: MapVetoSelect | null + /** + * Omit specific fields from the MapVeto + */ + omit?: MapVetoOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MapVetoInclude | null + /** + * Filter, which MapVeto to fetch. + */ + where: MapVetoWhereUniqueInput + } + + /** + * MapVeto findUniqueOrThrow + */ + export type MapVetoFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the MapVeto + */ + select?: MapVetoSelect | null + /** + * Omit specific fields from the MapVeto + */ + omit?: MapVetoOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MapVetoInclude | null + /** + * Filter, which MapVeto to fetch. + */ + where: MapVetoWhereUniqueInput + } + + /** + * MapVeto findFirst + */ + export type MapVetoFindFirstArgs = { + /** + * Select specific fields to fetch from the MapVeto + */ + select?: MapVetoSelect | null + /** + * Omit specific fields from the MapVeto + */ + omit?: MapVetoOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MapVetoInclude | null + /** + * Filter, which MapVeto to fetch. + */ + where?: MapVetoWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of MapVetos to fetch. + */ + orderBy?: MapVetoOrderByWithRelationInput | MapVetoOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for MapVetos. + */ + cursor?: MapVetoWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` MapVetos from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` MapVetos. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of MapVetos. + */ + distinct?: MapVetoScalarFieldEnum | MapVetoScalarFieldEnum[] + } + + /** + * MapVeto findFirstOrThrow + */ + export type MapVetoFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the MapVeto + */ + select?: MapVetoSelect | null + /** + * Omit specific fields from the MapVeto + */ + omit?: MapVetoOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MapVetoInclude | null + /** + * Filter, which MapVeto to fetch. + */ + where?: MapVetoWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of MapVetos to fetch. + */ + orderBy?: MapVetoOrderByWithRelationInput | MapVetoOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for MapVetos. + */ + cursor?: MapVetoWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` MapVetos from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` MapVetos. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of MapVetos. + */ + distinct?: MapVetoScalarFieldEnum | MapVetoScalarFieldEnum[] + } + + /** + * MapVeto findMany + */ + export type MapVetoFindManyArgs = { + /** + * Select specific fields to fetch from the MapVeto + */ + select?: MapVetoSelect | null + /** + * Omit specific fields from the MapVeto + */ + omit?: MapVetoOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MapVetoInclude | null + /** + * Filter, which MapVetos to fetch. + */ + where?: MapVetoWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of MapVetos to fetch. + */ + orderBy?: MapVetoOrderByWithRelationInput | MapVetoOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing MapVetos. + */ + cursor?: MapVetoWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` MapVetos from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` MapVetos. + */ + skip?: number + distinct?: MapVetoScalarFieldEnum | MapVetoScalarFieldEnum[] + } + + /** + * MapVeto create + */ + export type MapVetoCreateArgs = { + /** + * Select specific fields to fetch from the MapVeto + */ + select?: MapVetoSelect | null + /** + * Omit specific fields from the MapVeto + */ + omit?: MapVetoOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MapVetoInclude | null + /** + * The data needed to create a MapVeto. + */ + data: XOR + } + + /** + * MapVeto createMany + */ + export type MapVetoCreateManyArgs = { + /** + * The data used to create many MapVetos. + */ + data: MapVetoCreateManyInput | MapVetoCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * MapVeto createManyAndReturn + */ + export type MapVetoCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the MapVeto + */ + select?: MapVetoSelectCreateManyAndReturn | null + /** + * Omit specific fields from the MapVeto + */ + omit?: MapVetoOmit | null + /** + * The data used to create many MapVetos. + */ + data: MapVetoCreateManyInput | MapVetoCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: MapVetoIncludeCreateManyAndReturn | null + } + + /** + * MapVeto update + */ + export type MapVetoUpdateArgs = { + /** + * Select specific fields to fetch from the MapVeto + */ + select?: MapVetoSelect | null + /** + * Omit specific fields from the MapVeto + */ + omit?: MapVetoOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MapVetoInclude | null + /** + * The data needed to update a MapVeto. + */ + data: XOR + /** + * Choose, which MapVeto to update. + */ + where: MapVetoWhereUniqueInput + } + + /** + * MapVeto updateMany + */ + export type MapVetoUpdateManyArgs = { + /** + * The data used to update MapVetos. + */ + data: XOR + /** + * Filter which MapVetos to update + */ + where?: MapVetoWhereInput + /** + * Limit how many MapVetos to update. + */ + limit?: number + } + + /** + * MapVeto updateManyAndReturn + */ + export type MapVetoUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the MapVeto + */ + select?: MapVetoSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the MapVeto + */ + omit?: MapVetoOmit | null + /** + * The data used to update MapVetos. + */ + data: XOR + /** + * Filter which MapVetos to update + */ + where?: MapVetoWhereInput + /** + * Limit how many MapVetos to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: MapVetoIncludeUpdateManyAndReturn | null + } + + /** + * MapVeto upsert + */ + export type MapVetoUpsertArgs = { + /** + * Select specific fields to fetch from the MapVeto + */ + select?: MapVetoSelect | null + /** + * Omit specific fields from the MapVeto + */ + omit?: MapVetoOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MapVetoInclude | null + /** + * The filter to search for the MapVeto to update in case it exists. + */ + where: MapVetoWhereUniqueInput + /** + * In case the MapVeto found by the `where` argument doesn't exist, create a new MapVeto with this data. + */ + create: XOR + /** + * In case the MapVeto was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * MapVeto delete + */ + export type MapVetoDeleteArgs = { + /** + * Select specific fields to fetch from the MapVeto + */ + select?: MapVetoSelect | null + /** + * Omit specific fields from the MapVeto + */ + omit?: MapVetoOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MapVetoInclude | null + /** + * Filter which MapVeto to delete. + */ + where: MapVetoWhereUniqueInput + } + + /** + * MapVeto deleteMany + */ + export type MapVetoDeleteManyArgs = { + /** + * Filter which MapVetos to delete + */ + where?: MapVetoWhereInput + /** + * Limit how many MapVetos to delete. + */ + limit?: number + } + + /** + * MapVeto.steps + */ + export type MapVeto$stepsArgs = { + /** + * Select specific fields to fetch from the MapVetoStep + */ + select?: MapVetoStepSelect | null + /** + * Omit specific fields from the MapVetoStep + */ + omit?: MapVetoStepOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MapVetoStepInclude | null + where?: MapVetoStepWhereInput + orderBy?: MapVetoStepOrderByWithRelationInput | MapVetoStepOrderByWithRelationInput[] + cursor?: MapVetoStepWhereUniqueInput + take?: number + skip?: number + distinct?: MapVetoStepScalarFieldEnum | MapVetoStepScalarFieldEnum[] + } + + /** + * MapVeto without action + */ + export type MapVetoDefaultArgs = { + /** + * Select specific fields to fetch from the MapVeto + */ + select?: MapVetoSelect | null + /** + * Omit specific fields from the MapVeto + */ + omit?: MapVetoOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MapVetoInclude | null + } + + + /** + * Model MapVetoStep + */ + + export type AggregateMapVetoStep = { + _count: MapVetoStepCountAggregateOutputType | null + _avg: MapVetoStepAvgAggregateOutputType | null + _sum: MapVetoStepSumAggregateOutputType | null + _min: MapVetoStepMinAggregateOutputType | null + _max: MapVetoStepMaxAggregateOutputType | null + } + + export type MapVetoStepAvgAggregateOutputType = { + order: number | null + } + + export type MapVetoStepSumAggregateOutputType = { + order: number | null + } + + export type MapVetoStepMinAggregateOutputType = { + id: string | null + vetoId: string | null + order: number | null + action: $Enums.MapVetoAction | null + teamId: string | null + map: string | null + chosenAt: Date | null + chosenBy: string | null + } + + export type MapVetoStepMaxAggregateOutputType = { + id: string | null + vetoId: string | null + order: number | null + action: $Enums.MapVetoAction | null + teamId: string | null + map: string | null + chosenAt: Date | null + chosenBy: string | null + } + + export type MapVetoStepCountAggregateOutputType = { + id: number + vetoId: number + order: number + action: number + teamId: number + map: number + chosenAt: number + chosenBy: number + _all: number + } + + + export type MapVetoStepAvgAggregateInputType = { + order?: true + } + + export type MapVetoStepSumAggregateInputType = { + order?: true + } + + export type MapVetoStepMinAggregateInputType = { + id?: true + vetoId?: true + order?: true + action?: true + teamId?: true + map?: true + chosenAt?: true + chosenBy?: true + } + + export type MapVetoStepMaxAggregateInputType = { + id?: true + vetoId?: true + order?: true + action?: true + teamId?: true + map?: true + chosenAt?: true + chosenBy?: true + } + + export type MapVetoStepCountAggregateInputType = { + id?: true + vetoId?: true + order?: true + action?: true + teamId?: true + map?: true + chosenAt?: true + chosenBy?: true + _all?: true + } + + export type MapVetoStepAggregateArgs = { + /** + * Filter which MapVetoStep to aggregate. + */ + where?: MapVetoStepWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of MapVetoSteps to fetch. + */ + orderBy?: MapVetoStepOrderByWithRelationInput | MapVetoStepOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: MapVetoStepWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` MapVetoSteps from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` MapVetoSteps. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned MapVetoSteps + **/ + _count?: true | MapVetoStepCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: MapVetoStepAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: MapVetoStepSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: MapVetoStepMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: MapVetoStepMaxAggregateInputType + } + + export type GetMapVetoStepAggregateType = { + [P in keyof T & keyof AggregateMapVetoStep]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type MapVetoStepGroupByArgs = { + where?: MapVetoStepWhereInput + orderBy?: MapVetoStepOrderByWithAggregationInput | MapVetoStepOrderByWithAggregationInput[] + by: MapVetoStepScalarFieldEnum[] | MapVetoStepScalarFieldEnum + having?: MapVetoStepScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: MapVetoStepCountAggregateInputType | true + _avg?: MapVetoStepAvgAggregateInputType + _sum?: MapVetoStepSumAggregateInputType + _min?: MapVetoStepMinAggregateInputType + _max?: MapVetoStepMaxAggregateInputType + } + + export type MapVetoStepGroupByOutputType = { + id: string + vetoId: string + order: number + action: $Enums.MapVetoAction + teamId: string | null + map: string | null + chosenAt: Date | null + chosenBy: string | null + _count: MapVetoStepCountAggregateOutputType | null + _avg: MapVetoStepAvgAggregateOutputType | null + _sum: MapVetoStepSumAggregateOutputType | null + _min: MapVetoStepMinAggregateOutputType | null + _max: MapVetoStepMaxAggregateOutputType | null + } + + type GetMapVetoStepGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof MapVetoStepGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type MapVetoStepSelect = $Extensions.GetSelect<{ + id?: boolean + vetoId?: boolean + order?: boolean + action?: boolean + teamId?: boolean + map?: boolean + chosenAt?: boolean + chosenBy?: boolean + team?: boolean | MapVetoStep$teamArgs + chooser?: boolean | MapVetoStep$chooserArgs + veto?: boolean | MapVetoDefaultArgs + }, ExtArgs["result"]["mapVetoStep"]> + + export type MapVetoStepSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + vetoId?: boolean + order?: boolean + action?: boolean + teamId?: boolean + map?: boolean + chosenAt?: boolean + chosenBy?: boolean + team?: boolean | MapVetoStep$teamArgs + chooser?: boolean | MapVetoStep$chooserArgs + veto?: boolean | MapVetoDefaultArgs + }, ExtArgs["result"]["mapVetoStep"]> + + export type MapVetoStepSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + vetoId?: boolean + order?: boolean + action?: boolean + teamId?: boolean + map?: boolean + chosenAt?: boolean + chosenBy?: boolean + team?: boolean | MapVetoStep$teamArgs + chooser?: boolean | MapVetoStep$chooserArgs + veto?: boolean | MapVetoDefaultArgs + }, ExtArgs["result"]["mapVetoStep"]> + + export type MapVetoStepSelectScalar = { + id?: boolean + vetoId?: boolean + order?: boolean + action?: boolean + teamId?: boolean + map?: boolean + chosenAt?: boolean + chosenBy?: boolean + } + + export type MapVetoStepOmit = $Extensions.GetOmit<"id" | "vetoId" | "order" | "action" | "teamId" | "map" | "chosenAt" | "chosenBy", ExtArgs["result"]["mapVetoStep"]> + export type MapVetoStepInclude = { + team?: boolean | MapVetoStep$teamArgs + chooser?: boolean | MapVetoStep$chooserArgs + veto?: boolean | MapVetoDefaultArgs + } + export type MapVetoStepIncludeCreateManyAndReturn = { + team?: boolean | MapVetoStep$teamArgs + chooser?: boolean | MapVetoStep$chooserArgs + veto?: boolean | MapVetoDefaultArgs + } + export type MapVetoStepIncludeUpdateManyAndReturn = { + team?: boolean | MapVetoStep$teamArgs + chooser?: boolean | MapVetoStep$chooserArgs + veto?: boolean | MapVetoDefaultArgs + } + + export type $MapVetoStepPayload = { + name: "MapVetoStep" + objects: { + team: Prisma.$TeamPayload | null + chooser: Prisma.$UserPayload | null + veto: Prisma.$MapVetoPayload + } + scalars: $Extensions.GetPayloadResult<{ + id: string + vetoId: string + order: number + action: $Enums.MapVetoAction + teamId: string | null + map: string | null + chosenAt: Date | null + chosenBy: string | null + }, ExtArgs["result"]["mapVetoStep"]> + composites: {} + } + + type MapVetoStepGetPayload = $Result.GetResult + + type MapVetoStepCountArgs = + Omit & { + select?: MapVetoStepCountAggregateInputType | true + } + + export interface MapVetoStepDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['MapVetoStep'], meta: { name: 'MapVetoStep' } } + /** + * Find zero or one MapVetoStep that matches the filter. + * @param {MapVetoStepFindUniqueArgs} args - Arguments to find a MapVetoStep + * @example + * // Get one MapVetoStep + * const mapVetoStep = await prisma.mapVetoStep.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__MapVetoStepClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one MapVetoStep that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {MapVetoStepFindUniqueOrThrowArgs} args - Arguments to find a MapVetoStep + * @example + * // Get one MapVetoStep + * const mapVetoStep = await prisma.mapVetoStep.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__MapVetoStepClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first MapVetoStep that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MapVetoStepFindFirstArgs} args - Arguments to find a MapVetoStep + * @example + * // Get one MapVetoStep + * const mapVetoStep = await prisma.mapVetoStep.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__MapVetoStepClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first MapVetoStep that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MapVetoStepFindFirstOrThrowArgs} args - Arguments to find a MapVetoStep + * @example + * // Get one MapVetoStep + * const mapVetoStep = await prisma.mapVetoStep.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__MapVetoStepClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more MapVetoSteps that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MapVetoStepFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all MapVetoSteps + * const mapVetoSteps = await prisma.mapVetoStep.findMany() + * + * // Get first 10 MapVetoSteps + * const mapVetoSteps = await prisma.mapVetoStep.findMany({ take: 10 }) + * + * // Only select the `id` + * const mapVetoStepWithIdOnly = await prisma.mapVetoStep.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a MapVetoStep. + * @param {MapVetoStepCreateArgs} args - Arguments to create a MapVetoStep. + * @example + * // Create one MapVetoStep + * const MapVetoStep = await prisma.mapVetoStep.create({ + * data: { + * // ... data to create a MapVetoStep + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__MapVetoStepClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many MapVetoSteps. + * @param {MapVetoStepCreateManyArgs} args - Arguments to create many MapVetoSteps. + * @example + * // Create many MapVetoSteps + * const mapVetoStep = await prisma.mapVetoStep.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many MapVetoSteps and returns the data saved in the database. + * @param {MapVetoStepCreateManyAndReturnArgs} args - Arguments to create many MapVetoSteps. + * @example + * // Create many MapVetoSteps + * const mapVetoStep = await prisma.mapVetoStep.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many MapVetoSteps and only return the `id` + * const mapVetoStepWithIdOnly = await prisma.mapVetoStep.createManyAndReturn({ + * select: { id: true }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a MapVetoStep. + * @param {MapVetoStepDeleteArgs} args - Arguments to delete one MapVetoStep. + * @example + * // Delete one MapVetoStep + * const MapVetoStep = await prisma.mapVetoStep.delete({ + * where: { + * // ... filter to delete one MapVetoStep + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__MapVetoStepClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one MapVetoStep. + * @param {MapVetoStepUpdateArgs} args - Arguments to update one MapVetoStep. + * @example + * // Update one MapVetoStep + * const mapVetoStep = await prisma.mapVetoStep.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__MapVetoStepClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more MapVetoSteps. + * @param {MapVetoStepDeleteManyArgs} args - Arguments to filter MapVetoSteps to delete. + * @example + * // Delete a few MapVetoSteps + * const { count } = await prisma.mapVetoStep.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more MapVetoSteps. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MapVetoStepUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many MapVetoSteps + * const mapVetoStep = await prisma.mapVetoStep.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more MapVetoSteps and returns the data updated in the database. + * @param {MapVetoStepUpdateManyAndReturnArgs} args - Arguments to update many MapVetoSteps. + * @example + * // Update many MapVetoSteps + * const mapVetoStep = await prisma.mapVetoStep.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more MapVetoSteps and only return the `id` + * const mapVetoStepWithIdOnly = await prisma.mapVetoStep.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one MapVetoStep. + * @param {MapVetoStepUpsertArgs} args - Arguments to update or create a MapVetoStep. + * @example + * // Update or create a MapVetoStep + * const mapVetoStep = await prisma.mapVetoStep.upsert({ + * create: { + * // ... data to create a MapVetoStep + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the MapVetoStep we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__MapVetoStepClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of MapVetoSteps. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MapVetoStepCountArgs} args - Arguments to filter MapVetoSteps to count. + * @example + * // Count the number of MapVetoSteps + * const count = await prisma.mapVetoStep.count({ + * where: { + * // ... the filter for the MapVetoSteps we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a MapVetoStep. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MapVetoStepAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Subset): Prisma.PrismaPromise> + + /** + * Group by MapVetoStep. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MapVetoStepGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends MapVetoStepGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: MapVetoStepGroupByArgs['orderBy'] } + : { orderBy?: MapVetoStepGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetMapVetoStepGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the MapVetoStep model + */ + readonly fields: MapVetoStepFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for MapVetoStep. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ + export interface Prisma__MapVetoStepClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + team = {}>(args?: Subset>): Prisma__TeamClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + chooser = {}>(args?: Subset>): Prisma__UserClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + veto = {}>(args?: Subset>): Prisma__MapVetoClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise + } + + + + + /** + * Fields of the MapVetoStep model + */ + interface MapVetoStepFieldRefs { + readonly id: FieldRef<"MapVetoStep", 'String'> + readonly vetoId: FieldRef<"MapVetoStep", 'String'> + readonly order: FieldRef<"MapVetoStep", 'Int'> + readonly action: FieldRef<"MapVetoStep", 'MapVetoAction'> + readonly teamId: FieldRef<"MapVetoStep", 'String'> + readonly map: FieldRef<"MapVetoStep", 'String'> + readonly chosenAt: FieldRef<"MapVetoStep", 'DateTime'> + readonly chosenBy: FieldRef<"MapVetoStep", 'String'> + } + + + // Custom InputTypes + /** + * MapVetoStep findUnique + */ + export type MapVetoStepFindUniqueArgs = { + /** + * Select specific fields to fetch from the MapVetoStep + */ + select?: MapVetoStepSelect | null + /** + * Omit specific fields from the MapVetoStep + */ + omit?: MapVetoStepOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MapVetoStepInclude | null + /** + * Filter, which MapVetoStep to fetch. + */ + where: MapVetoStepWhereUniqueInput + } + + /** + * MapVetoStep findUniqueOrThrow + */ + export type MapVetoStepFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the MapVetoStep + */ + select?: MapVetoStepSelect | null + /** + * Omit specific fields from the MapVetoStep + */ + omit?: MapVetoStepOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MapVetoStepInclude | null + /** + * Filter, which MapVetoStep to fetch. + */ + where: MapVetoStepWhereUniqueInput + } + + /** + * MapVetoStep findFirst + */ + export type MapVetoStepFindFirstArgs = { + /** + * Select specific fields to fetch from the MapVetoStep + */ + select?: MapVetoStepSelect | null + /** + * Omit specific fields from the MapVetoStep + */ + omit?: MapVetoStepOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MapVetoStepInclude | null + /** + * Filter, which MapVetoStep to fetch. + */ + where?: MapVetoStepWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of MapVetoSteps to fetch. + */ + orderBy?: MapVetoStepOrderByWithRelationInput | MapVetoStepOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for MapVetoSteps. + */ + cursor?: MapVetoStepWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` MapVetoSteps from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` MapVetoSteps. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of MapVetoSteps. + */ + distinct?: MapVetoStepScalarFieldEnum | MapVetoStepScalarFieldEnum[] + } + + /** + * MapVetoStep findFirstOrThrow + */ + export type MapVetoStepFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the MapVetoStep + */ + select?: MapVetoStepSelect | null + /** + * Omit specific fields from the MapVetoStep + */ + omit?: MapVetoStepOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MapVetoStepInclude | null + /** + * Filter, which MapVetoStep to fetch. + */ + where?: MapVetoStepWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of MapVetoSteps to fetch. + */ + orderBy?: MapVetoStepOrderByWithRelationInput | MapVetoStepOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for MapVetoSteps. + */ + cursor?: MapVetoStepWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` MapVetoSteps from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` MapVetoSteps. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of MapVetoSteps. + */ + distinct?: MapVetoStepScalarFieldEnum | MapVetoStepScalarFieldEnum[] + } + + /** + * MapVetoStep findMany + */ + export type MapVetoStepFindManyArgs = { + /** + * Select specific fields to fetch from the MapVetoStep + */ + select?: MapVetoStepSelect | null + /** + * Omit specific fields from the MapVetoStep + */ + omit?: MapVetoStepOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MapVetoStepInclude | null + /** + * Filter, which MapVetoSteps to fetch. + */ + where?: MapVetoStepWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of MapVetoSteps to fetch. + */ + orderBy?: MapVetoStepOrderByWithRelationInput | MapVetoStepOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing MapVetoSteps. + */ + cursor?: MapVetoStepWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` MapVetoSteps from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` MapVetoSteps. + */ + skip?: number + distinct?: MapVetoStepScalarFieldEnum | MapVetoStepScalarFieldEnum[] + } + + /** + * MapVetoStep create + */ + export type MapVetoStepCreateArgs = { + /** + * Select specific fields to fetch from the MapVetoStep + */ + select?: MapVetoStepSelect | null + /** + * Omit specific fields from the MapVetoStep + */ + omit?: MapVetoStepOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MapVetoStepInclude | null + /** + * The data needed to create a MapVetoStep. + */ + data: XOR + } + + /** + * MapVetoStep createMany + */ + export type MapVetoStepCreateManyArgs = { + /** + * The data used to create many MapVetoSteps. + */ + data: MapVetoStepCreateManyInput | MapVetoStepCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * MapVetoStep createManyAndReturn + */ + export type MapVetoStepCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the MapVetoStep + */ + select?: MapVetoStepSelectCreateManyAndReturn | null + /** + * Omit specific fields from the MapVetoStep + */ + omit?: MapVetoStepOmit | null + /** + * The data used to create many MapVetoSteps. + */ + data: MapVetoStepCreateManyInput | MapVetoStepCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: MapVetoStepIncludeCreateManyAndReturn | null + } + + /** + * MapVetoStep update + */ + export type MapVetoStepUpdateArgs = { + /** + * Select specific fields to fetch from the MapVetoStep + */ + select?: MapVetoStepSelect | null + /** + * Omit specific fields from the MapVetoStep + */ + omit?: MapVetoStepOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MapVetoStepInclude | null + /** + * The data needed to update a MapVetoStep. + */ + data: XOR + /** + * Choose, which MapVetoStep to update. + */ + where: MapVetoStepWhereUniqueInput + } + + /** + * MapVetoStep updateMany + */ + export type MapVetoStepUpdateManyArgs = { + /** + * The data used to update MapVetoSteps. + */ + data: XOR + /** + * Filter which MapVetoSteps to update + */ + where?: MapVetoStepWhereInput + /** + * Limit how many MapVetoSteps to update. + */ + limit?: number + } + + /** + * MapVetoStep updateManyAndReturn + */ + export type MapVetoStepUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the MapVetoStep + */ + select?: MapVetoStepSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the MapVetoStep + */ + omit?: MapVetoStepOmit | null + /** + * The data used to update MapVetoSteps. + */ + data: XOR + /** + * Filter which MapVetoSteps to update + */ + where?: MapVetoStepWhereInput + /** + * Limit how many MapVetoSteps to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: MapVetoStepIncludeUpdateManyAndReturn | null + } + + /** + * MapVetoStep upsert + */ + export type MapVetoStepUpsertArgs = { + /** + * Select specific fields to fetch from the MapVetoStep + */ + select?: MapVetoStepSelect | null + /** + * Omit specific fields from the MapVetoStep + */ + omit?: MapVetoStepOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MapVetoStepInclude | null + /** + * The filter to search for the MapVetoStep to update in case it exists. + */ + where: MapVetoStepWhereUniqueInput + /** + * In case the MapVetoStep found by the `where` argument doesn't exist, create a new MapVetoStep with this data. + */ + create: XOR + /** + * In case the MapVetoStep was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * MapVetoStep delete + */ + export type MapVetoStepDeleteArgs = { + /** + * Select specific fields to fetch from the MapVetoStep + */ + select?: MapVetoStepSelect | null + /** + * Omit specific fields from the MapVetoStep + */ + omit?: MapVetoStepOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MapVetoStepInclude | null + /** + * Filter which MapVetoStep to delete. + */ + where: MapVetoStepWhereUniqueInput + } + + /** + * MapVetoStep deleteMany + */ + export type MapVetoStepDeleteManyArgs = { + /** + * Filter which MapVetoSteps to delete + */ + where?: MapVetoStepWhereInput + /** + * Limit how many MapVetoSteps to delete. + */ + limit?: number + } + + /** + * MapVetoStep.team + */ + export type MapVetoStep$teamArgs = { + /** + * Select specific fields to fetch from the Team + */ + select?: TeamSelect | null + /** + * Omit specific fields from the Team + */ + omit?: TeamOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: TeamInclude | null + where?: TeamWhereInput + } + + /** + * MapVetoStep.chooser + */ + export type MapVetoStep$chooserArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: UserInclude | null + where?: UserWhereInput + } + + /** + * MapVetoStep without action + */ + export type MapVetoStepDefaultArgs = { + /** + * Select specific fields to fetch from the MapVetoStep + */ + select?: MapVetoStepSelect | null + /** + * Omit specific fields from the MapVetoStep + */ + omit?: MapVetoStepOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MapVetoStepInclude | null + } + + /** * Enums */ @@ -15890,6 +18602,8 @@ export namespace Prisma { roundCount: 'roundCount', roundHistory: 'roundHistory', winnerTeam: 'winnerTeam', + bestOf: 'bestOf', + matchDate: 'matchDate', createdAt: 'createdAt', updatedAt: 'updatedAt' }; @@ -16005,6 +18719,35 @@ export namespace Prisma { export type ServerRequestScalarFieldEnum = (typeof ServerRequestScalarFieldEnum)[keyof typeof ServerRequestScalarFieldEnum] + export const MapVetoScalarFieldEnum: { + id: 'id', + matchId: 'matchId', + bestOf: 'bestOf', + mapPool: 'mapPool', + currentIdx: 'currentIdx', + locked: 'locked', + opensAt: 'opensAt', + createdAt: 'createdAt', + updatedAt: 'updatedAt' + }; + + export type MapVetoScalarFieldEnum = (typeof MapVetoScalarFieldEnum)[keyof typeof MapVetoScalarFieldEnum] + + + export const MapVetoStepScalarFieldEnum: { + id: 'id', + vetoId: 'vetoId', + order: 'order', + action: 'action', + teamId: 'teamId', + map: 'map', + chosenAt: 'chosenAt', + chosenBy: 'chosenBy' + }; + + export type MapVetoStepScalarFieldEnum = (typeof MapVetoStepScalarFieldEnum)[keyof typeof MapVetoStepScalarFieldEnum] + + export const SortOrder: { asc: 'asc', desc: 'desc' @@ -16154,6 +18897,20 @@ export namespace Prisma { */ export type ListBigIntFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'BigInt[]'> + + + /** + * Reference to a field of type 'MapVetoAction' + */ + export type EnumMapVetoActionFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'MapVetoAction'> + + + + /** + * Reference to a field of type 'MapVetoAction[]' + */ + export type ListEnumMapVetoActionFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'MapVetoAction[]'> + /** * Deep Input Types */ @@ -16186,6 +18943,7 @@ export namespace Prisma { demoFiles?: DemoFileListRelationFilter createdSchedules?: ScheduleListRelationFilter confirmedSchedules?: ScheduleListRelationFilter + mapVetoChoices?: MapVetoStepListRelationFilter } export type UserOrderByWithRelationInput = { @@ -16212,6 +18970,7 @@ export namespace Prisma { demoFiles?: DemoFileOrderByRelationAggregateInput createdSchedules?: ScheduleOrderByRelationAggregateInput confirmedSchedules?: ScheduleOrderByRelationAggregateInput + mapVetoChoices?: MapVetoStepOrderByRelationAggregateInput } export type UserWhereUniqueInput = Prisma.AtLeast<{ @@ -16241,6 +19000,7 @@ export namespace Prisma { demoFiles?: DemoFileListRelationFilter createdSchedules?: ScheduleListRelationFilter confirmedSchedules?: ScheduleListRelationFilter + mapVetoChoices?: MapVetoStepListRelationFilter }, "steamId"> export type UserOrderByWithAggregationInput = { @@ -16298,6 +19058,7 @@ export namespace Prisma { matchesAsTeamB?: MatchListRelationFilter schedulesAsTeamA?: ScheduleListRelationFilter schedulesAsTeamB?: ScheduleListRelationFilter + mapVetoSteps?: MapVetoStepListRelationFilter } export type TeamOrderByWithRelationInput = { @@ -16316,6 +19077,7 @@ export namespace Prisma { matchesAsTeamB?: MatchOrderByRelationAggregateInput schedulesAsTeamA?: ScheduleOrderByRelationAggregateInput schedulesAsTeamB?: ScheduleOrderByRelationAggregateInput + mapVetoSteps?: MapVetoStepOrderByRelationAggregateInput } export type TeamWhereUniqueInput = Prisma.AtLeast<{ @@ -16337,6 +19099,7 @@ export namespace Prisma { matchesAsTeamB?: MatchListRelationFilter schedulesAsTeamA?: ScheduleListRelationFilter schedulesAsTeamB?: ScheduleListRelationFilter + mapVetoSteps?: MapVetoStepListRelationFilter }, "id" | "name" | "leaderId"> export type TeamOrderByWithAggregationInput = { @@ -16517,6 +19280,8 @@ export namespace Prisma { roundCount?: IntNullableFilter<"Match"> | number | null roundHistory?: JsonNullableFilter<"Match"> winnerTeam?: StringNullableFilter<"Match"> | string | null + bestOf?: IntFilter<"Match"> | number + matchDate?: DateTimeNullableFilter<"Match"> | Date | string | null createdAt?: DateTimeFilter<"Match"> | Date | string updatedAt?: DateTimeFilter<"Match"> | Date | string teamA?: XOR | null @@ -16526,6 +19291,7 @@ export namespace Prisma { demoFile?: XOR | null players?: MatchPlayerListRelationFilter rankUpdates?: RankHistoryListRelationFilter + mapVeto?: XOR | null schedule?: XOR | null } @@ -16545,6 +19311,8 @@ export namespace Prisma { roundCount?: SortOrderInput | SortOrder roundHistory?: SortOrderInput | SortOrder winnerTeam?: SortOrderInput | SortOrder + bestOf?: SortOrder + matchDate?: SortOrderInput | SortOrder createdAt?: SortOrder updatedAt?: SortOrder teamA?: TeamOrderByWithRelationInput @@ -16554,6 +19322,7 @@ export namespace Prisma { demoFile?: DemoFileOrderByWithRelationInput players?: MatchPlayerOrderByRelationAggregateInput rankUpdates?: RankHistoryOrderByRelationAggregateInput + mapVeto?: MapVetoOrderByWithRelationInput schedule?: ScheduleOrderByWithRelationInput } @@ -16576,6 +19345,8 @@ export namespace Prisma { roundCount?: IntNullableFilter<"Match"> | number | null roundHistory?: JsonNullableFilter<"Match"> winnerTeam?: StringNullableFilter<"Match"> | string | null + bestOf?: IntFilter<"Match"> | number + matchDate?: DateTimeNullableFilter<"Match"> | Date | string | null createdAt?: DateTimeFilter<"Match"> | Date | string updatedAt?: DateTimeFilter<"Match"> | Date | string teamA?: XOR | null @@ -16585,6 +19356,7 @@ export namespace Prisma { demoFile?: XOR | null players?: MatchPlayerListRelationFilter rankUpdates?: RankHistoryListRelationFilter + mapVeto?: XOR | null schedule?: XOR | null }, "id"> @@ -16604,6 +19376,8 @@ export namespace Prisma { roundCount?: SortOrderInput | SortOrder roundHistory?: SortOrderInput | SortOrder winnerTeam?: SortOrderInput | SortOrder + bestOf?: SortOrder + matchDate?: SortOrderInput | SortOrder createdAt?: SortOrder updatedAt?: SortOrder _count?: MatchCountOrderByAggregateInput @@ -16632,6 +19406,8 @@ export namespace Prisma { roundCount?: IntNullableWithAggregatesFilter<"Match"> | number | null roundHistory?: JsonNullableWithAggregatesFilter<"Match"> winnerTeam?: StringNullableWithAggregatesFilter<"Match"> | string | null + bestOf?: IntWithAggregatesFilter<"Match"> | number + matchDate?: DateTimeNullableWithAggregatesFilter<"Match"> | Date | string | null createdAt?: DateTimeWithAggregatesFilter<"Match"> | Date | string updatedAt?: DateTimeWithAggregatesFilter<"Match"> | Date | string } @@ -17212,6 +19988,165 @@ export namespace Prisma { createdAt?: DateTimeWithAggregatesFilter<"ServerRequest"> | Date | string } + export type MapVetoWhereInput = { + AND?: MapVetoWhereInput | MapVetoWhereInput[] + OR?: MapVetoWhereInput[] + NOT?: MapVetoWhereInput | MapVetoWhereInput[] + id?: StringFilter<"MapVeto"> | string + matchId?: StringFilter<"MapVeto"> | string + bestOf?: IntFilter<"MapVeto"> | number + mapPool?: StringNullableListFilter<"MapVeto"> + currentIdx?: IntFilter<"MapVeto"> | number + locked?: BoolFilter<"MapVeto"> | boolean + opensAt?: DateTimeNullableFilter<"MapVeto"> | Date | string | null + createdAt?: DateTimeFilter<"MapVeto"> | Date | string + updatedAt?: DateTimeFilter<"MapVeto"> | Date | string + match?: XOR + steps?: MapVetoStepListRelationFilter + } + + export type MapVetoOrderByWithRelationInput = { + id?: SortOrder + matchId?: SortOrder + bestOf?: SortOrder + mapPool?: SortOrder + currentIdx?: SortOrder + locked?: SortOrder + opensAt?: SortOrderInput | SortOrder + createdAt?: SortOrder + updatedAt?: SortOrder + match?: MatchOrderByWithRelationInput + steps?: MapVetoStepOrderByRelationAggregateInput + } + + export type MapVetoWhereUniqueInput = Prisma.AtLeast<{ + id?: string + matchId?: string + AND?: MapVetoWhereInput | MapVetoWhereInput[] + OR?: MapVetoWhereInput[] + NOT?: MapVetoWhereInput | MapVetoWhereInput[] + bestOf?: IntFilter<"MapVeto"> | number + mapPool?: StringNullableListFilter<"MapVeto"> + currentIdx?: IntFilter<"MapVeto"> | number + locked?: BoolFilter<"MapVeto"> | boolean + opensAt?: DateTimeNullableFilter<"MapVeto"> | Date | string | null + createdAt?: DateTimeFilter<"MapVeto"> | Date | string + updatedAt?: DateTimeFilter<"MapVeto"> | Date | string + match?: XOR + steps?: MapVetoStepListRelationFilter + }, "id" | "matchId"> + + export type MapVetoOrderByWithAggregationInput = { + id?: SortOrder + matchId?: SortOrder + bestOf?: SortOrder + mapPool?: SortOrder + currentIdx?: SortOrder + locked?: SortOrder + opensAt?: SortOrderInput | SortOrder + createdAt?: SortOrder + updatedAt?: SortOrder + _count?: MapVetoCountOrderByAggregateInput + _avg?: MapVetoAvgOrderByAggregateInput + _max?: MapVetoMaxOrderByAggregateInput + _min?: MapVetoMinOrderByAggregateInput + _sum?: MapVetoSumOrderByAggregateInput + } + + export type MapVetoScalarWhereWithAggregatesInput = { + AND?: MapVetoScalarWhereWithAggregatesInput | MapVetoScalarWhereWithAggregatesInput[] + OR?: MapVetoScalarWhereWithAggregatesInput[] + NOT?: MapVetoScalarWhereWithAggregatesInput | MapVetoScalarWhereWithAggregatesInput[] + id?: StringWithAggregatesFilter<"MapVeto"> | string + matchId?: StringWithAggregatesFilter<"MapVeto"> | string + bestOf?: IntWithAggregatesFilter<"MapVeto"> | number + mapPool?: StringNullableListFilter<"MapVeto"> + currentIdx?: IntWithAggregatesFilter<"MapVeto"> | number + locked?: BoolWithAggregatesFilter<"MapVeto"> | boolean + opensAt?: DateTimeNullableWithAggregatesFilter<"MapVeto"> | Date | string | null + createdAt?: DateTimeWithAggregatesFilter<"MapVeto"> | Date | string + updatedAt?: DateTimeWithAggregatesFilter<"MapVeto"> | Date | string + } + + export type MapVetoStepWhereInput = { + AND?: MapVetoStepWhereInput | MapVetoStepWhereInput[] + OR?: MapVetoStepWhereInput[] + NOT?: MapVetoStepWhereInput | MapVetoStepWhereInput[] + id?: StringFilter<"MapVetoStep"> | string + vetoId?: StringFilter<"MapVetoStep"> | string + order?: IntFilter<"MapVetoStep"> | number + action?: EnumMapVetoActionFilter<"MapVetoStep"> | $Enums.MapVetoAction + teamId?: StringNullableFilter<"MapVetoStep"> | string | null + map?: StringNullableFilter<"MapVetoStep"> | string | null + chosenAt?: DateTimeNullableFilter<"MapVetoStep"> | Date | string | null + chosenBy?: StringNullableFilter<"MapVetoStep"> | string | null + team?: XOR | null + chooser?: XOR | null + veto?: XOR + } + + export type MapVetoStepOrderByWithRelationInput = { + id?: SortOrder + vetoId?: SortOrder + order?: SortOrder + action?: SortOrder + teamId?: SortOrderInput | SortOrder + map?: SortOrderInput | SortOrder + chosenAt?: SortOrderInput | SortOrder + chosenBy?: SortOrderInput | SortOrder + team?: TeamOrderByWithRelationInput + chooser?: UserOrderByWithRelationInput + veto?: MapVetoOrderByWithRelationInput + } + + export type MapVetoStepWhereUniqueInput = Prisma.AtLeast<{ + id?: string + vetoId_order?: MapVetoStepVetoIdOrderCompoundUniqueInput + AND?: MapVetoStepWhereInput | MapVetoStepWhereInput[] + OR?: MapVetoStepWhereInput[] + NOT?: MapVetoStepWhereInput | MapVetoStepWhereInput[] + vetoId?: StringFilter<"MapVetoStep"> | string + order?: IntFilter<"MapVetoStep"> | number + action?: EnumMapVetoActionFilter<"MapVetoStep"> | $Enums.MapVetoAction + teamId?: StringNullableFilter<"MapVetoStep"> | string | null + map?: StringNullableFilter<"MapVetoStep"> | string | null + chosenAt?: DateTimeNullableFilter<"MapVetoStep"> | Date | string | null + chosenBy?: StringNullableFilter<"MapVetoStep"> | string | null + team?: XOR | null + chooser?: XOR | null + veto?: XOR + }, "id" | "vetoId_order"> + + export type MapVetoStepOrderByWithAggregationInput = { + id?: SortOrder + vetoId?: SortOrder + order?: SortOrder + action?: SortOrder + teamId?: SortOrderInput | SortOrder + map?: SortOrderInput | SortOrder + chosenAt?: SortOrderInput | SortOrder + chosenBy?: SortOrderInput | SortOrder + _count?: MapVetoStepCountOrderByAggregateInput + _avg?: MapVetoStepAvgOrderByAggregateInput + _max?: MapVetoStepMaxOrderByAggregateInput + _min?: MapVetoStepMinOrderByAggregateInput + _sum?: MapVetoStepSumOrderByAggregateInput + } + + export type MapVetoStepScalarWhereWithAggregatesInput = { + AND?: MapVetoStepScalarWhereWithAggregatesInput | MapVetoStepScalarWhereWithAggregatesInput[] + OR?: MapVetoStepScalarWhereWithAggregatesInput[] + NOT?: MapVetoStepScalarWhereWithAggregatesInput | MapVetoStepScalarWhereWithAggregatesInput[] + id?: StringWithAggregatesFilter<"MapVetoStep"> | string + vetoId?: StringWithAggregatesFilter<"MapVetoStep"> | string + order?: IntWithAggregatesFilter<"MapVetoStep"> | number + action?: EnumMapVetoActionWithAggregatesFilter<"MapVetoStep"> | $Enums.MapVetoAction + teamId?: StringNullableWithAggregatesFilter<"MapVetoStep"> | string | null + map?: StringNullableWithAggregatesFilter<"MapVetoStep"> | string | null + chosenAt?: DateTimeNullableWithAggregatesFilter<"MapVetoStep"> | Date | string | null + chosenBy?: StringNullableWithAggregatesFilter<"MapVetoStep"> | string | null + } + export type UserCreateInput = { steamId: string name?: string | null @@ -17235,6 +20170,7 @@ export namespace Prisma { demoFiles?: DemoFileCreateNestedManyWithoutUserInput createdSchedules?: ScheduleCreateNestedManyWithoutCreatedByInput confirmedSchedules?: ScheduleCreateNestedManyWithoutConfirmedByInput + mapVetoChoices?: MapVetoStepCreateNestedManyWithoutChooserInput } export type UserUncheckedCreateInput = { @@ -17260,6 +20196,7 @@ export namespace Prisma { demoFiles?: DemoFileUncheckedCreateNestedManyWithoutUserInput createdSchedules?: ScheduleUncheckedCreateNestedManyWithoutCreatedByInput confirmedSchedules?: ScheduleUncheckedCreateNestedManyWithoutConfirmedByInput + mapVetoChoices?: MapVetoStepUncheckedCreateNestedManyWithoutChooserInput } export type UserUpdateInput = { @@ -17285,6 +20222,7 @@ export namespace Prisma { demoFiles?: DemoFileUpdateManyWithoutUserNestedInput createdSchedules?: ScheduleUpdateManyWithoutCreatedByNestedInput confirmedSchedules?: ScheduleUpdateManyWithoutConfirmedByNestedInput + mapVetoChoices?: MapVetoStepUpdateManyWithoutChooserNestedInput } export type UserUncheckedUpdateInput = { @@ -17310,6 +20248,7 @@ export namespace Prisma { demoFiles?: DemoFileUncheckedUpdateManyWithoutUserNestedInput createdSchedules?: ScheduleUncheckedUpdateManyWithoutCreatedByNestedInput confirmedSchedules?: ScheduleUncheckedUpdateManyWithoutConfirmedByNestedInput + mapVetoChoices?: MapVetoStepUncheckedUpdateManyWithoutChooserNestedInput } export type UserCreateManyInput = { @@ -17368,6 +20307,7 @@ export namespace Prisma { matchesAsTeamB?: MatchCreateNestedManyWithoutTeamBInput schedulesAsTeamA?: ScheduleCreateNestedManyWithoutTeamAInput schedulesAsTeamB?: ScheduleCreateNestedManyWithoutTeamBInput + mapVetoSteps?: MapVetoStepCreateNestedManyWithoutTeamInput } export type TeamUncheckedCreateInput = { @@ -17385,6 +20325,7 @@ export namespace Prisma { matchesAsTeamB?: MatchUncheckedCreateNestedManyWithoutTeamBInput schedulesAsTeamA?: ScheduleUncheckedCreateNestedManyWithoutTeamAInput schedulesAsTeamB?: ScheduleUncheckedCreateNestedManyWithoutTeamBInput + mapVetoSteps?: MapVetoStepUncheckedCreateNestedManyWithoutTeamInput } export type TeamUpdateInput = { @@ -17402,6 +20343,7 @@ export namespace Prisma { matchesAsTeamB?: MatchUpdateManyWithoutTeamBNestedInput schedulesAsTeamA?: ScheduleUpdateManyWithoutTeamANestedInput schedulesAsTeamB?: ScheduleUpdateManyWithoutTeamBNestedInput + mapVetoSteps?: MapVetoStepUpdateManyWithoutTeamNestedInput } export type TeamUncheckedUpdateInput = { @@ -17419,6 +20361,7 @@ export namespace Prisma { matchesAsTeamB?: MatchUncheckedUpdateManyWithoutTeamBNestedInput schedulesAsTeamA?: ScheduleUncheckedUpdateManyWithoutTeamANestedInput schedulesAsTeamB?: ScheduleUncheckedUpdateManyWithoutTeamBNestedInput + mapVetoSteps?: MapVetoStepUncheckedUpdateManyWithoutTeamNestedInput } export type TeamCreateManyInput = { @@ -17601,6 +20544,8 @@ export namespace Prisma { roundCount?: number | null roundHistory?: NullableJsonNullValueInput | InputJsonValue winnerTeam?: string | null + bestOf?: number + matchDate?: Date | string | null createdAt?: Date | string updatedAt?: Date | string teamA?: TeamCreateNestedOneWithoutMatchesAsTeamAInput @@ -17610,6 +20555,7 @@ export namespace Prisma { demoFile?: DemoFileCreateNestedOneWithoutMatchInput players?: MatchPlayerCreateNestedManyWithoutMatchInput rankUpdates?: RankHistoryCreateNestedManyWithoutMatchInput + mapVeto?: MapVetoCreateNestedOneWithoutMatchInput schedule?: ScheduleCreateNestedOneWithoutLinkedMatchInput } @@ -17629,6 +20575,8 @@ export namespace Prisma { roundCount?: number | null roundHistory?: NullableJsonNullValueInput | InputJsonValue winnerTeam?: string | null + bestOf?: number + matchDate?: Date | string | null createdAt?: Date | string updatedAt?: Date | string teamAUsers?: UserUncheckedCreateNestedManyWithoutMatchesAsTeamAInput @@ -17636,6 +20584,7 @@ export namespace Prisma { demoFile?: DemoFileUncheckedCreateNestedOneWithoutMatchInput players?: MatchPlayerUncheckedCreateNestedManyWithoutMatchInput rankUpdates?: RankHistoryUncheckedCreateNestedManyWithoutMatchInput + mapVeto?: MapVetoUncheckedCreateNestedOneWithoutMatchInput schedule?: ScheduleUncheckedCreateNestedOneWithoutLinkedMatchInput } @@ -17653,6 +20602,8 @@ export namespace Prisma { roundCount?: NullableIntFieldUpdateOperationsInput | number | null roundHistory?: NullableJsonNullValueInput | InputJsonValue winnerTeam?: NullableStringFieldUpdateOperationsInput | string | null + bestOf?: IntFieldUpdateOperationsInput | number + matchDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string teamA?: TeamUpdateOneWithoutMatchesAsTeamANestedInput @@ -17662,6 +20613,7 @@ export namespace Prisma { demoFile?: DemoFileUpdateOneWithoutMatchNestedInput players?: MatchPlayerUpdateManyWithoutMatchNestedInput rankUpdates?: RankHistoryUpdateManyWithoutMatchNestedInput + mapVeto?: MapVetoUpdateOneWithoutMatchNestedInput schedule?: ScheduleUpdateOneWithoutLinkedMatchNestedInput } @@ -17681,6 +20633,8 @@ export namespace Prisma { roundCount?: NullableIntFieldUpdateOperationsInput | number | null roundHistory?: NullableJsonNullValueInput | InputJsonValue winnerTeam?: NullableStringFieldUpdateOperationsInput | string | null + bestOf?: IntFieldUpdateOperationsInput | number + matchDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string teamAUsers?: UserUncheckedUpdateManyWithoutMatchesAsTeamANestedInput @@ -17688,6 +20642,7 @@ export namespace Prisma { demoFile?: DemoFileUncheckedUpdateOneWithoutMatchNestedInput players?: MatchPlayerUncheckedUpdateManyWithoutMatchNestedInput rankUpdates?: RankHistoryUncheckedUpdateManyWithoutMatchNestedInput + mapVeto?: MapVetoUncheckedUpdateOneWithoutMatchNestedInput schedule?: ScheduleUncheckedUpdateOneWithoutLinkedMatchNestedInput } @@ -17707,6 +20662,8 @@ export namespace Prisma { roundCount?: number | null roundHistory?: NullableJsonNullValueInput | InputJsonValue winnerTeam?: string | null + bestOf?: number + matchDate?: Date | string | null createdAt?: Date | string updatedAt?: Date | string } @@ -17725,6 +20682,8 @@ export namespace Prisma { roundCount?: NullableIntFieldUpdateOperationsInput | number | null roundHistory?: NullableJsonNullValueInput | InputJsonValue winnerTeam?: NullableStringFieldUpdateOperationsInput | string | null + bestOf?: IntFieldUpdateOperationsInput | number + matchDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } @@ -17745,6 +20704,8 @@ export namespace Prisma { roundCount?: NullableIntFieldUpdateOperationsInput | number | null roundHistory?: NullableJsonNullValueInput | InputJsonValue winnerTeam?: NullableStringFieldUpdateOperationsInput | string | null + bestOf?: IntFieldUpdateOperationsInput | number + matchDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } @@ -18366,6 +21327,167 @@ export namespace Prisma { createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } + export type MapVetoCreateInput = { + id?: string + bestOf?: number + mapPool?: MapVetoCreatemapPoolInput | string[] + currentIdx?: number + locked?: boolean + opensAt?: Date | string | null + createdAt?: Date | string + updatedAt?: Date | string + match: MatchCreateNestedOneWithoutMapVetoInput + steps?: MapVetoStepCreateNestedManyWithoutVetoInput + } + + export type MapVetoUncheckedCreateInput = { + id?: string + matchId: string + bestOf?: number + mapPool?: MapVetoCreatemapPoolInput | string[] + currentIdx?: number + locked?: boolean + opensAt?: Date | string | null + createdAt?: Date | string + updatedAt?: Date | string + steps?: MapVetoStepUncheckedCreateNestedManyWithoutVetoInput + } + + export type MapVetoUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + bestOf?: IntFieldUpdateOperationsInput | number + mapPool?: MapVetoUpdatemapPoolInput | string[] + currentIdx?: IntFieldUpdateOperationsInput | number + locked?: BoolFieldUpdateOperationsInput | boolean + opensAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + match?: MatchUpdateOneRequiredWithoutMapVetoNestedInput + steps?: MapVetoStepUpdateManyWithoutVetoNestedInput + } + + export type MapVetoUncheckedUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + matchId?: StringFieldUpdateOperationsInput | string + bestOf?: IntFieldUpdateOperationsInput | number + mapPool?: MapVetoUpdatemapPoolInput | string[] + currentIdx?: IntFieldUpdateOperationsInput | number + locked?: BoolFieldUpdateOperationsInput | boolean + opensAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + steps?: MapVetoStepUncheckedUpdateManyWithoutVetoNestedInput + } + + export type MapVetoCreateManyInput = { + id?: string + matchId: string + bestOf?: number + mapPool?: MapVetoCreatemapPoolInput | string[] + currentIdx?: number + locked?: boolean + opensAt?: Date | string | null + createdAt?: Date | string + updatedAt?: Date | string + } + + export type MapVetoUpdateManyMutationInput = { + id?: StringFieldUpdateOperationsInput | string + bestOf?: IntFieldUpdateOperationsInput | number + mapPool?: MapVetoUpdatemapPoolInput | string[] + currentIdx?: IntFieldUpdateOperationsInput | number + locked?: BoolFieldUpdateOperationsInput | boolean + opensAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type MapVetoUncheckedUpdateManyInput = { + id?: StringFieldUpdateOperationsInput | string + matchId?: StringFieldUpdateOperationsInput | string + bestOf?: IntFieldUpdateOperationsInput | number + mapPool?: MapVetoUpdatemapPoolInput | string[] + currentIdx?: IntFieldUpdateOperationsInput | number + locked?: BoolFieldUpdateOperationsInput | boolean + opensAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type MapVetoStepCreateInput = { + id?: string + order: number + action: $Enums.MapVetoAction + map?: string | null + chosenAt?: Date | string | null + team?: TeamCreateNestedOneWithoutMapVetoStepsInput + chooser?: UserCreateNestedOneWithoutMapVetoChoicesInput + veto: MapVetoCreateNestedOneWithoutStepsInput + } + + export type MapVetoStepUncheckedCreateInput = { + id?: string + vetoId: string + order: number + action: $Enums.MapVetoAction + teamId?: string | null + map?: string | null + chosenAt?: Date | string | null + chosenBy?: string | null + } + + export type MapVetoStepUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + order?: IntFieldUpdateOperationsInput | number + action?: EnumMapVetoActionFieldUpdateOperationsInput | $Enums.MapVetoAction + map?: NullableStringFieldUpdateOperationsInput | string | null + chosenAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + team?: TeamUpdateOneWithoutMapVetoStepsNestedInput + chooser?: UserUpdateOneWithoutMapVetoChoicesNestedInput + veto?: MapVetoUpdateOneRequiredWithoutStepsNestedInput + } + + export type MapVetoStepUncheckedUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + vetoId?: StringFieldUpdateOperationsInput | string + order?: IntFieldUpdateOperationsInput | number + action?: EnumMapVetoActionFieldUpdateOperationsInput | $Enums.MapVetoAction + teamId?: NullableStringFieldUpdateOperationsInput | string | null + map?: NullableStringFieldUpdateOperationsInput | string | null + chosenAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + chosenBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type MapVetoStepCreateManyInput = { + id?: string + vetoId: string + order: number + action: $Enums.MapVetoAction + teamId?: string | null + map?: string | null + chosenAt?: Date | string | null + chosenBy?: string | null + } + + export type MapVetoStepUpdateManyMutationInput = { + id?: StringFieldUpdateOperationsInput | string + order?: IntFieldUpdateOperationsInput | number + action?: EnumMapVetoActionFieldUpdateOperationsInput | $Enums.MapVetoAction + map?: NullableStringFieldUpdateOperationsInput | string | null + chosenAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + } + + export type MapVetoStepUncheckedUpdateManyInput = { + id?: StringFieldUpdateOperationsInput | string + vetoId?: StringFieldUpdateOperationsInput | string + order?: IntFieldUpdateOperationsInput | number + action?: EnumMapVetoActionFieldUpdateOperationsInput | $Enums.MapVetoAction + teamId?: NullableStringFieldUpdateOperationsInput | string | null + map?: NullableStringFieldUpdateOperationsInput | string | null + chosenAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + chosenBy?: NullableStringFieldUpdateOperationsInput | string | null + } + export type StringFilter<$PrismaModel = never> = { equals?: string | StringFieldRefInput<$PrismaModel> in?: string[] | ListStringFieldRefInput<$PrismaModel> @@ -18487,6 +21609,12 @@ export namespace Prisma { none?: ScheduleWhereInput } + export type MapVetoStepListRelationFilter = { + every?: MapVetoStepWhereInput + some?: MapVetoStepWhereInput + none?: MapVetoStepWhereInput + } + export type SortOrderInput = { sort: SortOrder nulls?: NullsOrder @@ -18524,6 +21652,10 @@ export namespace Prisma { _count?: SortOrder } + export type MapVetoStepOrderByRelationAggregateInput = { + _count?: SortOrder + } + export type UserCountOrderByAggregateInput = { steamId?: SortOrder name?: SortOrder @@ -18804,11 +21936,27 @@ export namespace Prisma { not?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter } + export type IntFilter<$PrismaModel = never> = { + equals?: number | IntFieldRefInput<$PrismaModel> + in?: number[] | ListIntFieldRefInput<$PrismaModel> + notIn?: number[] | ListIntFieldRefInput<$PrismaModel> + lt?: number | IntFieldRefInput<$PrismaModel> + lte?: number | IntFieldRefInput<$PrismaModel> + gt?: number | IntFieldRefInput<$PrismaModel> + gte?: number | IntFieldRefInput<$PrismaModel> + not?: NestedIntFilter<$PrismaModel> | number + } + export type DemoFileNullableScalarRelationFilter = { is?: DemoFileWhereInput | null isNot?: DemoFileWhereInput | null } + export type MapVetoNullableScalarRelationFilter = { + is?: MapVetoWhereInput | null + isNot?: MapVetoWhereInput | null + } + export type ScheduleNullableScalarRelationFilter = { is?: ScheduleWhereInput | null isNot?: ScheduleWhereInput | null @@ -18830,6 +21978,8 @@ export namespace Prisma { roundCount?: SortOrder roundHistory?: SortOrder winnerTeam?: SortOrder + bestOf?: SortOrder + matchDate?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } @@ -18838,6 +21988,7 @@ export namespace Prisma { scoreA?: SortOrder scoreB?: SortOrder roundCount?: SortOrder + bestOf?: SortOrder } export type MatchMaxOrderByAggregateInput = { @@ -18854,6 +22005,8 @@ export namespace Prisma { demoDate?: SortOrder roundCount?: SortOrder winnerTeam?: SortOrder + bestOf?: SortOrder + matchDate?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } @@ -18872,6 +22025,8 @@ export namespace Prisma { demoDate?: SortOrder roundCount?: SortOrder winnerTeam?: SortOrder + bestOf?: SortOrder + matchDate?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } @@ -18880,6 +22035,7 @@ export namespace Prisma { scoreA?: SortOrder scoreB?: SortOrder roundCount?: SortOrder + bestOf?: SortOrder } export type JsonNullableWithAggregatesFilter<$PrismaModel = never> = | PatchUndefined< @@ -18908,6 +22064,22 @@ export namespace Prisma { _max?: NestedJsonNullableFilter<$PrismaModel> } + export type IntWithAggregatesFilter<$PrismaModel = never> = { + equals?: number | IntFieldRefInput<$PrismaModel> + in?: number[] | ListIntFieldRefInput<$PrismaModel> + notIn?: number[] | ListIntFieldRefInput<$PrismaModel> + lt?: number | IntFieldRefInput<$PrismaModel> + lte?: number | IntFieldRefInput<$PrismaModel> + gt?: number | IntFieldRefInput<$PrismaModel> + gte?: number | IntFieldRefInput<$PrismaModel> + not?: NestedIntWithAggregatesFilter<$PrismaModel> | number + _count?: NestedIntFilter<$PrismaModel> + _avg?: NestedFloatFilter<$PrismaModel> + _sum?: NestedIntFilter<$PrismaModel> + _min?: NestedIntFilter<$PrismaModel> + _max?: NestedIntFilter<$PrismaModel> + } + export type MatchScalarRelationFilter = { is?: MatchWhereInput isNot?: MatchWhereInput @@ -18947,17 +22119,6 @@ export namespace Prisma { createdAt?: SortOrder } - export type IntFilter<$PrismaModel = never> = { - equals?: number | IntFieldRefInput<$PrismaModel> - in?: number[] | ListIntFieldRefInput<$PrismaModel> - notIn?: number[] | ListIntFieldRefInput<$PrismaModel> - lt?: number | IntFieldRefInput<$PrismaModel> - lte?: number | IntFieldRefInput<$PrismaModel> - gt?: number | IntFieldRefInput<$PrismaModel> - gte?: number | IntFieldRefInput<$PrismaModel> - not?: NestedIntFilter<$PrismaModel> | number - } - export type FloatFilter<$PrismaModel = never> = { equals?: number | FloatFieldRefInput<$PrismaModel> in?: number[] | ListFloatFieldRefInput<$PrismaModel> @@ -19143,22 +22304,6 @@ export namespace Prisma { winCount?: SortOrder } - export type IntWithAggregatesFilter<$PrismaModel = never> = { - equals?: number | IntFieldRefInput<$PrismaModel> - in?: number[] | ListIntFieldRefInput<$PrismaModel> - notIn?: number[] | ListIntFieldRefInput<$PrismaModel> - lt?: number | IntFieldRefInput<$PrismaModel> - lte?: number | IntFieldRefInput<$PrismaModel> - gt?: number | IntFieldRefInput<$PrismaModel> - gte?: number | IntFieldRefInput<$PrismaModel> - not?: NestedIntWithAggregatesFilter<$PrismaModel> | number - _count?: NestedIntFilter<$PrismaModel> - _avg?: NestedFloatFilter<$PrismaModel> - _sum?: NestedIntFilter<$PrismaModel> - _min?: NestedIntFilter<$PrismaModel> - _max?: NestedIntFilter<$PrismaModel> - } - export type FloatWithAggregatesFilter<$PrismaModel = never> = { equals?: number | FloatFieldRefInput<$PrismaModel> in?: number[] | ListFloatFieldRefInput<$PrismaModel> @@ -19397,6 +22542,118 @@ export namespace Prisma { _max?: NestedBigIntFilter<$PrismaModel> } + export type MapVetoCountOrderByAggregateInput = { + id?: SortOrder + matchId?: SortOrder + bestOf?: SortOrder + mapPool?: SortOrder + currentIdx?: SortOrder + locked?: SortOrder + opensAt?: SortOrder + createdAt?: SortOrder + updatedAt?: SortOrder + } + + export type MapVetoAvgOrderByAggregateInput = { + bestOf?: SortOrder + currentIdx?: SortOrder + } + + export type MapVetoMaxOrderByAggregateInput = { + id?: SortOrder + matchId?: SortOrder + bestOf?: SortOrder + currentIdx?: SortOrder + locked?: SortOrder + opensAt?: SortOrder + createdAt?: SortOrder + updatedAt?: SortOrder + } + + export type MapVetoMinOrderByAggregateInput = { + id?: SortOrder + matchId?: SortOrder + bestOf?: SortOrder + currentIdx?: SortOrder + locked?: SortOrder + opensAt?: SortOrder + createdAt?: SortOrder + updatedAt?: SortOrder + } + + export type MapVetoSumOrderByAggregateInput = { + bestOf?: SortOrder + currentIdx?: SortOrder + } + + export type EnumMapVetoActionFilter<$PrismaModel = never> = { + equals?: $Enums.MapVetoAction | EnumMapVetoActionFieldRefInput<$PrismaModel> + in?: $Enums.MapVetoAction[] | ListEnumMapVetoActionFieldRefInput<$PrismaModel> + notIn?: $Enums.MapVetoAction[] | ListEnumMapVetoActionFieldRefInput<$PrismaModel> + not?: NestedEnumMapVetoActionFilter<$PrismaModel> | $Enums.MapVetoAction + } + + export type MapVetoScalarRelationFilter = { + is?: MapVetoWhereInput + isNot?: MapVetoWhereInput + } + + export type MapVetoStepVetoIdOrderCompoundUniqueInput = { + vetoId: string + order: number + } + + export type MapVetoStepCountOrderByAggregateInput = { + id?: SortOrder + vetoId?: SortOrder + order?: SortOrder + action?: SortOrder + teamId?: SortOrder + map?: SortOrder + chosenAt?: SortOrder + chosenBy?: SortOrder + } + + export type MapVetoStepAvgOrderByAggregateInput = { + order?: SortOrder + } + + export type MapVetoStepMaxOrderByAggregateInput = { + id?: SortOrder + vetoId?: SortOrder + order?: SortOrder + action?: SortOrder + teamId?: SortOrder + map?: SortOrder + chosenAt?: SortOrder + chosenBy?: SortOrder + } + + export type MapVetoStepMinOrderByAggregateInput = { + id?: SortOrder + vetoId?: SortOrder + order?: SortOrder + action?: SortOrder + teamId?: SortOrder + map?: SortOrder + chosenAt?: SortOrder + chosenBy?: SortOrder + } + + export type MapVetoStepSumOrderByAggregateInput = { + order?: SortOrder + } + + export type EnumMapVetoActionWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.MapVetoAction | EnumMapVetoActionFieldRefInput<$PrismaModel> + in?: $Enums.MapVetoAction[] | ListEnumMapVetoActionFieldRefInput<$PrismaModel> + notIn?: $Enums.MapVetoAction[] | ListEnumMapVetoActionFieldRefInput<$PrismaModel> + not?: NestedEnumMapVetoActionWithAggregatesFilter<$PrismaModel> | $Enums.MapVetoAction + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedEnumMapVetoActionFilter<$PrismaModel> + _max?: NestedEnumMapVetoActionFilter<$PrismaModel> + } + export type TeamCreateNestedOneWithoutMembersInput = { create?: XOR connectOrCreate?: TeamCreateOrConnectWithoutMembersInput @@ -19477,6 +22734,13 @@ export namespace Prisma { connect?: ScheduleWhereUniqueInput | ScheduleWhereUniqueInput[] } + export type MapVetoStepCreateNestedManyWithoutChooserInput = { + create?: XOR | MapVetoStepCreateWithoutChooserInput[] | MapVetoStepUncheckedCreateWithoutChooserInput[] + connectOrCreate?: MapVetoStepCreateOrConnectWithoutChooserInput | MapVetoStepCreateOrConnectWithoutChooserInput[] + createMany?: MapVetoStepCreateManyChooserInputEnvelope + connect?: MapVetoStepWhereUniqueInput | MapVetoStepWhereUniqueInput[] + } + export type TeamUncheckedCreateNestedOneWithoutLeaderInput = { create?: XOR connectOrCreate?: TeamCreateOrConnectWithoutLeaderInput @@ -19551,6 +22815,13 @@ export namespace Prisma { connect?: ScheduleWhereUniqueInput | ScheduleWhereUniqueInput[] } + export type MapVetoStepUncheckedCreateNestedManyWithoutChooserInput = { + create?: XOR | MapVetoStepCreateWithoutChooserInput[] | MapVetoStepUncheckedCreateWithoutChooserInput[] + connectOrCreate?: MapVetoStepCreateOrConnectWithoutChooserInput | MapVetoStepCreateOrConnectWithoutChooserInput[] + createMany?: MapVetoStepCreateManyChooserInputEnvelope + connect?: MapVetoStepWhereUniqueInput | MapVetoStepWhereUniqueInput[] + } + export type StringFieldUpdateOperationsInput = { set?: string } @@ -19737,6 +23008,20 @@ export namespace Prisma { deleteMany?: ScheduleScalarWhereInput | ScheduleScalarWhereInput[] } + export type MapVetoStepUpdateManyWithoutChooserNestedInput = { + create?: XOR | MapVetoStepCreateWithoutChooserInput[] | MapVetoStepUncheckedCreateWithoutChooserInput[] + connectOrCreate?: MapVetoStepCreateOrConnectWithoutChooserInput | MapVetoStepCreateOrConnectWithoutChooserInput[] + upsert?: MapVetoStepUpsertWithWhereUniqueWithoutChooserInput | MapVetoStepUpsertWithWhereUniqueWithoutChooserInput[] + createMany?: MapVetoStepCreateManyChooserInputEnvelope + set?: MapVetoStepWhereUniqueInput | MapVetoStepWhereUniqueInput[] + disconnect?: MapVetoStepWhereUniqueInput | MapVetoStepWhereUniqueInput[] + delete?: MapVetoStepWhereUniqueInput | MapVetoStepWhereUniqueInput[] + connect?: MapVetoStepWhereUniqueInput | MapVetoStepWhereUniqueInput[] + update?: MapVetoStepUpdateWithWhereUniqueWithoutChooserInput | MapVetoStepUpdateWithWhereUniqueWithoutChooserInput[] + updateMany?: MapVetoStepUpdateManyWithWhereWithoutChooserInput | MapVetoStepUpdateManyWithWhereWithoutChooserInput[] + deleteMany?: MapVetoStepScalarWhereInput | MapVetoStepScalarWhereInput[] + } + export type TeamUncheckedUpdateOneWithoutLeaderNestedInput = { create?: XOR connectOrCreate?: TeamCreateOrConnectWithoutLeaderInput @@ -19885,6 +23170,20 @@ export namespace Prisma { deleteMany?: ScheduleScalarWhereInput | ScheduleScalarWhereInput[] } + export type MapVetoStepUncheckedUpdateManyWithoutChooserNestedInput = { + create?: XOR | MapVetoStepCreateWithoutChooserInput[] | MapVetoStepUncheckedCreateWithoutChooserInput[] + connectOrCreate?: MapVetoStepCreateOrConnectWithoutChooserInput | MapVetoStepCreateOrConnectWithoutChooserInput[] + upsert?: MapVetoStepUpsertWithWhereUniqueWithoutChooserInput | MapVetoStepUpsertWithWhereUniqueWithoutChooserInput[] + createMany?: MapVetoStepCreateManyChooserInputEnvelope + set?: MapVetoStepWhereUniqueInput | MapVetoStepWhereUniqueInput[] + disconnect?: MapVetoStepWhereUniqueInput | MapVetoStepWhereUniqueInput[] + delete?: MapVetoStepWhereUniqueInput | MapVetoStepWhereUniqueInput[] + connect?: MapVetoStepWhereUniqueInput | MapVetoStepWhereUniqueInput[] + update?: MapVetoStepUpdateWithWhereUniqueWithoutChooserInput | MapVetoStepUpdateWithWhereUniqueWithoutChooserInput[] + updateMany?: MapVetoStepUpdateManyWithWhereWithoutChooserInput | MapVetoStepUpdateManyWithWhereWithoutChooserInput[] + deleteMany?: MapVetoStepScalarWhereInput | MapVetoStepScalarWhereInput[] + } + export type TeamCreateactivePlayersInput = { set: string[] } @@ -19948,6 +23247,13 @@ export namespace Prisma { connect?: ScheduleWhereUniqueInput | ScheduleWhereUniqueInput[] } + export type MapVetoStepCreateNestedManyWithoutTeamInput = { + create?: XOR | MapVetoStepCreateWithoutTeamInput[] | MapVetoStepUncheckedCreateWithoutTeamInput[] + connectOrCreate?: MapVetoStepCreateOrConnectWithoutTeamInput | MapVetoStepCreateOrConnectWithoutTeamInput[] + createMany?: MapVetoStepCreateManyTeamInputEnvelope + connect?: MapVetoStepWhereUniqueInput | MapVetoStepWhereUniqueInput[] + } + export type UserUncheckedCreateNestedManyWithoutTeamInput = { create?: XOR | UserCreateWithoutTeamInput[] | UserUncheckedCreateWithoutTeamInput[] connectOrCreate?: UserCreateOrConnectWithoutTeamInput | UserCreateOrConnectWithoutTeamInput[] @@ -19997,6 +23303,13 @@ export namespace Prisma { connect?: ScheduleWhereUniqueInput | ScheduleWhereUniqueInput[] } + export type MapVetoStepUncheckedCreateNestedManyWithoutTeamInput = { + create?: XOR | MapVetoStepCreateWithoutTeamInput[] | MapVetoStepUncheckedCreateWithoutTeamInput[] + connectOrCreate?: MapVetoStepCreateOrConnectWithoutTeamInput | MapVetoStepCreateOrConnectWithoutTeamInput[] + createMany?: MapVetoStepCreateManyTeamInputEnvelope + connect?: MapVetoStepWhereUniqueInput | MapVetoStepWhereUniqueInput[] + } + export type TeamUpdateactivePlayersInput = { set?: string[] push?: string | string[] @@ -20115,6 +23428,20 @@ export namespace Prisma { deleteMany?: ScheduleScalarWhereInput | ScheduleScalarWhereInput[] } + export type MapVetoStepUpdateManyWithoutTeamNestedInput = { + create?: XOR | MapVetoStepCreateWithoutTeamInput[] | MapVetoStepUncheckedCreateWithoutTeamInput[] + connectOrCreate?: MapVetoStepCreateOrConnectWithoutTeamInput | MapVetoStepCreateOrConnectWithoutTeamInput[] + upsert?: MapVetoStepUpsertWithWhereUniqueWithoutTeamInput | MapVetoStepUpsertWithWhereUniqueWithoutTeamInput[] + createMany?: MapVetoStepCreateManyTeamInputEnvelope + set?: MapVetoStepWhereUniqueInput | MapVetoStepWhereUniqueInput[] + disconnect?: MapVetoStepWhereUniqueInput | MapVetoStepWhereUniqueInput[] + delete?: MapVetoStepWhereUniqueInput | MapVetoStepWhereUniqueInput[] + connect?: MapVetoStepWhereUniqueInput | MapVetoStepWhereUniqueInput[] + update?: MapVetoStepUpdateWithWhereUniqueWithoutTeamInput | MapVetoStepUpdateWithWhereUniqueWithoutTeamInput[] + updateMany?: MapVetoStepUpdateManyWithWhereWithoutTeamInput | MapVetoStepUpdateManyWithWhereWithoutTeamInput[] + deleteMany?: MapVetoStepScalarWhereInput | MapVetoStepScalarWhereInput[] + } + export type UserUncheckedUpdateManyWithoutTeamNestedInput = { create?: XOR | UserCreateWithoutTeamInput[] | UserUncheckedCreateWithoutTeamInput[] connectOrCreate?: UserCreateOrConnectWithoutTeamInput | UserCreateOrConnectWithoutTeamInput[] @@ -20213,6 +23540,20 @@ export namespace Prisma { deleteMany?: ScheduleScalarWhereInput | ScheduleScalarWhereInput[] } + export type MapVetoStepUncheckedUpdateManyWithoutTeamNestedInput = { + create?: XOR | MapVetoStepCreateWithoutTeamInput[] | MapVetoStepUncheckedCreateWithoutTeamInput[] + connectOrCreate?: MapVetoStepCreateOrConnectWithoutTeamInput | MapVetoStepCreateOrConnectWithoutTeamInput[] + upsert?: MapVetoStepUpsertWithWhereUniqueWithoutTeamInput | MapVetoStepUpsertWithWhereUniqueWithoutTeamInput[] + createMany?: MapVetoStepCreateManyTeamInputEnvelope + set?: MapVetoStepWhereUniqueInput | MapVetoStepWhereUniqueInput[] + disconnect?: MapVetoStepWhereUniqueInput | MapVetoStepWhereUniqueInput[] + delete?: MapVetoStepWhereUniqueInput | MapVetoStepWhereUniqueInput[] + connect?: MapVetoStepWhereUniqueInput | MapVetoStepWhereUniqueInput[] + update?: MapVetoStepUpdateWithWhereUniqueWithoutTeamInput | MapVetoStepUpdateWithWhereUniqueWithoutTeamInput[] + updateMany?: MapVetoStepUpdateManyWithWhereWithoutTeamInput | MapVetoStepUpdateManyWithWhereWithoutTeamInput[] + deleteMany?: MapVetoStepScalarWhereInput | MapVetoStepScalarWhereInput[] + } + export type UserCreateNestedOneWithoutInvitesInput = { create?: XOR connectOrCreate?: UserCreateOrConnectWithoutInvitesInput @@ -20299,6 +23640,12 @@ export namespace Prisma { connect?: RankHistoryWhereUniqueInput | RankHistoryWhereUniqueInput[] } + export type MapVetoCreateNestedOneWithoutMatchInput = { + create?: XOR + connectOrCreate?: MapVetoCreateOrConnectWithoutMatchInput + connect?: MapVetoWhereUniqueInput + } + export type ScheduleCreateNestedOneWithoutLinkedMatchInput = { create?: XOR connectOrCreate?: ScheduleCreateOrConnectWithoutLinkedMatchInput @@ -20337,12 +23684,26 @@ export namespace Prisma { connect?: RankHistoryWhereUniqueInput | RankHistoryWhereUniqueInput[] } + export type MapVetoUncheckedCreateNestedOneWithoutMatchInput = { + create?: XOR + connectOrCreate?: MapVetoCreateOrConnectWithoutMatchInput + connect?: MapVetoWhereUniqueInput + } + export type ScheduleUncheckedCreateNestedOneWithoutLinkedMatchInput = { create?: XOR connectOrCreate?: ScheduleCreateOrConnectWithoutLinkedMatchInput connect?: ScheduleWhereUniqueInput } + export type IntFieldUpdateOperationsInput = { + set?: number + increment?: number + decrement?: number + multiply?: number + divide?: number + } + export type TeamUpdateOneWithoutMatchesAsTeamANestedInput = { create?: XOR connectOrCreate?: TeamCreateOrConnectWithoutMatchesAsTeamAInput @@ -20427,6 +23788,16 @@ export namespace Prisma { deleteMany?: RankHistoryScalarWhereInput | RankHistoryScalarWhereInput[] } + export type MapVetoUpdateOneWithoutMatchNestedInput = { + create?: XOR + connectOrCreate?: MapVetoCreateOrConnectWithoutMatchInput + upsert?: MapVetoUpsertWithoutMatchInput + disconnect?: MapVetoWhereInput | boolean + delete?: MapVetoWhereInput | boolean + connect?: MapVetoWhereUniqueInput + update?: XOR, MapVetoUncheckedUpdateWithoutMatchInput> + } + export type ScheduleUpdateOneWithoutLinkedMatchNestedInput = { create?: XOR connectOrCreate?: ScheduleCreateOrConnectWithoutLinkedMatchInput @@ -20501,6 +23872,16 @@ export namespace Prisma { deleteMany?: RankHistoryScalarWhereInput | RankHistoryScalarWhereInput[] } + export type MapVetoUncheckedUpdateOneWithoutMatchNestedInput = { + create?: XOR + connectOrCreate?: MapVetoCreateOrConnectWithoutMatchInput + upsert?: MapVetoUpsertWithoutMatchInput + disconnect?: MapVetoWhereInput | boolean + delete?: MapVetoWhereInput | boolean + connect?: MapVetoWhereUniqueInput + update?: XOR, MapVetoUncheckedUpdateWithoutMatchInput> + } + export type ScheduleUncheckedUpdateOneWithoutLinkedMatchNestedInput = { create?: XOR connectOrCreate?: ScheduleCreateOrConnectWithoutLinkedMatchInput @@ -20593,14 +23974,6 @@ export namespace Prisma { connect?: MatchPlayerWhereUniqueInput } - export type IntFieldUpdateOperationsInput = { - set?: number - increment?: number - decrement?: number - multiply?: number - divide?: number - } - export type FloatFieldUpdateOperationsInput = { set?: number increment?: number @@ -20779,6 +24152,121 @@ export namespace Prisma { update?: XOR, UserUncheckedUpdateWithoutServerRequestsInput> } + export type MapVetoCreatemapPoolInput = { + set: string[] + } + + export type MatchCreateNestedOneWithoutMapVetoInput = { + create?: XOR + connectOrCreate?: MatchCreateOrConnectWithoutMapVetoInput + connect?: MatchWhereUniqueInput + } + + export type MapVetoStepCreateNestedManyWithoutVetoInput = { + create?: XOR | MapVetoStepCreateWithoutVetoInput[] | MapVetoStepUncheckedCreateWithoutVetoInput[] + connectOrCreate?: MapVetoStepCreateOrConnectWithoutVetoInput | MapVetoStepCreateOrConnectWithoutVetoInput[] + createMany?: MapVetoStepCreateManyVetoInputEnvelope + connect?: MapVetoStepWhereUniqueInput | MapVetoStepWhereUniqueInput[] + } + + export type MapVetoStepUncheckedCreateNestedManyWithoutVetoInput = { + create?: XOR | MapVetoStepCreateWithoutVetoInput[] | MapVetoStepUncheckedCreateWithoutVetoInput[] + connectOrCreate?: MapVetoStepCreateOrConnectWithoutVetoInput | MapVetoStepCreateOrConnectWithoutVetoInput[] + createMany?: MapVetoStepCreateManyVetoInputEnvelope + connect?: MapVetoStepWhereUniqueInput | MapVetoStepWhereUniqueInput[] + } + + export type MapVetoUpdatemapPoolInput = { + set?: string[] + push?: string | string[] + } + + export type MatchUpdateOneRequiredWithoutMapVetoNestedInput = { + create?: XOR + connectOrCreate?: MatchCreateOrConnectWithoutMapVetoInput + upsert?: MatchUpsertWithoutMapVetoInput + connect?: MatchWhereUniqueInput + update?: XOR, MatchUncheckedUpdateWithoutMapVetoInput> + } + + export type MapVetoStepUpdateManyWithoutVetoNestedInput = { + create?: XOR | MapVetoStepCreateWithoutVetoInput[] | MapVetoStepUncheckedCreateWithoutVetoInput[] + connectOrCreate?: MapVetoStepCreateOrConnectWithoutVetoInput | MapVetoStepCreateOrConnectWithoutVetoInput[] + upsert?: MapVetoStepUpsertWithWhereUniqueWithoutVetoInput | MapVetoStepUpsertWithWhereUniqueWithoutVetoInput[] + createMany?: MapVetoStepCreateManyVetoInputEnvelope + set?: MapVetoStepWhereUniqueInput | MapVetoStepWhereUniqueInput[] + disconnect?: MapVetoStepWhereUniqueInput | MapVetoStepWhereUniqueInput[] + delete?: MapVetoStepWhereUniqueInput | MapVetoStepWhereUniqueInput[] + connect?: MapVetoStepWhereUniqueInput | MapVetoStepWhereUniqueInput[] + update?: MapVetoStepUpdateWithWhereUniqueWithoutVetoInput | MapVetoStepUpdateWithWhereUniqueWithoutVetoInput[] + updateMany?: MapVetoStepUpdateManyWithWhereWithoutVetoInput | MapVetoStepUpdateManyWithWhereWithoutVetoInput[] + deleteMany?: MapVetoStepScalarWhereInput | MapVetoStepScalarWhereInput[] + } + + export type MapVetoStepUncheckedUpdateManyWithoutVetoNestedInput = { + create?: XOR | MapVetoStepCreateWithoutVetoInput[] | MapVetoStepUncheckedCreateWithoutVetoInput[] + connectOrCreate?: MapVetoStepCreateOrConnectWithoutVetoInput | MapVetoStepCreateOrConnectWithoutVetoInput[] + upsert?: MapVetoStepUpsertWithWhereUniqueWithoutVetoInput | MapVetoStepUpsertWithWhereUniqueWithoutVetoInput[] + createMany?: MapVetoStepCreateManyVetoInputEnvelope + set?: MapVetoStepWhereUniqueInput | MapVetoStepWhereUniqueInput[] + disconnect?: MapVetoStepWhereUniqueInput | MapVetoStepWhereUniqueInput[] + delete?: MapVetoStepWhereUniqueInput | MapVetoStepWhereUniqueInput[] + connect?: MapVetoStepWhereUniqueInput | MapVetoStepWhereUniqueInput[] + update?: MapVetoStepUpdateWithWhereUniqueWithoutVetoInput | MapVetoStepUpdateWithWhereUniqueWithoutVetoInput[] + updateMany?: MapVetoStepUpdateManyWithWhereWithoutVetoInput | MapVetoStepUpdateManyWithWhereWithoutVetoInput[] + deleteMany?: MapVetoStepScalarWhereInput | MapVetoStepScalarWhereInput[] + } + + export type TeamCreateNestedOneWithoutMapVetoStepsInput = { + create?: XOR + connectOrCreate?: TeamCreateOrConnectWithoutMapVetoStepsInput + connect?: TeamWhereUniqueInput + } + + export type UserCreateNestedOneWithoutMapVetoChoicesInput = { + create?: XOR + connectOrCreate?: UserCreateOrConnectWithoutMapVetoChoicesInput + connect?: UserWhereUniqueInput + } + + export type MapVetoCreateNestedOneWithoutStepsInput = { + create?: XOR + connectOrCreate?: MapVetoCreateOrConnectWithoutStepsInput + connect?: MapVetoWhereUniqueInput + } + + export type EnumMapVetoActionFieldUpdateOperationsInput = { + set?: $Enums.MapVetoAction + } + + export type TeamUpdateOneWithoutMapVetoStepsNestedInput = { + create?: XOR + connectOrCreate?: TeamCreateOrConnectWithoutMapVetoStepsInput + upsert?: TeamUpsertWithoutMapVetoStepsInput + disconnect?: TeamWhereInput | boolean + delete?: TeamWhereInput | boolean + connect?: TeamWhereUniqueInput + update?: XOR, TeamUncheckedUpdateWithoutMapVetoStepsInput> + } + + export type UserUpdateOneWithoutMapVetoChoicesNestedInput = { + create?: XOR + connectOrCreate?: UserCreateOrConnectWithoutMapVetoChoicesInput + upsert?: UserUpsertWithoutMapVetoChoicesInput + disconnect?: UserWhereInput | boolean + delete?: UserWhereInput | boolean + connect?: UserWhereUniqueInput + update?: XOR, UserUncheckedUpdateWithoutMapVetoChoicesInput> + } + + export type MapVetoUpdateOneRequiredWithoutStepsNestedInput = { + create?: XOR + connectOrCreate?: MapVetoCreateOrConnectWithoutStepsInput + upsert?: MapVetoUpsertWithoutStepsInput + connect?: MapVetoWhereUniqueInput + update?: XOR, MapVetoUncheckedUpdateWithoutStepsInput> + } + export type NestedStringFilter<$PrismaModel = never> = { equals?: string | StringFieldRefInput<$PrismaModel> in?: string[] | ListStringFieldRefInput<$PrismaModel> @@ -20976,17 +24464,6 @@ export namespace Prisma { not?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter } - export type NestedFloatFilter<$PrismaModel = never> = { - equals?: number | FloatFieldRefInput<$PrismaModel> - in?: number[] | ListFloatFieldRefInput<$PrismaModel> - notIn?: number[] | ListFloatFieldRefInput<$PrismaModel> - lt?: number | FloatFieldRefInput<$PrismaModel> - lte?: number | FloatFieldRefInput<$PrismaModel> - gt?: number | FloatFieldRefInput<$PrismaModel> - gte?: number | FloatFieldRefInput<$PrismaModel> - not?: NestedFloatFilter<$PrismaModel> | number - } - export type NestedIntWithAggregatesFilter<$PrismaModel = never> = { equals?: number | IntFieldRefInput<$PrismaModel> in?: number[] | ListIntFieldRefInput<$PrismaModel> @@ -21003,6 +24480,17 @@ export namespace Prisma { _max?: NestedIntFilter<$PrismaModel> } + export type NestedFloatFilter<$PrismaModel = never> = { + equals?: number | FloatFieldRefInput<$PrismaModel> + in?: number[] | ListFloatFieldRefInput<$PrismaModel> + notIn?: number[] | ListFloatFieldRefInput<$PrismaModel> + lt?: number | FloatFieldRefInput<$PrismaModel> + lte?: number | FloatFieldRefInput<$PrismaModel> + gt?: number | FloatFieldRefInput<$PrismaModel> + gte?: number | FloatFieldRefInput<$PrismaModel> + not?: NestedFloatFilter<$PrismaModel> | number + } + export type NestedFloatWithAggregatesFilter<$PrismaModel = never> = { equals?: number | FloatFieldRefInput<$PrismaModel> in?: number[] | ListFloatFieldRefInput<$PrismaModel> @@ -21063,6 +24551,23 @@ export namespace Prisma { _max?: NestedBigIntFilter<$PrismaModel> } + export type NestedEnumMapVetoActionFilter<$PrismaModel = never> = { + equals?: $Enums.MapVetoAction | EnumMapVetoActionFieldRefInput<$PrismaModel> + in?: $Enums.MapVetoAction[] | ListEnumMapVetoActionFieldRefInput<$PrismaModel> + notIn?: $Enums.MapVetoAction[] | ListEnumMapVetoActionFieldRefInput<$PrismaModel> + not?: NestedEnumMapVetoActionFilter<$PrismaModel> | $Enums.MapVetoAction + } + + export type NestedEnumMapVetoActionWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.MapVetoAction | EnumMapVetoActionFieldRefInput<$PrismaModel> + in?: $Enums.MapVetoAction[] | ListEnumMapVetoActionFieldRefInput<$PrismaModel> + notIn?: $Enums.MapVetoAction[] | ListEnumMapVetoActionFieldRefInput<$PrismaModel> + not?: NestedEnumMapVetoActionWithAggregatesFilter<$PrismaModel> | $Enums.MapVetoAction + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedEnumMapVetoActionFilter<$PrismaModel> + _max?: NestedEnumMapVetoActionFilter<$PrismaModel> + } + export type TeamCreateWithoutMembersInput = { id?: string name: string @@ -21077,6 +24582,7 @@ export namespace Prisma { matchesAsTeamB?: MatchCreateNestedManyWithoutTeamBInput schedulesAsTeamA?: ScheduleCreateNestedManyWithoutTeamAInput schedulesAsTeamB?: ScheduleCreateNestedManyWithoutTeamBInput + mapVetoSteps?: MapVetoStepCreateNestedManyWithoutTeamInput } export type TeamUncheckedCreateWithoutMembersInput = { @@ -21093,6 +24599,7 @@ export namespace Prisma { matchesAsTeamB?: MatchUncheckedCreateNestedManyWithoutTeamBInput schedulesAsTeamA?: ScheduleUncheckedCreateNestedManyWithoutTeamAInput schedulesAsTeamB?: ScheduleUncheckedCreateNestedManyWithoutTeamBInput + mapVetoSteps?: MapVetoStepUncheckedCreateNestedManyWithoutTeamInput } export type TeamCreateOrConnectWithoutMembersInput = { @@ -21114,6 +24621,7 @@ export namespace Prisma { matchesAsTeamB?: MatchCreateNestedManyWithoutTeamBInput schedulesAsTeamA?: ScheduleCreateNestedManyWithoutTeamAInput schedulesAsTeamB?: ScheduleCreateNestedManyWithoutTeamBInput + mapVetoSteps?: MapVetoStepCreateNestedManyWithoutTeamInput } export type TeamUncheckedCreateWithoutLeaderInput = { @@ -21130,6 +24638,7 @@ export namespace Prisma { matchesAsTeamB?: MatchUncheckedCreateNestedManyWithoutTeamBInput schedulesAsTeamA?: ScheduleUncheckedCreateNestedManyWithoutTeamAInput schedulesAsTeamB?: ScheduleUncheckedCreateNestedManyWithoutTeamBInput + mapVetoSteps?: MapVetoStepUncheckedCreateNestedManyWithoutTeamInput } export type TeamCreateOrConnectWithoutLeaderInput = { @@ -21151,6 +24660,8 @@ export namespace Prisma { roundCount?: number | null roundHistory?: NullableJsonNullValueInput | InputJsonValue winnerTeam?: string | null + bestOf?: number + matchDate?: Date | string | null createdAt?: Date | string updatedAt?: Date | string teamA?: TeamCreateNestedOneWithoutMatchesAsTeamAInput @@ -21159,6 +24670,7 @@ export namespace Prisma { demoFile?: DemoFileCreateNestedOneWithoutMatchInput players?: MatchPlayerCreateNestedManyWithoutMatchInput rankUpdates?: RankHistoryCreateNestedManyWithoutMatchInput + mapVeto?: MapVetoCreateNestedOneWithoutMatchInput schedule?: ScheduleCreateNestedOneWithoutLinkedMatchInput } @@ -21178,12 +24690,15 @@ export namespace Prisma { roundCount?: number | null roundHistory?: NullableJsonNullValueInput | InputJsonValue winnerTeam?: string | null + bestOf?: number + matchDate?: Date | string | null createdAt?: Date | string updatedAt?: Date | string teamBUsers?: UserUncheckedCreateNestedManyWithoutMatchesAsTeamBInput demoFile?: DemoFileUncheckedCreateNestedOneWithoutMatchInput players?: MatchPlayerUncheckedCreateNestedManyWithoutMatchInput rankUpdates?: RankHistoryUncheckedCreateNestedManyWithoutMatchInput + mapVeto?: MapVetoUncheckedCreateNestedOneWithoutMatchInput schedule?: ScheduleUncheckedCreateNestedOneWithoutLinkedMatchInput } @@ -21206,6 +24721,8 @@ export namespace Prisma { roundCount?: number | null roundHistory?: NullableJsonNullValueInput | InputJsonValue winnerTeam?: string | null + bestOf?: number + matchDate?: Date | string | null createdAt?: Date | string updatedAt?: Date | string teamA?: TeamCreateNestedOneWithoutMatchesAsTeamAInput @@ -21214,6 +24731,7 @@ export namespace Prisma { demoFile?: DemoFileCreateNestedOneWithoutMatchInput players?: MatchPlayerCreateNestedManyWithoutMatchInput rankUpdates?: RankHistoryCreateNestedManyWithoutMatchInput + mapVeto?: MapVetoCreateNestedOneWithoutMatchInput schedule?: ScheduleCreateNestedOneWithoutLinkedMatchInput } @@ -21233,12 +24751,15 @@ export namespace Prisma { roundCount?: number | null roundHistory?: NullableJsonNullValueInput | InputJsonValue winnerTeam?: string | null + bestOf?: number + matchDate?: Date | string | null createdAt?: Date | string updatedAt?: Date | string teamAUsers?: UserUncheckedCreateNestedManyWithoutMatchesAsTeamAInput demoFile?: DemoFileUncheckedCreateNestedOneWithoutMatchInput players?: MatchPlayerUncheckedCreateNestedManyWithoutMatchInput rankUpdates?: RankHistoryUncheckedCreateNestedManyWithoutMatchInput + mapVeto?: MapVetoUncheckedCreateNestedOneWithoutMatchInput schedule?: ScheduleUncheckedCreateNestedOneWithoutLinkedMatchInput } @@ -21497,6 +25018,36 @@ export namespace Prisma { skipDuplicates?: boolean } + export type MapVetoStepCreateWithoutChooserInput = { + id?: string + order: number + action: $Enums.MapVetoAction + map?: string | null + chosenAt?: Date | string | null + team?: TeamCreateNestedOneWithoutMapVetoStepsInput + veto: MapVetoCreateNestedOneWithoutStepsInput + } + + export type MapVetoStepUncheckedCreateWithoutChooserInput = { + id?: string + vetoId: string + order: number + action: $Enums.MapVetoAction + teamId?: string | null + map?: string | null + chosenAt?: Date | string | null + } + + export type MapVetoStepCreateOrConnectWithoutChooserInput = { + where: MapVetoStepWhereUniqueInput + create: XOR + } + + export type MapVetoStepCreateManyChooserInputEnvelope = { + data: MapVetoStepCreateManyChooserInput | MapVetoStepCreateManyChooserInput[] + skipDuplicates?: boolean + } + export type TeamUpsertWithoutMembersInput = { update: XOR create: XOR @@ -21522,6 +25073,7 @@ export namespace Prisma { matchesAsTeamB?: MatchUpdateManyWithoutTeamBNestedInput schedulesAsTeamA?: ScheduleUpdateManyWithoutTeamANestedInput schedulesAsTeamB?: ScheduleUpdateManyWithoutTeamBNestedInput + mapVetoSteps?: MapVetoStepUpdateManyWithoutTeamNestedInput } export type TeamUncheckedUpdateWithoutMembersInput = { @@ -21538,6 +25090,7 @@ export namespace Prisma { matchesAsTeamB?: MatchUncheckedUpdateManyWithoutTeamBNestedInput schedulesAsTeamA?: ScheduleUncheckedUpdateManyWithoutTeamANestedInput schedulesAsTeamB?: ScheduleUncheckedUpdateManyWithoutTeamBNestedInput + mapVetoSteps?: MapVetoStepUncheckedUpdateManyWithoutTeamNestedInput } export type TeamUpsertWithoutLeaderInput = { @@ -21565,6 +25118,7 @@ export namespace Prisma { matchesAsTeamB?: MatchUpdateManyWithoutTeamBNestedInput schedulesAsTeamA?: ScheduleUpdateManyWithoutTeamANestedInput schedulesAsTeamB?: ScheduleUpdateManyWithoutTeamBNestedInput + mapVetoSteps?: MapVetoStepUpdateManyWithoutTeamNestedInput } export type TeamUncheckedUpdateWithoutLeaderInput = { @@ -21581,6 +25135,7 @@ export namespace Prisma { matchesAsTeamB?: MatchUncheckedUpdateManyWithoutTeamBNestedInput schedulesAsTeamA?: ScheduleUncheckedUpdateManyWithoutTeamANestedInput schedulesAsTeamB?: ScheduleUncheckedUpdateManyWithoutTeamBNestedInput + mapVetoSteps?: MapVetoStepUncheckedUpdateManyWithoutTeamNestedInput } export type MatchUpsertWithWhereUniqueWithoutTeamAUsersInput = { @@ -21618,6 +25173,8 @@ export namespace Prisma { roundCount?: IntNullableFilter<"Match"> | number | null roundHistory?: JsonNullableFilter<"Match"> winnerTeam?: StringNullableFilter<"Match"> | string | null + bestOf?: IntFilter<"Match"> | number + matchDate?: DateTimeNullableFilter<"Match"> | Date | string | null createdAt?: DateTimeFilter<"Match"> | Date | string updatedAt?: DateTimeFilter<"Match"> | Date | string } @@ -21863,6 +25420,36 @@ export namespace Prisma { data: XOR } + export type MapVetoStepUpsertWithWhereUniqueWithoutChooserInput = { + where: MapVetoStepWhereUniqueInput + update: XOR + create: XOR + } + + export type MapVetoStepUpdateWithWhereUniqueWithoutChooserInput = { + where: MapVetoStepWhereUniqueInput + data: XOR + } + + export type MapVetoStepUpdateManyWithWhereWithoutChooserInput = { + where: MapVetoStepScalarWhereInput + data: XOR + } + + export type MapVetoStepScalarWhereInput = { + AND?: MapVetoStepScalarWhereInput | MapVetoStepScalarWhereInput[] + OR?: MapVetoStepScalarWhereInput[] + NOT?: MapVetoStepScalarWhereInput | MapVetoStepScalarWhereInput[] + id?: StringFilter<"MapVetoStep"> | string + vetoId?: StringFilter<"MapVetoStep"> | string + order?: IntFilter<"MapVetoStep"> | number + action?: EnumMapVetoActionFilter<"MapVetoStep"> | $Enums.MapVetoAction + teamId?: StringNullableFilter<"MapVetoStep"> | string | null + map?: StringNullableFilter<"MapVetoStep"> | string | null + chosenAt?: DateTimeNullableFilter<"MapVetoStep"> | Date | string | null + chosenBy?: StringNullableFilter<"MapVetoStep"> | string | null + } + export type UserCreateWithoutLedTeamInput = { steamId: string name?: string | null @@ -21885,6 +25472,7 @@ export namespace Prisma { demoFiles?: DemoFileCreateNestedManyWithoutUserInput createdSchedules?: ScheduleCreateNestedManyWithoutCreatedByInput confirmedSchedules?: ScheduleCreateNestedManyWithoutConfirmedByInput + mapVetoChoices?: MapVetoStepCreateNestedManyWithoutChooserInput } export type UserUncheckedCreateWithoutLedTeamInput = { @@ -21909,6 +25497,7 @@ export namespace Prisma { demoFiles?: DemoFileUncheckedCreateNestedManyWithoutUserInput createdSchedules?: ScheduleUncheckedCreateNestedManyWithoutCreatedByInput confirmedSchedules?: ScheduleUncheckedCreateNestedManyWithoutConfirmedByInput + mapVetoChoices?: MapVetoStepUncheckedCreateNestedManyWithoutChooserInput } export type UserCreateOrConnectWithoutLedTeamInput = { @@ -21938,6 +25527,7 @@ export namespace Prisma { demoFiles?: DemoFileCreateNestedManyWithoutUserInput createdSchedules?: ScheduleCreateNestedManyWithoutCreatedByInput confirmedSchedules?: ScheduleCreateNestedManyWithoutConfirmedByInput + mapVetoChoices?: MapVetoStepCreateNestedManyWithoutChooserInput } export type UserUncheckedCreateWithoutTeamInput = { @@ -21962,6 +25552,7 @@ export namespace Prisma { demoFiles?: DemoFileUncheckedCreateNestedManyWithoutUserInput createdSchedules?: ScheduleUncheckedCreateNestedManyWithoutCreatedByInput confirmedSchedules?: ScheduleUncheckedCreateNestedManyWithoutConfirmedByInput + mapVetoChoices?: MapVetoStepUncheckedCreateNestedManyWithoutChooserInput } export type UserCreateOrConnectWithoutTeamInput = { @@ -22038,6 +25629,8 @@ export namespace Prisma { roundCount?: number | null roundHistory?: NullableJsonNullValueInput | InputJsonValue winnerTeam?: string | null + bestOf?: number + matchDate?: Date | string | null createdAt?: Date | string updatedAt?: Date | string teamB?: TeamCreateNestedOneWithoutMatchesAsTeamBInput @@ -22046,6 +25639,7 @@ export namespace Prisma { demoFile?: DemoFileCreateNestedOneWithoutMatchInput players?: MatchPlayerCreateNestedManyWithoutMatchInput rankUpdates?: RankHistoryCreateNestedManyWithoutMatchInput + mapVeto?: MapVetoCreateNestedOneWithoutMatchInput schedule?: ScheduleCreateNestedOneWithoutLinkedMatchInput } @@ -22064,6 +25658,8 @@ export namespace Prisma { roundCount?: number | null roundHistory?: NullableJsonNullValueInput | InputJsonValue winnerTeam?: string | null + bestOf?: number + matchDate?: Date | string | null createdAt?: Date | string updatedAt?: Date | string teamAUsers?: UserUncheckedCreateNestedManyWithoutMatchesAsTeamAInput @@ -22071,6 +25667,7 @@ export namespace Prisma { demoFile?: DemoFileUncheckedCreateNestedOneWithoutMatchInput players?: MatchPlayerUncheckedCreateNestedManyWithoutMatchInput rankUpdates?: RankHistoryUncheckedCreateNestedManyWithoutMatchInput + mapVeto?: MapVetoUncheckedCreateNestedOneWithoutMatchInput schedule?: ScheduleUncheckedCreateNestedOneWithoutLinkedMatchInput } @@ -22098,6 +25695,8 @@ export namespace Prisma { roundCount?: number | null roundHistory?: NullableJsonNullValueInput | InputJsonValue winnerTeam?: string | null + bestOf?: number + matchDate?: Date | string | null createdAt?: Date | string updatedAt?: Date | string teamA?: TeamCreateNestedOneWithoutMatchesAsTeamAInput @@ -22106,6 +25705,7 @@ export namespace Prisma { demoFile?: DemoFileCreateNestedOneWithoutMatchInput players?: MatchPlayerCreateNestedManyWithoutMatchInput rankUpdates?: RankHistoryCreateNestedManyWithoutMatchInput + mapVeto?: MapVetoCreateNestedOneWithoutMatchInput schedule?: ScheduleCreateNestedOneWithoutLinkedMatchInput } @@ -22124,6 +25724,8 @@ export namespace Prisma { roundCount?: number | null roundHistory?: NullableJsonNullValueInput | InputJsonValue winnerTeam?: string | null + bestOf?: number + matchDate?: Date | string | null createdAt?: Date | string updatedAt?: Date | string teamAUsers?: UserUncheckedCreateNestedManyWithoutMatchesAsTeamAInput @@ -22131,6 +25733,7 @@ export namespace Prisma { demoFile?: DemoFileUncheckedCreateNestedOneWithoutMatchInput players?: MatchPlayerUncheckedCreateNestedManyWithoutMatchInput rankUpdates?: RankHistoryUncheckedCreateNestedManyWithoutMatchInput + mapVeto?: MapVetoUncheckedCreateNestedOneWithoutMatchInput schedule?: ScheduleUncheckedCreateNestedOneWithoutLinkedMatchInput } @@ -22224,6 +25827,36 @@ export namespace Prisma { skipDuplicates?: boolean } + export type MapVetoStepCreateWithoutTeamInput = { + id?: string + order: number + action: $Enums.MapVetoAction + map?: string | null + chosenAt?: Date | string | null + chooser?: UserCreateNestedOneWithoutMapVetoChoicesInput + veto: MapVetoCreateNestedOneWithoutStepsInput + } + + export type MapVetoStepUncheckedCreateWithoutTeamInput = { + id?: string + vetoId: string + order: number + action: $Enums.MapVetoAction + map?: string | null + chosenAt?: Date | string | null + chosenBy?: string | null + } + + export type MapVetoStepCreateOrConnectWithoutTeamInput = { + where: MapVetoStepWhereUniqueInput + create: XOR + } + + export type MapVetoStepCreateManyTeamInputEnvelope = { + data: MapVetoStepCreateManyTeamInput | MapVetoStepCreateManyTeamInput[] + skipDuplicates?: boolean + } + export type UserUpsertWithoutLedTeamInput = { update: XOR create: XOR @@ -22257,6 +25890,7 @@ export namespace Prisma { demoFiles?: DemoFileUpdateManyWithoutUserNestedInput createdSchedules?: ScheduleUpdateManyWithoutCreatedByNestedInput confirmedSchedules?: ScheduleUpdateManyWithoutConfirmedByNestedInput + mapVetoChoices?: MapVetoStepUpdateManyWithoutChooserNestedInput } export type UserUncheckedUpdateWithoutLedTeamInput = { @@ -22281,6 +25915,7 @@ export namespace Prisma { demoFiles?: DemoFileUncheckedUpdateManyWithoutUserNestedInput createdSchedules?: ScheduleUncheckedUpdateManyWithoutCreatedByNestedInput confirmedSchedules?: ScheduleUncheckedUpdateManyWithoutConfirmedByNestedInput + mapVetoChoices?: MapVetoStepUncheckedUpdateManyWithoutChooserNestedInput } export type UserUpsertWithWhereUniqueWithoutTeamInput = { @@ -22412,6 +26047,22 @@ export namespace Prisma { data: XOR } + export type MapVetoStepUpsertWithWhereUniqueWithoutTeamInput = { + where: MapVetoStepWhereUniqueInput + update: XOR + create: XOR + } + + export type MapVetoStepUpdateWithWhereUniqueWithoutTeamInput = { + where: MapVetoStepWhereUniqueInput + data: XOR + } + + export type MapVetoStepUpdateManyWithWhereWithoutTeamInput = { + where: MapVetoStepScalarWhereInput + data: XOR + } + export type UserCreateWithoutInvitesInput = { steamId: string name?: string | null @@ -22434,6 +26085,7 @@ export namespace Prisma { demoFiles?: DemoFileCreateNestedManyWithoutUserInput createdSchedules?: ScheduleCreateNestedManyWithoutCreatedByInput confirmedSchedules?: ScheduleCreateNestedManyWithoutConfirmedByInput + mapVetoChoices?: MapVetoStepCreateNestedManyWithoutChooserInput } export type UserUncheckedCreateWithoutInvitesInput = { @@ -22458,6 +26110,7 @@ export namespace Prisma { demoFiles?: DemoFileUncheckedCreateNestedManyWithoutUserInput createdSchedules?: ScheduleUncheckedCreateNestedManyWithoutCreatedByInput confirmedSchedules?: ScheduleUncheckedCreateNestedManyWithoutConfirmedByInput + mapVetoChoices?: MapVetoStepUncheckedCreateNestedManyWithoutChooserInput } export type UserCreateOrConnectWithoutInvitesInput = { @@ -22479,6 +26132,7 @@ export namespace Prisma { matchesAsTeamB?: MatchCreateNestedManyWithoutTeamBInput schedulesAsTeamA?: ScheduleCreateNestedManyWithoutTeamAInput schedulesAsTeamB?: ScheduleCreateNestedManyWithoutTeamBInput + mapVetoSteps?: MapVetoStepCreateNestedManyWithoutTeamInput } export type TeamUncheckedCreateWithoutInvitesInput = { @@ -22495,6 +26149,7 @@ export namespace Prisma { matchesAsTeamB?: MatchUncheckedCreateNestedManyWithoutTeamBInput schedulesAsTeamA?: ScheduleUncheckedCreateNestedManyWithoutTeamAInput schedulesAsTeamB?: ScheduleUncheckedCreateNestedManyWithoutTeamBInput + mapVetoSteps?: MapVetoStepUncheckedCreateNestedManyWithoutTeamInput } export type TeamCreateOrConnectWithoutInvitesInput = { @@ -22535,6 +26190,7 @@ export namespace Prisma { demoFiles?: DemoFileUpdateManyWithoutUserNestedInput createdSchedules?: ScheduleUpdateManyWithoutCreatedByNestedInput confirmedSchedules?: ScheduleUpdateManyWithoutConfirmedByNestedInput + mapVetoChoices?: MapVetoStepUpdateManyWithoutChooserNestedInput } export type UserUncheckedUpdateWithoutInvitesInput = { @@ -22559,6 +26215,7 @@ export namespace Prisma { demoFiles?: DemoFileUncheckedUpdateManyWithoutUserNestedInput createdSchedules?: ScheduleUncheckedUpdateManyWithoutCreatedByNestedInput confirmedSchedules?: ScheduleUncheckedUpdateManyWithoutConfirmedByNestedInput + mapVetoChoices?: MapVetoStepUncheckedUpdateManyWithoutChooserNestedInput } export type TeamUpsertWithoutInvitesInput = { @@ -22586,6 +26243,7 @@ export namespace Prisma { matchesAsTeamB?: MatchUpdateManyWithoutTeamBNestedInput schedulesAsTeamA?: ScheduleUpdateManyWithoutTeamANestedInput schedulesAsTeamB?: ScheduleUpdateManyWithoutTeamBNestedInput + mapVetoSteps?: MapVetoStepUpdateManyWithoutTeamNestedInput } export type TeamUncheckedUpdateWithoutInvitesInput = { @@ -22602,6 +26260,7 @@ export namespace Prisma { matchesAsTeamB?: MatchUncheckedUpdateManyWithoutTeamBNestedInput schedulesAsTeamA?: ScheduleUncheckedUpdateManyWithoutTeamANestedInput schedulesAsTeamB?: ScheduleUncheckedUpdateManyWithoutTeamBNestedInput + mapVetoSteps?: MapVetoStepUncheckedUpdateManyWithoutTeamNestedInput } export type UserCreateWithoutNotificationsInput = { @@ -22626,6 +26285,7 @@ export namespace Prisma { demoFiles?: DemoFileCreateNestedManyWithoutUserInput createdSchedules?: ScheduleCreateNestedManyWithoutCreatedByInput confirmedSchedules?: ScheduleCreateNestedManyWithoutConfirmedByInput + mapVetoChoices?: MapVetoStepCreateNestedManyWithoutChooserInput } export type UserUncheckedCreateWithoutNotificationsInput = { @@ -22650,6 +26310,7 @@ export namespace Prisma { demoFiles?: DemoFileUncheckedCreateNestedManyWithoutUserInput createdSchedules?: ScheduleUncheckedCreateNestedManyWithoutCreatedByInput confirmedSchedules?: ScheduleUncheckedCreateNestedManyWithoutConfirmedByInput + mapVetoChoices?: MapVetoStepUncheckedCreateNestedManyWithoutChooserInput } export type UserCreateOrConnectWithoutNotificationsInput = { @@ -22690,6 +26351,7 @@ export namespace Prisma { demoFiles?: DemoFileUpdateManyWithoutUserNestedInput createdSchedules?: ScheduleUpdateManyWithoutCreatedByNestedInput confirmedSchedules?: ScheduleUpdateManyWithoutConfirmedByNestedInput + mapVetoChoices?: MapVetoStepUpdateManyWithoutChooserNestedInput } export type UserUncheckedUpdateWithoutNotificationsInput = { @@ -22714,6 +26376,7 @@ export namespace Prisma { demoFiles?: DemoFileUncheckedUpdateManyWithoutUserNestedInput createdSchedules?: ScheduleUncheckedUpdateManyWithoutCreatedByNestedInput confirmedSchedules?: ScheduleUncheckedUpdateManyWithoutConfirmedByNestedInput + mapVetoChoices?: MapVetoStepUncheckedUpdateManyWithoutChooserNestedInput } export type TeamCreateWithoutMatchesAsTeamAInput = { @@ -22730,6 +26393,7 @@ export namespace Prisma { matchesAsTeamB?: MatchCreateNestedManyWithoutTeamBInput schedulesAsTeamA?: ScheduleCreateNestedManyWithoutTeamAInput schedulesAsTeamB?: ScheduleCreateNestedManyWithoutTeamBInput + mapVetoSteps?: MapVetoStepCreateNestedManyWithoutTeamInput } export type TeamUncheckedCreateWithoutMatchesAsTeamAInput = { @@ -22746,6 +26410,7 @@ export namespace Prisma { matchesAsTeamB?: MatchUncheckedCreateNestedManyWithoutTeamBInput schedulesAsTeamA?: ScheduleUncheckedCreateNestedManyWithoutTeamAInput schedulesAsTeamB?: ScheduleUncheckedCreateNestedManyWithoutTeamBInput + mapVetoSteps?: MapVetoStepUncheckedCreateNestedManyWithoutTeamInput } export type TeamCreateOrConnectWithoutMatchesAsTeamAInput = { @@ -22767,6 +26432,7 @@ export namespace Prisma { matchesAsTeamA?: MatchCreateNestedManyWithoutTeamAInput schedulesAsTeamA?: ScheduleCreateNestedManyWithoutTeamAInput schedulesAsTeamB?: ScheduleCreateNestedManyWithoutTeamBInput + mapVetoSteps?: MapVetoStepCreateNestedManyWithoutTeamInput } export type TeamUncheckedCreateWithoutMatchesAsTeamBInput = { @@ -22783,6 +26449,7 @@ export namespace Prisma { matchesAsTeamA?: MatchUncheckedCreateNestedManyWithoutTeamAInput schedulesAsTeamA?: ScheduleUncheckedCreateNestedManyWithoutTeamAInput schedulesAsTeamB?: ScheduleUncheckedCreateNestedManyWithoutTeamBInput + mapVetoSteps?: MapVetoStepUncheckedCreateNestedManyWithoutTeamInput } export type TeamCreateOrConnectWithoutMatchesAsTeamBInput = { @@ -22812,6 +26479,7 @@ export namespace Prisma { demoFiles?: DemoFileCreateNestedManyWithoutUserInput createdSchedules?: ScheduleCreateNestedManyWithoutCreatedByInput confirmedSchedules?: ScheduleCreateNestedManyWithoutConfirmedByInput + mapVetoChoices?: MapVetoStepCreateNestedManyWithoutChooserInput } export type UserUncheckedCreateWithoutMatchesAsTeamAInput = { @@ -22836,6 +26504,7 @@ export namespace Prisma { demoFiles?: DemoFileUncheckedCreateNestedManyWithoutUserInput createdSchedules?: ScheduleUncheckedCreateNestedManyWithoutCreatedByInput confirmedSchedules?: ScheduleUncheckedCreateNestedManyWithoutConfirmedByInput + mapVetoChoices?: MapVetoStepUncheckedCreateNestedManyWithoutChooserInput } export type UserCreateOrConnectWithoutMatchesAsTeamAInput = { @@ -22865,6 +26534,7 @@ export namespace Prisma { demoFiles?: DemoFileCreateNestedManyWithoutUserInput createdSchedules?: ScheduleCreateNestedManyWithoutCreatedByInput confirmedSchedules?: ScheduleCreateNestedManyWithoutConfirmedByInput + mapVetoChoices?: MapVetoStepCreateNestedManyWithoutChooserInput } export type UserUncheckedCreateWithoutMatchesAsTeamBInput = { @@ -22889,6 +26559,7 @@ export namespace Prisma { demoFiles?: DemoFileUncheckedCreateNestedManyWithoutUserInput createdSchedules?: ScheduleUncheckedCreateNestedManyWithoutCreatedByInput confirmedSchedules?: ScheduleUncheckedCreateNestedManyWithoutConfirmedByInput + mapVetoChoices?: MapVetoStepUncheckedCreateNestedManyWithoutChooserInput } export type UserCreateOrConnectWithoutMatchesAsTeamBInput = { @@ -22975,6 +26646,35 @@ export namespace Prisma { skipDuplicates?: boolean } + export type MapVetoCreateWithoutMatchInput = { + id?: string + bestOf?: number + mapPool?: MapVetoCreatemapPoolInput | string[] + currentIdx?: number + locked?: boolean + opensAt?: Date | string | null + createdAt?: Date | string + updatedAt?: Date | string + steps?: MapVetoStepCreateNestedManyWithoutVetoInput + } + + export type MapVetoUncheckedCreateWithoutMatchInput = { + id?: string + bestOf?: number + mapPool?: MapVetoCreatemapPoolInput | string[] + currentIdx?: number + locked?: boolean + opensAt?: Date | string | null + createdAt?: Date | string + updatedAt?: Date | string + steps?: MapVetoStepUncheckedCreateNestedManyWithoutVetoInput + } + + export type MapVetoCreateOrConnectWithoutMatchInput = { + where: MapVetoWhereUniqueInput + create: XOR + } + export type ScheduleCreateWithoutLinkedMatchInput = { id?: string title: string @@ -23035,6 +26735,7 @@ export namespace Prisma { matchesAsTeamB?: MatchUpdateManyWithoutTeamBNestedInput schedulesAsTeamA?: ScheduleUpdateManyWithoutTeamANestedInput schedulesAsTeamB?: ScheduleUpdateManyWithoutTeamBNestedInput + mapVetoSteps?: MapVetoStepUpdateManyWithoutTeamNestedInput } export type TeamUncheckedUpdateWithoutMatchesAsTeamAInput = { @@ -23051,6 +26752,7 @@ export namespace Prisma { matchesAsTeamB?: MatchUncheckedUpdateManyWithoutTeamBNestedInput schedulesAsTeamA?: ScheduleUncheckedUpdateManyWithoutTeamANestedInput schedulesAsTeamB?: ScheduleUncheckedUpdateManyWithoutTeamBNestedInput + mapVetoSteps?: MapVetoStepUncheckedUpdateManyWithoutTeamNestedInput } export type TeamUpsertWithoutMatchesAsTeamBInput = { @@ -23078,6 +26780,7 @@ export namespace Prisma { matchesAsTeamA?: MatchUpdateManyWithoutTeamANestedInput schedulesAsTeamA?: ScheduleUpdateManyWithoutTeamANestedInput schedulesAsTeamB?: ScheduleUpdateManyWithoutTeamBNestedInput + mapVetoSteps?: MapVetoStepUpdateManyWithoutTeamNestedInput } export type TeamUncheckedUpdateWithoutMatchesAsTeamBInput = { @@ -23094,6 +26797,7 @@ export namespace Prisma { matchesAsTeamA?: MatchUncheckedUpdateManyWithoutTeamANestedInput schedulesAsTeamA?: ScheduleUncheckedUpdateManyWithoutTeamANestedInput schedulesAsTeamB?: ScheduleUncheckedUpdateManyWithoutTeamBNestedInput + mapVetoSteps?: MapVetoStepUncheckedUpdateManyWithoutTeamNestedInput } export type UserUpsertWithWhereUniqueWithoutMatchesAsTeamAInput = { @@ -23189,6 +26893,41 @@ export namespace Prisma { data: XOR } + export type MapVetoUpsertWithoutMatchInput = { + update: XOR + create: XOR + where?: MapVetoWhereInput + } + + export type MapVetoUpdateToOneWithWhereWithoutMatchInput = { + where?: MapVetoWhereInput + data: XOR + } + + export type MapVetoUpdateWithoutMatchInput = { + id?: StringFieldUpdateOperationsInput | string + bestOf?: IntFieldUpdateOperationsInput | number + mapPool?: MapVetoUpdatemapPoolInput | string[] + currentIdx?: IntFieldUpdateOperationsInput | number + locked?: BoolFieldUpdateOperationsInput | boolean + opensAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + steps?: MapVetoStepUpdateManyWithoutVetoNestedInput + } + + export type MapVetoUncheckedUpdateWithoutMatchInput = { + id?: StringFieldUpdateOperationsInput | string + bestOf?: IntFieldUpdateOperationsInput | number + mapPool?: MapVetoUpdatemapPoolInput | string[] + currentIdx?: IntFieldUpdateOperationsInput | number + locked?: BoolFieldUpdateOperationsInput | boolean + opensAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + steps?: MapVetoStepUncheckedUpdateManyWithoutVetoNestedInput + } + export type ScheduleUpsertWithoutLinkedMatchInput = { update: XOR create: XOR @@ -23244,6 +26983,7 @@ export namespace Prisma { matchesAsTeamB?: MatchCreateNestedManyWithoutTeamBInput schedulesAsTeamA?: ScheduleCreateNestedManyWithoutTeamAInput schedulesAsTeamB?: ScheduleCreateNestedManyWithoutTeamBInput + mapVetoSteps?: MapVetoStepCreateNestedManyWithoutTeamInput } export type TeamUncheckedCreateWithoutMatchPlayersInput = { @@ -23260,6 +27000,7 @@ export namespace Prisma { matchesAsTeamB?: MatchUncheckedCreateNestedManyWithoutTeamBInput schedulesAsTeamA?: ScheduleUncheckedCreateNestedManyWithoutTeamAInput schedulesAsTeamB?: ScheduleUncheckedCreateNestedManyWithoutTeamBInput + mapVetoSteps?: MapVetoStepUncheckedCreateNestedManyWithoutTeamInput } export type TeamCreateOrConnectWithoutMatchPlayersInput = { @@ -23281,6 +27022,8 @@ export namespace Prisma { roundCount?: number | null roundHistory?: NullableJsonNullValueInput | InputJsonValue winnerTeam?: string | null + bestOf?: number + matchDate?: Date | string | null createdAt?: Date | string updatedAt?: Date | string teamA?: TeamCreateNestedOneWithoutMatchesAsTeamAInput @@ -23289,6 +27032,7 @@ export namespace Prisma { teamBUsers?: UserCreateNestedManyWithoutMatchesAsTeamBInput demoFile?: DemoFileCreateNestedOneWithoutMatchInput rankUpdates?: RankHistoryCreateNestedManyWithoutMatchInput + mapVeto?: MapVetoCreateNestedOneWithoutMatchInput schedule?: ScheduleCreateNestedOneWithoutLinkedMatchInput } @@ -23308,12 +27052,15 @@ export namespace Prisma { roundCount?: number | null roundHistory?: NullableJsonNullValueInput | InputJsonValue winnerTeam?: string | null + bestOf?: number + matchDate?: Date | string | null createdAt?: Date | string updatedAt?: Date | string teamAUsers?: UserUncheckedCreateNestedManyWithoutMatchesAsTeamAInput teamBUsers?: UserUncheckedCreateNestedManyWithoutMatchesAsTeamBInput demoFile?: DemoFileUncheckedCreateNestedOneWithoutMatchInput rankUpdates?: RankHistoryUncheckedCreateNestedManyWithoutMatchInput + mapVeto?: MapVetoUncheckedCreateNestedOneWithoutMatchInput schedule?: ScheduleUncheckedCreateNestedOneWithoutLinkedMatchInput } @@ -23344,6 +27091,7 @@ export namespace Prisma { demoFiles?: DemoFileCreateNestedManyWithoutUserInput createdSchedules?: ScheduleCreateNestedManyWithoutCreatedByInput confirmedSchedules?: ScheduleCreateNestedManyWithoutConfirmedByInput + mapVetoChoices?: MapVetoStepCreateNestedManyWithoutChooserInput } export type UserUncheckedCreateWithoutMatchPlayersInput = { @@ -23368,6 +27116,7 @@ export namespace Prisma { demoFiles?: DemoFileUncheckedCreateNestedManyWithoutUserInput createdSchedules?: ScheduleUncheckedCreateNestedManyWithoutCreatedByInput confirmedSchedules?: ScheduleUncheckedCreateNestedManyWithoutConfirmedByInput + mapVetoChoices?: MapVetoStepUncheckedCreateNestedManyWithoutChooserInput } export type UserCreateOrConnectWithoutMatchPlayersInput = { @@ -23469,6 +27218,7 @@ export namespace Prisma { matchesAsTeamB?: MatchUpdateManyWithoutTeamBNestedInput schedulesAsTeamA?: ScheduleUpdateManyWithoutTeamANestedInput schedulesAsTeamB?: ScheduleUpdateManyWithoutTeamBNestedInput + mapVetoSteps?: MapVetoStepUpdateManyWithoutTeamNestedInput } export type TeamUncheckedUpdateWithoutMatchPlayersInput = { @@ -23485,6 +27235,7 @@ export namespace Prisma { matchesAsTeamB?: MatchUncheckedUpdateManyWithoutTeamBNestedInput schedulesAsTeamA?: ScheduleUncheckedUpdateManyWithoutTeamANestedInput schedulesAsTeamB?: ScheduleUncheckedUpdateManyWithoutTeamBNestedInput + mapVetoSteps?: MapVetoStepUncheckedUpdateManyWithoutTeamNestedInput } export type MatchUpsertWithoutPlayersInput = { @@ -23512,6 +27263,8 @@ export namespace Prisma { roundCount?: NullableIntFieldUpdateOperationsInput | number | null roundHistory?: NullableJsonNullValueInput | InputJsonValue winnerTeam?: NullableStringFieldUpdateOperationsInput | string | null + bestOf?: IntFieldUpdateOperationsInput | number + matchDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string teamA?: TeamUpdateOneWithoutMatchesAsTeamANestedInput @@ -23520,6 +27273,7 @@ export namespace Prisma { teamBUsers?: UserUpdateManyWithoutMatchesAsTeamBNestedInput demoFile?: DemoFileUpdateOneWithoutMatchNestedInput rankUpdates?: RankHistoryUpdateManyWithoutMatchNestedInput + mapVeto?: MapVetoUpdateOneWithoutMatchNestedInput schedule?: ScheduleUpdateOneWithoutLinkedMatchNestedInput } @@ -23539,12 +27293,15 @@ export namespace Prisma { roundCount?: NullableIntFieldUpdateOperationsInput | number | null roundHistory?: NullableJsonNullValueInput | InputJsonValue winnerTeam?: NullableStringFieldUpdateOperationsInput | string | null + bestOf?: IntFieldUpdateOperationsInput | number + matchDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string teamAUsers?: UserUncheckedUpdateManyWithoutMatchesAsTeamANestedInput teamBUsers?: UserUncheckedUpdateManyWithoutMatchesAsTeamBNestedInput demoFile?: DemoFileUncheckedUpdateOneWithoutMatchNestedInput rankUpdates?: RankHistoryUncheckedUpdateManyWithoutMatchNestedInput + mapVeto?: MapVetoUncheckedUpdateOneWithoutMatchNestedInput schedule?: ScheduleUncheckedUpdateOneWithoutLinkedMatchNestedInput } @@ -23581,6 +27338,7 @@ export namespace Prisma { demoFiles?: DemoFileUpdateManyWithoutUserNestedInput createdSchedules?: ScheduleUpdateManyWithoutCreatedByNestedInput confirmedSchedules?: ScheduleUpdateManyWithoutConfirmedByNestedInput + mapVetoChoices?: MapVetoStepUpdateManyWithoutChooserNestedInput } export type UserUncheckedUpdateWithoutMatchPlayersInput = { @@ -23605,6 +27363,7 @@ export namespace Prisma { demoFiles?: DemoFileUncheckedUpdateManyWithoutUserNestedInput createdSchedules?: ScheduleUncheckedUpdateManyWithoutCreatedByNestedInput confirmedSchedules?: ScheduleUncheckedUpdateManyWithoutConfirmedByNestedInput + mapVetoChoices?: MapVetoStepUncheckedUpdateManyWithoutChooserNestedInput } export type PlayerStatsUpsertWithoutMatchPlayerInput = { @@ -23752,6 +27511,7 @@ export namespace Prisma { demoFiles?: DemoFileCreateNestedManyWithoutUserInput createdSchedules?: ScheduleCreateNestedManyWithoutCreatedByInput confirmedSchedules?: ScheduleCreateNestedManyWithoutConfirmedByInput + mapVetoChoices?: MapVetoStepCreateNestedManyWithoutChooserInput } export type UserUncheckedCreateWithoutRankHistoryInput = { @@ -23776,6 +27536,7 @@ export namespace Prisma { demoFiles?: DemoFileUncheckedCreateNestedManyWithoutUserInput createdSchedules?: ScheduleUncheckedCreateNestedManyWithoutCreatedByInput confirmedSchedules?: ScheduleUncheckedCreateNestedManyWithoutConfirmedByInput + mapVetoChoices?: MapVetoStepUncheckedCreateNestedManyWithoutChooserInput } export type UserCreateOrConnectWithoutRankHistoryInput = { @@ -23797,6 +27558,8 @@ export namespace Prisma { roundCount?: number | null roundHistory?: NullableJsonNullValueInput | InputJsonValue winnerTeam?: string | null + bestOf?: number + matchDate?: Date | string | null createdAt?: Date | string updatedAt?: Date | string teamA?: TeamCreateNestedOneWithoutMatchesAsTeamAInput @@ -23805,6 +27568,7 @@ export namespace Prisma { teamBUsers?: UserCreateNestedManyWithoutMatchesAsTeamBInput demoFile?: DemoFileCreateNestedOneWithoutMatchInput players?: MatchPlayerCreateNestedManyWithoutMatchInput + mapVeto?: MapVetoCreateNestedOneWithoutMatchInput schedule?: ScheduleCreateNestedOneWithoutLinkedMatchInput } @@ -23824,12 +27588,15 @@ export namespace Prisma { roundCount?: number | null roundHistory?: NullableJsonNullValueInput | InputJsonValue winnerTeam?: string | null + bestOf?: number + matchDate?: Date | string | null createdAt?: Date | string updatedAt?: Date | string teamAUsers?: UserUncheckedCreateNestedManyWithoutMatchesAsTeamAInput teamBUsers?: UserUncheckedCreateNestedManyWithoutMatchesAsTeamBInput demoFile?: DemoFileUncheckedCreateNestedOneWithoutMatchInput players?: MatchPlayerUncheckedCreateNestedManyWithoutMatchInput + mapVeto?: MapVetoUncheckedCreateNestedOneWithoutMatchInput schedule?: ScheduleUncheckedCreateNestedOneWithoutLinkedMatchInput } @@ -23871,6 +27638,7 @@ export namespace Prisma { demoFiles?: DemoFileUpdateManyWithoutUserNestedInput createdSchedules?: ScheduleUpdateManyWithoutCreatedByNestedInput confirmedSchedules?: ScheduleUpdateManyWithoutConfirmedByNestedInput + mapVetoChoices?: MapVetoStepUpdateManyWithoutChooserNestedInput } export type UserUncheckedUpdateWithoutRankHistoryInput = { @@ -23895,6 +27663,7 @@ export namespace Prisma { demoFiles?: DemoFileUncheckedUpdateManyWithoutUserNestedInput createdSchedules?: ScheduleUncheckedUpdateManyWithoutCreatedByNestedInput confirmedSchedules?: ScheduleUncheckedUpdateManyWithoutConfirmedByNestedInput + mapVetoChoices?: MapVetoStepUncheckedUpdateManyWithoutChooserNestedInput } export type MatchUpsertWithoutRankUpdatesInput = { @@ -23922,6 +27691,8 @@ export namespace Prisma { roundCount?: NullableIntFieldUpdateOperationsInput | number | null roundHistory?: NullableJsonNullValueInput | InputJsonValue winnerTeam?: NullableStringFieldUpdateOperationsInput | string | null + bestOf?: IntFieldUpdateOperationsInput | number + matchDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string teamA?: TeamUpdateOneWithoutMatchesAsTeamANestedInput @@ -23930,6 +27701,7 @@ export namespace Prisma { teamBUsers?: UserUpdateManyWithoutMatchesAsTeamBNestedInput demoFile?: DemoFileUpdateOneWithoutMatchNestedInput players?: MatchPlayerUpdateManyWithoutMatchNestedInput + mapVeto?: MapVetoUpdateOneWithoutMatchNestedInput schedule?: ScheduleUpdateOneWithoutLinkedMatchNestedInput } @@ -23949,12 +27721,15 @@ export namespace Prisma { roundCount?: NullableIntFieldUpdateOperationsInput | number | null roundHistory?: NullableJsonNullValueInput | InputJsonValue winnerTeam?: NullableStringFieldUpdateOperationsInput | string | null + bestOf?: IntFieldUpdateOperationsInput | number + matchDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string teamAUsers?: UserUncheckedUpdateManyWithoutMatchesAsTeamANestedInput teamBUsers?: UserUncheckedUpdateManyWithoutMatchesAsTeamBNestedInput demoFile?: DemoFileUncheckedUpdateOneWithoutMatchNestedInput players?: MatchPlayerUncheckedUpdateManyWithoutMatchNestedInput + mapVeto?: MapVetoUncheckedUpdateOneWithoutMatchNestedInput schedule?: ScheduleUncheckedUpdateOneWithoutLinkedMatchNestedInput } @@ -23972,6 +27747,7 @@ export namespace Prisma { matchesAsTeamA?: MatchCreateNestedManyWithoutTeamAInput matchesAsTeamB?: MatchCreateNestedManyWithoutTeamBInput schedulesAsTeamB?: ScheduleCreateNestedManyWithoutTeamBInput + mapVetoSteps?: MapVetoStepCreateNestedManyWithoutTeamInput } export type TeamUncheckedCreateWithoutSchedulesAsTeamAInput = { @@ -23988,6 +27764,7 @@ export namespace Prisma { matchesAsTeamA?: MatchUncheckedCreateNestedManyWithoutTeamAInput matchesAsTeamB?: MatchUncheckedCreateNestedManyWithoutTeamBInput schedulesAsTeamB?: ScheduleUncheckedCreateNestedManyWithoutTeamBInput + mapVetoSteps?: MapVetoStepUncheckedCreateNestedManyWithoutTeamInput } export type TeamCreateOrConnectWithoutSchedulesAsTeamAInput = { @@ -24009,6 +27786,7 @@ export namespace Prisma { matchesAsTeamA?: MatchCreateNestedManyWithoutTeamAInput matchesAsTeamB?: MatchCreateNestedManyWithoutTeamBInput schedulesAsTeamA?: ScheduleCreateNestedManyWithoutTeamAInput + mapVetoSteps?: MapVetoStepCreateNestedManyWithoutTeamInput } export type TeamUncheckedCreateWithoutSchedulesAsTeamBInput = { @@ -24025,6 +27803,7 @@ export namespace Prisma { matchesAsTeamA?: MatchUncheckedCreateNestedManyWithoutTeamAInput matchesAsTeamB?: MatchUncheckedCreateNestedManyWithoutTeamBInput schedulesAsTeamA?: ScheduleUncheckedCreateNestedManyWithoutTeamAInput + mapVetoSteps?: MapVetoStepUncheckedCreateNestedManyWithoutTeamInput } export type TeamCreateOrConnectWithoutSchedulesAsTeamBInput = { @@ -24054,6 +27833,7 @@ export namespace Prisma { rankHistory?: RankHistoryCreateNestedManyWithoutUserInput demoFiles?: DemoFileCreateNestedManyWithoutUserInput confirmedSchedules?: ScheduleCreateNestedManyWithoutConfirmedByInput + mapVetoChoices?: MapVetoStepCreateNestedManyWithoutChooserInput } export type UserUncheckedCreateWithoutCreatedSchedulesInput = { @@ -24078,6 +27858,7 @@ export namespace Prisma { rankHistory?: RankHistoryUncheckedCreateNestedManyWithoutUserInput demoFiles?: DemoFileUncheckedCreateNestedManyWithoutUserInput confirmedSchedules?: ScheduleUncheckedCreateNestedManyWithoutConfirmedByInput + mapVetoChoices?: MapVetoStepUncheckedCreateNestedManyWithoutChooserInput } export type UserCreateOrConnectWithoutCreatedSchedulesInput = { @@ -24107,6 +27888,7 @@ export namespace Prisma { rankHistory?: RankHistoryCreateNestedManyWithoutUserInput demoFiles?: DemoFileCreateNestedManyWithoutUserInput createdSchedules?: ScheduleCreateNestedManyWithoutCreatedByInput + mapVetoChoices?: MapVetoStepCreateNestedManyWithoutChooserInput } export type UserUncheckedCreateWithoutConfirmedSchedulesInput = { @@ -24131,6 +27913,7 @@ export namespace Prisma { rankHistory?: RankHistoryUncheckedCreateNestedManyWithoutUserInput demoFiles?: DemoFileUncheckedCreateNestedManyWithoutUserInput createdSchedules?: ScheduleUncheckedCreateNestedManyWithoutCreatedByInput + mapVetoChoices?: MapVetoStepUncheckedCreateNestedManyWithoutChooserInput } export type UserCreateOrConnectWithoutConfirmedSchedulesInput = { @@ -24152,6 +27935,8 @@ export namespace Prisma { roundCount?: number | null roundHistory?: NullableJsonNullValueInput | InputJsonValue winnerTeam?: string | null + bestOf?: number + matchDate?: Date | string | null createdAt?: Date | string updatedAt?: Date | string teamA?: TeamCreateNestedOneWithoutMatchesAsTeamAInput @@ -24161,6 +27946,7 @@ export namespace Prisma { demoFile?: DemoFileCreateNestedOneWithoutMatchInput players?: MatchPlayerCreateNestedManyWithoutMatchInput rankUpdates?: RankHistoryCreateNestedManyWithoutMatchInput + mapVeto?: MapVetoCreateNestedOneWithoutMatchInput } export type MatchUncheckedCreateWithoutScheduleInput = { @@ -24179,6 +27965,8 @@ export namespace Prisma { roundCount?: number | null roundHistory?: NullableJsonNullValueInput | InputJsonValue winnerTeam?: string | null + bestOf?: number + matchDate?: Date | string | null createdAt?: Date | string updatedAt?: Date | string teamAUsers?: UserUncheckedCreateNestedManyWithoutMatchesAsTeamAInput @@ -24186,6 +27974,7 @@ export namespace Prisma { demoFile?: DemoFileUncheckedCreateNestedOneWithoutMatchInput players?: MatchPlayerUncheckedCreateNestedManyWithoutMatchInput rankUpdates?: RankHistoryUncheckedCreateNestedManyWithoutMatchInput + mapVeto?: MapVetoUncheckedCreateNestedOneWithoutMatchInput } export type MatchCreateOrConnectWithoutScheduleInput = { @@ -24218,6 +28007,7 @@ export namespace Prisma { matchesAsTeamA?: MatchUpdateManyWithoutTeamANestedInput matchesAsTeamB?: MatchUpdateManyWithoutTeamBNestedInput schedulesAsTeamB?: ScheduleUpdateManyWithoutTeamBNestedInput + mapVetoSteps?: MapVetoStepUpdateManyWithoutTeamNestedInput } export type TeamUncheckedUpdateWithoutSchedulesAsTeamAInput = { @@ -24234,6 +28024,7 @@ export namespace Prisma { matchesAsTeamA?: MatchUncheckedUpdateManyWithoutTeamANestedInput matchesAsTeamB?: MatchUncheckedUpdateManyWithoutTeamBNestedInput schedulesAsTeamB?: ScheduleUncheckedUpdateManyWithoutTeamBNestedInput + mapVetoSteps?: MapVetoStepUncheckedUpdateManyWithoutTeamNestedInput } export type TeamUpsertWithoutSchedulesAsTeamBInput = { @@ -24261,6 +28052,7 @@ export namespace Prisma { matchesAsTeamA?: MatchUpdateManyWithoutTeamANestedInput matchesAsTeamB?: MatchUpdateManyWithoutTeamBNestedInput schedulesAsTeamA?: ScheduleUpdateManyWithoutTeamANestedInput + mapVetoSteps?: MapVetoStepUpdateManyWithoutTeamNestedInput } export type TeamUncheckedUpdateWithoutSchedulesAsTeamBInput = { @@ -24277,6 +28069,7 @@ export namespace Prisma { matchesAsTeamA?: MatchUncheckedUpdateManyWithoutTeamANestedInput matchesAsTeamB?: MatchUncheckedUpdateManyWithoutTeamBNestedInput schedulesAsTeamA?: ScheduleUncheckedUpdateManyWithoutTeamANestedInput + mapVetoSteps?: MapVetoStepUncheckedUpdateManyWithoutTeamNestedInput } export type UserUpsertWithoutCreatedSchedulesInput = { @@ -24312,6 +28105,7 @@ export namespace Prisma { rankHistory?: RankHistoryUpdateManyWithoutUserNestedInput demoFiles?: DemoFileUpdateManyWithoutUserNestedInput confirmedSchedules?: ScheduleUpdateManyWithoutConfirmedByNestedInput + mapVetoChoices?: MapVetoStepUpdateManyWithoutChooserNestedInput } export type UserUncheckedUpdateWithoutCreatedSchedulesInput = { @@ -24336,6 +28130,7 @@ export namespace Prisma { rankHistory?: RankHistoryUncheckedUpdateManyWithoutUserNestedInput demoFiles?: DemoFileUncheckedUpdateManyWithoutUserNestedInput confirmedSchedules?: ScheduleUncheckedUpdateManyWithoutConfirmedByNestedInput + mapVetoChoices?: MapVetoStepUncheckedUpdateManyWithoutChooserNestedInput } export type UserUpsertWithoutConfirmedSchedulesInput = { @@ -24371,6 +28166,7 @@ export namespace Prisma { rankHistory?: RankHistoryUpdateManyWithoutUserNestedInput demoFiles?: DemoFileUpdateManyWithoutUserNestedInput createdSchedules?: ScheduleUpdateManyWithoutCreatedByNestedInput + mapVetoChoices?: MapVetoStepUpdateManyWithoutChooserNestedInput } export type UserUncheckedUpdateWithoutConfirmedSchedulesInput = { @@ -24395,6 +28191,7 @@ export namespace Prisma { rankHistory?: RankHistoryUncheckedUpdateManyWithoutUserNestedInput demoFiles?: DemoFileUncheckedUpdateManyWithoutUserNestedInput createdSchedules?: ScheduleUncheckedUpdateManyWithoutCreatedByNestedInput + mapVetoChoices?: MapVetoStepUncheckedUpdateManyWithoutChooserNestedInput } export type MatchUpsertWithoutScheduleInput = { @@ -24422,6 +28219,8 @@ export namespace Prisma { roundCount?: NullableIntFieldUpdateOperationsInput | number | null roundHistory?: NullableJsonNullValueInput | InputJsonValue winnerTeam?: NullableStringFieldUpdateOperationsInput | string | null + bestOf?: IntFieldUpdateOperationsInput | number + matchDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string teamA?: TeamUpdateOneWithoutMatchesAsTeamANestedInput @@ -24431,6 +28230,7 @@ export namespace Prisma { demoFile?: DemoFileUpdateOneWithoutMatchNestedInput players?: MatchPlayerUpdateManyWithoutMatchNestedInput rankUpdates?: RankHistoryUpdateManyWithoutMatchNestedInput + mapVeto?: MapVetoUpdateOneWithoutMatchNestedInput } export type MatchUncheckedUpdateWithoutScheduleInput = { @@ -24449,6 +28249,8 @@ export namespace Prisma { roundCount?: NullableIntFieldUpdateOperationsInput | number | null roundHistory?: NullableJsonNullValueInput | InputJsonValue winnerTeam?: NullableStringFieldUpdateOperationsInput | string | null + bestOf?: IntFieldUpdateOperationsInput | number + matchDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string teamAUsers?: UserUncheckedUpdateManyWithoutMatchesAsTeamANestedInput @@ -24456,6 +28258,7 @@ export namespace Prisma { demoFile?: DemoFileUncheckedUpdateOneWithoutMatchNestedInput players?: MatchPlayerUncheckedUpdateManyWithoutMatchNestedInput rankUpdates?: RankHistoryUncheckedUpdateManyWithoutMatchNestedInput + mapVeto?: MapVetoUncheckedUpdateOneWithoutMatchNestedInput } export type MatchCreateWithoutDemoFileInput = { @@ -24472,6 +28275,8 @@ export namespace Prisma { roundCount?: number | null roundHistory?: NullableJsonNullValueInput | InputJsonValue winnerTeam?: string | null + bestOf?: number + matchDate?: Date | string | null createdAt?: Date | string updatedAt?: Date | string teamA?: TeamCreateNestedOneWithoutMatchesAsTeamAInput @@ -24480,6 +28285,7 @@ export namespace Prisma { teamBUsers?: UserCreateNestedManyWithoutMatchesAsTeamBInput players?: MatchPlayerCreateNestedManyWithoutMatchInput rankUpdates?: RankHistoryCreateNestedManyWithoutMatchInput + mapVeto?: MapVetoCreateNestedOneWithoutMatchInput schedule?: ScheduleCreateNestedOneWithoutLinkedMatchInput } @@ -24499,12 +28305,15 @@ export namespace Prisma { roundCount?: number | null roundHistory?: NullableJsonNullValueInput | InputJsonValue winnerTeam?: string | null + bestOf?: number + matchDate?: Date | string | null createdAt?: Date | string updatedAt?: Date | string teamAUsers?: UserUncheckedCreateNestedManyWithoutMatchesAsTeamAInput teamBUsers?: UserUncheckedCreateNestedManyWithoutMatchesAsTeamBInput players?: MatchPlayerUncheckedCreateNestedManyWithoutMatchInput rankUpdates?: RankHistoryUncheckedCreateNestedManyWithoutMatchInput + mapVeto?: MapVetoUncheckedCreateNestedOneWithoutMatchInput schedule?: ScheduleUncheckedCreateNestedOneWithoutLinkedMatchInput } @@ -24535,6 +28344,7 @@ export namespace Prisma { rankHistory?: RankHistoryCreateNestedManyWithoutUserInput createdSchedules?: ScheduleCreateNestedManyWithoutCreatedByInput confirmedSchedules?: ScheduleCreateNestedManyWithoutConfirmedByInput + mapVetoChoices?: MapVetoStepCreateNestedManyWithoutChooserInput } export type UserUncheckedCreateWithoutDemoFilesInput = { @@ -24559,6 +28369,7 @@ export namespace Prisma { rankHistory?: RankHistoryUncheckedCreateNestedManyWithoutUserInput createdSchedules?: ScheduleUncheckedCreateNestedManyWithoutCreatedByInput confirmedSchedules?: ScheduleUncheckedCreateNestedManyWithoutConfirmedByInput + mapVetoChoices?: MapVetoStepUncheckedCreateNestedManyWithoutChooserInput } export type UserCreateOrConnectWithoutDemoFilesInput = { @@ -24591,6 +28402,8 @@ export namespace Prisma { roundCount?: NullableIntFieldUpdateOperationsInput | number | null roundHistory?: NullableJsonNullValueInput | InputJsonValue winnerTeam?: NullableStringFieldUpdateOperationsInput | string | null + bestOf?: IntFieldUpdateOperationsInput | number + matchDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string teamA?: TeamUpdateOneWithoutMatchesAsTeamANestedInput @@ -24599,6 +28412,7 @@ export namespace Prisma { teamBUsers?: UserUpdateManyWithoutMatchesAsTeamBNestedInput players?: MatchPlayerUpdateManyWithoutMatchNestedInput rankUpdates?: RankHistoryUpdateManyWithoutMatchNestedInput + mapVeto?: MapVetoUpdateOneWithoutMatchNestedInput schedule?: ScheduleUpdateOneWithoutLinkedMatchNestedInput } @@ -24618,12 +28432,15 @@ export namespace Prisma { roundCount?: NullableIntFieldUpdateOperationsInput | number | null roundHistory?: NullableJsonNullValueInput | InputJsonValue winnerTeam?: NullableStringFieldUpdateOperationsInput | string | null + bestOf?: IntFieldUpdateOperationsInput | number + matchDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string teamAUsers?: UserUncheckedUpdateManyWithoutMatchesAsTeamANestedInput teamBUsers?: UserUncheckedUpdateManyWithoutMatchesAsTeamBNestedInput players?: MatchPlayerUncheckedUpdateManyWithoutMatchNestedInput rankUpdates?: RankHistoryUncheckedUpdateManyWithoutMatchNestedInput + mapVeto?: MapVetoUncheckedUpdateOneWithoutMatchNestedInput schedule?: ScheduleUncheckedUpdateOneWithoutLinkedMatchNestedInput } @@ -24660,6 +28477,7 @@ export namespace Prisma { rankHistory?: RankHistoryUpdateManyWithoutUserNestedInput createdSchedules?: ScheduleUpdateManyWithoutCreatedByNestedInput confirmedSchedules?: ScheduleUpdateManyWithoutConfirmedByNestedInput + mapVetoChoices?: MapVetoStepUpdateManyWithoutChooserNestedInput } export type UserUncheckedUpdateWithoutDemoFilesInput = { @@ -24684,6 +28502,7 @@ export namespace Prisma { rankHistory?: RankHistoryUncheckedUpdateManyWithoutUserNestedInput createdSchedules?: ScheduleUncheckedUpdateManyWithoutCreatedByNestedInput confirmedSchedules?: ScheduleUncheckedUpdateManyWithoutConfirmedByNestedInput + mapVetoChoices?: MapVetoStepUncheckedUpdateManyWithoutChooserNestedInput } export type UserCreateWithoutServerRequestsInput = { @@ -24708,6 +28527,7 @@ export namespace Prisma { demoFiles?: DemoFileCreateNestedManyWithoutUserInput createdSchedules?: ScheduleCreateNestedManyWithoutCreatedByInput confirmedSchedules?: ScheduleCreateNestedManyWithoutConfirmedByInput + mapVetoChoices?: MapVetoStepCreateNestedManyWithoutChooserInput } export type UserUncheckedCreateWithoutServerRequestsInput = { @@ -24732,6 +28552,7 @@ export namespace Prisma { demoFiles?: DemoFileUncheckedCreateNestedManyWithoutUserInput createdSchedules?: ScheduleUncheckedCreateNestedManyWithoutCreatedByInput confirmedSchedules?: ScheduleUncheckedCreateNestedManyWithoutConfirmedByInput + mapVetoChoices?: MapVetoStepUncheckedCreateNestedManyWithoutChooserInput } export type UserCreateOrConnectWithoutServerRequestsInput = { @@ -24772,6 +28593,7 @@ export namespace Prisma { demoFiles?: DemoFileUpdateManyWithoutUserNestedInput createdSchedules?: ScheduleUpdateManyWithoutCreatedByNestedInput confirmedSchedules?: ScheduleUpdateManyWithoutConfirmedByNestedInput + mapVetoChoices?: MapVetoStepUpdateManyWithoutChooserNestedInput } export type UserUncheckedUpdateWithoutServerRequestsInput = { @@ -24796,6 +28618,445 @@ export namespace Prisma { demoFiles?: DemoFileUncheckedUpdateManyWithoutUserNestedInput createdSchedules?: ScheduleUncheckedUpdateManyWithoutCreatedByNestedInput confirmedSchedules?: ScheduleUncheckedUpdateManyWithoutConfirmedByNestedInput + mapVetoChoices?: MapVetoStepUncheckedUpdateManyWithoutChooserNestedInput + } + + export type MatchCreateWithoutMapVetoInput = { + id?: string + title: string + matchType?: string + map?: string | null + description?: string | null + scoreA?: number | null + scoreB?: number | null + filePath?: string | null + demoDate?: Date | string | null + demoData?: NullableJsonNullValueInput | InputJsonValue + roundCount?: number | null + roundHistory?: NullableJsonNullValueInput | InputJsonValue + winnerTeam?: string | null + bestOf?: number + matchDate?: Date | string | null + createdAt?: Date | string + updatedAt?: Date | string + teamA?: TeamCreateNestedOneWithoutMatchesAsTeamAInput + teamB?: TeamCreateNestedOneWithoutMatchesAsTeamBInput + teamAUsers?: UserCreateNestedManyWithoutMatchesAsTeamAInput + teamBUsers?: UserCreateNestedManyWithoutMatchesAsTeamBInput + demoFile?: DemoFileCreateNestedOneWithoutMatchInput + players?: MatchPlayerCreateNestedManyWithoutMatchInput + rankUpdates?: RankHistoryCreateNestedManyWithoutMatchInput + schedule?: ScheduleCreateNestedOneWithoutLinkedMatchInput + } + + export type MatchUncheckedCreateWithoutMapVetoInput = { + id?: string + title: string + matchType?: string + map?: string | null + description?: string | null + scoreA?: number | null + scoreB?: number | null + teamAId?: string | null + teamBId?: string | null + filePath?: string | null + demoDate?: Date | string | null + demoData?: NullableJsonNullValueInput | InputJsonValue + roundCount?: number | null + roundHistory?: NullableJsonNullValueInput | InputJsonValue + winnerTeam?: string | null + bestOf?: number + matchDate?: Date | string | null + createdAt?: Date | string + updatedAt?: Date | string + teamAUsers?: UserUncheckedCreateNestedManyWithoutMatchesAsTeamAInput + teamBUsers?: UserUncheckedCreateNestedManyWithoutMatchesAsTeamBInput + demoFile?: DemoFileUncheckedCreateNestedOneWithoutMatchInput + players?: MatchPlayerUncheckedCreateNestedManyWithoutMatchInput + rankUpdates?: RankHistoryUncheckedCreateNestedManyWithoutMatchInput + schedule?: ScheduleUncheckedCreateNestedOneWithoutLinkedMatchInput + } + + export type MatchCreateOrConnectWithoutMapVetoInput = { + where: MatchWhereUniqueInput + create: XOR + } + + export type MapVetoStepCreateWithoutVetoInput = { + id?: string + order: number + action: $Enums.MapVetoAction + map?: string | null + chosenAt?: Date | string | null + team?: TeamCreateNestedOneWithoutMapVetoStepsInput + chooser?: UserCreateNestedOneWithoutMapVetoChoicesInput + } + + export type MapVetoStepUncheckedCreateWithoutVetoInput = { + id?: string + order: number + action: $Enums.MapVetoAction + teamId?: string | null + map?: string | null + chosenAt?: Date | string | null + chosenBy?: string | null + } + + export type MapVetoStepCreateOrConnectWithoutVetoInput = { + where: MapVetoStepWhereUniqueInput + create: XOR + } + + export type MapVetoStepCreateManyVetoInputEnvelope = { + data: MapVetoStepCreateManyVetoInput | MapVetoStepCreateManyVetoInput[] + skipDuplicates?: boolean + } + + export type MatchUpsertWithoutMapVetoInput = { + update: XOR + create: XOR + where?: MatchWhereInput + } + + export type MatchUpdateToOneWithWhereWithoutMapVetoInput = { + where?: MatchWhereInput + data: XOR + } + + export type MatchUpdateWithoutMapVetoInput = { + id?: StringFieldUpdateOperationsInput | string + title?: StringFieldUpdateOperationsInput | string + matchType?: StringFieldUpdateOperationsInput | string + map?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + scoreA?: NullableIntFieldUpdateOperationsInput | number | null + scoreB?: NullableIntFieldUpdateOperationsInput | number | null + filePath?: NullableStringFieldUpdateOperationsInput | string | null + demoDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + demoData?: NullableJsonNullValueInput | InputJsonValue + roundCount?: NullableIntFieldUpdateOperationsInput | number | null + roundHistory?: NullableJsonNullValueInput | InputJsonValue + winnerTeam?: NullableStringFieldUpdateOperationsInput | string | null + bestOf?: IntFieldUpdateOperationsInput | number + matchDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + teamA?: TeamUpdateOneWithoutMatchesAsTeamANestedInput + teamB?: TeamUpdateOneWithoutMatchesAsTeamBNestedInput + teamAUsers?: UserUpdateManyWithoutMatchesAsTeamANestedInput + teamBUsers?: UserUpdateManyWithoutMatchesAsTeamBNestedInput + demoFile?: DemoFileUpdateOneWithoutMatchNestedInput + players?: MatchPlayerUpdateManyWithoutMatchNestedInput + rankUpdates?: RankHistoryUpdateManyWithoutMatchNestedInput + schedule?: ScheduleUpdateOneWithoutLinkedMatchNestedInput + } + + export type MatchUncheckedUpdateWithoutMapVetoInput = { + id?: StringFieldUpdateOperationsInput | string + title?: StringFieldUpdateOperationsInput | string + matchType?: StringFieldUpdateOperationsInput | string + map?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + scoreA?: NullableIntFieldUpdateOperationsInput | number | null + scoreB?: NullableIntFieldUpdateOperationsInput | number | null + teamAId?: NullableStringFieldUpdateOperationsInput | string | null + teamBId?: NullableStringFieldUpdateOperationsInput | string | null + filePath?: NullableStringFieldUpdateOperationsInput | string | null + demoDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + demoData?: NullableJsonNullValueInput | InputJsonValue + roundCount?: NullableIntFieldUpdateOperationsInput | number | null + roundHistory?: NullableJsonNullValueInput | InputJsonValue + winnerTeam?: NullableStringFieldUpdateOperationsInput | string | null + bestOf?: IntFieldUpdateOperationsInput | number + matchDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + teamAUsers?: UserUncheckedUpdateManyWithoutMatchesAsTeamANestedInput + teamBUsers?: UserUncheckedUpdateManyWithoutMatchesAsTeamBNestedInput + demoFile?: DemoFileUncheckedUpdateOneWithoutMatchNestedInput + players?: MatchPlayerUncheckedUpdateManyWithoutMatchNestedInput + rankUpdates?: RankHistoryUncheckedUpdateManyWithoutMatchNestedInput + schedule?: ScheduleUncheckedUpdateOneWithoutLinkedMatchNestedInput + } + + export type MapVetoStepUpsertWithWhereUniqueWithoutVetoInput = { + where: MapVetoStepWhereUniqueInput + update: XOR + create: XOR + } + + export type MapVetoStepUpdateWithWhereUniqueWithoutVetoInput = { + where: MapVetoStepWhereUniqueInput + data: XOR + } + + export type MapVetoStepUpdateManyWithWhereWithoutVetoInput = { + where: MapVetoStepScalarWhereInput + data: XOR + } + + export type TeamCreateWithoutMapVetoStepsInput = { + id?: string + name: string + logo?: string | null + createdAt?: Date | string + activePlayers?: TeamCreateactivePlayersInput | string[] + inactivePlayers?: TeamCreateinactivePlayersInput | string[] + leader?: UserCreateNestedOneWithoutLedTeamInput + members?: UserCreateNestedManyWithoutTeamInput + invites?: TeamInviteCreateNestedManyWithoutTeamInput + matchPlayers?: MatchPlayerCreateNestedManyWithoutTeamInput + matchesAsTeamA?: MatchCreateNestedManyWithoutTeamAInput + matchesAsTeamB?: MatchCreateNestedManyWithoutTeamBInput + schedulesAsTeamA?: ScheduleCreateNestedManyWithoutTeamAInput + schedulesAsTeamB?: ScheduleCreateNestedManyWithoutTeamBInput + } + + export type TeamUncheckedCreateWithoutMapVetoStepsInput = { + id?: string + name: string + logo?: string | null + leaderId?: string | null + createdAt?: Date | string + activePlayers?: TeamCreateactivePlayersInput | string[] + inactivePlayers?: TeamCreateinactivePlayersInput | string[] + members?: UserUncheckedCreateNestedManyWithoutTeamInput + invites?: TeamInviteUncheckedCreateNestedManyWithoutTeamInput + matchPlayers?: MatchPlayerUncheckedCreateNestedManyWithoutTeamInput + matchesAsTeamA?: MatchUncheckedCreateNestedManyWithoutTeamAInput + matchesAsTeamB?: MatchUncheckedCreateNestedManyWithoutTeamBInput + schedulesAsTeamA?: ScheduleUncheckedCreateNestedManyWithoutTeamAInput + schedulesAsTeamB?: ScheduleUncheckedCreateNestedManyWithoutTeamBInput + } + + export type TeamCreateOrConnectWithoutMapVetoStepsInput = { + where: TeamWhereUniqueInput + create: XOR + } + + export type UserCreateWithoutMapVetoChoicesInput = { + steamId: string + name?: string | null + avatar?: string | null + location?: string | null + isAdmin?: boolean + premierRank?: number | null + authCode?: string | null + lastKnownShareCode?: string | null + lastKnownShareCodeDate?: Date | string | null + createdAt?: Date | string + team?: TeamCreateNestedOneWithoutMembersInput + ledTeam?: TeamCreateNestedOneWithoutLeaderInput + matchesAsTeamA?: MatchCreateNestedManyWithoutTeamAUsersInput + matchesAsTeamB?: MatchCreateNestedManyWithoutTeamBUsersInput + invites?: TeamInviteCreateNestedManyWithoutUserInput + notifications?: NotificationCreateNestedManyWithoutUserInput + matchPlayers?: MatchPlayerCreateNestedManyWithoutUserInput + serverRequests?: ServerRequestCreateNestedManyWithoutUserInput + rankHistory?: RankHistoryCreateNestedManyWithoutUserInput + demoFiles?: DemoFileCreateNestedManyWithoutUserInput + createdSchedules?: ScheduleCreateNestedManyWithoutCreatedByInput + confirmedSchedules?: ScheduleCreateNestedManyWithoutConfirmedByInput + } + + export type UserUncheckedCreateWithoutMapVetoChoicesInput = { + steamId: string + name?: string | null + avatar?: string | null + location?: string | null + isAdmin?: boolean + teamId?: string | null + premierRank?: number | null + authCode?: string | null + lastKnownShareCode?: string | null + lastKnownShareCodeDate?: Date | string | null + createdAt?: Date | string + ledTeam?: TeamUncheckedCreateNestedOneWithoutLeaderInput + matchesAsTeamA?: MatchUncheckedCreateNestedManyWithoutTeamAUsersInput + matchesAsTeamB?: MatchUncheckedCreateNestedManyWithoutTeamBUsersInput + invites?: TeamInviteUncheckedCreateNestedManyWithoutUserInput + notifications?: NotificationUncheckedCreateNestedManyWithoutUserInput + matchPlayers?: MatchPlayerUncheckedCreateNestedManyWithoutUserInput + serverRequests?: ServerRequestUncheckedCreateNestedManyWithoutUserInput + rankHistory?: RankHistoryUncheckedCreateNestedManyWithoutUserInput + demoFiles?: DemoFileUncheckedCreateNestedManyWithoutUserInput + createdSchedules?: ScheduleUncheckedCreateNestedManyWithoutCreatedByInput + confirmedSchedules?: ScheduleUncheckedCreateNestedManyWithoutConfirmedByInput + } + + export type UserCreateOrConnectWithoutMapVetoChoicesInput = { + where: UserWhereUniqueInput + create: XOR + } + + export type MapVetoCreateWithoutStepsInput = { + id?: string + bestOf?: number + mapPool?: MapVetoCreatemapPoolInput | string[] + currentIdx?: number + locked?: boolean + opensAt?: Date | string | null + createdAt?: Date | string + updatedAt?: Date | string + match: MatchCreateNestedOneWithoutMapVetoInput + } + + export type MapVetoUncheckedCreateWithoutStepsInput = { + id?: string + matchId: string + bestOf?: number + mapPool?: MapVetoCreatemapPoolInput | string[] + currentIdx?: number + locked?: boolean + opensAt?: Date | string | null + createdAt?: Date | string + updatedAt?: Date | string + } + + export type MapVetoCreateOrConnectWithoutStepsInput = { + where: MapVetoWhereUniqueInput + create: XOR + } + + export type TeamUpsertWithoutMapVetoStepsInput = { + update: XOR + create: XOR + where?: TeamWhereInput + } + + export type TeamUpdateToOneWithWhereWithoutMapVetoStepsInput = { + where?: TeamWhereInput + data: XOR + } + + export type TeamUpdateWithoutMapVetoStepsInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + logo?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + activePlayers?: TeamUpdateactivePlayersInput | string[] + inactivePlayers?: TeamUpdateinactivePlayersInput | string[] + leader?: UserUpdateOneWithoutLedTeamNestedInput + members?: UserUpdateManyWithoutTeamNestedInput + invites?: TeamInviteUpdateManyWithoutTeamNestedInput + matchPlayers?: MatchPlayerUpdateManyWithoutTeamNestedInput + matchesAsTeamA?: MatchUpdateManyWithoutTeamANestedInput + matchesAsTeamB?: MatchUpdateManyWithoutTeamBNestedInput + schedulesAsTeamA?: ScheduleUpdateManyWithoutTeamANestedInput + schedulesAsTeamB?: ScheduleUpdateManyWithoutTeamBNestedInput + } + + export type TeamUncheckedUpdateWithoutMapVetoStepsInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + logo?: NullableStringFieldUpdateOperationsInput | string | null + leaderId?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + activePlayers?: TeamUpdateactivePlayersInput | string[] + inactivePlayers?: TeamUpdateinactivePlayersInput | string[] + members?: UserUncheckedUpdateManyWithoutTeamNestedInput + invites?: TeamInviteUncheckedUpdateManyWithoutTeamNestedInput + matchPlayers?: MatchPlayerUncheckedUpdateManyWithoutTeamNestedInput + matchesAsTeamA?: MatchUncheckedUpdateManyWithoutTeamANestedInput + matchesAsTeamB?: MatchUncheckedUpdateManyWithoutTeamBNestedInput + schedulesAsTeamA?: ScheduleUncheckedUpdateManyWithoutTeamANestedInput + schedulesAsTeamB?: ScheduleUncheckedUpdateManyWithoutTeamBNestedInput + } + + export type UserUpsertWithoutMapVetoChoicesInput = { + update: XOR + create: XOR + where?: UserWhereInput + } + + export type UserUpdateToOneWithWhereWithoutMapVetoChoicesInput = { + where?: UserWhereInput + data: XOR + } + + export type UserUpdateWithoutMapVetoChoicesInput = { + steamId?: StringFieldUpdateOperationsInput | string + name?: NullableStringFieldUpdateOperationsInput | string | null + avatar?: NullableStringFieldUpdateOperationsInput | string | null + location?: NullableStringFieldUpdateOperationsInput | string | null + isAdmin?: BoolFieldUpdateOperationsInput | boolean + premierRank?: NullableIntFieldUpdateOperationsInput | number | null + authCode?: NullableStringFieldUpdateOperationsInput | string | null + lastKnownShareCode?: NullableStringFieldUpdateOperationsInput | string | null + lastKnownShareCodeDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + team?: TeamUpdateOneWithoutMembersNestedInput + ledTeam?: TeamUpdateOneWithoutLeaderNestedInput + matchesAsTeamA?: MatchUpdateManyWithoutTeamAUsersNestedInput + matchesAsTeamB?: MatchUpdateManyWithoutTeamBUsersNestedInput + invites?: TeamInviteUpdateManyWithoutUserNestedInput + notifications?: NotificationUpdateManyWithoutUserNestedInput + matchPlayers?: MatchPlayerUpdateManyWithoutUserNestedInput + serverRequests?: ServerRequestUpdateManyWithoutUserNestedInput + rankHistory?: RankHistoryUpdateManyWithoutUserNestedInput + demoFiles?: DemoFileUpdateManyWithoutUserNestedInput + createdSchedules?: ScheduleUpdateManyWithoutCreatedByNestedInput + confirmedSchedules?: ScheduleUpdateManyWithoutConfirmedByNestedInput + } + + export type UserUncheckedUpdateWithoutMapVetoChoicesInput = { + steamId?: StringFieldUpdateOperationsInput | string + name?: NullableStringFieldUpdateOperationsInput | string | null + avatar?: NullableStringFieldUpdateOperationsInput | string | null + location?: NullableStringFieldUpdateOperationsInput | string | null + isAdmin?: BoolFieldUpdateOperationsInput | boolean + teamId?: NullableStringFieldUpdateOperationsInput | string | null + premierRank?: NullableIntFieldUpdateOperationsInput | number | null + authCode?: NullableStringFieldUpdateOperationsInput | string | null + lastKnownShareCode?: NullableStringFieldUpdateOperationsInput | string | null + lastKnownShareCodeDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + ledTeam?: TeamUncheckedUpdateOneWithoutLeaderNestedInput + matchesAsTeamA?: MatchUncheckedUpdateManyWithoutTeamAUsersNestedInput + matchesAsTeamB?: MatchUncheckedUpdateManyWithoutTeamBUsersNestedInput + invites?: TeamInviteUncheckedUpdateManyWithoutUserNestedInput + notifications?: NotificationUncheckedUpdateManyWithoutUserNestedInput + matchPlayers?: MatchPlayerUncheckedUpdateManyWithoutUserNestedInput + serverRequests?: ServerRequestUncheckedUpdateManyWithoutUserNestedInput + rankHistory?: RankHistoryUncheckedUpdateManyWithoutUserNestedInput + demoFiles?: DemoFileUncheckedUpdateManyWithoutUserNestedInput + createdSchedules?: ScheduleUncheckedUpdateManyWithoutCreatedByNestedInput + confirmedSchedules?: ScheduleUncheckedUpdateManyWithoutConfirmedByNestedInput + } + + export type MapVetoUpsertWithoutStepsInput = { + update: XOR + create: XOR + where?: MapVetoWhereInput + } + + export type MapVetoUpdateToOneWithWhereWithoutStepsInput = { + where?: MapVetoWhereInput + data: XOR + } + + export type MapVetoUpdateWithoutStepsInput = { + id?: StringFieldUpdateOperationsInput | string + bestOf?: IntFieldUpdateOperationsInput | number + mapPool?: MapVetoUpdatemapPoolInput | string[] + currentIdx?: IntFieldUpdateOperationsInput | number + locked?: BoolFieldUpdateOperationsInput | boolean + opensAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + match?: MatchUpdateOneRequiredWithoutMapVetoNestedInput + } + + export type MapVetoUncheckedUpdateWithoutStepsInput = { + id?: StringFieldUpdateOperationsInput | string + matchId?: StringFieldUpdateOperationsInput | string + bestOf?: IntFieldUpdateOperationsInput | number + mapPool?: MapVetoUpdatemapPoolInput | string[] + currentIdx?: IntFieldUpdateOperationsInput | number + locked?: BoolFieldUpdateOperationsInput | boolean + opensAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type TeamInviteCreateManyUserInput = { @@ -24882,6 +29143,16 @@ export namespace Prisma { updatedAt?: Date | string } + export type MapVetoStepCreateManyChooserInput = { + id?: string + vetoId: string + order: number + action: $Enums.MapVetoAction + teamId?: string | null + map?: string | null + chosenAt?: Date | string | null + } + export type MatchUpdateWithoutTeamAUsersInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string @@ -24896,6 +29167,8 @@ export namespace Prisma { roundCount?: NullableIntFieldUpdateOperationsInput | number | null roundHistory?: NullableJsonNullValueInput | InputJsonValue winnerTeam?: NullableStringFieldUpdateOperationsInput | string | null + bestOf?: IntFieldUpdateOperationsInput | number + matchDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string teamA?: TeamUpdateOneWithoutMatchesAsTeamANestedInput @@ -24904,6 +29177,7 @@ export namespace Prisma { demoFile?: DemoFileUpdateOneWithoutMatchNestedInput players?: MatchPlayerUpdateManyWithoutMatchNestedInput rankUpdates?: RankHistoryUpdateManyWithoutMatchNestedInput + mapVeto?: MapVetoUpdateOneWithoutMatchNestedInput schedule?: ScheduleUpdateOneWithoutLinkedMatchNestedInput } @@ -24923,12 +29197,15 @@ export namespace Prisma { roundCount?: NullableIntFieldUpdateOperationsInput | number | null roundHistory?: NullableJsonNullValueInput | InputJsonValue winnerTeam?: NullableStringFieldUpdateOperationsInput | string | null + bestOf?: IntFieldUpdateOperationsInput | number + matchDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string teamBUsers?: UserUncheckedUpdateManyWithoutMatchesAsTeamBNestedInput demoFile?: DemoFileUncheckedUpdateOneWithoutMatchNestedInput players?: MatchPlayerUncheckedUpdateManyWithoutMatchNestedInput rankUpdates?: RankHistoryUncheckedUpdateManyWithoutMatchNestedInput + mapVeto?: MapVetoUncheckedUpdateOneWithoutMatchNestedInput schedule?: ScheduleUncheckedUpdateOneWithoutLinkedMatchNestedInput } @@ -24948,6 +29225,8 @@ export namespace Prisma { roundCount?: NullableIntFieldUpdateOperationsInput | number | null roundHistory?: NullableJsonNullValueInput | InputJsonValue winnerTeam?: NullableStringFieldUpdateOperationsInput | string | null + bestOf?: IntFieldUpdateOperationsInput | number + matchDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } @@ -24966,6 +29245,8 @@ export namespace Prisma { roundCount?: NullableIntFieldUpdateOperationsInput | number | null roundHistory?: NullableJsonNullValueInput | InputJsonValue winnerTeam?: NullableStringFieldUpdateOperationsInput | string | null + bestOf?: IntFieldUpdateOperationsInput | number + matchDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string teamA?: TeamUpdateOneWithoutMatchesAsTeamANestedInput @@ -24974,6 +29255,7 @@ export namespace Prisma { demoFile?: DemoFileUpdateOneWithoutMatchNestedInput players?: MatchPlayerUpdateManyWithoutMatchNestedInput rankUpdates?: RankHistoryUpdateManyWithoutMatchNestedInput + mapVeto?: MapVetoUpdateOneWithoutMatchNestedInput schedule?: ScheduleUpdateOneWithoutLinkedMatchNestedInput } @@ -24993,12 +29275,15 @@ export namespace Prisma { roundCount?: NullableIntFieldUpdateOperationsInput | number | null roundHistory?: NullableJsonNullValueInput | InputJsonValue winnerTeam?: NullableStringFieldUpdateOperationsInput | string | null + bestOf?: IntFieldUpdateOperationsInput | number + matchDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string teamAUsers?: UserUncheckedUpdateManyWithoutMatchesAsTeamANestedInput demoFile?: DemoFileUncheckedUpdateOneWithoutMatchNestedInput players?: MatchPlayerUncheckedUpdateManyWithoutMatchNestedInput rankUpdates?: RankHistoryUncheckedUpdateManyWithoutMatchNestedInput + mapVeto?: MapVetoUncheckedUpdateOneWithoutMatchNestedInput schedule?: ScheduleUncheckedUpdateOneWithoutLinkedMatchNestedInput } @@ -25018,6 +29303,8 @@ export namespace Prisma { roundCount?: NullableIntFieldUpdateOperationsInput | number | null roundHistory?: NullableJsonNullValueInput | InputJsonValue winnerTeam?: NullableStringFieldUpdateOperationsInput | string | null + bestOf?: IntFieldUpdateOperationsInput | number + matchDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } @@ -25276,6 +29563,36 @@ export namespace Prisma { updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } + export type MapVetoStepUpdateWithoutChooserInput = { + id?: StringFieldUpdateOperationsInput | string + order?: IntFieldUpdateOperationsInput | number + action?: EnumMapVetoActionFieldUpdateOperationsInput | $Enums.MapVetoAction + map?: NullableStringFieldUpdateOperationsInput | string | null + chosenAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + team?: TeamUpdateOneWithoutMapVetoStepsNestedInput + veto?: MapVetoUpdateOneRequiredWithoutStepsNestedInput + } + + export type MapVetoStepUncheckedUpdateWithoutChooserInput = { + id?: StringFieldUpdateOperationsInput | string + vetoId?: StringFieldUpdateOperationsInput | string + order?: IntFieldUpdateOperationsInput | number + action?: EnumMapVetoActionFieldUpdateOperationsInput | $Enums.MapVetoAction + teamId?: NullableStringFieldUpdateOperationsInput | string | null + map?: NullableStringFieldUpdateOperationsInput | string | null + chosenAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + } + + export type MapVetoStepUncheckedUpdateManyWithoutChooserInput = { + id?: StringFieldUpdateOperationsInput | string + vetoId?: StringFieldUpdateOperationsInput | string + order?: IntFieldUpdateOperationsInput | number + action?: EnumMapVetoActionFieldUpdateOperationsInput | $Enums.MapVetoAction + teamId?: NullableStringFieldUpdateOperationsInput | string | null + map?: NullableStringFieldUpdateOperationsInput | string | null + chosenAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + } + export type UserCreateManyTeamInput = { steamId: string name?: string | null @@ -25318,6 +29635,8 @@ export namespace Prisma { roundCount?: number | null roundHistory?: NullableJsonNullValueInput | InputJsonValue winnerTeam?: string | null + bestOf?: number + matchDate?: Date | string | null createdAt?: Date | string updatedAt?: Date | string } @@ -25337,6 +29656,8 @@ export namespace Prisma { roundCount?: number | null roundHistory?: NullableJsonNullValueInput | InputJsonValue winnerTeam?: string | null + bestOf?: number + matchDate?: Date | string | null createdAt?: Date | string updatedAt?: Date | string } @@ -25371,6 +29692,16 @@ export namespace Prisma { updatedAt?: Date | string } + export type MapVetoStepCreateManyTeamInput = { + id?: string + vetoId: string + order: number + action: $Enums.MapVetoAction + map?: string | null + chosenAt?: Date | string | null + chosenBy?: string | null + } + export type UserUpdateWithoutTeamInput = { steamId?: StringFieldUpdateOperationsInput | string name?: NullableStringFieldUpdateOperationsInput | string | null @@ -25393,6 +29724,7 @@ export namespace Prisma { demoFiles?: DemoFileUpdateManyWithoutUserNestedInput createdSchedules?: ScheduleUpdateManyWithoutCreatedByNestedInput confirmedSchedules?: ScheduleUpdateManyWithoutConfirmedByNestedInput + mapVetoChoices?: MapVetoStepUpdateManyWithoutChooserNestedInput } export type UserUncheckedUpdateWithoutTeamInput = { @@ -25417,6 +29749,7 @@ export namespace Prisma { demoFiles?: DemoFileUncheckedUpdateManyWithoutUserNestedInput createdSchedules?: ScheduleUncheckedUpdateManyWithoutCreatedByNestedInput confirmedSchedules?: ScheduleUncheckedUpdateManyWithoutConfirmedByNestedInput + mapVetoChoices?: MapVetoStepUncheckedUpdateManyWithoutChooserNestedInput } export type UserUncheckedUpdateManyWithoutTeamInput = { @@ -25490,6 +29823,8 @@ export namespace Prisma { roundCount?: NullableIntFieldUpdateOperationsInput | number | null roundHistory?: NullableJsonNullValueInput | InputJsonValue winnerTeam?: NullableStringFieldUpdateOperationsInput | string | null + bestOf?: IntFieldUpdateOperationsInput | number + matchDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string teamB?: TeamUpdateOneWithoutMatchesAsTeamBNestedInput @@ -25498,6 +29833,7 @@ export namespace Prisma { demoFile?: DemoFileUpdateOneWithoutMatchNestedInput players?: MatchPlayerUpdateManyWithoutMatchNestedInput rankUpdates?: RankHistoryUpdateManyWithoutMatchNestedInput + mapVeto?: MapVetoUpdateOneWithoutMatchNestedInput schedule?: ScheduleUpdateOneWithoutLinkedMatchNestedInput } @@ -25516,6 +29852,8 @@ export namespace Prisma { roundCount?: NullableIntFieldUpdateOperationsInput | number | null roundHistory?: NullableJsonNullValueInput | InputJsonValue winnerTeam?: NullableStringFieldUpdateOperationsInput | string | null + bestOf?: IntFieldUpdateOperationsInput | number + matchDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string teamAUsers?: UserUncheckedUpdateManyWithoutMatchesAsTeamANestedInput @@ -25523,6 +29861,7 @@ export namespace Prisma { demoFile?: DemoFileUncheckedUpdateOneWithoutMatchNestedInput players?: MatchPlayerUncheckedUpdateManyWithoutMatchNestedInput rankUpdates?: RankHistoryUncheckedUpdateManyWithoutMatchNestedInput + mapVeto?: MapVetoUncheckedUpdateOneWithoutMatchNestedInput schedule?: ScheduleUncheckedUpdateOneWithoutLinkedMatchNestedInput } @@ -25541,6 +29880,8 @@ export namespace Prisma { roundCount?: NullableIntFieldUpdateOperationsInput | number | null roundHistory?: NullableJsonNullValueInput | InputJsonValue winnerTeam?: NullableStringFieldUpdateOperationsInput | string | null + bestOf?: IntFieldUpdateOperationsInput | number + matchDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } @@ -25559,6 +29900,8 @@ export namespace Prisma { roundCount?: NullableIntFieldUpdateOperationsInput | number | null roundHistory?: NullableJsonNullValueInput | InputJsonValue winnerTeam?: NullableStringFieldUpdateOperationsInput | string | null + bestOf?: IntFieldUpdateOperationsInput | number + matchDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string teamA?: TeamUpdateOneWithoutMatchesAsTeamANestedInput @@ -25567,6 +29910,7 @@ export namespace Prisma { demoFile?: DemoFileUpdateOneWithoutMatchNestedInput players?: MatchPlayerUpdateManyWithoutMatchNestedInput rankUpdates?: RankHistoryUpdateManyWithoutMatchNestedInput + mapVeto?: MapVetoUpdateOneWithoutMatchNestedInput schedule?: ScheduleUpdateOneWithoutLinkedMatchNestedInput } @@ -25585,6 +29929,8 @@ export namespace Prisma { roundCount?: NullableIntFieldUpdateOperationsInput | number | null roundHistory?: NullableJsonNullValueInput | InputJsonValue winnerTeam?: NullableStringFieldUpdateOperationsInput | string | null + bestOf?: IntFieldUpdateOperationsInput | number + matchDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string teamAUsers?: UserUncheckedUpdateManyWithoutMatchesAsTeamANestedInput @@ -25592,6 +29938,7 @@ export namespace Prisma { demoFile?: DemoFileUncheckedUpdateOneWithoutMatchNestedInput players?: MatchPlayerUncheckedUpdateManyWithoutMatchNestedInput rankUpdates?: RankHistoryUncheckedUpdateManyWithoutMatchNestedInput + mapVeto?: MapVetoUncheckedUpdateOneWithoutMatchNestedInput schedule?: ScheduleUncheckedUpdateOneWithoutLinkedMatchNestedInput } @@ -25610,6 +29957,8 @@ export namespace Prisma { roundCount?: NullableIntFieldUpdateOperationsInput | number | null roundHistory?: NullableJsonNullValueInput | InputJsonValue winnerTeam?: NullableStringFieldUpdateOperationsInput | string | null + bestOf?: IntFieldUpdateOperationsInput | number + matchDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } @@ -25704,6 +30053,36 @@ export namespace Prisma { updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } + export type MapVetoStepUpdateWithoutTeamInput = { + id?: StringFieldUpdateOperationsInput | string + order?: IntFieldUpdateOperationsInput | number + action?: EnumMapVetoActionFieldUpdateOperationsInput | $Enums.MapVetoAction + map?: NullableStringFieldUpdateOperationsInput | string | null + chosenAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + chooser?: UserUpdateOneWithoutMapVetoChoicesNestedInput + veto?: MapVetoUpdateOneRequiredWithoutStepsNestedInput + } + + export type MapVetoStepUncheckedUpdateWithoutTeamInput = { + id?: StringFieldUpdateOperationsInput | string + vetoId?: StringFieldUpdateOperationsInput | string + order?: IntFieldUpdateOperationsInput | number + action?: EnumMapVetoActionFieldUpdateOperationsInput | $Enums.MapVetoAction + map?: NullableStringFieldUpdateOperationsInput | string | null + chosenAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + chosenBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type MapVetoStepUncheckedUpdateManyWithoutTeamInput = { + id?: StringFieldUpdateOperationsInput | string + vetoId?: StringFieldUpdateOperationsInput | string + order?: IntFieldUpdateOperationsInput | number + action?: EnumMapVetoActionFieldUpdateOperationsInput | $Enums.MapVetoAction + map?: NullableStringFieldUpdateOperationsInput | string | null + chosenAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + chosenBy?: NullableStringFieldUpdateOperationsInput | string | null + } + export type MatchPlayerCreateManyMatchInput = { id?: string steamId: string @@ -25743,6 +30122,7 @@ export namespace Prisma { demoFiles?: DemoFileUpdateManyWithoutUserNestedInput createdSchedules?: ScheduleUpdateManyWithoutCreatedByNestedInput confirmedSchedules?: ScheduleUpdateManyWithoutConfirmedByNestedInput + mapVetoChoices?: MapVetoStepUpdateManyWithoutChooserNestedInput } export type UserUncheckedUpdateWithoutMatchesAsTeamAInput = { @@ -25767,6 +30147,7 @@ export namespace Prisma { demoFiles?: DemoFileUncheckedUpdateManyWithoutUserNestedInput createdSchedules?: ScheduleUncheckedUpdateManyWithoutCreatedByNestedInput confirmedSchedules?: ScheduleUncheckedUpdateManyWithoutConfirmedByNestedInput + mapVetoChoices?: MapVetoStepUncheckedUpdateManyWithoutChooserNestedInput } export type UserUncheckedUpdateManyWithoutMatchesAsTeamAInput = { @@ -25805,6 +30186,7 @@ export namespace Prisma { demoFiles?: DemoFileUpdateManyWithoutUserNestedInput createdSchedules?: ScheduleUpdateManyWithoutCreatedByNestedInput confirmedSchedules?: ScheduleUpdateManyWithoutConfirmedByNestedInput + mapVetoChoices?: MapVetoStepUpdateManyWithoutChooserNestedInput } export type UserUncheckedUpdateWithoutMatchesAsTeamBInput = { @@ -25829,6 +30211,7 @@ export namespace Prisma { demoFiles?: DemoFileUncheckedUpdateManyWithoutUserNestedInput createdSchedules?: ScheduleUncheckedUpdateManyWithoutCreatedByNestedInput confirmedSchedules?: ScheduleUncheckedUpdateManyWithoutConfirmedByNestedInput + mapVetoChoices?: MapVetoStepUncheckedUpdateManyWithoutChooserNestedInput } export type UserUncheckedUpdateManyWithoutMatchesAsTeamBInput = { @@ -25898,6 +30281,46 @@ export namespace Prisma { createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } + export type MapVetoStepCreateManyVetoInput = { + id?: string + order: number + action: $Enums.MapVetoAction + teamId?: string | null + map?: string | null + chosenAt?: Date | string | null + chosenBy?: string | null + } + + export type MapVetoStepUpdateWithoutVetoInput = { + id?: StringFieldUpdateOperationsInput | string + order?: IntFieldUpdateOperationsInput | number + action?: EnumMapVetoActionFieldUpdateOperationsInput | $Enums.MapVetoAction + map?: NullableStringFieldUpdateOperationsInput | string | null + chosenAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + team?: TeamUpdateOneWithoutMapVetoStepsNestedInput + chooser?: UserUpdateOneWithoutMapVetoChoicesNestedInput + } + + export type MapVetoStepUncheckedUpdateWithoutVetoInput = { + id?: StringFieldUpdateOperationsInput | string + order?: IntFieldUpdateOperationsInput | number + action?: EnumMapVetoActionFieldUpdateOperationsInput | $Enums.MapVetoAction + teamId?: NullableStringFieldUpdateOperationsInput | string | null + map?: NullableStringFieldUpdateOperationsInput | string | null + chosenAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + chosenBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type MapVetoStepUncheckedUpdateManyWithoutVetoInput = { + id?: StringFieldUpdateOperationsInput | string + order?: IntFieldUpdateOperationsInput | number + action?: EnumMapVetoActionFieldUpdateOperationsInput | $Enums.MapVetoAction + teamId?: NullableStringFieldUpdateOperationsInput | string | null + map?: NullableStringFieldUpdateOperationsInput | string | null + chosenAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + chosenBy?: NullableStringFieldUpdateOperationsInput | string | null + } + /** diff --git a/src/generated/prisma/index.js b/src/generated/prisma/index.js index 96482e2..1f7a3af 100644 --- a/src/generated/prisma/index.js +++ b/src/generated/prisma/index.js @@ -153,6 +153,8 @@ exports.Prisma.MatchScalarFieldEnum = { roundCount: 'roundCount', roundHistory: 'roundHistory', winnerTeam: 'winnerTeam', + bestOf: 'bestOf', + matchDate: 'matchDate', createdAt: 'createdAt', updatedAt: 'updatedAt' }; @@ -247,6 +249,29 @@ exports.Prisma.ServerRequestScalarFieldEnum = { createdAt: 'createdAt' }; +exports.Prisma.MapVetoScalarFieldEnum = { + id: 'id', + matchId: 'matchId', + bestOf: 'bestOf', + mapPool: 'mapPool', + currentIdx: 'currentIdx', + locked: 'locked', + opensAt: 'opensAt', + createdAt: 'createdAt', + updatedAt: 'updatedAt' +}; + +exports.Prisma.MapVetoStepScalarFieldEnum = { + id: 'id', + vetoId: 'vetoId', + order: 'order', + action: 'action', + teamId: 'teamId', + map: 'map', + chosenAt: 'chosenAt', + chosenBy: 'chosenBy' +}; + exports.Prisma.SortOrder = { asc: 'asc', desc: 'desc' @@ -280,6 +305,12 @@ exports.ScheduleStatus = exports.$Enums.ScheduleStatus = { COMPLETED: 'COMPLETED' }; +exports.MapVetoAction = exports.$Enums.MapVetoAction = { + BAN: 'BAN', + PICK: 'PICK', + DECIDER: 'DECIDER' +}; + exports.Prisma.ModelName = { User: 'User', Team: 'Team', @@ -291,7 +322,9 @@ exports.Prisma.ModelName = { RankHistory: 'RankHistory', Schedule: 'Schedule', DemoFile: 'DemoFile', - ServerRequest: 'ServerRequest' + ServerRequest: 'ServerRequest', + MapVeto: 'MapVeto', + MapVetoStep: 'MapVetoStep' }; /** * Create the Client @@ -304,7 +337,7 @@ const config = { "value": "prisma-client-js" }, "output": { - "value": "C:\\Users\\Chris\\fork\\ironie-nextjs\\src\\generated\\prisma", + "value": "C:\\Users\\Rother\\fork\\ironie-nextjs\\src\\generated\\prisma", "fromEnvVar": null }, "config": { @@ -318,7 +351,7 @@ const config = { } ], "previewFeatures": [], - "sourceFilePath": "C:\\Users\\Chris\\fork\\ironie-nextjs\\prisma\\schema.prisma", + "sourceFilePath": "C:\\Users\\Rother\\fork\\ironie-nextjs\\prisma\\schema.prisma", "isCustomOutput": true }, "relativeEnvPaths": { @@ -332,6 +365,7 @@ const config = { "db" ], "activeProvider": "postgresql", + "postinstall": false, "inlineDatasources": { "db": { "url": { @@ -340,8 +374,8 @@ const config = { } } }, - "inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n output = \"../src/generated/prisma\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n url = env(\"DATABASE_URL\")\n}\n\n//\n// ──────────────────────────────────────────────\n// 🧑 Benutzer, Teams & Verwaltung\n// ──────────────────────────────────────────────\n//\n\nmodel User {\n steamId String @id\n name String?\n avatar String?\n location String?\n isAdmin Boolean @default(false)\n\n teamId String?\n team Team? @relation(\"UserTeam\", fields: [teamId], references: [id])\n ledTeam Team? @relation(\"TeamLeader\")\n\n matchesAsTeamA Match[] @relation(\"TeamAPlayers\")\n matchesAsTeamB Match[] @relation(\"TeamBPlayers\")\n\n premierRank Int?\n authCode String?\n lastKnownShareCode String?\n lastKnownShareCodeDate DateTime?\n createdAt DateTime @default(now())\n\n invites TeamInvite[] @relation(\"UserInvitations\")\n notifications Notification[]\n matchPlayers MatchPlayer[]\n serverRequests ServerRequest[] @relation(\"MatchRequests\")\n rankHistory RankHistory[] @relation(\"UserRankHistory\")\n demoFiles DemoFile[]\n\n createdSchedules Schedule[] @relation(\"CreatedSchedules\")\n confirmedSchedules Schedule[] @relation(\"ConfirmedSchedules\")\n}\n\nmodel Team {\n id String @id @default(uuid())\n name String @unique\n logo String?\n leaderId String? @unique\n createdAt DateTime @default(now())\n\n activePlayers String[]\n inactivePlayers String[]\n\n leader User? @relation(\"TeamLeader\", fields: [leaderId], references: [steamId])\n members User[] @relation(\"UserTeam\")\n invites TeamInvite[]\n matchPlayers MatchPlayer[]\n\n matchesAsTeamA Match[] @relation(\"MatchTeamA\")\n matchesAsTeamB Match[] @relation(\"MatchTeamB\")\n\n schedulesAsTeamA Schedule[] @relation(\"ScheduleTeamA\")\n schedulesAsTeamB Schedule[] @relation(\"ScheduleTeamB\")\n}\n\nmodel TeamInvite {\n id String @id @default(uuid())\n steamId String\n teamId String\n type String\n createdAt DateTime @default(now())\n\n user User @relation(\"UserInvitations\", fields: [steamId], references: [steamId])\n team Team @relation(fields: [teamId], references: [id])\n}\n\nmodel Notification {\n id String @id @default(uuid())\n steamId String\n title String?\n message String\n read Boolean @default(false)\n persistent Boolean @default(false)\n actionType String?\n actionData String?\n createdAt DateTime @default(now())\n\n user User @relation(fields: [steamId], references: [steamId])\n}\n\n//\n// ──────────────────────────────────────────────\n// 🎮 Matches & Spieler\n// ──────────────────────────────────────────────\n//\n\nmodel Match {\n id String @id @default(uuid())\n title String\n matchType String @default(\"community\")\n map String?\n description String?\n scoreA Int?\n scoreB Int?\n\n teamAId String?\n teamA Team? @relation(\"MatchTeamA\", fields: [teamAId], references: [id])\n\n teamBId String?\n teamB Team? @relation(\"MatchTeamB\", fields: [teamBId], references: [id])\n\n teamAUsers User[] @relation(\"TeamAPlayers\")\n teamBUsers User[] @relation(\"TeamBPlayers\")\n\n filePath String?\n demoFile DemoFile?\n demoDate DateTime?\n demoData Json?\n\n players MatchPlayer[]\n rankUpdates RankHistory[] @relation(\"MatchRankHistory\")\n\n roundCount Int?\n roundHistory Json?\n winnerTeam String?\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n schedule Schedule?\n}\n\nmodel MatchPlayer {\n id String @id @default(uuid())\n steamId String\n matchId String\n teamId String?\n team Team? @relation(fields: [teamId], references: [id])\n\n match Match @relation(fields: [matchId], references: [id])\n user User @relation(fields: [steamId], references: [steamId])\n\n stats PlayerStats?\n\n createdAt DateTime @default(now())\n\n @@unique([matchId, steamId])\n}\n\nmodel PlayerStats {\n id String @id @default(uuid())\n matchId String\n steamId String\n\n kills Int\n assists Int\n deaths Int\n headshotPct Float\n\n totalDamage Float @default(0)\n utilityDamage Int @default(0)\n flashAssists Int @default(0)\n mvps Int @default(0)\n mvpEliminations Int @default(0)\n mvpDefuse Int @default(0)\n mvpPlant Int @default(0)\n knifeKills Int @default(0)\n zeusKills Int @default(0)\n wallbangKills Int @default(0)\n smokeKills Int @default(0)\n headshots Int @default(0)\n noScopes Int @default(0)\n blindKills Int @default(0)\n\n aim Int @default(0)\n\n oneK Int @default(0)\n twoK Int @default(0)\n threeK Int @default(0)\n fourK Int @default(0)\n fiveK Int @default(0)\n\n rankOld Int?\n rankNew Int?\n rankChange Int?\n winCount Int?\n\n matchPlayer MatchPlayer @relation(fields: [matchId, steamId], references: [matchId, steamId])\n\n @@unique([matchId, steamId])\n}\n\nmodel RankHistory {\n id String @id @default(uuid())\n steamId String\n matchId String?\n\n rankOld Int\n rankNew Int\n delta Int\n winCount Int\n\n createdAt DateTime @default(now())\n\n user User @relation(\"UserRankHistory\", fields: [steamId], references: [steamId])\n match Match? @relation(\"MatchRankHistory\", fields: [matchId], references: [id])\n}\n\nmodel Schedule {\n id String @id @default(uuid())\n title String\n description String?\n map String?\n date DateTime\n status ScheduleStatus @default(PENDING)\n\n teamAId String?\n teamA Team? @relation(\"ScheduleTeamA\", fields: [teamAId], references: [id])\n\n teamBId String?\n teamB Team? @relation(\"ScheduleTeamB\", fields: [teamBId], references: [id])\n\n createdById String\n createdBy User @relation(\"CreatedSchedules\", fields: [createdById], references: [steamId])\n\n confirmedById String?\n confirmedBy User? @relation(\"ConfirmedSchedules\", fields: [confirmedById], references: [steamId])\n\n linkedMatchId String? @unique\n linkedMatch Match? @relation(fields: [linkedMatchId], references: [id])\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nenum ScheduleStatus {\n PENDING\n CONFIRMED\n DECLINED\n CANCELLED\n COMPLETED\n}\n\n//\n// ──────────────────────────────────────────────\n// 📦 Demo-Dateien & CS2 Requests\n// ──────────────────────────────────────────────\n//\n\nmodel DemoFile {\n id String @id @default(uuid())\n matchId String @unique\n steamId String\n fileName String @unique\n filePath String\n parsed Boolean @default(false)\n\n createdAt DateTime @default(now())\n\n match Match @relation(fields: [matchId], references: [id])\n user User @relation(fields: [steamId], references: [steamId])\n}\n\nmodel ServerRequest {\n id String @id @default(uuid())\n steamId String\n matchId String\n reservationId BigInt\n tvPort BigInt\n processed Boolean @default(false)\n failed Boolean @default(false)\n\n createdAt DateTime @default(now())\n\n user User @relation(\"MatchRequests\", fields: [steamId], references: [steamId])\n\n @@unique([steamId, matchId])\n}\n", - "inlineSchemaHash": "ade4e560fc8905cca973dec93825a926dbbcf59f6d3c08461a27cf13a3588433", + "inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n output = \"../src/generated/prisma\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n url = env(\"DATABASE_URL\")\n}\n\n//\n// ──────────────────────────────────────────────\n// 🧑 Benutzer, Teams & Verwaltung\n// ──────────────────────────────────────────────\n//\n\nmodel User {\n steamId String @id\n name String?\n avatar String?\n location String?\n isAdmin Boolean @default(false)\n\n teamId String?\n team Team? @relation(\"UserTeam\", fields: [teamId], references: [id])\n ledTeam Team? @relation(\"TeamLeader\")\n\n matchesAsTeamA Match[] @relation(\"TeamAPlayers\")\n matchesAsTeamB Match[] @relation(\"TeamBPlayers\")\n\n premierRank Int?\n authCode String?\n lastKnownShareCode String?\n lastKnownShareCodeDate DateTime?\n createdAt DateTime @default(now())\n\n invites TeamInvite[] @relation(\"UserInvitations\")\n notifications Notification[]\n matchPlayers MatchPlayer[]\n serverRequests ServerRequest[] @relation(\"MatchRequests\")\n rankHistory RankHistory[] @relation(\"UserRankHistory\")\n demoFiles DemoFile[]\n\n createdSchedules Schedule[] @relation(\"CreatedSchedules\")\n confirmedSchedules Schedule[] @relation(\"ConfirmedSchedules\")\n\n mapVetoChoices MapVetoStep[] @relation(\"VetoStepChooser\")\n}\n\nmodel Team {\n id String @id @default(uuid())\n name String @unique\n logo String?\n leaderId String? @unique\n createdAt DateTime @default(now())\n\n activePlayers String[]\n inactivePlayers String[]\n\n leader User? @relation(\"TeamLeader\", fields: [leaderId], references: [steamId])\n members User[] @relation(\"UserTeam\")\n invites TeamInvite[]\n matchPlayers MatchPlayer[]\n\n matchesAsTeamA Match[] @relation(\"MatchTeamA\")\n matchesAsTeamB Match[] @relation(\"MatchTeamB\")\n\n schedulesAsTeamA Schedule[] @relation(\"ScheduleTeamA\")\n schedulesAsTeamB Schedule[] @relation(\"ScheduleTeamB\")\n\n mapVetoSteps MapVetoStep[] @relation(\"VetoStepTeam\")\n}\n\nmodel TeamInvite {\n id String @id @default(uuid())\n steamId String\n teamId String\n type String\n createdAt DateTime @default(now())\n\n user User @relation(\"UserInvitations\", fields: [steamId], references: [steamId])\n team Team @relation(fields: [teamId], references: [id])\n}\n\nmodel Notification {\n id String @id @default(uuid())\n steamId String\n title String?\n message String\n read Boolean @default(false)\n persistent Boolean @default(false)\n actionType String?\n actionData String?\n createdAt DateTime @default(now())\n\n user User @relation(fields: [steamId], references: [steamId])\n}\n\n//\n// ──────────────────────────────────────────────\n// 🎮 Matches & Spieler\n// ──────────────────────────────────────────────\n//\n\n// ──────────────────────────────────────────────\n// 🎮 Matches\n// ──────────────────────────────────────────────\n\nmodel Match {\n id String @id @default(uuid())\n title String\n matchType String @default(\"community\")\n map String?\n description String?\n scoreA Int?\n scoreB Int?\n\n teamAId String?\n teamA Team? @relation(\"MatchTeamA\", fields: [teamAId], references: [id])\n\n teamBId String?\n teamB Team? @relation(\"MatchTeamB\", fields: [teamBId], references: [id])\n\n teamAUsers User[] @relation(\"TeamAPlayers\")\n teamBUsers User[] @relation(\"TeamBPlayers\")\n\n filePath String?\n demoFile DemoFile?\n demoDate DateTime?\n demoData Json?\n\n players MatchPlayer[]\n rankUpdates RankHistory[] @relation(\"MatchRankHistory\")\n\n roundCount Int?\n roundHistory Json?\n winnerTeam String?\n\n bestOf Int @default(3) // 1 | 3 | 5 – app-seitig validieren\n matchDate DateTime? // geplante Startzeit (separat von demoDate)\n mapVeto MapVeto? // 1:1 Map-Vote-Status\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n schedule Schedule?\n}\n\nmodel MatchPlayer {\n id String @id @default(uuid())\n steamId String\n matchId String\n teamId String?\n team Team? @relation(fields: [teamId], references: [id])\n\n match Match @relation(fields: [matchId], references: [id])\n user User @relation(fields: [steamId], references: [steamId])\n\n stats PlayerStats?\n\n createdAt DateTime @default(now())\n\n @@unique([matchId, steamId])\n}\n\nmodel PlayerStats {\n id String @id @default(uuid())\n matchId String\n steamId String\n\n kills Int\n assists Int\n deaths Int\n headshotPct Float\n\n totalDamage Float @default(0)\n utilityDamage Int @default(0)\n flashAssists Int @default(0)\n mvps Int @default(0)\n mvpEliminations Int @default(0)\n mvpDefuse Int @default(0)\n mvpPlant Int @default(0)\n knifeKills Int @default(0)\n zeusKills Int @default(0)\n wallbangKills Int @default(0)\n smokeKills Int @default(0)\n headshots Int @default(0)\n noScopes Int @default(0)\n blindKills Int @default(0)\n\n aim Int @default(0)\n\n oneK Int @default(0)\n twoK Int @default(0)\n threeK Int @default(0)\n fourK Int @default(0)\n fiveK Int @default(0)\n\n rankOld Int?\n rankNew Int?\n rankChange Int?\n winCount Int?\n\n matchPlayer MatchPlayer @relation(fields: [matchId, steamId], references: [matchId, steamId])\n\n @@unique([matchId, steamId])\n}\n\nmodel RankHistory {\n id String @id @default(uuid())\n steamId String\n matchId String?\n\n rankOld Int\n rankNew Int\n delta Int\n winCount Int\n\n createdAt DateTime @default(now())\n\n user User @relation(\"UserRankHistory\", fields: [steamId], references: [steamId])\n match Match? @relation(\"MatchRankHistory\", fields: [matchId], references: [id])\n}\n\nmodel Schedule {\n id String @id @default(uuid())\n title String\n description String?\n map String?\n date DateTime\n status ScheduleStatus @default(PENDING)\n\n teamAId String?\n teamA Team? @relation(\"ScheduleTeamA\", fields: [teamAId], references: [id])\n\n teamBId String?\n teamB Team? @relation(\"ScheduleTeamB\", fields: [teamBId], references: [id])\n\n createdById String\n createdBy User @relation(\"CreatedSchedules\", fields: [createdById], references: [steamId])\n\n confirmedById String?\n confirmedBy User? @relation(\"ConfirmedSchedules\", fields: [confirmedById], references: [steamId])\n\n linkedMatchId String? @unique\n linkedMatch Match? @relation(fields: [linkedMatchId], references: [id])\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nenum ScheduleStatus {\n PENDING\n CONFIRMED\n DECLINED\n CANCELLED\n COMPLETED\n}\n\n//\n// ──────────────────────────────────────────────\n// 📦 Demo-Dateien & CS2 Requests\n// ──────────────────────────────────────────────\n//\n\nmodel DemoFile {\n id String @id @default(uuid())\n matchId String @unique\n steamId String\n fileName String @unique\n filePath String\n parsed Boolean @default(false)\n\n createdAt DateTime @default(now())\n\n match Match @relation(fields: [matchId], references: [id])\n user User @relation(fields: [steamId], references: [steamId])\n}\n\nmodel ServerRequest {\n id String @id @default(uuid())\n steamId String\n matchId String\n reservationId BigInt\n tvPort BigInt\n processed Boolean @default(false)\n failed Boolean @default(false)\n\n createdAt DateTime @default(now())\n\n user User @relation(\"MatchRequests\", fields: [steamId], references: [steamId])\n\n @@unique([steamId, matchId])\n}\n\n// ──────────────────────────────────────────────\n// 🗺️ Map-Vote\n// ──────────────────────────────────────────────\n\nenum MapVetoAction {\n BAN\n PICK\n DECIDER\n}\n\nmodel MapVeto {\n id String @id @default(uuid())\n matchId String @unique\n match Match @relation(fields: [matchId], references: [id])\n\n // Basiszustand\n bestOf Int @default(3)\n mapPool String[] // z.B. [\"de_inferno\",\"de_mirage\",...]\n currentIdx Int @default(0)\n locked Boolean @default(false)\n\n // Optional: serverseitig speichern, statt im UI zu berechnen\n opensAt DateTime?\n\n steps MapVetoStep[]\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel MapVetoStep {\n id String @id @default(uuid())\n vetoId String\n order Int\n action MapVetoAction\n\n // Team, das am Zug ist (kann bei DECIDER null sein)\n teamId String?\n team Team? @relation(\"VetoStepTeam\", fields: [teamId], references: [id])\n\n // Ergebnis & wer gewählt hat\n map String?\n chosenAt DateTime?\n chosenBy String?\n chooser User? @relation(\"VetoStepChooser\", fields: [chosenBy], references: [steamId])\n\n veto MapVeto @relation(fields: [vetoId], references: [id])\n\n @@unique([vetoId, order])\n @@index([teamId])\n @@index([chosenBy])\n}\n", + "inlineSchemaHash": "8e7008c693e03efce5121e41440c2eb0fb24e52679ec9ac6c1ebccc7fc1f5c5a", "copyEngine": true } @@ -362,7 +396,7 @@ if (!fs.existsSync(path.join(__dirname, 'schema.prisma'))) { config.isBundled = true } -config.runtimeDataModel = JSON.parse("{\"models\":{\"User\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"steamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"avatar\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"location\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isAdmin\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"team\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Team\",\"nativeType\":null,\"relationName\":\"UserTeam\",\"relationFromFields\":[\"teamId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ledTeam\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Team\",\"nativeType\":null,\"relationName\":\"TeamLeader\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchesAsTeamA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Match\",\"nativeType\":null,\"relationName\":\"TeamAPlayers\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchesAsTeamB\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Match\",\"nativeType\":null,\"relationName\":\"TeamBPlayers\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"premierRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"authCode\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastKnownShareCode\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastKnownShareCodeDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"invites\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"TeamInvite\",\"nativeType\":null,\"relationName\":\"UserInvitations\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notifications\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Notification\",\"nativeType\":null,\"relationName\":\"NotificationToUser\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchPlayers\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"MatchPlayer\",\"nativeType\":null,\"relationName\":\"MatchPlayerToUser\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"serverRequests\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ServerRequest\",\"nativeType\":null,\"relationName\":\"MatchRequests\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rankHistory\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"RankHistory\",\"nativeType\":null,\"relationName\":\"UserRankHistory\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"demoFiles\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DemoFile\",\"nativeType\":null,\"relationName\":\"DemoFileToUser\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdSchedules\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Schedule\",\"nativeType\":null,\"relationName\":\"CreatedSchedules\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"confirmedSchedules\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Schedule\",\"nativeType\":null,\"relationName\":\"ConfirmedSchedules\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Team\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"logo\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"leaderId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"activePlayers\",\"kind\":\"scalar\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"inactivePlayers\",\"kind\":\"scalar\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"leader\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"TeamLeader\",\"relationFromFields\":[\"leaderId\"],\"relationToFields\":[\"steamId\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"members\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"UserTeam\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"invites\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"TeamInvite\",\"nativeType\":null,\"relationName\":\"TeamToTeamInvite\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchPlayers\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"MatchPlayer\",\"nativeType\":null,\"relationName\":\"MatchPlayerToTeam\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchesAsTeamA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Match\",\"nativeType\":null,\"relationName\":\"MatchTeamA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchesAsTeamB\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Match\",\"nativeType\":null,\"relationName\":\"MatchTeamB\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"schedulesAsTeamA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Schedule\",\"nativeType\":null,\"relationName\":\"ScheduleTeamA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"schedulesAsTeamB\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Schedule\",\"nativeType\":null,\"relationName\":\"ScheduleTeamB\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"TeamInvite\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"steamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"UserInvitations\",\"relationFromFields\":[\"steamId\"],\"relationToFields\":[\"steamId\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"team\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Team\",\"nativeType\":null,\"relationName\":\"TeamToTeamInvite\",\"relationFromFields\":[\"teamId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Notification\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"steamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"title\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"message\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"read\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"persistent\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"actionType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"actionData\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"NotificationToUser\",\"relationFromFields\":[\"steamId\"],\"relationToFields\":[\"steamId\"],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Match\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"title\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":\"community\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"map\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"scoreA\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"scoreB\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamAId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Team\",\"nativeType\":null,\"relationName\":\"MatchTeamA\",\"relationFromFields\":[\"teamAId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamBId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamB\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Team\",\"nativeType\":null,\"relationName\":\"MatchTeamB\",\"relationFromFields\":[\"teamBId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamAUsers\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"TeamAPlayers\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamBUsers\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"TeamBPlayers\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"filePath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"demoFile\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DemoFile\",\"nativeType\":null,\"relationName\":\"DemoFileToMatch\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"demoDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"demoData\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"players\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"MatchPlayer\",\"nativeType\":null,\"relationName\":\"MatchToMatchPlayer\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rankUpdates\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"RankHistory\",\"nativeType\":null,\"relationName\":\"MatchRankHistory\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"roundCount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"roundHistory\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"winnerTeam\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"schedule\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Schedule\",\"nativeType\":null,\"relationName\":\"MatchToSchedule\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"MatchPlayer\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"steamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"team\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Team\",\"nativeType\":null,\"relationName\":\"MatchPlayerToTeam\",\"relationFromFields\":[\"teamId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"match\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Match\",\"nativeType\":null,\"relationName\":\"MatchToMatchPlayer\",\"relationFromFields\":[\"matchId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"MatchPlayerToUser\",\"relationFromFields\":[\"steamId\"],\"relationToFields\":[\"steamId\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"stats\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"PlayerStats\",\"nativeType\":null,\"relationName\":\"MatchPlayerToPlayerStats\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"matchId\",\"steamId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"matchId\",\"steamId\"]}],\"isGenerated\":false},\"PlayerStats\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"steamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"kills\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"assists\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"deaths\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"headshotPct\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"totalDamage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Float\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"utilityDamage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"flashAssists\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mvps\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mvpEliminations\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mvpDefuse\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mvpPlant\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"knifeKills\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"zeusKills\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"wallbangKills\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"smokeKills\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"headshots\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"noScopes\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"blindKills\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"aim\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"oneK\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"twoK\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"threeK\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fourK\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fiveK\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rankOld\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rankNew\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rankChange\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"winCount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchPlayer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"MatchPlayer\",\"nativeType\":null,\"relationName\":\"MatchPlayerToPlayerStats\",\"relationFromFields\":[\"matchId\",\"steamId\"],\"relationToFields\":[\"matchId\",\"steamId\"],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"matchId\",\"steamId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"matchId\",\"steamId\"]}],\"isGenerated\":false},\"RankHistory\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"steamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rankOld\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rankNew\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"delta\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"winCount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"UserRankHistory\",\"relationFromFields\":[\"steamId\"],\"relationToFields\":[\"steamId\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"match\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Match\",\"nativeType\":null,\"relationName\":\"MatchRankHistory\",\"relationFromFields\":[\"matchId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Schedule\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"title\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"map\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"date\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"ScheduleStatus\",\"nativeType\":null,\"default\":\"PENDING\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamAId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Team\",\"nativeType\":null,\"relationName\":\"ScheduleTeamA\",\"relationFromFields\":[\"teamAId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamBId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamB\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Team\",\"nativeType\":null,\"relationName\":\"ScheduleTeamB\",\"relationFromFields\":[\"teamBId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdById\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"CreatedSchedules\",\"relationFromFields\":[\"createdById\"],\"relationToFields\":[\"steamId\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"confirmedById\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"confirmedBy\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"ConfirmedSchedules\",\"relationFromFields\":[\"confirmedById\"],\"relationToFields\":[\"steamId\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"linkedMatchId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"linkedMatch\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Match\",\"nativeType\":null,\"relationName\":\"MatchToSchedule\",\"relationFromFields\":[\"linkedMatchId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"DemoFile\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"steamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fileName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"filePath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"parsed\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"match\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Match\",\"nativeType\":null,\"relationName\":\"DemoFileToMatch\",\"relationFromFields\":[\"matchId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"DemoFileToUser\",\"relationFromFields\":[\"steamId\"],\"relationToFields\":[\"steamId\"],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ServerRequest\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"steamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"reservationId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tvPort\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"processed\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"failed\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"MatchRequests\",\"relationFromFields\":[\"steamId\"],\"relationToFields\":[\"steamId\"],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"steamId\",\"matchId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"steamId\",\"matchId\"]}],\"isGenerated\":false}},\"enums\":{\"ScheduleStatus\":{\"values\":[{\"name\":\"PENDING\",\"dbName\":null},{\"name\":\"CONFIRMED\",\"dbName\":null},{\"name\":\"DECLINED\",\"dbName\":null},{\"name\":\"CANCELLED\",\"dbName\":null},{\"name\":\"COMPLETED\",\"dbName\":null}],\"dbName\":null}},\"types\":{}}") +config.runtimeDataModel = JSON.parse("{\"models\":{\"User\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"steamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"avatar\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"location\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isAdmin\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"team\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Team\",\"nativeType\":null,\"relationName\":\"UserTeam\",\"relationFromFields\":[\"teamId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ledTeam\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Team\",\"nativeType\":null,\"relationName\":\"TeamLeader\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchesAsTeamA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Match\",\"nativeType\":null,\"relationName\":\"TeamAPlayers\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchesAsTeamB\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Match\",\"nativeType\":null,\"relationName\":\"TeamBPlayers\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"premierRank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"authCode\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastKnownShareCode\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastKnownShareCodeDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"invites\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"TeamInvite\",\"nativeType\":null,\"relationName\":\"UserInvitations\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notifications\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Notification\",\"nativeType\":null,\"relationName\":\"NotificationToUser\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchPlayers\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"MatchPlayer\",\"nativeType\":null,\"relationName\":\"MatchPlayerToUser\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"serverRequests\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ServerRequest\",\"nativeType\":null,\"relationName\":\"MatchRequests\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rankHistory\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"RankHistory\",\"nativeType\":null,\"relationName\":\"UserRankHistory\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"demoFiles\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DemoFile\",\"nativeType\":null,\"relationName\":\"DemoFileToUser\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdSchedules\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Schedule\",\"nativeType\":null,\"relationName\":\"CreatedSchedules\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"confirmedSchedules\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Schedule\",\"nativeType\":null,\"relationName\":\"ConfirmedSchedules\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mapVetoChoices\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"MapVetoStep\",\"nativeType\":null,\"relationName\":\"VetoStepChooser\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Team\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"logo\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"leaderId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"activePlayers\",\"kind\":\"scalar\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"inactivePlayers\",\"kind\":\"scalar\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"leader\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"TeamLeader\",\"relationFromFields\":[\"leaderId\"],\"relationToFields\":[\"steamId\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"members\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"UserTeam\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"invites\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"TeamInvite\",\"nativeType\":null,\"relationName\":\"TeamToTeamInvite\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchPlayers\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"MatchPlayer\",\"nativeType\":null,\"relationName\":\"MatchPlayerToTeam\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchesAsTeamA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Match\",\"nativeType\":null,\"relationName\":\"MatchTeamA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchesAsTeamB\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Match\",\"nativeType\":null,\"relationName\":\"MatchTeamB\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"schedulesAsTeamA\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Schedule\",\"nativeType\":null,\"relationName\":\"ScheduleTeamA\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"schedulesAsTeamB\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Schedule\",\"nativeType\":null,\"relationName\":\"ScheduleTeamB\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mapVetoSteps\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"MapVetoStep\",\"nativeType\":null,\"relationName\":\"VetoStepTeam\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"TeamInvite\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"steamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"UserInvitations\",\"relationFromFields\":[\"steamId\"],\"relationToFields\":[\"steamId\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"team\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Team\",\"nativeType\":null,\"relationName\":\"TeamToTeamInvite\",\"relationFromFields\":[\"teamId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Notification\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"steamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"title\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"message\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"read\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"persistent\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"actionType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"actionData\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"NotificationToUser\",\"relationFromFields\":[\"steamId\"],\"relationToFields\":[\"steamId\"],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Match\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"title\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":\"community\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"map\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"scoreA\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"scoreB\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamAId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Team\",\"nativeType\":null,\"relationName\":\"MatchTeamA\",\"relationFromFields\":[\"teamAId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamBId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamB\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Team\",\"nativeType\":null,\"relationName\":\"MatchTeamB\",\"relationFromFields\":[\"teamBId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamAUsers\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"TeamAPlayers\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamBUsers\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"TeamBPlayers\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"filePath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"demoFile\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DemoFile\",\"nativeType\":null,\"relationName\":\"DemoFileToMatch\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"demoDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"demoData\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"players\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"MatchPlayer\",\"nativeType\":null,\"relationName\":\"MatchToMatchPlayer\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rankUpdates\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"RankHistory\",\"nativeType\":null,\"relationName\":\"MatchRankHistory\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"roundCount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"roundHistory\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"winnerTeam\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bestOf\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":3,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mapVeto\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"MapVeto\",\"nativeType\":null,\"relationName\":\"MapVetoToMatch\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"schedule\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Schedule\",\"nativeType\":null,\"relationName\":\"MatchToSchedule\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"MatchPlayer\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"steamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"team\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Team\",\"nativeType\":null,\"relationName\":\"MatchPlayerToTeam\",\"relationFromFields\":[\"teamId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"match\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Match\",\"nativeType\":null,\"relationName\":\"MatchToMatchPlayer\",\"relationFromFields\":[\"matchId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"MatchPlayerToUser\",\"relationFromFields\":[\"steamId\"],\"relationToFields\":[\"steamId\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"stats\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"PlayerStats\",\"nativeType\":null,\"relationName\":\"MatchPlayerToPlayerStats\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"matchId\",\"steamId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"matchId\",\"steamId\"]}],\"isGenerated\":false},\"PlayerStats\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"steamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"kills\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"assists\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"deaths\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"headshotPct\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"totalDamage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Float\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"utilityDamage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"flashAssists\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mvps\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mvpEliminations\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mvpDefuse\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mvpPlant\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"knifeKills\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"zeusKills\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"wallbangKills\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"smokeKills\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"headshots\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"noScopes\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"blindKills\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"aim\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"oneK\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"twoK\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"threeK\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fourK\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fiveK\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rankOld\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rankNew\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rankChange\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"winCount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchPlayer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"MatchPlayer\",\"nativeType\":null,\"relationName\":\"MatchPlayerToPlayerStats\",\"relationFromFields\":[\"matchId\",\"steamId\"],\"relationToFields\":[\"matchId\",\"steamId\"],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"matchId\",\"steamId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"matchId\",\"steamId\"]}],\"isGenerated\":false},\"RankHistory\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"steamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rankOld\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rankNew\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"delta\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"winCount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"UserRankHistory\",\"relationFromFields\":[\"steamId\"],\"relationToFields\":[\"steamId\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"match\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Match\",\"nativeType\":null,\"relationName\":\"MatchRankHistory\",\"relationFromFields\":[\"matchId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Schedule\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"title\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"map\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"date\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"ScheduleStatus\",\"nativeType\":null,\"default\":\"PENDING\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamAId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamA\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Team\",\"nativeType\":null,\"relationName\":\"ScheduleTeamA\",\"relationFromFields\":[\"teamAId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamBId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamB\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Team\",\"nativeType\":null,\"relationName\":\"ScheduleTeamB\",\"relationFromFields\":[\"teamBId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdById\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"CreatedSchedules\",\"relationFromFields\":[\"createdById\"],\"relationToFields\":[\"steamId\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"confirmedById\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"confirmedBy\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"ConfirmedSchedules\",\"relationFromFields\":[\"confirmedById\"],\"relationToFields\":[\"steamId\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"linkedMatchId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"linkedMatch\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Match\",\"nativeType\":null,\"relationName\":\"MatchToSchedule\",\"relationFromFields\":[\"linkedMatchId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"DemoFile\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"steamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fileName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"filePath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"parsed\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"match\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Match\",\"nativeType\":null,\"relationName\":\"DemoFileToMatch\",\"relationFromFields\":[\"matchId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"DemoFileToUser\",\"relationFromFields\":[\"steamId\"],\"relationToFields\":[\"steamId\"],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ServerRequest\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"steamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"reservationId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tvPort\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BigInt\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"processed\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"failed\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"MatchRequests\",\"relationFromFields\":[\"steamId\"],\"relationToFields\":[\"steamId\"],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"steamId\",\"matchId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"steamId\",\"matchId\"]}],\"isGenerated\":false},\"MapVeto\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"match\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Match\",\"nativeType\":null,\"relationName\":\"MapVetoToMatch\",\"relationFromFields\":[\"matchId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bestOf\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":3,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mapPool\",\"kind\":\"scalar\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"currentIdx\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"locked\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"opensAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"steps\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"MapVetoStep\",\"nativeType\":null,\"relationName\":\"MapVetoToMapVetoStep\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"MapVetoStep\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"vetoId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"order\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"action\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"MapVetoAction\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"team\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Team\",\"nativeType\":null,\"relationName\":\"VetoStepTeam\",\"relationFromFields\":[\"teamId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"map\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"chosenAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"chosenBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"chooser\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"VetoStepChooser\",\"relationFromFields\":[\"chosenBy\"],\"relationToFields\":[\"steamId\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"veto\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"MapVeto\",\"nativeType\":null,\"relationName\":\"MapVetoToMapVetoStep\",\"relationFromFields\":[\"vetoId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"vetoId\",\"order\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"vetoId\",\"order\"]}],\"isGenerated\":false}},\"enums\":{\"ScheduleStatus\":{\"values\":[{\"name\":\"PENDING\",\"dbName\":null},{\"name\":\"CONFIRMED\",\"dbName\":null},{\"name\":\"DECLINED\",\"dbName\":null},{\"name\":\"CANCELLED\",\"dbName\":null},{\"name\":\"COMPLETED\",\"dbName\":null}],\"dbName\":null},\"MapVetoAction\":{\"values\":[{\"name\":\"BAN\",\"dbName\":null},{\"name\":\"PICK\",\"dbName\":null},{\"name\":\"DECIDER\",\"dbName\":null}],\"dbName\":null}},\"types\":{}}") defineDmmfProperty(exports.Prisma, config.runtimeDataModel) config.engineWasm = undefined config.compilerWasm = undefined diff --git a/src/generated/prisma/package.json b/src/generated/prisma/package.json index ba1c6ff..743ef05 100644 --- a/src/generated/prisma/package.json +++ b/src/generated/prisma/package.json @@ -1,5 +1,5 @@ { - "name": "prisma-client-606d0d92f2bc1947c35b0ceba01327a22f26543cd49f6fab394887ba3b7b7804", + "name": "prisma-client-ccbcad66b35a04d2308e6d4492f46a36a927649c9d37c79c1ca8fa339e65016e", "main": "index.js", "types": "index.d.ts", "browser": "index-browser.js", diff --git a/src/generated/prisma/schema.prisma b/src/generated/prisma/schema.prisma index 1f9b053..d1efe22 100644 --- a/src/generated/prisma/schema.prisma +++ b/src/generated/prisma/schema.prisma @@ -43,6 +43,8 @@ model User { createdSchedules Schedule[] @relation("CreatedSchedules") confirmedSchedules Schedule[] @relation("ConfirmedSchedules") + + mapVetoChoices MapVoteStep[] @relation("VetoStepChooser") } model Team { @@ -65,6 +67,8 @@ model Team { schedulesAsTeamA Schedule[] @relation("ScheduleTeamA") schedulesAsTeamB Schedule[] @relation("ScheduleTeamB") + + mapVetoSteps MapVoteStep[] @relation("VetoStepTeam") } model TeamInvite { @@ -98,6 +102,10 @@ model Notification { // ────────────────────────────────────────────── // +// ────────────────────────────────────────────── +// 🎮 Matches +// ────────────────────────────────────────────── + model Match { id String @id @default(uuid()) title String @@ -128,6 +136,10 @@ model Match { roundHistory Json? winnerTeam String? + bestOf Int @default(3) // 1 | 3 | 5 – app-seitig validieren + matchDate DateTime? // geplante Startzeit (separat von demoDate) + mapVeto MapVote? // 1:1 Map-Vote-Status + createdAt DateTime @default(now()) updatedAt DateTime @updatedAt @@ -280,3 +292,56 @@ model ServerRequest { @@unique([steamId, matchId]) } + +// ────────────────────────────────────────────── +// 🗺️ Map-Vote +// ────────────────────────────────────────────── + +enum MapVoteAction { + BAN + PICK + DECIDER +} + +model MapVote { + id String @id @default(uuid()) + matchId String @unique + match Match @relation(fields: [matchId], references: [id]) + + // Basiszustand + bestOf Int @default(3) + mapPool String[] // z.B. ["de_inferno","de_mirage",...] + currentIdx Int @default(0) + locked Boolean @default(false) + + // Optional: serverseitig speichern, statt im UI zu berechnen + opensAt DateTime? + + steps MapVoteStep[] + + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt +} + +model MapVoteStep { + id String @id @default(uuid()) + vetoId String + order Int + action MapVoteAction + + // Team, das am Zug ist (kann bei DECIDER null sein) + teamId String? + team Team? @relation("VetoStepTeam", fields: [teamId], references: [id]) + + // Ergebnis & wer gewählt hat + map String? + chosenAt DateTime? + chosenBy String? + chooser User? @relation("VetoStepChooser", fields: [chosenBy], references: [steamId]) + + veto MapVote @relation(fields: [vetoId], references: [id]) + + @@unique([vetoId, order]) + @@index([teamId]) + @@index([chosenBy]) +} diff --git a/src/generated/prisma/wasm.js b/src/generated/prisma/wasm.js index d8028aa..5a89a34 100644 --- a/src/generated/prisma/wasm.js +++ b/src/generated/prisma/wasm.js @@ -180,6 +180,8 @@ exports.Prisma.MatchScalarFieldEnum = { roundCount: 'roundCount', roundHistory: 'roundHistory', winnerTeam: 'winnerTeam', + bestOf: 'bestOf', + matchDate: 'matchDate', createdAt: 'createdAt', updatedAt: 'updatedAt' }; @@ -274,6 +276,29 @@ exports.Prisma.ServerRequestScalarFieldEnum = { createdAt: 'createdAt' }; +exports.Prisma.MapVetoScalarFieldEnum = { + id: 'id', + matchId: 'matchId', + bestOf: 'bestOf', + mapPool: 'mapPool', + currentIdx: 'currentIdx', + locked: 'locked', + opensAt: 'opensAt', + createdAt: 'createdAt', + updatedAt: 'updatedAt' +}; + +exports.Prisma.MapVetoStepScalarFieldEnum = { + id: 'id', + vetoId: 'vetoId', + order: 'order', + action: 'action', + teamId: 'teamId', + map: 'map', + chosenAt: 'chosenAt', + chosenBy: 'chosenBy' +}; + exports.Prisma.SortOrder = { asc: 'asc', desc: 'desc' @@ -307,6 +332,12 @@ exports.ScheduleStatus = exports.$Enums.ScheduleStatus = { COMPLETED: 'COMPLETED' }; +exports.MapVetoAction = exports.$Enums.MapVetoAction = { + BAN: 'BAN', + PICK: 'PICK', + DECIDER: 'DECIDER' +}; + exports.Prisma.ModelName = { User: 'User', Team: 'Team', @@ -318,7 +349,9 @@ exports.Prisma.ModelName = { RankHistory: 'RankHistory', Schedule: 'Schedule', DemoFile: 'DemoFile', - ServerRequest: 'ServerRequest' + ServerRequest: 'ServerRequest', + MapVeto: 'MapVeto', + MapVetoStep: 'MapVetoStep' }; /**