Skip to content

SudoSOS Back-end API / rbac / RBACService

Class: RBACService ​

Constructors ​

Constructor ​

ts
new RBACService(): RBACService;

Returns ​

RBACService

Methods ​

addPermissions() ​

ts
static addPermissions(roleId, permissions): Promise<Permission[]>;

Add zero or more new permissions

Parameters ​

ParameterTypeDescription
roleIdnumber-
permissionsPermissionRule[]-

Returns ​

Promise<Permission[]>


asPermissionResponse() ​

ts
static asPermissionResponse(permissions): PermissionResponse[];

Map list of permissions to an entity response

Parameters ​

ParameterTypeDescription
permissionsPermission[]-

Returns ​

PermissionResponse[]


asRoleResponse() ​

ts
static asRoleResponse(role): RoleResponse;

Converts a Role object to an RoleResponse, which can be returned in the API response. If any permissions are present, those are parsed as well.

Parameters ​

ParameterTypeDescription
roleRoleThe role definitions to parse

Returns ​

RoleResponse


createRole() ​

ts
static createRole(params): Promise<Role>;

Create an new role with the given parameters

Parameters ​

ParameterTypeDescription
paramsUpdateRoleRequest-

Returns ​

Promise<Role>


definitionToRules() ​

ts
static definitionToRules(def): PermissionRule[];

Convert a human-readable permission definition to a list of database permission rules

Parameters ​

ParameterTypeDescription
defPermissionDefinition-

Returns ​

PermissionRule[]


findPermission() ​

ts
static findPermission(permissions, toFind): PermissionRule;

Parameters ​

ParameterType
permissionsPermissionRule[]
toFindPermissionRule

Returns ​

PermissionRule


getOptions() ​

ts
static getOptions(params): FindManyOptions<Role>;

Build findOptions object

Parameters ​

ParameterTypeDescription
paramsRoleFilterParameters-

Returns ​

FindManyOptions<Role>


getRoles() ​

ts
static getRoles(params?, take?): Promise<[Role[], number]>;

Get a tuple with a list of all roles and the total number of roles matching the parameters

Parameters ​

ParameterTypeDescription
paramsRoleFilterParameters-
takePaginationParameters-

Returns ​

Promise<[Role[], number]>


getRoleUsers() ​

ts
static getRoleUsers(roleId, take?): Promise<[User[], number]>;

Gets all users which are assigned to a certain role

Parameters ​

ParameterTypeDescription
roleIdnumber-
takePaginationParameters-

Returns ​

Promise<[User[], number]>


removePermission() ​

ts
static removePermission(roleId, permissionRule): Promise<void>;

Remove an existing permission

Parameters ​

ParameterTypeDescription
roleIdnumber-
permissionRuleOmit<PermissionRule, "attributes">-

Returns ​

Promise<void>


removeRole() ​

ts
static removeRole(roleId): Promise<void>;

Remove an existing role. Cannot delete system default roles

Parameters ​

ParameterTypeDescription
roleIdnumber-

Returns ​

Promise<void>


rulesToDefinition() ​

ts
static rulesToDefinition(rules): PermissionDefinition;

Convert a list of database permission rules to a human-readable permissions object

Parameters ​

ParameterTypeDescription
rulesPermissionRule[]-

Returns ​

PermissionDefinition


updateRole() ​

ts
static updateRole(roleId, params): Promise<Role>;

Update an existing role with the given parameters

Parameters ​

ParameterTypeDescription
roleIdnumber-
paramsUpdateRoleRequest-

Returns ​

Promise<Role>