Gestion des permissions
Format des permissions
Section intitulée « Format des permissions »{resource}.{action}Actions standards
Section intitulée « Actions standards »| Action | Description |
|---|---|
viewAny | Voir la liste des ressources |
view | Voir une ressource spécifique |
create | Créer une nouvelle ressource |
update | Modifier une ressource |
delete | Supprimer une ressource |
Liste complète des permissions
Section intitulée « Liste complète des permissions »Gestion des sites
Section intitulée « Gestion des sites »| Permission | Description |
|---|---|
site.viewAny | Voir la liste des sites |
site.view | Voir un site |
site.create | Créer un site |
site.update | Modifier un site |
site.delete | Supprimer un site |
Gestion des zones
Section intitulée « Gestion des zones »| Permission | Description |
|---|---|
zone.viewAny | Voir la liste des zones |
zone.view | Voir une zone |
zone.create | Créer une zone |
zone.update | Modifier une zone |
zone.delete | Supprimer une zone |
Gestion des matériels
Section intitulée « Gestion des matériels »| Permission | Description |
|---|---|
material.viewAny | Voir la liste des matériels |
material.view | Voir un matériel |
material.create | Créer un matériel |
material.update | Modifier un matériel |
material.delete | Supprimer un matériel |
material.generateQrCode | Générer le QRCode du matériel |
material.scanQrCode | Scanner le QRCode du matériel |
Gestion des maintenances
Section intitulée « Gestion des maintenances »| Permission | Description |
|---|---|
maintenance.viewAny | Voir la liste des maintenances |
maintenance.view | Voir une maintenance |
maintenance.create | Créer une maintenance |
maintenance.update | Modifier une maintenance |
maintenance.delete | Supprimer une maintenance |
Gestion des incidents
Section intitulée « Gestion des incidents »| Permission | Description |
|---|---|
incident.viewAny | Voir la liste des incidents |
incident.view | Voir un incident |
incident.create | Signaler un incident |
incident.update | Modifier un incident |
incident.delete | Supprimer un incident |
Gestion des nettoyages
Section intitulée « Gestion des nettoyages »| Permission | Description |
|---|---|
cleaning.viewAny | Voir la liste des nettoyages |
cleaning.view | Voir un nettoyage |
cleaning.create | Créer un nettoyage |
cleaning.update | Modifier un nettoyage |
cleaning.delete | Supprimer un nettoyage |
Gestion des pièces
Section intitulée « Gestion des pièces »| Permission | Description |
|---|---|
item.viewAny | Voir la liste des pièces |
item.view | Voir une pièce |
item.create | Créer une pièce |
item.update | Modifier une pièce |
item.delete | Supprimer une pièce |
item.generateQrCode | Générer le QRCode de la pièce |
item.scanQrCode | Scanner le QRCode de la pièce |
Gestion des mouvements
Section intitulée « Gestion des mouvements »| Permission | Description |
|---|---|
item-movement.viewAny | Voir les mouvements |
item-movement.create | Créer un mouvement |
item-movement.update | Modifier un mouvement |
item-movement.delete | Supprimer un mouvement |
Gestion des entreprises (HQ)
Section intitulée « Gestion des entreprises (HQ) »| Permission | Description |
|---|---|
company.viewAny | Voir la liste des entreprises |
company.view | Voir une entreprise |
company.create | Créer une entreprise |
company.update | Modifier une entreprise |
company.delete | Supprimer une entreprise |
Gestion des utilisateurs
Section intitulée « Gestion des utilisateurs »| Permission | Description |
|---|---|
user.viewAny | Voir la liste des utilisateurs |
user.view | Voir un utilisateur |
user.create | Créer un utilisateur |
user.update | Modifier un utilisateur |
user.delete | Supprimer un utilisateur |
user.restore | Restaurer un utilisateur |
user.assignDirectPermission | Assigner des permissions directes |
user.assignSite | Assigner des sites |
Vérifier les permissions dans React
Section intitulée « Vérifier les permissions dans React »import { useAuth } from '@/features/Auth/hooks';
function MyComponent() { const { hasPermission, hasAnyPermission, hasRole, hasAnyRole } = useAuth();
return ( <div> {hasPermission('company.create') && ( <button>Créer une entreprise</button> )}
{hasAnyPermission(['company.update', 'company.delete']) && ( <EditMenu /> )}
{hasRole('admin') && <AdminPanel />}
{hasAnyRole(['admin', 'manager']) && <AdminPanel />} </div> );}