From 396c3facb8287b9a34076cae8f3d7b300d366d99 Mon Sep 17 00:00:00 2001 From: historia <[not public]> Date: Tue, 15 Sep 2026 14:18:14 -0400 Subject: fix: atomic saves, casino RNG/config isolation, tick lifecycle --- internal/admin/api_rooms.go | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'internal/admin/api_rooms.go') diff --git a/internal/admin/api_rooms.go b/internal/admin/api_rooms.go index 84c3348..2c251bb 100644 --- a/internal/admin/api_rooms.go +++ b/internal/admin/api_rooms.go @@ -45,6 +45,11 @@ func (s *AdminServer) handleRooms(w http.ResponseWriter, r *http.Request) { m = map[string]any{} } + if err := validateRoomCasinoMap(m); err != nil { + writeJSONError(w, "invalid casino configuration: "+err.Error(), http.StatusBadRequest) + return + } + var linkFrom *int var linkDir *string var linkOneWay bool @@ -272,6 +277,10 @@ func (s *AdminServer) handleRoomByID(w http.ResponseWriter, r *http.Request) { m = map[string]any{} } m["id"] = id + if err := validateRoomCasinoMap(m); err != nil { + writeJSONError(w, "invalid casino configuration: "+err.Error(), http.StatusBadRequest) + return + } newContent, writeErr := writeMapAsYAML(path, m) if writeErr != nil { -- cgit v1.2.3