Merge edge into feat/title-conditions: §3's zone presets
All checks were successful
PR Checks / server-tests (pull_request) Successful in 24s
PR Checks / frozen-manifest (pull_request) Successful in 36s
PR Checks / client-build (pull_request) Successful in 7m39s

Two conflicts, both additive: schema.sql and purge.sql keep both phases'
tables. Swagger fragment (61 paths) and routes.manifest (67 routes)
regenerated against the pinned core; 455 server and 58 client tests pass.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
This commit is contained in:
2026-09-29 11:36:00 -05:00
17 changed files with 2162 additions and 1 deletions

View File

@@ -208,6 +208,18 @@ export const adminVisibility = {
save: (body) => req('/admin/rust/visibility', { method: 'PUT', body }),
}
// ── admin · zone presets (PLAN_REDESIGNS §3.1, D210) ───────────────────────
//
// An admin's named sets of ZoneManager flags and settings. `read` also carries
// what each server's last hello said about ZoneManager and ZoneDomes, so the
// page works while a server is off.
export const adminZones = {
read: () => req('/admin/rust/zones'),
create: (body) => req('/admin/rust/zones/presets', { method: 'POST', body }),
update: (id, body) => req(`/admin/rust/zones/presets/${encodeURIComponent(id)}`, { method: 'PUT', body }),
remove: (id) => req(`/admin/rust/zones/presets/${encodeURIComponent(id)}`, { method: 'DELETE' }),
}
// ── admin · mod configuration (R18) ───────────────────────────────────────
//
// Every call here is a LIVE round trip to a game host, which makes this the only
@@ -288,6 +300,7 @@ export default {
adminPermissions,
adminConfig,
adminVisibility,
adminZones,
adminUserLinks,
adminUserPermissions,
BASE,