Skip to content

API

Trois NestJS indépendants. Les conventions sont issues de inspire-v2/CONVENTIONS.md et s'appliquent aux trois.

Chantier : Versioning et structure des routes

Statut : stable Périmètre : transverse

  • A1Connect : tous les endpoints sous /v1/
  • Dema1n et Inspire-v2 : pas de versioning URI explicite constaté
  • Les routes admin ont leurs propres contrôleurs (AdminXxxController) et services (AdminXxxService) mais partagent les repositories

Chantier : RabbitMQ inter-plateformes

Statut : stable Périmètre : transverse

  • Chaque plateforme a son propre exchange direct
  • A1Connect events app = consommateur uniquement (écoute user___logged, user___deleted)
  • Les plateformes publient des events, A1Connect est le seul à orchestrer les suppressions
  • Inspire-v2 a une deuxième queue InspireV2_mvls pour les events MVLS spécifiques

Chantier : Guards et authentification

Statut : stable Périmètre : transverse

  • JwtAuthGuard = vérification de token, UserRolesGuard + @Roles() = RBAC
  • Dans inspire-v2, les guards sont dans src/core/auth/guards/
  • Les routes sans guard sont explicitement publiques (décorateur @Public() ou absence volontaire)

Chantier : Modules inspire-v2 — core vs general

Statut : stable Périmètre : inspire-v2

  • core/ : modules métier lourds (users, articles, elasticsearch, medias, chats, notifications, mvls, etudes, listes, message-queuing, multicontact...)
  • general/ : utilitaires légers (auth-jwt, cms, sitemap)
  • Cette distinction n'est pas une règle stricte, c'est un héritage du template "Glutamat"