Feature/es 70 implement order checkout with saga pattern and compensation#55
Merged
raouf-b-dev merged 31 commits intomasterfrom Dec 13, 2025
Conversation
…, integrating Redis configuration for connection settings. This service provides methods to add individual and bulk jobs, and ensures proper cleanup on module destruction.
…MQ, including event handling for job completion and failure. This service integrates Redis configuration and provides methods to register event handlers, enhancing the queue management capabilities in the application.
…l job types for checkout and reservation processes, enhancing job management capabilities in the application.
…ue job IDs using UUIDs, enhancing job identification capabilities in the application.
…cies.ts, implementing exponential backoff strategies to enhance job resilience and error handling in the application.
…, improving job handling by providing complete job context for execution.
…y adding FlowProducerService and QueueEventsService. Register 'notifications' queue and streamline Redis configuration for improved queue handling capabilities.
…n from request context, including tests for user retrieval and property extraction, enhancing authentication capabilities in the application.
…o define payment processing methods and result structure, enhancing payment gateway integration capabilities in the application.
…tripe, including a factory for gateway selection, enhancing payment processing options in the application.
…ProcessRefundUseCase, enhancing payment authorization and refund processing by utilizing gateway-specific methods for improved transaction handling.
…es to include additional use cases and gateways, enhancing cross-module integration and payment processing capabilities.
…sociated tests, streamlining the orders module by eliminating unused components.
…or managing checkout scheduling, laying the groundwork for future order processing enhancements.
…rectly, simplifying the order creation process and improving type safety.
… optional street2 and deliveryInstructions fields, improving address detail and delivery customization capabilities.
… objects from cart data, enhancing order creation process with user and payment details.
…vation logic, ensuring reserved quantities are correctly decremented and saved during reservation processing.
…ngAddressEntity and update ShippingAddressMapper for improved address detail and delivery customization.
…requests and responses, enhancing order processing capabilities. Update ShippingAddressDto with optional fields for improved address detail.
…bject, simplifying order processing and enhancing error handling. Update tests to reflect changes in order saving logic and improve assertions for failure scenarios.
…ct, aligning with recent changes in PostgresOrderRepository. Update tests to ensure consistency in order saving logic and improve assertions for success and failure scenarios.
…integrating job definitions for processing checkout, clearing cart, confirming reservations, processing payments, creating orders, reserving stock, and validating carts. This enhances the order processing workflow and error handling during checkout scheduling.
… deliveryInstructions fields, ensuring consistency across order creation and testing. Adjust mock repository save method to accept Order object, aligning with recent changes in order handling.
…tegrating customer address resolution and scheduling checkout jobs. Add unit tests to validate functionality, including handling default and provided shipping addresses, ensuring robust error handling and address mapping.
…handling checkout requests. Update unit tests to validate the new checkout functionality, ensuring proper interaction with the CheckoutController and handling of checkout DTOs.
…cart data, integrating cart retrieval, order creation, and saving logic. Enhance error handling for cart fetching and order saving processes, ensuring robust order processing.
…rderStep, ClearCartStep, ConfirmReservationStep, CreateOrderStep, FinalizeCheckoutStep, ProcessPaymentStep, RefundPaymentStep, ReleaseStockStep, ReserveStockStep, and ValidateCartStep. These handlers manage various aspects of the checkout workflow, enhancing order processing and error handling throughout the checkout lifecycle.
…, integrating various job handlers such as ValidateCartStep, ReserveStockStep, CreateOrderStep, and others. This implementation enhances the order processing workflow by providing a structured approach to handle different job types within the checkout process.
…mplementing compensation logic for failed jobs. This includes refunding payments, canceling orders, and releasing stock reservations, enhancing error handling and recovery during the checkout process.
…ing and adding new controllers, use cases, and job steps for the checkout workflow. This update includes the addition of CheckoutController, CheckoutUseCase, CreateOrderFromCartUseCase, and various job handlers, improving the overall order processing and checkout experience.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.