Skip to content

feat: groups & acepermissions#38

Merged
FjamZoo merged 21 commits into
mainfrom
feat/admin-permission-groups
Jul 3, 2026
Merged

feat: groups & acepermissions#38
FjamZoo merged 21 commits into
mainfrom
feat/admin-permission-groups

Conversation

@FjamZoo

@FjamZoo FjamZoo commented Jul 2, 2026

Copy link
Copy Markdown
Collaborator

Description

This adds some of the largest missing functionality for v1 which is ace permissions and proper group support.

Admins previously had a single per account permission bitmask and groups were just hardcoded presets.

This pretty much replaces that with a db backed group system, a group holds a permission set (name, colour, icon, permission) and each admin is assigned to a group and inherits it, additionally the panel now registers those permissions as ace permissions ingame so we have a 1 to 1 sync between webpanel and ingame.


Tests

  • Tested in development mode
  • Passes typecheck
  • Builds & runs on Windows
  • Builds & runs on Linux

Additional Notes

N/A

FjamZoo added 20 commits July 2, 2026 18:12
- assignGroup clears stale personal permission bits (hidden privilege retention)
- validate group before creating admin (orphaned account with lost password)
- register group.* audit actions so the audit UI can filter them
- delta-based ace resync: no stdin flood, no transient no-permission window
- refresh aces when a staff member's license is first recorded on join
- blank-name guard on group update, audit logs stored (not requested) perms
- dedupe AdminGroupForm type, drop dead hideReset prop, single dialog state
The create route dropped the form's player selection, so a newly created
admin was never linked to a player. Thread playerId through createUser (linked
in the same insert for atomicity) and resync aces so the in-game principal is
pushed immediately.
…gleton

Spying the real repo.groups/repo.admins at module load fails under CI when a
sibling test's mock.module('@fxmanager/database') leaks a partial repo (no
groups) into this file. Mock the module here like the other manager tests so
the test is hermetic and order-independent.
@FjamZoo FjamZoo merged commit 3ffe1ec into main Jul 3, 2026
5 checks passed
@FjamZoo FjamZoo deleted the feat/admin-permission-groups branch July 4, 2026 14:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants