Skip to content

Conversation

@GauravRawat369
Copy link
Contributor

Type of Change

  • Bugfix
  • New feature
  • Enhancement
  • Refactoring
  • Dependency updates
  • Documentation
  • CI/CD

Description

This pull request introduces support for listing customer payment methods via a new microservice flow, and refactors the microservice interface to add robust handling of query and path parameters. It also updates the ClientOperation trait and related macros to better distinguish between V1 and V2 request types, and adds new types and request/response models to support the new functionality.

Microservice interface improvements:

  • Added a new query_params method to the ClientOperation trait, allowing operations to specify query parameters for requests. The path_params method now explicitly takes a V1 request, and both methods have improved documentation and examples.
  • Updated the impl_microservice_flow! macro to support the new query_params method, and to ensure path and query parameter methods use the correct V1 request type. [1] [2]
  • Refactored TransformedRequest and related logic to store both the V1 and V2 request payloads, and to use the V1 request for extracting path and query parameters when building the request URL. [1] [2] [3] [4]

New feature: List customer payment methods flow:

  • Added a new list module and corresponding V1 request/response types for listing customer payment methods, including logic to extract path and query parameters from the request and transform the modular service response to the V1 API model. [1] [2] [3]
  • Registered the new flow in the payment methods crate, conditionally compiled with the v1 feature flag.

Refactoring and consistency:

  • Updated existing payment method flows (delete, retrieve, update) to use V1 request types for building path parameters, ensuring consistency across all microservice flows. [1] [2] [3]

Other changes:

  • Added the time crate as a dependency for handling date/time fields in new types.

These changes collectively improve the flexibility and maintainability of the microservice interface, and add a new capability for listing customer payment methods via the V1 API.

Additional Changes

  • This PR modifies the API contract
  • This PR modifies the database schema
  • This PR modifies application configuration/environment variables

Motivation and Context

How did you test it?

Checklist

  • I formatted the code cargo +nightly fmt --all
  • I addressed lints thrown by cargo clippy
  • I reviewed the submitted code
  • I added unit tests for my changes where possible

@GauravRawat369 GauravRawat369 requested review from a team as code owners January 27, 2026 22:08
@semanticdiff-com
Copy link

semanticdiff-com bot commented Jan 27, 2026

@GauravRawat369 GauravRawat369 self-assigned this Jan 27, 2026
@GauravRawat369 GauravRawat369 added the S-test-ready Status: This PR is ready for cypress-tests label Jan 27, 2026
@GauravRawat369 GauravRawat369 changed the base branch from main to 10959-feature-add-query-params-in-pm-client January 27, 2026 22:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-test-ready Status: This PR is ready for cypress-tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants