Aller au contenu principal

Custom Roles & Permissions

Define custom roles with granular permission control.

Default Roles

RoleAccess Level
SUPER_ADMINFull system access
ADMINOrganization management
MANAGERTeam management
EMPLOYEESelf-service access
CANDIDATELimited application view
VIEWERRead-only access

Creating Custom Roles

  1. Go to SettingsRoles & Permissions
  2. Click Add Role
  3. Enter role name
  4. Select permissions from categories

Permission Categories

CategoryExamples
OrganizationView org, edit org, manage teams
EmployeeView employees, edit, delete
Time TrackingView time, approve timesheets
ProjectsCreate, edit, delete projects
TasksCreate, assign, manage status
FinancialView invoices, create, approve
ReportsView reports, export data
AdminManage roles, integrations

Permission Enforcement

Permissions are enforced at multiple layers:

Guard-Based

@UseGuards(PermissionGuard)
@Permissions(PermissionsEnum.ORG_EMPLOYEES_EDIT)
@Put(':id')
async update(@Param('id') id: string, @Body() dto: UpdateDTO) {
return this.service.update(id, dto);
}

API

GET /api/role
POST /api/role
GET /api/role/:id/permissions
PUT /api/role/:id/permissions