Interface PermissionGroup

Permission groups are a convenient way to bundle related permissions together under a single identifier. They simplify the management of user access rights by allowing developers to assign a set of permissions to a role using the group's identifier.

When permissions within a group are updated, the changes are automatically reflected for all roles associated with that group.

This approach streamlines permission management and allows for more modular and maintainable access control within an application.

[
{
id: "g:js:core:videos:read",
permissions: [
"js:core:videos:list",
"js:core:videos:get"
],
scopes: ["org", "shared"]
},
{
id: "g:js:core:videos:edit",
permissions: [
"js:core:videos:update",
"js:core:videos:delete"
],
extends: ["g:js:core:videos:read"],
scopes: ["org"]
}
]
interface PermissionGroup {
    extends?: string[];
    id: string;
    permissions: string[];
    scopes?: string[];
}

Properties

extends?: string[]

The permission groups that are extended by this permission group.

["g:js:core:videos:read"]
id: string

The unique identifier of the permission group.

"g:js:core:videos:edit"
permissions: string[]

The permissions that are included in the permission group.

["js:core:videos:list", "js:core:videos:get"]
scopes?: string[]

The scopes supported by the permission group.

["org", "shared"]