add jury rounds, jury votes, bingo cards DB tables
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import { boolean, pgEnum, pgTable, timestamp, uuid, varchar } from "drizzle-orm/pg-core"
|
||||
import { boolean, integer, jsonb, pgEnum, pgTable, timestamp, uuid, varchar } from "drizzle-orm/pg-core"
|
||||
|
||||
export const actEnum = pgEnum("act", ["lobby", "pre-show", "live-event", "scoring", "ended"])
|
||||
|
||||
@@ -44,3 +44,41 @@ export const predictions = pgTable("predictions", {
|
||||
third: varchar("third").notNull(),
|
||||
last: varchar("last").notNull(),
|
||||
})
|
||||
|
||||
// ─── Jury Voting ────────────────────────────────────────────────────
|
||||
|
||||
export const juryRoundStatusEnum = pgEnum("jury_round_status", ["open", "closed"])
|
||||
|
||||
export const juryRounds = pgTable("jury_rounds", {
|
||||
id: uuid("id").primaryKey().defaultRandom(),
|
||||
roomId: uuid("room_id")
|
||||
.notNull()
|
||||
.references(() => rooms.id),
|
||||
countryCode: varchar("country_code").notNull(),
|
||||
status: juryRoundStatusEnum("status").notNull().default("open"),
|
||||
openedAt: timestamp("opened_at").notNull().defaultNow(),
|
||||
})
|
||||
|
||||
export const juryVotes = pgTable("jury_votes", {
|
||||
id: uuid("id").primaryKey().defaultRandom(),
|
||||
playerId: uuid("player_id")
|
||||
.notNull()
|
||||
.references(() => players.id),
|
||||
juryRoundId: uuid("jury_round_id")
|
||||
.notNull()
|
||||
.references(() => juryRounds.id),
|
||||
rating: integer("rating").notNull(),
|
||||
})
|
||||
|
||||
// ─── Bingo ──────────────────────────────────────────────────────────
|
||||
|
||||
export const bingoCards = pgTable("bingo_cards", {
|
||||
id: uuid("id").primaryKey().defaultRandom(),
|
||||
playerId: uuid("player_id")
|
||||
.notNull()
|
||||
.references(() => players.id),
|
||||
roomId: uuid("room_id")
|
||||
.notNull()
|
||||
.references(() => rooms.id),
|
||||
squares: jsonb("squares").notNull(),
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user