diff --git a/src/app/(routes)/game/page.tsx b/src/app/(routes)/game/page.tsx index ec0dd3f..bc33b6d 100644 --- a/src/app/(routes)/game/page.tsx +++ b/src/app/(routes)/game/page.tsx @@ -1,7 +1,8 @@ import React from "react"; function GamesPage() { - return
GamesPage
; + return ( +
Games
); } export default GamesPage; diff --git a/src/server/api/routers/lobby.ts b/src/server/api/routers/lobby.ts index 6124b23..570b8d2 100644 --- a/src/server/api/routers/lobby.ts +++ b/src/server/api/routers/lobby.ts @@ -8,6 +8,7 @@ import { } from "@/server/api/trpc"; import { lobbyPatchSchema } from "@/lib/validations/lobby"; import { and, eq } from "drizzle-orm"; +import { time } from "console"; export const lobbyRouter = createTRPCRouter({ // queries @@ -134,6 +135,9 @@ export const lobbyRouter = createTRPCRouter({ .values({ lobbyId: input.lobbyId, userId: ctx.session.user.id, + isReady: false, + joinedAt: new Date(), + role: "member", }) .returning() )[0]; diff --git a/src/server/db/schema.ts b/src/server/db/schema.ts index fee5a91..8ebba65 100644 --- a/src/server/db/schema.ts +++ b/src/server/db/schema.ts @@ -16,9 +16,13 @@ export const lobbies = createTable("lobby", (d) => ({ .primaryKey() .notNull() .$defaultFn(() => createId()), - name: d.varchar({ length: 255 }), - maxMembers: d.integer().notNull().default(0), - + name: d + .varchar({ length: 255 }) + .notNull(), + maxMembers: d + .integer() + .notNull() + .default(0), createdById: d .varchar({ length: 255 }) .notNull() @@ -53,6 +57,15 @@ export const lobbyMembers = createTable( .varchar({ length: 255 }) .notNull() .references(() => lobbies.id, { onDelete: "cascade" }), + joinedAt: d + .timestamp("created_at", { withTimezone: true }) + .notNull(), + role: d + .varchar({ length: 255 }) + .notNull(), + isReady: d + .boolean() + .notNull(), }), (t) => [primaryKey({ columns: [t.lobbyId, t.userId] })], ); @@ -68,6 +81,7 @@ export const lobbyMembersRelations = relations(lobbyMembers, ({ one }) => ({ }), })); + export const users = createTable("user", (d) => ({ id: d .varchar({ length: 255 })