Aller au contenu principal

Sécurité et guards

Deux niveaux de droits

NiveauSourceExemple
Plateformerequest.user.platformRoleSUPER_ADMIN
TenanttenantContext.currentTenant.membership.levelADMIN, OWNER

@SuperAdminOnly()

Utilisé pour les actions globales plateforme : création, suppression ou administration globale des tenants.

@Post('create')
@SuperAdminOnly()
async create(@Body() payload: TenantCreatePayload) {}

Le guard vérifie uniquement request.user.platformRole.

@TenantMinLevel(...)

Utilisé pour les routes qui nécessitent un tenant courant.

@TenantMinLevel(TenantRoleLevelEnum.TEACHER)
@Get(':tenantId/evaluations')
async list() {}

@TenantAdmin()

Alias de :

@TenantMinLevel(TenantRoleLevelEnum.ADMIN)

Les niveaux sont :

RôleNiveau
STUDENT10
TEACHER20
ADMIN30
OWNER40