FEAT: Filtrage sites — adapter GetSites aux droits utilisateur #136

Open
opened 2026-08-18 08:57:38 +02:00 by nonobis · 0 comments
Owner

Contexte

Le endpoint GET /api/sites retourne tous les sites. Un utilisateur non-admin ne devrait voir que les sites assignés.

Référence spec

Section 4.2 Permissions — filtrage des sites.

État actuel

  • GetSitesQuery : retourne tous les sites sans filtrage
  • La spec dit « Un User voit UNIQUEMENT les sites auxquels il est assigné » mais ce n'est pas implémenté

À faire

  1. Injecter ICameraAccessService dans GetSitesQueryHandler
  2. Filtrer selon GetAccessibleSiteIdsAsync(userId) pour les non-Admins
  3. Admin → pas de filtrage

Critères d'acceptation

  • GetSites filtre selon les droits
  • Admin voit tous les sites
  • User avec UserSite voit les sites assignés
  • User avec UserCameraAccess voit les sites concernés
  • Tests passent

Fichiers concernés

  • src/Heimdall.Application/Sites/Queries/GetSites/GetSitesQuery.cs
  • tests/Heimdall.Tests/Sites/
## Contexte Le endpoint `GET /api/sites` retourne tous les sites. Un utilisateur non-admin ne devrait voir que les sites assignés. ## Référence spec Section 4.2 Permissions — filtrage des sites. ## État actuel - `GetSitesQuery` : retourne tous les sites sans filtrage - La spec dit « Un User voit UNIQUEMENT les sites auxquels il est assigné » mais ce n'est pas implémenté ## À faire 1. Injecter `ICameraAccessService` dans `GetSitesQueryHandler` 2. Filtrer selon `GetAccessibleSiteIdsAsync(userId)` pour les non-Admins 3. Admin → pas de filtrage ## Critères d'acceptation - [ ] GetSites filtre selon les droits - [ ] Admin voit tous les sites - [ ] User avec UserSite voit les sites assignés - [ ] User avec UserCameraAccess voit les sites concernés - [ ] Tests passent ## Fichiers concernés - `src/Heimdall.Application/Sites/Queries/GetSites/GetSitesQuery.cs` - `tests/Heimdall.Tests/Sites/`
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
nonobis/Heimdall#136
No description provided.