From 750dfc0720bce5683d4189a2a95d39c1e371b35e Mon Sep 17 00:00:00 2001 From: Marshal Date: Fri, 7 Aug 2026 06:11:12 +0000 Subject: [PATCH] fix wagon cncellation --- .../src/modules/bookings/booking-transition.service.ts | 6 +++++- .../src/modules/contracts/contract-booking.service.ts | 3 +++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/apps/edr-freight-api/src/modules/bookings/booking-transition.service.ts b/apps/edr-freight-api/src/modules/bookings/booking-transition.service.ts index 52def42f0..ae0791965 100644 --- a/apps/edr-freight-api/src/modules/bookings/booking-transition.service.ts +++ b/apps/edr-freight-api/src/modules/bookings/booking-transition.service.ts @@ -56,7 +56,11 @@ export class BookingTransitionService { private readonly bookingClearanceService: BookingClearanceService, @Inject(forwardRef(() => ClearanceWorkflowService)) private readonly workflowService: ClearanceWorkflowService, - private readonly invoiceService: BookingInvoiceService, + // forwardRef: booking-invoice.service now pulls in the wagon-cancellation + // service, whose cross-module imports close a require cycle through this + // file — without it the class is undefined at decorator time. + @Inject(forwardRef(() => BookingInvoiceService)) + private readonly invoiceService: BookingInvoiceService, private readonly containerValidationService: ContainerValidationService, private readonly notifier: BookingLifecycleNotifierService, private readonly events: EventEmitter2, diff --git a/apps/edr-freight-api/src/modules/contracts/contract-booking.service.ts b/apps/edr-freight-api/src/modules/contracts/contract-booking.service.ts index 1147c018b..59afdb585 100644 --- a/apps/edr-freight-api/src/modules/contracts/contract-booking.service.ts +++ b/apps/edr-freight-api/src/modules/contracts/contract-booking.service.ts @@ -98,6 +98,9 @@ export class ContractBookingService { private readonly containerTypesService: ContainerTypesService, private readonly ruleEngineService: RuleEngineService, private readonly milestoneService: ClearanceMilestoneService, + // forwardRef: part of the booking-invoice ⇄ wagon-cancellation ⇄ contracts + // require cycle (see BookingTransitionService). + @Inject(forwardRef(() => BookingInvoiceService)) private readonly invoiceService: BookingInvoiceService, private readonly bookingNotifier: BookingLifecycleNotifierService, private readonly dataSource: DataSource,