Notes de version — 10 mai 2026
Cette version apporte une correction du système de permissions qui résout une erreur 403 sur les routes de tâches pour les administrateurs de workspace, supprime un privilège excessif du rôle de membre de workspace et standardise les rôles d'unité dans tous les workspaces existants.
Correction du système de permissions
Correction de bug : l'administrateur de workspace recevait une erreur 403 sur les routes de tâches
Les utilisateurs ayant le rôle d'administrateur de workspace recevaient une erreur 403 Forbidden lors de l'accès aux endpoints API liés aux tâches. La cause principale était l'absence de la permission tasks.view dans la définition du rôle workspace_admin dans les bases de données d'unités existantes.
La correction s'applique automatiquement à tous les workspaces existants — aucune action n'est requise.
Correction de bug : le membre de workspace avait le privilège excessif tasks.delete
Le rôle workspace_member incluait incorrectement la permission tasks.delete. Selon le modèle de permissions prévu (et la matrice de permissions publiée), seuls les rôles Manager et Owner devraient pouvoir supprimer des tâches.
Ce privilège excessif a été supprimé de tous les rôles de membre de workspace existants.
Rôles d'unité standardisés
Les rôles member et manager au niveau de l'unité ont été synchronisés avec les modèles de rôles globaux dans toutes les unités :
member— inclut désormais systématiquementsettings.view,tasks.viewetrates.viewmanager— poids standardisé (60) et ensemble de permissions standardisé (≥ 12 permissions)
Les nouvelles unités ne sont pas affectées à l'avenir
Le service de copie de rôles (roleCopy.service) utilise désormais des upserts idempotents lors de l'attribution de rôles aux unités nouvellement créées. Cela garantit que les nouvelles unités démarrent toujours avec le bon ensemble de permissions, même si l'attribution est relancée.
Résumé des modifications
| Couche | Modification |
|---|---|
| Migration BD backend | workspace_admin : ajout de tasks.view et reports.advanced à tous les rôles de workspace existants |
| Migration BD backend | workspace_member : suppression du privilège excessif tasks.delete de tous les rôles de membre existants |
| Migration BD backend | Rôles d'unité member et manager synchronisés depuis les modèles globaux dans toutes les unités |
| Migration BD backend | Le tableau dénormalisé WorkspaceMember.permissions resynchronisé depuis les rôles de workspace mis à jour |
Backend roleCopy.service.ts | La copie de rôles et permissions de portée unité utilise désormais un upsert (idempotent) |
Backend syncPermissions.routes.ts | Nouvel endpoint administrateur : POST /api/v1/admin/sync-permissions/units/:unitId |