summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/meshbay-draft-v4.md23
1 files changed, 19 insertions, 4 deletions
diff --git a/docs/meshbay-draft-v4.md b/docs/meshbay-draft-v4.md
index 343fd26..45b6381 100644
--- a/docs/meshbay-draft-v4.md
+++ b/docs/meshbay-draft-v4.md
@@ -1,7 +1,7 @@
# MeshBay — Architecture Draft v4
-> Status: active development — Phases 1–8 complete, Phase 9.1–9.5 validated, 123 tests.
-> Changes from v3: web client transport (WebRTC DataChannel), web UI architecture, hub roles (admin/moderator), hub mirror design, browser-specific NAT traversal, chat storage clarified, Phase 8 security items resolved.
+> Status: active development — Phases 1–10.4 complete, 147 tests.
+> Changes from v3: web client transport (WebRTC DataChannel), web UI architecture, hub roles (admin/moderator), hub mirror design, browser-specific NAT traversal, chat storage clarified, Phase 8 security items resolved, Phase 10 site overlay + admin/moderation UI.
---
@@ -233,10 +233,25 @@ Complete table of validated and planned hub REST API endpoints. Endpoints marked
| Method | Path | Auth | Description | Status |
|---|---|---|---|---|
-| POST | `/v1/revoke/user/{user_id}` | Access token (admin) | Revoke a user account | [TBD] |
-| POST | `/v1/revoke/group/{group_id}` | Access token (admin) | Revoke a group | [TBD] |
+| POST | `/v1/admin/revoke` | Access token (admin) | Revoke a user or group | ✓ Phase 8 |
| GET | `/v1/revoke/denylist` | None | Current `jti` denylist for active access tokens | [TBD] |
+**Admin / moderation:**
+
+| Method | Path | Auth | Description | Status |
+|---|---|---|---|---|
+| GET | `/v1/users/me` | Access token | Current user info (id, username, role, status) | ✓ Phase 10 |
+| GET | `/v1/admin/stats` | Moderator+ | Hub stats (user/group/node counts, online nodes) | ✓ Phase 10 |
+| GET | `/v1/admin/users` | Moderator+ | List users (paginated, searchable by username) | ✓ Phase 10 |
+| GET | `/v1/admin/users/{user_id}` | Moderator+ | User detail (email, role, status, group count) | ✓ Phase 10 |
+| PATCH | `/v1/admin/users/{user_id}` | Moderator+ | Update user role or status | ✓ Phase 10 |
+| GET | `/v1/admin/groups` | Moderator+ | List all groups with member count | ✓ Phase 10 |
+| PATCH | `/v1/admin/groups/{group_id}` | Moderator+ | Update group status | ✓ Phase 10 |
+| GET | `/v1/admin/logs` | Moderator+ | IP audit logs (filterable by event, user_id) | ✓ Phase 10 |
+| GET | `/v1/admin/blocklist` | Admin | List blocked content hashes | ✓ Phase 8 |
+| POST | `/v1/admin/blocklist` | Admin | Manually block a content hash | ✓ Phase 8 |
+| DELETE | `/v1/admin/blocklist/{hash}` | Admin | Unblock a content hash | ✓ Phase 8 |
+
### 4.2 Mesh Node
A local program running on the host user's machine. The node is the actual host of all content.