- [x] Store data on incoming `UserCheckoutAcceptedIntegrationEvent` and publish event to trigger saga - [x] Add timeout in saga and upon receiving timeout, publish `GracePeriodConfirmedIntegrationEvent` - [x] Receive `OrderStockRejectedIntegrationEventHandler` inside saga - [x] Receive `CancelOrderCommand` inside saga - [x] Process `OrderStockConfirmedIntegrationEvent` correctly. Not 100% sure on how this works - [x] Check any other events that seem like infrastructural events, might need to replace these with business events. It's either cancelled or not. Finally this should work - [x] Happy path where orders are simply successfully ordered - [x] Path where orders are canceled by user - [x] Path where orders are canceled because we're out of stock - [x] Path where payment isn't successful. - [x] Clean up - [ ] Tests
UserCheckoutAcceptedIntegrationEventand publish event to trigger sagaGracePeriodConfirmedIntegrationEventOrderStockRejectedIntegrationEventHandlerinside sagaCancelOrderCommandinside sagaOrderStockConfirmedIntegrationEventcorrectly. Not 100% sure on how this worksFinally this should work