Skip to content

expose promotion fields and promotable flag on circuit search

yassine sabir a demandé de fusionner bugFix/Validate-To-Prod vers develop
  • CircuitPaths.java — Ajoute les chemins API validate-to-production et promotion-status.
  • CircuitPromotionController.java — Expose POST promote et GET statut promotion pour le backoffice.
  • CircuitPromotionOrchestrator.java — Définit le contrat d’orchestration promote / statut.
  • CircuitPromotionOrchestratorImpl.java — Orchestre user-service puis circuit-service, idempotence, échecs USER/CIRCUIT et persistance prod.
  • CircuitPromotionEligibilitySupport.java — Calcule promoteEligible et les raisons de blocage pour la modale FE.
  • CircuitPromotionStatusResponse.java — DTO enrichi (état circuit, éligibilité, métadonnées PROD) pour GET promotion-status.
  • PromotionInProgressException.java — Exception HTTP 409 si une promotion est déjà en cours avec la même clé.
  • PreparationExceptionHandler.java — Gère PromotionInProgressException (409) sur les contrôleurs préparation/circuit.
  • PassengerPromotionClient.java — Interface client vers user-service promote-from-preparation.
  • PassengerPromotionClientImpl.java — Implémentation HTTP du promote usagers vers user-service.
  • CircuitPromotionClient.java — Interface client vers circuit-service promote-from-preparation.
  • CircuitPromotionClientImpl.java — Implémentation HTTP du promote circuit vers circuit-service.
  • PreparedPassengerToPromotionMapper.java — Mappe usager préparé → payload promotion (email, passengerScheduleWeeks, représentants).
  • PreparedCircuitToSaveCircuitMapper.java — Mappe PreparedCircuit → SaveCircuit pour la promotion en mode NEW.
  • PreparedPassengerPromotionLoader.java — Charge usagers + semaines en 2 requêtes (évite MultipleBagFetchException).
  • PreparedPassengerRepository.java — Requête findByUuidInWithScheduleWeeks (semaines sans double fetch des créneaux).
  • PreparedPassengerScheduleWeekRepository.java — Requête findByIdInWithSchedules pour hydrater les créneaux horaires.
  • PromotionErrorMessageCodec.java — Encode/décode USER: / CIRCUIT: dans promotionErrorMessage sur le circuit.
  • ValidateOptimizedCircuitRequestDTO.java — Ajoute optimizationOrigin et targetProdCircuitId pour la métadonnée promotion PROD.
  • OptimizedCircuitValidationServiceImpl.java — Corrige l’état ACTIF après validation optimisée et applique la métadonnée promotion PROD.

Rapports de requête de fusion