From 60a4e1afda0924dbc111cd282e16aa9025c46bc2 Mon Sep 17 00:00:00 2001 From: pfleu <pierre.fleutot@audemarspiguet.com> Date: Mon, 2 Dec 2024 14:09:16 +0100 Subject: [PATCH] La requete API api/lexicon/search retourne aussi les lexiques de groupes si on recherche par id d'un user. Annulation modif commentaire security.yaml --- config/packages/security.yaml | 2 +- src/Repository/LexiconRepository.php | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/config/packages/security.yaml b/config/packages/security.yaml index fb717d5..a7a4e9c 100644 --- a/config/packages/security.yaml +++ b/config/packages/security.yaml @@ -26,7 +26,7 @@ security: api_token: pattern: ^/api/token$ security: false - api: # Pour permettre à l'utilisateur connecté sur Balex (avec rôle admin) d'utiliser le swagger sans token, on commente tout le pare-feu "api" + api: pattern: ^/api(?!/doc$) # Accepts routes under /api except /api/doc (pour api/doc, on utilisera donc le firewall "main" ce qui permettra d'accéder au swagger quand on est authentifié via Session PHP avec le role Admin security: true stateless: true # Pas d'authentification, pas de session utilisateur (mais le compte user est vérifié via le token) diff --git a/src/Repository/LexiconRepository.php b/src/Repository/LexiconRepository.php index da4d3ff..17d7b9d 100644 --- a/src/Repository/LexiconRepository.php +++ b/src/Repository/LexiconRepository.php @@ -29,8 +29,11 @@ class LexiconRepository extends ServiceEntityRepository ->leftJoin('l.group', 'g') ; + // On retourne tous les lexiques liés à l'utilisateur, pas uniquement son lexique personnel if ($filter['user'] ?? null) { - $qb->andWhere('u = :user') + $qb + ->leftJoin('g.groupMemberships', 'gm') + ->andWhere('u = :user OR gm.user = :user') ->setParameter('user', $filter['user']) ; } -- GitLab