docs: update root .md files to reflect current frontend state and planned UX enhancements

- ARCHITECTURE.md: fix diagram (Server Detail was "planned", now complete), expand
  frontend directory listing with all 5 pages, all server components, all hooks
- FRONTEND.md: note planned terrain/display_name/workshop_id fields on Mission/Mod
  types; add planned hooks table for Phases 1-5 of UX enhancement plan
- MODULES.md: annotate PlayerRepository with get_by_slot() and ThreadRegistry with
  get_rcon_client() as planned additions in Phase 4
- API.md: add "Upcoming Endpoints" section documenting all planned routes for
  Phases 1-5 of the UX enhancement plan
- README.md: update unit test count (69 → ~120), update frontend structure comment
  to list all current pages/components/hooks
This commit is contained in:
Tran G. (Revernomad) Khoa
2026-04-17 15:50:33 +07:00
parent a688bdfdf9
commit e71dd9a600
5 changed files with 73 additions and 12 deletions

35
API.md
View File

@@ -1485,4 +1485,37 @@ Implemented via `slowapi` middleware.
| `FILE_TOO_LARGE` | 413 | Upload exceeds 500 MB |
| `NO_FILENAME` | 400 | No filename in upload request |
| `VALIDATION_ERROR` | 400 | General validation failure |
| `INTERNAL_ERROR` | 500 | Unexpected server error |
| `INTERNAL_ERROR` | 500 | Unexpected server error |
---
## Upcoming Endpoints (UX Enhancement Plan)
These endpoints are planned and will be added during the Arma 3 UX Enhancement implementation. They do not exist yet.
### Phase 1 — Config UI Schema
| Method | Path | Auth | Description |
|--------|------|------|-------------|
| GET | `/servers/{server_id}/config/ui-schema` | Bearer | Returns widget hints per field (`widget`, `label`, `placeholder`) for the frontend config editor |
### Phase 2 — Mission Rotation
| Method | Path | Auth | Description |
|--------|------|------|-------------|
| GET | `/servers/{server_id}/missions/rotation` | Bearer | Get current mission rotation list |
| PUT | `/servers/{server_id}/missions/rotation` | Admin | Replace mission rotation (requires `config_version` for optimistic locking) |
### Phase 4 — Player Kick / Ban
| Method | Path | Auth | Description |
|--------|------|------|-------------|
| POST | `/servers/{server_id}/players/{slot_id}/kick` | Admin | Kick player by slot ID via RCon; requires `reason` in body |
| POST | `/servers/{server_id}/players/{slot_id}/ban` | Admin | Ban player by slot ID via RCon + DB; requires `reason` and optional `duration_minutes` (`null` = permanent) |
### Phase 5 — Log File Browser
| Method | Path | Auth | Description |
|--------|------|------|-------------|
| GET | `/servers/{server_id}/logfiles` | Bearer | List historical `.rpt` log files with `filename`, `size_bytes`, `modified_at` |
| GET | `/servers/{server_id}/logfiles/{filename}` | Bearer | Stream or return contents of a historical log file |