- POST /api/v1/lobbies creates a lobby with a Crockford-Base32 6-char code, retrying on unique violation up to 5 times - POST /api/v1/lobbies/:code/join validates lobby state then calls the model's atomic addPlayer, idempotent for repeat joins from the same user - Routes require authentication via requireAuth
14 lines
408 B
TypeScript
14 lines
408 B
TypeScript
import express from "express";
|
|
import type { Router } from "express";
|
|
import {
|
|
createLobbyHandler,
|
|
joinLobbyHandler,
|
|
} from "../controllers/lobbyController.js";
|
|
import { requireAuth } from "../middleware/authMiddleware.js";
|
|
|
|
export const lobbyRouter: Router = express.Router();
|
|
|
|
lobbyRouter.use(requireAuth);
|
|
|
|
lobbyRouter.post("/", createLobbyHandler);
|
|
lobbyRouter.post("/:code/join", joinLobbyHandler);
|