Appearance
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
| Fichier | Changement |
|---|---|
back/src/api/console-admin/console-admin.service.ts | Nouvelle méthode getEnterprisesByEnvironment(slug) |
back/src/api/folders/folder.service.ts | listEnterprises() utilise getEnterprisesByEnvironment au lieu de getEnterprises |
back/.env.example | Nouvelle variable CONSOLE_ADMIN_ENVIRONMENT_SLUG=default |
back/src/api/console-admin/console-admin.service.spec.ts | Tests unitaires de la nouvelle méthode |
back/src/api/folders/folder.service.spec.ts | Tests mis à jour : slug lu depuis l'env, fallback sur default |
back/test/e2e/folders-controller.e2e-spec.ts | Test 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.ts—getEnterprisesByEnvironment('default')appelle le bon path, pagination fusionnéefolder.service.spec.ts—listEnterprises()appellegetEnterprisesByEnvironment(pasgetEnterprises), fallback slugdefault
Intégration back
folders-controller.e2e-spec.ts—GET /folders/enterprisesretourne uniquement les entreprises mockées pour l'envdefault
