[capital] Code generation: update services and models#454
[capital] Code generation: update services and models#454AdyenAutomationBot wants to merge 1 commit intomainfrom
Conversation
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request expands the Highlights
🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console. Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here. Footnotes
|
|
There was a problem hiding this comment.
Code Review
This PR contains the automated changes for the capital service. The changes primarily involve adding the new DynamicOffersApi, updating documentation to reflect API changes (e.g., 'grant offers' to 'static offers'), and applying code formatting for consistency. My review highlights a couple of opportunities for improvement in the auto-generated code, specifically regarding the duplication of a base URL and the use of id as a parameter name, which shadows a Python built-in. Addressing these in the code generator would enhance code quality and maintainability.
| def __init__(self, client=None): | ||
| super().__init__(client=client) | ||
| self.service = "capital" | ||
| self.baseUrl = "https://balanceplatform-api-test.adyen.com/capital/v1" |
There was a problem hiding this comment.
The baseUrl is hardcoded here and duplicated across other API classes in the capital service (e.g., GrantAccountsApi, GrantOffersApi, GrantsApi). This appears to be a pattern from the code generator. To improve maintainability and reduce redundancy, consider defining this URL as a constant in a shared location, like Adyen/services/capital/__init__.py, and referencing it from all capital service API classes. This would centralize the configuration and make future updates easier.
| def calculate_preliminary_offer_from_dynamic_offer(self, request, id, idempotency_key=None, **kwargs): | ||
| """ | ||
| Calculate a preliminary offer for a selected financing amount | ||
| """ | ||
| endpoint = self.baseUrl + f"/dynamicOffers/{id}/calculate" |
There was a problem hiding this comment.
The parameter id shadows the built-in function id(). While this might be due to the code being auto-generated, it's a violation of PEP 8 guidelines and can lead to confusion. It would be best to rename it to something more descriptive, like offer_id. This change would need to be propagated to where it's used inside the method.
| def calculate_preliminary_offer_from_dynamic_offer(self, request, id, idempotency_key=None, **kwargs): | |
| """ | |
| Calculate a preliminary offer for a selected financing amount | |
| """ | |
| endpoint = self.baseUrl + f"/dynamicOffers/{id}/calculate" | |
| def calculate_preliminary_offer_from_dynamic_offer(self, request, offer_id, idempotency_key=None, **kwargs): | |
| """ | |
| Calculate a preliminary offer for a selected financing amount | |
| """ | |
| endpoint = self.baseUrl + f"/dynamicOffers/{offer_id}/calculate" |
| def create_static_offer_from_dynamic_offer(self, request, id, idempotency_key=None, **kwargs): | ||
| """ | ||
| Create a static offer for a selected financing amount | ||
| """ | ||
| endpoint = self.baseUrl + f"/dynamicOffers/{id}/grantOffer" |
There was a problem hiding this comment.
The parameter id shadows the built-in function id(). While this might be due to the code being auto-generated, it's a violation of PEP 8 guidelines and can lead to confusion. It would be best to rename it to something more descriptive, like offer_id.
| def create_static_offer_from_dynamic_offer(self, request, id, idempotency_key=None, **kwargs): | |
| """ | |
| Create a static offer for a selected financing amount | |
| """ | |
| endpoint = self.baseUrl + f"/dynamicOffers/{id}/grantOffer" | |
| def create_static_offer_from_dynamic_offer(self, request, offer_id, idempotency_key=None, **kwargs): | |
| """ | |
| Create a static offer for a selected financing amount | |
| """ | |
| endpoint = self.baseUrl + f"/dynamicOffers/{offer_id}/grantOffer" |
| def get_grant_offer(self, id, idempotency_key=None, **kwargs): | ||
| """ | ||
| Get the details of a grant offer | ||
| Get the details of a static offer | ||
| """ | ||
| endpoint = self.baseUrl + f"/grantOffers/{id}" |
There was a problem hiding this comment.
The parameter id shadows the built-in function id(). As per PEP 8, it's best to avoid shadowing built-ins. Please consider renaming it to be more specific, for example, grant_offer_id. I understand this code is auto-generated, but this feedback might be useful for improving the generator.
| def get_grant_offer(self, id, idempotency_key=None, **kwargs): | |
| """ | |
| Get the details of a grant offer | |
| Get the details of a static offer | |
| """ | |
| endpoint = self.baseUrl + f"/grantOffers/{id}" | |
| def get_grant_offer(self, grant_offer_id, idempotency_key=None, **kwargs): | |
| """ | |
| Get the details of a static offer | |
| """ | |
| endpoint = self.baseUrl + f"/grantOffers/{grant_offer_id}" |



This PR contains the automated changes for the
capitalservice.The commit history of this PR reflects the
adyen-openapicommits that have been applied.