Permission Provider
Utility permission provider system for Roblox
Installation
npm install @quenty/permissionprovider --save
Permission designs
This permissions system originally supported the following scenarios:
- Any game has a default admin scheme based upon who can edit the game
- Can override this configuration (although in practice this isn't required)
New permission features
The following features need to be added.
- Extensibility: Ability to add / modify default behavior via chain-of-command.
- Data-store based: Ability to modify based upon a datastore using admin commands, et cetera.
Role based permission support
Permissions right now are global per a game. We need configurable, sharable, editable non-global permissions. This will require the following support.
- Permission serialization - Can save permissions to the datastore
- Permission provisioning per a state
The goal is to use this package as a backend for permissioning such that this package can understand and provide permissions that work out of the default. Permissioning model should act like Discord roles, where tagging is separated out from the actual permissions associated with a role.
This will require a roles package separate from this permission system. This can probably be done in separate packages roles
and role-permissions
which may not be open source available. Then, UI can be done in role-permission-ui
and be generalized and reused. This will also likely not be open source
We may leverage a role-provisioning system to handle permissions. We should build this role system and then assign permissions against the roles at this permission provider layer.