2.4 KiB
2.4 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-01T23:10:59Z | 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
- A registered user can have at most one explicit group assignment.
- Users without an explicit assignment fall back to the protected
everyonegroup. - The
everyonegroup remains created with Minecraft access disabled. - Administrators can create groups with access disabled by default and move users between groups.
- Administrators can enable or disable Minecraft admission for each group.
- Admission follows only the user's effective group; default and explicit-group access are never combined.
- Administrators can delete non-default groups, returning affected users to
everyone. - The protected default group cannot be deleted.
- Group creation, membership, and access-policy changes are audited.
- Users and administrators can inspect the user's single effective group assignment.
Implementation
packages/database/src/schema.tspackages/database/drizzle/0002_simple_queen_noir.sqlpackages/database/drizzle/0003_smiling_silver_samurai.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.