Skip to content

SudoSOS Back-end API / rbac / RbacController

Class: RbacController ​

The BaseController class is responsible for:

  • Storing route definitions.
  • Generating router objects based on the policy.

Extends ​

Constructors ​

Constructor ​

ts
new RbacController(options): RbacController;

Creates a new rbac controller instance.

Parameters ​

ParameterTypeDescription
optionsBaseControllerOptionsThe options passed to the base controller.

Returns ​

RbacController

Overrides ​

BaseController.constructor

Properties ​

PropertyModifierTypeDescriptionInherited from
roleManagerprotectedRoleManagerA reference to the role manager passed in the base controller options.BaseController.roleManager
specificationpublicSwaggerSpecificationA reference to the swagger specification passed in the base controller options.BaseController.specification

Methods ​

addPermissions() ​

ts
addPermissions(req, res): Promise<void>;

POST /rbac/roles/{id}/permissions

Parameters ​

ParameterType
reqRequestWithToken
resResponse

Returns ​

Promise<void>

200 - The created permissions

Operation Id ​

addPermissions

Security ​

JWT

Tags ​

rbac - Operations of the rbac controller


createRole() ​

ts
createRole(req, res): Promise<void>;

POST /rbac/roles

Parameters ​

ParameterType
reqRequestWithToken
resResponse

Returns ​

Promise<void>

200 - The created role

Operation Id ​

createRole

Tags ​

rbac - Operations of the rbac controller

Security ​

JWT


deletePermission() ​

ts
deletePermission(req, res): Promise<void>;

DELETE /rbac/roles/{id}/permissions/{entity}/{action}/

Parameters ​

ParameterType
reqRequestWithToken
resResponse

Returns ​

Promise<void>

204 - Success

Operation Id ​

deletePermission

Security ​

JWT

Tags ​

rbac - Operations of the rbac controller


deleteRole() ​

ts
deleteRole(req, res): Promise<void>;

DELETE /rbac/roles/

Parameters ​

ParameterType
reqRequestWithToken
resResponse

Returns ​

Promise<void>

204 - Success

Operation Id ​

deleteRole

Tags ​

rbac - Operations of the rbac controller

Security ​

JWT


getAllRoles() ​

ts
getAllRoles(req, res): Promise<void>;

GET /rbac/roles

Parameters ​

ParameterType
reqRequestWithToken
resResponse

Returns ​

Promise<void>

200 - All existing roles

Operation Id ​

getAllRoles

Tags ​

rbac - Operations of rbac controller

Security ​

JWT


getPolicy() ​

ts
getPolicy(): Policy;

Gets the policy defined by child classes. This policy includes all routes that the controller accepts, the authorization middleware, and the final handler function for every route.

Returns ​

Policy

The policy of this controller.

Overrides ​

BaseController.getPolicy


getRoleUsers() ​

ts
getRoleUsers(req, res): Promise<void>;

GET /rbac/roles/{id}/users

Parameters ​

ParameterType
reqRequestWithToken
resResponse

Returns ​

Promise<void>

200 - A list of all users linked to this role

Operation Id ​

getRoleUsers

Tags ​

rbac - Operations of the rbac controller

Security ​

JWT


getRouter() ​

ts
getRouter(): Router;

Returns ​

Router

the router used by this controller.

Inherited from ​

BaseController.getRouter


getSingleRole() ​

ts
getSingleRole(req, res): Promise<void>;

GET /rbac/roles/

Parameters ​

ParameterType
reqRequestWithToken
resResponse

Returns ​

Promise<void>

200 - Role with its permissions

Operation Id ​

getSingleRole

Tags ​

rbac - Operations of the rbac controller

Security ​

JWT


updateRole() ​

ts
updateRole(req, res): Promise<void>;

PATCH /rbac/roles/

Parameters ​

ParameterType
reqRequestWithToken
resResponse

Returns ​

Promise<void>

200 - The created role

Operation Id ​

updateRole

Tags ​

rbac - Operations of the rbac controller

Security ​

JWT