package rest import "github.com/google/uuid" // InitRequest is the body of POST /api/v1/admin/init. The orchestrator // (game backend) generates GameID before launching the engine container // and creating the per-game storage directory, then passes the same // value here so the engine state and the orchestrator's persisted // identity stay aligned. type InitRequest struct { // GameID is the canonical identity of the new game. The engine // rejects requests with the zero UUID and requests that conflict // with an existing state.json on disk. GameID uuid.UUID `json:"gameId" binding:"required"` // Races lists the participating races. Minimum 10 entries. Races []InitRace `json:"races" binding:"required,gte=10"` } type InitRace struct { // RaceName is the human-readable name of the race. RaceName string `json:"raceName" binding:"required,notblank"` }