2.0 KiB
2.0 KiB
type, title, description, tags, timestamp, story_id, status
| type | title | description | tags | timestamp | story_id | status | ||||
|---|---|---|---|---|---|---|---|---|---|---|
| User Story | Operate settings and audit views | Authorized administrators control server messaging and investigate recent platform events. |
|
2026-08-02T14:12:43Z | US-012 | verified |
User Story
As an administrator, I want operational settings and audit visibility, so that I can manage player guidance and investigate activity.
Acceptance Criteria
- The admin console shows the deployment-managed Discord guild ID and linked invite URL.
- An authorized administrator can update the denied-player registration message.
- Settings actions validate message length server-side.
- Administrators can browse the latest 100 events.
- Event views show type, subject, IP, classification, and approximate location when available.
- Admin console access itself creates an audit event with the SSO identity.
- Settings, users, and events are linked from the shared admin navigation.
- Administrators can independently configure registration-required, group-access-disabled, and VPN/proxy/Tor-denied game messages.
- Every message is validated server-side and has a safe default.
- Admission-message changes are audited with the administrator identity without logging credentials.
Implementation
apps/web/src/app/admin/(console)/page.tsxapps/web/src/app/admin/(console)/actions.tsapps/web/src/lib/admission-settings.tspackages/database/drizzle/0004_zippy_silver_centurion.sqlapps/web/src/app/admin/(console)/events/page.tsx
Validation
Admin routes are dynamic, role-protected, linted, and included in every production build.