# Note Backend - Activation du module Gestionnaires (Ticket #92) ## Problème L'endpoint `GET /api/v1/gestionnaires` renvoie une erreur **404 Not Found**. Cela est dû au fait que le `GestionnairesModule` n'est pas importé dans l'arbre des modules de l'application (via `UserModule` ou `AppModule`). ## Solution de contournement actuelle (Frontend) Le frontend utilise actuellement l'endpoint générique `/api/v1/users` et filtre les résultats côté client pour ne garder que les utilisateurs ayant le rôle `gestionnaire`. *Fichier concerné : `frontend/lib/services/user_service.dart`* ## Correctif Backend à appliquer Pour activer proprement l'endpoint dédié, il faut effectuer les modifications suivantes dans le backend : ### 1. Importer le module dans `UserModule` Fichier : `backend/src/routes/user/user.module.ts` Ajouter `GestionnairesModule` dans les imports. ```typescript import { GestionnairesModule } from './gestionnaires/gestionnaires.module'; @Module({ imports: [ // ... autres imports GestionnairesModule, // <--- AJOUTER ICI ], // ... }) export class UserModule { } ``` ### 2. Ajouter AuthModule dans `GestionnairesModule` Fichier : `backend/src/routes/user/gestionnaires/gestionnaires.module.ts` Le contrôleur utilise `AuthGuard`, qui dépend de `JwtService` fourni par `AuthModule`. ```typescript import { AuthModule } from 'src/routes/auth/auth.module'; @Module({ imports: [ TypeOrmModule.forFeature([Users]), AuthModule // <--- AJOUTER ICI ], controllers: [GestionnairesController], providers: [GestionnairesService], }) export class GestionnairesModule { } ``` ## Après application du correctif Une fois ces modifications backend effectuées : 1. Redémarrer le serveur backend. 2. Modifier le frontend (`frontend/lib/services/user_service.dart`) pour utiliser à nouveau l'endpoint dédié : ```dart static Future> getGestionnaires() async { final response = await http.get( Uri.parse('${ApiConfig.baseUrl}${ApiConfig.gestionnaires}'), headers: await _headers(), ); // ... } ```