D
Docs

Global Permissions

Global permissions are permissions that are applied to all users in the app, this is useful for setting permissions as the developer, you can set permissions for any 'user' in the app depending on their role and permissions set.

Where are global permissions defined?

By default, you get the following permissions/roles set:

RolePermissions
Adminuser:read user:write user:delete user:manage-roles role:read role:write role:delete role:manage-permissions permission:read permission:write permission:delete admin:impersonate admin:system content:read content:write
Editoruser:read content:read content:write
Usercontent:read

You can completely omit these permissions/roles if you don't want to use a global level role system.

How to create a global role and permissions

For this we've created in the dashboard a Permissions page in which you can create update and delete roles & permissions.

How to consume global permissions

We've created multiple services and hooks around the permissions system, you can find them in the server/services/permissionService.ts file for database related permissions.

You also get a composable in the composables/usePermissions.ts & composables/useRoles.ts file that you can use to manage permissions in your application.

List of permissions services and description

You can find the services in the server/services/permissionService.ts file. These are directly tied to the Drizzle ORM and completely abstracted from the application.

ServiceDescription
createRoleCreates a new role
updateRoleUpdates an existing role
deleteRoleDeletes a role
getRoleByIdGets a role by ID
getAllRolesGets all roles
createPermissionCreates a new permission
updatePermissionUpdates an existing permission
deletePermissionDeletes a permission
getPermissionByIdGets a permission by ID
assignRoleToUserAssigns a role to a user
removeRoleFromUserRemoves a role from a user
assignPermissionToRoleAssigns a permission to a role
removePermissionFromRoleRemoves a permission from a role
getUserRolesGets the roles of a user
getRolePermissionsGets the permissions of a role
getRoleWithPermissionsGets a role with its permissions
getAllPermissionsGets all permissions
userHasPermissionChecks if a user has a permission
userHasRoleChecks if a user has a role
getAllRolesGets all roles
getAllPermissionsGets all permissions