import { database } from "~/database/context"; import * as schema from "~/database/schema"; import { eq, and } from "drizzle-orm"; export async function createDraftPick(data: { seasonId: string; teamId: string; participantId: string; pickNumber: number; round: number; pickInRound: number; pickedByUserId: string; pickedByType: "owner" | "commissioner" | "auto"; timeUsed: number; }) { const db = database(); const [pick] = await db.insert(schema.draftPicks).values(data).returning(); return pick; } export async function getDraftPicks(seasonId: string) { const db = database(); return await db .select() .from(schema.draftPicks) .where(eq(schema.draftPicks.seasonId, seasonId)) .orderBy(schema.draftPicks.pickNumber); } export async function getDraftPickByNumber(seasonId: string, pickNumber: number) { const db = database(); const [pick] = await db .select() .from(schema.draftPicks) .where( and( eq(schema.draftPicks.seasonId, seasonId), eq(schema.draftPicks.pickNumber, pickNumber) ) ); return pick; } export async function getTeamDraftPicks(teamId: string) { const db = database(); return await db .select() .from(schema.draftPicks) .where(eq(schema.draftPicks.teamId, teamId)) .orderBy(schema.draftPicks.pickNumber); } export async function isParticipantDrafted(seasonId: string, participantId: string) { const db = database(); const [pick] = await db .select() .from(schema.draftPicks) .where( and( eq(schema.draftPicks.seasonId, seasonId), eq(schema.draftPicks.participantId, participantId) ) ); return !!pick; } export async function deleteAllDraftPicks(seasonId: string) { const db = database(); await db .delete(schema.draftPicks) .where(eq(schema.draftPicks.seasonId, seasonId)); }