Skip to content

BDD-113 — Filtrage des entreprises par environnement Cloud

🔧 Fix technique

Filtrage des entreprises par environnement Cloud

L'endpoint GET /folders/enterprises retournait toutes les entreprises de la console admin sans distinction d'environnement. Il est maintenant restreint aux entreprises de l'environnement Cloud (slug default), via l'endpoint dédié de la console admin.

1. Contexte

L'Outil BDD est rattaché à l'environnement Cloud (slug default) dans la console admin. Avant ce fix, GET /folders/enterprises appelait GET /enterprises qui retournait toutes les entreprises de tous les environnements (Cloud, MVP, Déclaration EI…).

Le champ environnement: shared|private sur EnterpriseDto n'est pas utilisable pour ce filtrage : il correspond au type d'infrastructure (Mutualisé / Dédié), pas à l'environnement applicatif.

2. Solution

Utilisation de l'endpoint GET /environments/{slug}/enterprises de la console admin, qui retourne uniquement les entreprises liées à un environnement donné.

Le slug est configurable via la variable d'environnement CONSOLE_ADMIN_ENVIRONMENT_SLUG avec default comme valeur de fallback.

3. Périmètre technique

Backend

FichierChangement
back/src/api/console-admin/console-admin.service.tsNouvelle méthode getEnterprisesByEnvironment(slug)
back/src/api/folders/folder.service.tslistEnterprises() utilise getEnterprisesByEnvironment au lieu de getEnterprises
back/.env.exampleNouvelle variable CONSOLE_ADMIN_ENVIRONMENT_SLUG=default
back/src/api/console-admin/console-admin.service.spec.tsTests unitaires de la nouvelle méthode
back/src/api/folders/folder.service.spec.tsTests mis à jour : slug lu depuis l'env, fallback sur default
back/test/e2e/folders-controller.e2e-spec.tsTest d'intégration : GET /folders/enterprises retourne uniquement les entreprises Cloud

4. Variable d'environnement

ini
# Slug de l'environnement console admin pour filtrer les entreprises (ex: "default" = Cloud)
CONSOLE_ADMIN_ENVIRONMENT_SLUG=default

À ajouter dans back/.env et dans les configurations de déploiement (staging, production).

5. Endpoint console admin utilisé

GET /environments/{slug}/enterprises?page=1&pageSize=100
Authorization: x-api-key <CONSOLE_ADMIN_API_KEY>

Scope requis sur la clé API : enterprises:read.

6. Tests associés

Unitaires back

  • console-admin.service.spec.tsgetEnterprisesByEnvironment('default') appelle le bon path, pagination fusionnée
  • folder.service.spec.tslistEnterprises() appelle getEnterprisesByEnvironment (pas getEnterprises), fallback slug default

Intégration back

  • folders-controller.e2e-spec.tsGET /folders/enterprises retourne uniquement les entreprises mockées pour l'env default