Files
petitspas/docs/archive/obsolete/92_NOTE-BACKEND-GESTIONNAIRES.md
jmartinandCursor 71b1897678 docs: rationalisation post-0.1.0 (bilan, purge tmp, archives).
- Bilan 29 + index versions 05 ; suivi tickets pointeur Gitea
- Purge docs/tmp et archive/temporaires livrés
- Archive SuperNounou, liste tickets figée, backlog Phase 2, notes 14/92
- Suppression stubs PROCEDURE/22 ; INDEX et roadmap alignés

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-14 17:45:43 +02:00

2.1 KiB

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.

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.

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é :
    static Future<List<AppUser>> getGestionnaires() async {
      final response = await http.get(
        Uri.parse('${ApiConfig.baseUrl}${ApiConfig.gestionnaires}'),
        headers: await _headers(),
      );
      // ...
    }