Aller au contenu principal

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ématiquement settings.view, tasks.view et rates.view
  • manager — 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

CoucheModification
Migration BD backendworkspace_admin : ajout de tasks.view et reports.advanced à tous les rôles de workspace existants
Migration BD backendworkspace_member : suppression du privilège excessif tasks.delete de tous les rôles de membre existants
Migration BD backendRôles d'unité member et manager synchronisés depuis les modèles globaux dans toutes les unités
Migration BD backendLe tableau dénormalisé WorkspaceMember.permissions resynchronisé depuis les rôles de workspace mis à jour
Backend roleCopy.service.tsLa copie de rôles et permissions de portée unité utilise désormais un upsert (idempotent)
Backend syncPermissions.routes.tsNouvel endpoint administrateur : POST /api/v1/admin/sync-permissions/units/:unitId