2.1 KiB
2.1 KiB
type, title, description, tags, timestamp, story_id, status
| type | title | description | tags | timestamp | story_id | status | |||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| User Story | Control Minecraft admission with groups | Administrators assign users to groups and enable Minecraft access through explicit group policy. |
|
2026-08-01T22:36:20Z | US-017 | verified |
User Story
As an administrator, I want to organize registered users into access groups, so that server admission can be enabled for selected communities while remaining off by default.
Acceptance Criteria
- Every registered user implicitly belongs to the protected
everyonegroup. - The
everyonegroup is created with Minecraft access disabled. - Administrators can create groups with access disabled by default.
- Administrators can add and remove users from non-default groups.
- Administrators can enable or disable Minecraft admission for each group.
- A registered player is admitted when any assigned group has access enabled.
- A registered player is denied when none of their groups has access enabled.
- Group creation, membership, and access-policy changes are audited.
- Users and administrators can inspect the user's effective group assignments.
Implementation
packages/database/src/schema.tspackages/database/drizzle/0002_simple_queen_noir.sqlapps/web/src/app/admin/(console)/groups/page.tsxapps/web/src/app/admin/(console)/groups/[groupId]/page.tsxapps/web/src/app/api/velocity/access/route.ts
Validation
packages/auth/test/group-access.test.ts- Drizzle migration generation, TypeScript validation, tests, lint, and the production build must pass.