-
Notifications
You must be signed in to change notification settings - Fork 11
feat(EN-420): change pagination, have it hard coded per connector instead of user configured #602
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
WalkthroughPageSize was removed from the core Config and defaults. Plugins now expose a PAGE_SIZE constant passed to registry.RegisterPlugin; registry stores per-plugin pageSize and exposes GetPageSize(provider). Workflows call registry.GetPageSize(...) at runtime and pass the value into plugin fetch calls. Client models/docs mark PageSize deprecated. Changes
Sequence Diagram(s)sequenceDiagram
actor Caller
participant Workflow as Workflow
participant Registry as Registry
participant Plugin as Plugin
Caller->>Workflow: ExecuteFetch(connectorID, config)
rect rgb(235,245,255)
Note over Workflow,Registry: Runtime pageSize retrieval
Workflow->>Registry: GetPageSize(connectorID.Provider)
Registry-->>Workflow: pageSize (uint64)
end
Workflow->>Plugin: PluginFetchNext(..., pageSize:int, ...)
Plugin-->>Workflow: results
Workflow-->>Caller: data
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
Warning Review ran into problems🔥 ProblemsErrors were encountered while retrieving linked issues. Errors (1)
Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🧹 Nitpick comments (1)
internal/connectors/plugins/public/column/config.go (1)
18-19: Consider aligning PAGE_SIZE with Column API's recommended pagination practices.The page size of 25 is within Column API's allowed range (1-100), but deviates from the recommended default of 10. Either adjust to the recommended value or document the rationale for using 25 instead.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Disabled knowledge base sources:
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
⛔ Files ignored due to path filters (3)
openapi.yamlis excluded by!**/*.yamlopenapi/v3/v3-connectors-config.yamlis excluded by!**/*.yamlpkg/client/.speakeasy/gen.lockis excluded by!**/*.lock,!**/*.lock
📒 Files selected for processing (84)
docs/api/README.md(0 hunks)internal/connectors/config_test.go(0 hunks)internal/connectors/engine/engine_test.go(1 hunks)internal/connectors/engine/workflow/fetch_accounts.go(2 hunks)internal/connectors/engine/workflow/fetch_balances.go(2 hunks)internal/connectors/engine/workflow/fetch_external_accounts.go(2 hunks)internal/connectors/engine/workflow/fetch_others.go(3 hunks)internal/connectors/engine/workflow/fetch_payments.go(2 hunks)internal/connectors/engine/workflow/main_test.go(1 hunks)internal/connectors/plugins/public/adyen/config.go(1 hunks)internal/connectors/plugins/public/adyen/plugin.go(1 hunks)internal/connectors/plugins/public/atlar/config.go(1 hunks)internal/connectors/plugins/public/atlar/plugin.go(1 hunks)internal/connectors/plugins/public/bankingcircle/config.go(1 hunks)internal/connectors/plugins/public/bankingcircle/plugin.go(1 hunks)internal/connectors/plugins/public/column/config.go(1 hunks)internal/connectors/plugins/public/column/plugin.go(1 hunks)internal/connectors/plugins/public/currencycloud/config.go(1 hunks)internal/connectors/plugins/public/currencycloud/plugin.go(1 hunks)internal/connectors/plugins/public/dummypay/config.go(1 hunks)internal/connectors/plugins/public/dummypay/plugin.go(1 hunks)internal/connectors/plugins/public/generic/config.go(1 hunks)internal/connectors/plugins/public/generic/plugin.go(1 hunks)internal/connectors/plugins/public/increase/config.go(1 hunks)internal/connectors/plugins/public/increase/plugin.go(1 hunks)internal/connectors/plugins/public/mangopay/config.go(1 hunks)internal/connectors/plugins/public/mangopay/plugin.go(1 hunks)internal/connectors/plugins/public/modulr/config.go(1 hunks)internal/connectors/plugins/public/modulr/plugin.go(1 hunks)internal/connectors/plugins/public/moneycorp/config.go(1 hunks)internal/connectors/plugins/public/moneycorp/plugin.go(1 hunks)internal/connectors/plugins/public/plaid/config.go(1 hunks)internal/connectors/plugins/public/plaid/plugin.go(1 hunks)internal/connectors/plugins/public/powens/config.go(1 hunks)internal/connectors/plugins/public/powens/plugin.go(1 hunks)internal/connectors/plugins/public/qonto/config.go(1 hunks)internal/connectors/plugins/public/qonto/plugin.go(1 hunks)internal/connectors/plugins/public/stripe/config.go(1 hunks)internal/connectors/plugins/public/stripe/plugin.go(1 hunks)internal/connectors/plugins/public/tink/config.go(1 hunks)internal/connectors/plugins/public/tink/plugin.go(1 hunks)internal/connectors/plugins/public/wise/config.go(1 hunks)internal/connectors/plugins/public/wise/plugin.go(1 hunks)internal/connectors/plugins/registry/configs.go(0 hunks)internal/connectors/plugins/registry/plugins.go(3 hunks)internal/connectors/plugins/registry/plugins_test.go(1 hunks)internal/models/config.go(0 hunks)internal/models/config_test.go(4 hunks)pkg/client/docs/models/components/v3adyenconfig.md(0 hunks)pkg/client/docs/models/components/v3atlarconfig.md(0 hunks)pkg/client/docs/models/components/v3bankingcircleconfig.md(0 hunks)pkg/client/docs/models/components/v3columnconfig.md(0 hunks)pkg/client/docs/models/components/v3currencycloudconfig.md(0 hunks)pkg/client/docs/models/components/v3dummypayconfig.md(0 hunks)pkg/client/docs/models/components/v3genericconfig.md(0 hunks)pkg/client/docs/models/components/v3increaseconfig.md(0 hunks)pkg/client/docs/models/components/v3mangopayconfig.md(0 hunks)pkg/client/docs/models/components/v3modulrconfig.md(0 hunks)pkg/client/docs/models/components/v3moneycorpconfig.md(0 hunks)pkg/client/docs/models/components/v3plaidconfig.md(0 hunks)pkg/client/docs/models/components/v3powensconfig.md(0 hunks)pkg/client/docs/models/components/v3qontoconfig.md(0 hunks)pkg/client/docs/models/components/v3stripeconfig.md(0 hunks)pkg/client/docs/models/components/v3tinkconfig.md(0 hunks)pkg/client/docs/models/components/v3wiseconfig.md(0 hunks)pkg/client/models/components/v3adyenconfig.go(0 hunks)pkg/client/models/components/v3atlarconfig.go(0 hunks)pkg/client/models/components/v3bankingcircleconfig.go(0 hunks)pkg/client/models/components/v3columnconfig.go(0 hunks)pkg/client/models/components/v3currencycloudconfig.go(0 hunks)pkg/client/models/components/v3dummypayconfig.go(0 hunks)pkg/client/models/components/v3genericconfig.go(0 hunks)pkg/client/models/components/v3increaseconfig.go(0 hunks)pkg/client/models/components/v3mangopayconfig.go(0 hunks)pkg/client/models/components/v3modulrconfig.go(0 hunks)pkg/client/models/components/v3moneycorpconfig.go(0 hunks)pkg/client/models/components/v3plaidconfig.go(0 hunks)pkg/client/models/components/v3powensconfig.go(0 hunks)pkg/client/models/components/v3qontoconfig.go(0 hunks)pkg/client/models/components/v3stripeconfig.go(0 hunks)pkg/client/models/components/v3tinkconfig.go(0 hunks)pkg/client/models/components/v3wiseconfig.go(0 hunks)test/e2e/api_connectors_test.go(1 hunks)tools/compile-configs/main.go(0 hunks)
💤 Files with no reviewable changes (39)
- pkg/client/docs/models/components/v3mangopayconfig.md
- pkg/client/models/components/v3bankingcircleconfig.go
- pkg/client/docs/models/components/v3columnconfig.md
- pkg/client/docs/models/components/v3modulrconfig.md
- pkg/client/models/components/v3columnconfig.go
- pkg/client/models/components/v3stripeconfig.go
- pkg/client/models/components/v3increaseconfig.go
- pkg/client/models/components/v3currencycloudconfig.go
- pkg/client/models/components/v3genericconfig.go
- pkg/client/models/components/v3qontoconfig.go
- internal/models/config.go
- tools/compile-configs/main.go
- pkg/client/models/components/v3plaidconfig.go
- pkg/client/models/components/v3mangopayconfig.go
- pkg/client/docs/models/components/v3dummypayconfig.md
- pkg/client/docs/models/components/v3plaidconfig.md
- pkg/client/models/components/v3wiseconfig.go
- internal/connectors/config_test.go
- pkg/client/docs/models/components/v3moneycorpconfig.md
- pkg/client/models/components/v3adyenconfig.go
- pkg/client/docs/models/components/v3tinkconfig.md
- pkg/client/docs/models/components/v3stripeconfig.md
- pkg/client/docs/models/components/v3adyenconfig.md
- pkg/client/models/components/v3dummypayconfig.go
- pkg/client/models/components/v3tinkconfig.go
- pkg/client/docs/models/components/v3wiseconfig.md
- pkg/client/docs/models/components/v3powensconfig.md
- pkg/client/docs/models/components/v3bankingcircleconfig.md
- pkg/client/models/components/v3moneycorpconfig.go
- pkg/client/docs/models/components/v3genericconfig.md
- pkg/client/models/components/v3modulrconfig.go
- pkg/client/models/components/v3powensconfig.go
- pkg/client/docs/models/components/v3qontoconfig.md
- pkg/client/docs/models/components/v3increaseconfig.md
- pkg/client/docs/models/components/v3atlarconfig.md
- pkg/client/docs/models/components/v3currencycloudconfig.md
- pkg/client/models/components/v3atlarconfig.go
- docs/api/README.md
- internal/connectors/plugins/registry/configs.go
🧰 Additional context used
🧠 Learnings (8)
📚 Learning: 2025-05-15T16:35:29.660Z
Learnt from: fguery
Repo: formancehq/payments PR: 427
File: internal/connectors/plugins/public/qonto/balances.go:20-55
Timestamp: 2025-05-15T16:35:29.660Z
Learning: The Qonto connector plugin has unit tests for fetchNextBalances in internal/connectors/plugins/public/qonto/balances_test.go, covering success cases, missing FromPayload, invalid JSON handling, and other error conditions.
Applied to files:
internal/connectors/engine/workflow/fetch_balances.go
📚 Learning: 2024-12-12T12:45:27.164Z
Learnt from: laouji
Repo: formancehq/payments PR: 193
File: internal/connectors/plugins/public/dummypay/client/client.go:104-131
Timestamp: 2024-12-12T12:45:27.164Z
Learning: The `Balance` struct in `internal/connectors/plugins/public/dummypay/client/client.go` is only used in tests, so changing `AmountInMinors` from `int64` to `*big.Int` is not necessary.
Applied to files:
internal/connectors/engine/workflow/fetch_balances.gointernal/connectors/plugins/public/bankingcircle/config.gointernal/connectors/plugins/public/qonto/config.gointernal/connectors/plugins/public/moneycorp/config.gotest/e2e/api_connectors_test.gointernal/connectors/plugins/public/moneycorp/plugin.gointernal/connectors/plugins/public/currencycloud/config.gointernal/connectors/plugins/public/dummypay/config.gointernal/connectors/plugins/public/currencycloud/plugin.gointernal/connectors/plugins/public/dummypay/plugin.go
📚 Learning: 2025-01-17T09:48:09.578Z
Learnt from: laouji
Repo: formancehq/payments PR: 262
File: internal/connectors/plugins/registry/plugins.go:31-42
Timestamp: 2025-01-17T09:48:09.578Z
Learning: In Go packages that handle plugin registration, when RegisterPlugin is called from init() blocks, it should panic on configuration errors rather than return them, to prevent the program from starting with misconfigured plugins.
Applied to files:
internal/connectors/plugins/public/mangopay/plugin.gointernal/connectors/plugins/public/stripe/plugin.gointernal/connectors/plugins/public/bankingcircle/plugin.gointernal/connectors/plugins/public/powens/plugin.gointernal/connectors/plugins/public/adyen/plugin.gointernal/connectors/engine/workflow/main_test.gointernal/connectors/plugins/public/generic/plugin.gointernal/connectors/plugins/public/plaid/plugin.gointernal/connectors/plugins/registry/plugins_test.gointernal/connectors/plugins/public/moneycorp/plugin.gointernal/connectors/plugins/public/increase/plugin.gointernal/connectors/plugins/public/atlar/plugin.gointernal/connectors/plugins/public/tink/plugin.gointernal/connectors/plugins/public/column/plugin.gointernal/connectors/plugins/public/dummypay/plugin.gointernal/connectors/plugins/public/wise/plugin.gointernal/connectors/plugins/public/modulr/plugin.go
📚 Learning: 2025-08-08T13:46:21.578Z
Learnt from: paul-nicolas
Repo: formancehq/payments PR: 509
File: internal/connectors/plugins/public/powens/client/transactions.go:77-91
Timestamp: 2025-08-08T13:46:21.578Z
Learning: In formancehq/payments Powens client (file: internal/connectors/plugins/public/powens/client/transactions.go), keep single-layout time parsing for Transaction fields (Date: time.DateOnly, DateTime: time.RFC3339, LastUpdate: time.DateTime); no need for multi-layout fallbacks per maintainer preference (paul-nicolas) in PR #509.
Applied to files:
internal/connectors/engine/workflow/fetch_payments.go
📚 Learning: 2025-01-09T09:56:16.746Z
Learnt from: laouji
Repo: formancehq/payments PR: 251
File: internal/connectors/engine/engine.go:327-333
Timestamp: 2025-01-09T09:56:16.746Z
Learning: In the `ConnectorsConfigUpdate` storage method, only the config field is updated for connectors. Other fields like CreatedAt are preserved and not affected by the update operation.
Applied to files:
internal/connectors/engine/engine_test.go
📚 Learning: 2025-02-06T13:29:29.038Z
Learnt from: laouji
Repo: formancehq/payments PR: 316
File: internal/api/services/accounts_list_test.go:22-22
Timestamp: 2025-02-06T13:29:29.038Z
Learning: The debug flag in the payments service is primarily used to control the visibility of dummypay in configurations, and this behavior is tested in internal/connectors/plugins/registry/plugins_test.go.
Applied to files:
internal/connectors/engine/workflow/main_test.go
📚 Learning: 2025-11-06T15:50:27.524Z
Learnt from: paul-nicolas
Repo: formancehq/payments PR: 580
File: internal/connectors/engine/workflow/send_events.go:69-75
Timestamp: 2025-11-06T15:50:27.524Z
Learning: In the payments codebase, the BankAccount model (internal/models/bank_accounts.go) does not have a ConnectorID field. Bank accounts are global entities not scoped to individual connectors, so when sending bank account events via SendEventsRequest, the ConnectorID field should be nil/omitted.
Applied to files:
internal/connectors/engine/workflow/fetch_external_accounts.gotest/e2e/api_connectors_test.go
📚 Learning: 2025-02-20T20:04:35.706Z
Learnt from: gitstart-formance
Repo: formancehq/payments PR: 322
File: internal/connectors/plugins/public/increase/accounts.go:61-96
Timestamp: 2025-02-20T20:04:35.706Z
Learning: The Increase connector uses centralized constants from the client package for metadata keys (e.g., client.IncreaseTypeMetadataKey) rather than hardcoded strings.
Applied to files:
internal/connectors/plugins/public/increase/config.go
🧬 Code graph analysis (20)
internal/connectors/engine/workflow/fetch_balances.go (3)
internal/connectors/plugins/registry/plugins.go (1)
GetPageSize(171-178)internal/connectors/engine/activities/plugin_fetch_next_balances.go (1)
PluginFetchNextBalances(32-47)internal/connectors/engine/workflow/workflow.go (1)
FromPayload(18-21)
internal/connectors/plugins/public/mangopay/plugin.go (8)
internal/connectors/plugins/public/atlar/config.go (2)
Config(12-17)PAGE_SIZE(19-19)internal/connectors/plugins/public/column/config.go (2)
Config(12-16)PAGE_SIZE(18-18)internal/connectors/plugins/public/dummypay/config.go (2)
Config(10-14)PAGE_SIZE(16-16)internal/connectors/plugins/public/mangopay/config.go (2)
Config(12-17)PAGE_SIZE(19-19)internal/connectors/plugins/public/stripe/config.go (2)
Config(12-15)PAGE_SIZE(17-17)internal/connectors/plugins/public/wise/config.go (2)
Config(17-23)PAGE_SIZE(25-25)internal/connectors/plugins/public/powens/config.go (1)
PAGE_SIZE(18-18)internal/connectors/plugins/public/qonto/config.go (1)
PAGE_SIZE(20-20)
internal/connectors/engine/workflow/fetch_payments.go (3)
internal/connectors/plugins/registry/plugins.go (1)
GetPageSize(171-178)internal/connectors/engine/activities/plugin_fetch_next_payments.go (1)
PluginFetchNextPayments(33-47)internal/connectors/engine/workflow/workflow.go (1)
FromPayload(18-21)
internal/connectors/engine/workflow/fetch_accounts.go (3)
internal/connectors/plugins/registry/plugins.go (1)
GetPageSize(171-178)internal/connectors/engine/activities/plugin_fetch_next_accounts.go (1)
PluginFetchNextAccounts(32-47)internal/connectors/engine/workflow/workflow.go (1)
FromPayload(18-21)
internal/connectors/plugins/public/stripe/plugin.go (1)
internal/connectors/plugins/public/stripe/config.go (2)
Config(12-15)PAGE_SIZE(17-17)
internal/connectors/plugins/public/bankingcircle/plugin.go (1)
internal/connectors/plugins/public/bankingcircle/config.go (2)
Config(12-20)PAGE_SIZE(22-22)
internal/connectors/engine/engine_test.go (10)
internal/models/config.go (1)
Config(20-23)internal/connectors/plugins/public/bankingcircle/config.go (1)
Config(12-20)internal/connectors/plugins/public/column/config.go (1)
Config(12-16)internal/connectors/plugins/public/generic/config.go (1)
Config(12-16)internal/connectors/plugins/public/increase/config.go (1)
Config(12-17)internal/connectors/plugins/public/mangopay/config.go (1)
Config(12-17)internal/connectors/plugins/public/modulr/config.go (1)
Config(12-17)internal/connectors/plugins/public/moneycorp/config.go (1)
Config(12-17)internal/connectors/plugins/public/qonto/config.go (1)
Config(12-18)internal/connectors/plugins/public/wise/config.go (1)
Config(17-23)
internal/connectors/engine/workflow/main_test.go (1)
internal/models/capabilities.go (1)
Capability(9-9)
internal/connectors/engine/workflow/fetch_others.go (1)
internal/connectors/plugins/registry/plugins.go (1)
GetPageSize(171-178)
internal/connectors/plugins/public/generic/plugin.go (2)
internal/connectors/plugins/public/generic/config.go (1)
PAGE_SIZE(18-18)internal/connectors/plugins/public/powens/config.go (1)
PAGE_SIZE(18-18)
internal/connectors/plugins/public/plaid/plugin.go (15)
internal/connectors/plugins/public/adyen/config.go (2)
Config(11-19)PAGE_SIZE(21-21)internal/connectors/plugins/public/atlar/config.go (2)
Config(12-17)PAGE_SIZE(19-19)internal/connectors/plugins/public/column/config.go (2)
Config(12-16)PAGE_SIZE(18-18)internal/connectors/plugins/public/dummypay/config.go (2)
Config(10-14)PAGE_SIZE(16-16)internal/connectors/plugins/public/generic/config.go (2)
Config(12-16)PAGE_SIZE(18-18)internal/connectors/plugins/public/increase/config.go (2)
Config(12-17)PAGE_SIZE(19-19)internal/connectors/plugins/public/mangopay/config.go (2)
Config(12-17)PAGE_SIZE(19-19)internal/connectors/plugins/public/modulr/config.go (2)
Config(12-17)PAGE_SIZE(19-19)internal/connectors/plugins/public/moneycorp/config.go (2)
Config(12-17)PAGE_SIZE(19-19)internal/connectors/plugins/public/plaid/config.go (2)
Config(63-67)PAGE_SIZE(16-16)internal/connectors/plugins/public/powens/config.go (2)
Config(20-27)PAGE_SIZE(18-18)internal/connectors/plugins/public/qonto/config.go (2)
Config(12-18)PAGE_SIZE(20-20)internal/connectors/plugins/public/stripe/config.go (2)
Config(12-15)PAGE_SIZE(17-17)internal/connectors/plugins/registry/plugins_test.go (1)
Config(22-33)internal/connectors/plugins/public/tink/config.go (1)
PAGE_SIZE(17-17)
internal/connectors/plugins/registry/plugins_test.go (2)
internal/connectors/plugins/registry/plugins.go (2)
RegisterPlugin(41-56)DummyPSPName(16-16)internal/models/plugin.go (2)
PluginTypeOpenBanking(17-17)PluginTypePSP(16-16)
internal/connectors/plugins/public/moneycorp/plugin.go (1)
internal/connectors/plugins/public/moneycorp/config.go (2)
Config(12-17)PAGE_SIZE(19-19)
internal/connectors/plugins/public/increase/plugin.go (2)
internal/connectors/plugins/public/increase/config.go (2)
Config(12-17)PAGE_SIZE(19-19)internal/connectors/plugins/public/stripe/config.go (2)
Config(12-15)PAGE_SIZE(17-17)
internal/connectors/plugins/public/atlar/plugin.go (1)
internal/connectors/plugins/public/atlar/config.go (2)
Config(12-17)PAGE_SIZE(19-19)
internal/connectors/plugins/public/currencycloud/plugin.go (3)
internal/connectors/plugins/public/currencycloud/config.go (2)
Config(11-15)PAGE_SIZE(17-17)internal/connectors/plugins/public/stripe/config.go (2)
Config(12-15)PAGE_SIZE(17-17)internal/connectors/plugins/public/qonto/config.go (1)
PAGE_SIZE(20-20)
internal/connectors/plugins/public/column/plugin.go (1)
internal/connectors/plugins/public/column/config.go (1)
PAGE_SIZE(18-18)
internal/connectors/plugins/public/dummypay/plugin.go (2)
internal/connectors/plugins/public/dummypay/config.go (2)
Config(10-14)PAGE_SIZE(16-16)internal/connectors/plugins/public/qonto/config.go (1)
PAGE_SIZE(20-20)
internal/connectors/plugins/public/wise/plugin.go (4)
internal/connectors/plugins/public/dummypay/config.go (2)
Config(10-14)PAGE_SIZE(16-16)internal/connectors/plugins/public/stripe/config.go (2)
Config(12-15)PAGE_SIZE(17-17)internal/connectors/plugins/public/wise/config.go (2)
Config(17-23)PAGE_SIZE(25-25)internal/connectors/plugins/public/qonto/config.go (1)
PAGE_SIZE(20-20)
internal/connectors/plugins/public/modulr/plugin.go (1)
internal/connectors/plugins/public/modulr/config.go (2)
Config(12-17)PAGE_SIZE(19-19)
🔇 Additional comments (48)
internal/connectors/engine/engine_test.go (1)
480-480: LGTM! PageSize correctly removed from Config.The test now passes only
NameandPollingPeriodto the workflow'sConfigstruct, which correctly reflects the removal ofPageSizefrom user-configurable settings as per the PR objectives.internal/connectors/plugins/public/increase/plugin.go (1)
20-20: LGTM! Plugin registration updated with PAGE_SIZE constant.The registration now correctly passes the
PAGE_SIZEconstant to the registry, migrating pagination configuration from user-provided to provider-specific hardcoded values.internal/connectors/plugins/public/mangopay/plugin.go (1)
22-22: LGTM! Consistent with the pagination migration pattern.The plugin registration correctly includes
PAGE_SIZEas part of the migration from user-configurable to provider-specific pagination.internal/connectors/plugins/public/tink/config.go (1)
17-18: LGTM! PAGE_SIZE constant properly defined.The constant is correctly declared with a value of 25, consistent with other provider plugins in this migration.
internal/connectors/plugins/public/modulr/plugin.go (1)
19-19: LGTM! Plugin registration follows the established pattern.The
PAGE_SIZEconstant is correctly passed to the registry, aligning with the PR's objective to hard-code pagination per connector.internal/connectors/plugins/public/powens/config.go (1)
18-19: LGTM! PAGE_SIZE constant added correctly.The constant declaration follows Go conventions and is consistent with other providers in this refactoring.
internal/connectors/plugins/public/qonto/plugin.go (1)
19-19: LGTM! Registration correctly updated with PAGE_SIZE.The change is consistent with the pagination migration pattern applied across all provider plugins.
internal/connectors/plugins/public/bankingcircle/plugin.go (1)
19-19: LGTM! Plugin registration completed consistently.The
PAGE_SIZEconstant is correctly passed to the registry, completing the uniform migration pattern across all reviewed provider plugins.internal/connectors/plugins/public/stripe/plugin.go (1)
21-21: LGTM! Registry integration follows the expected pattern.The addition of
PAGE_SIZEto theRegisterPlugincall correctly implements the shift from user-configurable to provider-specific pagination. Stripe's value of 100 is appropriately passed from the config constant.internal/connectors/plugins/public/moneycorp/plugin.go (1)
19-19: LGTM! Consistent with the registry-based pagination pattern.The
PAGE_SIZEargument is correctly added to align with the new plugin registration signature.internal/connectors/engine/workflow/fetch_others.go (1)
52-66: Well-implemented runtime pageSize retrieval.The migration from config-based to registry-based pageSize lookup is clean and includes proper error handling. The cast from
uint64tointon line 66 is safe given the hardcoded PAGE_SIZE values (25-100) used across providers.internal/connectors/plugins/public/bankingcircle/config.go (1)
22-22: LGTM! Provider-specific page size constant added.The PAGE_SIZE constant is appropriately defined for the banking circle provider.
internal/connectors/plugins/public/atlar/config.go (1)
19-19: LGTM! Consistent constant definition.PAGE_SIZE is correctly defined for the Atlar provider.
internal/connectors/plugins/public/wise/plugin.go (1)
21-21: LGTM! Registry integration is correct.The PAGE_SIZE argument is properly added to the plugin registration.
internal/connectors/plugins/public/adyen/config.go (1)
21-21: LGTM! Provider constant added.The PAGE_SIZE constant is correctly defined for Adyen.
internal/connectors/plugins/public/currencycloud/config.go (1)
17-17: LGTM! Page size constant defined.The PAGE_SIZE constant follows the established pattern for Currency Cloud.
internal/connectors/engine/workflow/main_test.go (1)
91-91: LGTM!The test correctly updates the RegisterPlugin call to include the pageSize parameter. Using a hardcoded literal value in tests is appropriate for test isolation and clarity.
internal/connectors/plugins/public/column/plugin.go (1)
21-21: LGTM!The RegisterPlugin call correctly passes the PAGE_SIZE constant from the column config package, aligning with the new per-provider pagination architecture.
internal/connectors/plugins/public/adyen/plugin.go (1)
20-20: LGTM!PAGE_SIZE constant is correctly defined at config.go:21 and properly passed as the final argument to the RegisterPlugin call at plugin.go:20, confirming alignment with the per-provider pagination architecture.
internal/connectors/plugins/public/modulr/config.go (1)
19-20: ---PAGE_SIZE=25 is valid for Modulr API.
Based on Modulr API documentation, the page size has a maximum of 500. Modulr's docs do not prescribe a specific "recommended" page size, but the choice of 25 is well below the limit and is a reasonable value. No changes needed.
internal/connectors/plugins/public/mangopay/config.go (1)
19-20: PAGE_SIZE=25 is valid and well-aligned with Mangopay API limits.Mangopay uses page-based pagination with a default per_page of 10 and maximum of 100. The chosen value of 25 sits comfortably within this range, offering a reasonable balance between request efficiency and response overhead. No optimization changes required.
internal/connectors/plugins/public/increase/config.go (1)
19-20: Update PAGE_SIZE from 25 to 100 to align with Increase API recommendations.The Increase API recommends a page size of 100. The current configuration uses 25, which is below the recommended value and will result in unnecessary pagination overhead. Update
PAGE_SIZEto 100 at line 19 ininternal/connectors/plugins/public/increase/config.go.⛔ Skipped due to learnings
Learnt from: fguery Repo: formancehq/payments PR: 427 File: internal/connectors/plugins/public/qonto/client/transactions.go:109-111 Timestamp: 2025-05-13T14:32:34.057Z Learning: Qonto API has a maximum page size of 100 records per page. When requesting more than 100 records, Qonto silently caps it at 100 rather than throwing an error.internal/connectors/plugins/public/moneycorp/config.go (1)
19-20: LGTM! PAGE_SIZE constant defined.The addition of the PAGE_SIZE constant is clean and aligns with the broader PR pattern of moving pagination configuration from user-configurable parameters to provider-specific constants.
internal/connectors/engine/workflow/fetch_external_accounts.go (1)
53-67: LGTM! Registry-based page size retrieval implemented correctly.The migration from config-based to registry-based page size retrieval is well-implemented:
- Appropriate error handling for registry lookup
- Clear comment explaining the change
- Type conversion from uint64 to int is safe given hardcoded PAGE_SIZE values (typically 25)
internal/connectors/plugins/public/powens/plugin.go (1)
17-21: LGTM! Plugin registration updated with PAGE_SIZE.The addition of PAGE_SIZE to the RegisterPlugin call correctly integrates with the registry's new page size management. This follows the established pattern for plugin initialization.
internal/connectors/engine/workflow/fetch_payments.go (1)
53-67: LGTM! Consistent registry-based page size retrieval.The implementation mirrors the pattern used in fetch_external_accounts.go with appropriate error handling and clear commenting. The registry-based approach successfully decouples page size from user configuration.
internal/connectors/plugins/public/generic/plugin.go (1)
16-20: LGTM! Plugin registration updated with PAGE_SIZE.The registration call correctly passes the PAGE_SIZE constant to the registry, following the same pattern as other provider plugins in this PR.
internal/connectors/plugins/public/dummypay/config.go (1)
16-17: LGTM! PAGE_SIZE constant added.The constant definition is straightforward and follows the established pattern across all provider config files in this PR.
internal/connectors/plugins/public/qonto/config.go (2)
20-21: LGTM! PAGE_SIZE constant added.The constant definition follows the consistent pattern across all providers in this PR.
23-29: Minor formatting adjustment.The formatting changes to the raw struct fields are cosmetic and have no semantic impact.
internal/connectors/plugins/public/wise/config.go (1)
25-26: LGTM! PAGE_SIZE constant added.The constant definition is clean and consistent with the pattern established across all provider plugins in this PR.
internal/connectors/plugins/public/plaid/plugin.go (1)
19-19: LGTM!The addition of PAGE_SIZE to the RegisterPlugin call correctly migrates pagination configuration from user-configurable to provider-specific, aligning with the PR objective.
internal/models/config_test.go (1)
14-192: LGTM!Test suite correctly updated to remove all PageSize references, consistent with the migration to provider-specific page sizes. The tests now appropriately focus on Name and PollingPeriod validation.
internal/connectors/plugins/public/currencycloud/plugin.go (1)
19-19: LGTM!The RegisterPlugin call correctly adds PAGE_SIZE parameter, consistent with the migration pattern across all plugins.
internal/connectors/engine/workflow/fetch_accounts.go (2)
8-8: LGTM!Registry import correctly added to support dynamic page size retrieval.
53-66: LGTM! Dynamic page size retrieval implemented correctly.The change from static Config.PageSize to dynamic registry.GetPageSize lookup is well-implemented with appropriate error handling. The type conversion from uint64 to int is safe given typical pagination values (25-100).
internal/connectors/plugins/public/stripe/config.go (1)
17-18: LGTM!PAGE_SIZE constant appropriately set to 100 for Stripe, which is reasonable given Stripe's API typically supports larger page sizes compared to other providers.
test/e2e/api_connectors_test.go (1)
554-571: LGTM!Test helper function correctly updated to omit PageSize initialization, aligning with the removal of PageSize from the Config struct.
internal/connectors/plugins/public/generic/config.go (1)
18-19: LGTM!PAGE_SIZE constant properly added with standard value of 25, consistent with most other provider plugins.
internal/connectors/engine/workflow/fetch_balances.go (2)
8-8: LGTM!Registry import correctly added to enable dynamic page size retrieval.
53-66: LGTM! Dynamic page size retrieval implemented correctly.The implementation is consistent with the fetch_accounts workflow, properly retrieving page size from the registry with appropriate error handling. The conversion from uint64 to int is safe for typical pagination values.
internal/connectors/plugins/public/atlar/plugin.go (1)
20-20: LGTM!The addition of PAGE_SIZE to the RegisterPlugin call correctly implements the per-connector pagination approach. The constant is properly defined in the config.go file.
internal/connectors/plugins/public/dummypay/plugin.go (1)
18-18: LGTM!The PAGE_SIZE argument is correctly added to the RegisterPlugin call, consistent with the pattern across other plugins.
internal/connectors/plugins/public/tink/plugin.go (1)
20-20: LGTM!The PAGE_SIZE parameter addition is consistent with the broader refactoring to move pagination configuration from user settings to provider constants.
internal/connectors/plugins/registry/plugins_test.go (1)
50-51: LGTM!The test calls are correctly updated to match the new RegisterPlugin signature. Using a hardcoded value of 25 is appropriate for testing.
internal/connectors/plugins/registry/plugins.go (3)
30-30: LGTM!The pageSize field addition to PluginInformation is properly typed and follows the existing struct conventions.
41-56: LGTM!The RegisterPlugin signature is correctly extended with the pageSize parameter, and the value is properly stored in the PluginInformation struct.
171-178: LGTM!The GetPageSize function follows the established pattern of other registry getter functions (GetPluginType, GetCapabilities, GetConfig) with consistent error handling and provider name normalization.
fd122f1 to
1194562
Compare
|
@Quentin-David-24 @laouji I took the opportunity to fully remove the page size as a field in options. |
|
@reslene we'll be removing the PageSize from the SDK and will hard code it going forward; is that a problem on Console in the long run? As mentioned above you can still pass it in, it'll be ignored though |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (13)
internal/connectors/plugins/public/bankingcircle/config.go (1)
22-22: PAGE_SIZE constant is fine; consider idiomatic Go namingThe connector-specific page size constant and value (100) look reasonable, especially given the documented max of 5000. For consistency with idiomatic Go exported names (and to match typical project conventions), consider renaming to
PageSizeinstead ofPAGE_SIZEwhen convenient.internal/connectors/plugins/public/dummypay/config.go (1)
16-17: LGTM! Straightforward constant addition.The PAGE_SIZE constant is correctly defined and aligns with the PR objective of hard-coding pagination per connector. The value of 25 is reasonable for pagination.
One minor note: The naming convention uses SCREAMING_SNAKE_CASE rather than idiomatic Go CamelCase (e.g.,
PageSize). If this pattern is consistent across all plugins in this PR, then it's fine. If not, consider usingPageSizefor consistency with Go conventions.internal/connectors/engine/engine_test.go (1)
465-495: LGTM! The Config struct usage is correct.The change at line 480 correctly reflects that
models.Configno longer includesPageSize, passing onlyNameandPollingPeriodto the workflow. This aligns with the PR objective to hard-code pagination per connector.The test input at line 467 still includes
"pageSize":25while the Config at line 480 omits it. This appears intentional—the raw JSON config is stored (line 490) but pageSize isn't passed to the workflow. However, for test clarity, consider either:
- Removing
pageSizefrom the input JSON if it should no longer be accepted- Adding a comment or separate test case to explicitly verify that
pageSizein user input is gracefully ignoredinternal/connectors/plugins/public/moneycorp/config.go (1)
19-19: Clarify Moneycorp PAGE_SIZE vs documented maximumThe comment says “max page size is 10000 according to docs (!)” while
PAGE_SIZEis set to100. If the lower value is intentional (e.g., to limit load), consider making that explicit to avoid confusion, for example:const PAGE_SIZE = 100 // docs allow up to 10000, but we cap at 100 for safetyinternal/connectors/plugins/public/atlar/config.go (1)
19-19: Clarify Atlar PAGE_SIZE choice relative to documented maxThe comment notes a docs max of 500 while
PAGE_SIZEis set to100. If you’re intentionally capping below the provider’s maximum (e.g., for safety or latency reasons), consider updating the comment to state that explicitly so future readers don’t wonder if this is a mistake:const PAGE_SIZE = 100 // docs allow up to 500, but we cap at 100internal/connectors/engine/workflow/fetch_others.go (1)
7-8: fetchNextOthers correctly adopts registry‑based pageSize lookupFetching
pageSizeonce viaregistry.GetPageSize(fetchNextOthers.ConnectorID.Provider)and passingint(pageSize)intoPluginFetchNextOthersis consistent with the new pagination design and keeps the loop simple. Error handling is appropriate.If this GetPageSize‑then‑cast pattern is repeated across multiple workflow files (accounts, balances, payments, others), you might later consider a small helper to DRY it up, but it’s fine as‑is.
Also applies to: 52-56, 66-67
internal/connectors/plugins/registry/plugins_test.go (2)
50-51: RegisterPlugin calls correctly updated with pageSize parameter.The test registrations now properly pass the pageSize argument (25) to align with the updated RegisterPlugin signature.
Consider extracting the test pageSize value to a named constant for clarity:
+const testPageSize = 25 + Context("population of plugin configuration", func() { - RegisterPlugin(name, models.PluginTypeOpenBanking, fn, capabilities, conf, 25) - RegisterPlugin(DummyPSPName, models.PluginTypePSP, fn, capabilities, conf, 25) + RegisterPlugin(name, models.PluginTypeOpenBanking, fn, capabilities, conf, testPageSize) + RegisterPlugin(DummyPSPName, models.PluginTypePSP, fn, capabilities, conf, testPageSize)
134-142: Consider adding test coverage for GetPageSize.The tests verify GetPluginType but don't cover the newly added GetPageSize function. Adding test coverage would ensure it correctly returns the pageSize for registered plugins and proper errors for unknown providers.
Consider adding a test case similar to the existing GetPluginType test:
It("returns the right page size", func(ctx SpecContext) { pageSize, err := GetPageSize(name) Expect(err).To(BeNil()) Expect(pageSize).To(Equal(uint64(25))) pageSize, err = GetPageSize(DummyPSPName) Expect(err).To(BeNil()) Expect(pageSize).To(Equal(uint64(25))) _, err = GetPageSize("nonexistent") Expect(err).NotTo(BeNil()) })internal/connectors/plugins/registry/plugins.go (1)
41-56: Consider validating pageSize parameter in RegisterPlugin.The RegisterPlugin function now accepts a pageSize parameter but doesn't validate that it's greater than zero. A pageSize of 0 could lead to runtime issues in pagination logic.
Based on learnings, RegisterPlugin is called from init() blocks and should panic on configuration errors. Consider adding validation:
func RegisterPlugin( provider string, pluginType models.PluginType, createFunc PluginCreateFunction, capabilities []models.Capability, conf any, pageSize uint64, ) { + if pageSize == 0 { + log.Panicf("RegisterPlugin pageSize must be greater than 0 for provider %s", provider) + } pluginsRegistry[provider] = PluginInformation{ pluginType: pluginType, capabilities: capabilities, createFunc: createFunc, config: setupConfig(conf), pageSize: pageSize, } }internal/models/config_test.go (4)
14-71: Validation scenarios look solid; consider explicitly testing zero-duration behaviorThe validation tests nicely cover missing name, lower/upper polling bounds, and a happy path. Given that unmarshal tests assert
PollingPeriod == 0is allowed, you might want an extra case here wherePollingPeriodis0andNameis set, to lock in thatValidate()continues to treat the zero duration as acceptable.
73-92: MarshalJSON expectations align with the new config shape; you could also assert key countThis test correctly pins
nameand the stringifiedpollingPeriod("5m0s"). If you want extra protection against reintroducing fields likepageSizeon the top-level config, consider also assertinglen(jsonMap) == 2so the JSON shape stays minimal and stable.
94-183: UnmarshalJSON subtests comprehensively cover default, invalid, and zero polling periodsThe subtest matrix (valid, default polling period, invalid duration string, zero duration, invalid JSON) gives good coverage of the updated semantics, and the use of
t.Parallel()per subtest is safe since everything is local to each test. As a small hardening tweak, you could assert on the error type or message in the"invalid polling period"case to distinguish a duration-parse failure from other possible future errors, but it’s not strictly necessary.
185-192: DefaultConfig test matches the unmarshal default; consider de-duplicating the 30m literalThis test correctly asserts the default polling period (30 minutes) and empty name. If there is (or ever will be) a shared constant for the default polling period in
models, it might be preferable for the test to assert against that instead of duplicating30*time.Minutein multiple places.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Disabled knowledge base sources:
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
⛔ Files ignored due to path filters (3)
openapi.yamlis excluded by!**/*.yamlopenapi/v3/v3-connectors-config.yamlis excluded by!**/*.yamlpkg/client/.speakeasy/gen.lockis excluded by!**/*.lock,!**/*.lock
📒 Files selected for processing (84)
docs/api/README.md(0 hunks)internal/connectors/config_test.go(0 hunks)internal/connectors/engine/engine_test.go(1 hunks)internal/connectors/engine/workflow/fetch_accounts.go(2 hunks)internal/connectors/engine/workflow/fetch_balances.go(2 hunks)internal/connectors/engine/workflow/fetch_external_accounts.go(2 hunks)internal/connectors/engine/workflow/fetch_others.go(3 hunks)internal/connectors/engine/workflow/fetch_payments.go(2 hunks)internal/connectors/engine/workflow/main_test.go(1 hunks)internal/connectors/plugins/public/adyen/config.go(1 hunks)internal/connectors/plugins/public/adyen/plugin.go(1 hunks)internal/connectors/plugins/public/atlar/config.go(1 hunks)internal/connectors/plugins/public/atlar/plugin.go(1 hunks)internal/connectors/plugins/public/bankingcircle/config.go(1 hunks)internal/connectors/plugins/public/bankingcircle/plugin.go(1 hunks)internal/connectors/plugins/public/column/config.go(1 hunks)internal/connectors/plugins/public/column/plugin.go(1 hunks)internal/connectors/plugins/public/currencycloud/config.go(1 hunks)internal/connectors/plugins/public/currencycloud/plugin.go(1 hunks)internal/connectors/plugins/public/dummypay/config.go(1 hunks)internal/connectors/plugins/public/dummypay/plugin.go(1 hunks)internal/connectors/plugins/public/generic/config.go(1 hunks)internal/connectors/plugins/public/generic/plugin.go(1 hunks)internal/connectors/plugins/public/increase/config.go(1 hunks)internal/connectors/plugins/public/increase/plugin.go(1 hunks)internal/connectors/plugins/public/mangopay/config.go(1 hunks)internal/connectors/plugins/public/mangopay/plugin.go(1 hunks)internal/connectors/plugins/public/modulr/config.go(1 hunks)internal/connectors/plugins/public/modulr/plugin.go(1 hunks)internal/connectors/plugins/public/moneycorp/config.go(1 hunks)internal/connectors/plugins/public/moneycorp/plugin.go(1 hunks)internal/connectors/plugins/public/plaid/config.go(1 hunks)internal/connectors/plugins/public/plaid/plugin.go(1 hunks)internal/connectors/plugins/public/powens/config.go(1 hunks)internal/connectors/plugins/public/powens/plugin.go(1 hunks)internal/connectors/plugins/public/qonto/config.go(1 hunks)internal/connectors/plugins/public/qonto/plugin.go(1 hunks)internal/connectors/plugins/public/stripe/config.go(1 hunks)internal/connectors/plugins/public/stripe/plugin.go(1 hunks)internal/connectors/plugins/public/tink/config.go(1 hunks)internal/connectors/plugins/public/tink/plugin.go(1 hunks)internal/connectors/plugins/public/wise/config.go(1 hunks)internal/connectors/plugins/public/wise/plugin.go(1 hunks)internal/connectors/plugins/registry/configs.go(0 hunks)internal/connectors/plugins/registry/plugins.go(3 hunks)internal/connectors/plugins/registry/plugins_test.go(1 hunks)internal/models/config.go(0 hunks)internal/models/config_test.go(4 hunks)pkg/client/docs/models/components/v3adyenconfig.md(0 hunks)pkg/client/docs/models/components/v3atlarconfig.md(0 hunks)pkg/client/docs/models/components/v3bankingcircleconfig.md(0 hunks)pkg/client/docs/models/components/v3columnconfig.md(0 hunks)pkg/client/docs/models/components/v3currencycloudconfig.md(0 hunks)pkg/client/docs/models/components/v3dummypayconfig.md(0 hunks)pkg/client/docs/models/components/v3genericconfig.md(0 hunks)pkg/client/docs/models/components/v3increaseconfig.md(0 hunks)pkg/client/docs/models/components/v3mangopayconfig.md(0 hunks)pkg/client/docs/models/components/v3modulrconfig.md(0 hunks)pkg/client/docs/models/components/v3moneycorpconfig.md(0 hunks)pkg/client/docs/models/components/v3plaidconfig.md(0 hunks)pkg/client/docs/models/components/v3powensconfig.md(0 hunks)pkg/client/docs/models/components/v3qontoconfig.md(0 hunks)pkg/client/docs/models/components/v3stripeconfig.md(0 hunks)pkg/client/docs/models/components/v3tinkconfig.md(0 hunks)pkg/client/docs/models/components/v3wiseconfig.md(0 hunks)pkg/client/models/components/v3adyenconfig.go(0 hunks)pkg/client/models/components/v3atlarconfig.go(0 hunks)pkg/client/models/components/v3bankingcircleconfig.go(0 hunks)pkg/client/models/components/v3columnconfig.go(0 hunks)pkg/client/models/components/v3currencycloudconfig.go(0 hunks)pkg/client/models/components/v3dummypayconfig.go(0 hunks)pkg/client/models/components/v3genericconfig.go(0 hunks)pkg/client/models/components/v3increaseconfig.go(0 hunks)pkg/client/models/components/v3mangopayconfig.go(0 hunks)pkg/client/models/components/v3modulrconfig.go(0 hunks)pkg/client/models/components/v3moneycorpconfig.go(0 hunks)pkg/client/models/components/v3plaidconfig.go(0 hunks)pkg/client/models/components/v3powensconfig.go(0 hunks)pkg/client/models/components/v3qontoconfig.go(0 hunks)pkg/client/models/components/v3stripeconfig.go(0 hunks)pkg/client/models/components/v3tinkconfig.go(0 hunks)pkg/client/models/components/v3wiseconfig.go(0 hunks)test/e2e/api_connectors_test.go(1 hunks)tools/compile-configs/main.go(0 hunks)
💤 Files with no reviewable changes (39)
- pkg/client/docs/models/components/v3wiseconfig.md
- pkg/client/models/components/v3plaidconfig.go
- tools/compile-configs/main.go
- internal/models/config.go
- pkg/client/models/components/v3increaseconfig.go
- pkg/client/models/components/v3mangopayconfig.go
- internal/connectors/plugins/registry/configs.go
- pkg/client/models/components/v3qontoconfig.go
- pkg/client/docs/models/components/v3plaidconfig.md
- pkg/client/docs/models/components/v3adyenconfig.md
- pkg/client/models/components/v3bankingcircleconfig.go
- pkg/client/docs/models/components/v3genericconfig.md
- pkg/client/models/components/v3moneycorpconfig.go
- pkg/client/models/components/v3atlarconfig.go
- pkg/client/docs/models/components/v3currencycloudconfig.md
- pkg/client/docs/models/components/v3modulrconfig.md
- pkg/client/models/components/v3wiseconfig.go
- pkg/client/models/components/v3dummypayconfig.go
- pkg/client/models/components/v3powensconfig.go
- pkg/client/models/components/v3adyenconfig.go
- pkg/client/docs/models/components/v3atlarconfig.md
- pkg/client/docs/models/components/v3increaseconfig.md
- pkg/client/models/components/v3tinkconfig.go
- pkg/client/models/components/v3stripeconfig.go
- pkg/client/models/components/v3genericconfig.go
- pkg/client/docs/models/components/v3dummypayconfig.md
- internal/connectors/config_test.go
- pkg/client/models/components/v3modulrconfig.go
- pkg/client/docs/models/components/v3qontoconfig.md
- pkg/client/docs/models/components/v3mangopayconfig.md
- pkg/client/docs/models/components/v3stripeconfig.md
- pkg/client/docs/models/components/v3bankingcircleconfig.md
- pkg/client/docs/models/components/v3powensconfig.md
- docs/api/README.md
- pkg/client/docs/models/components/v3tinkconfig.md
- pkg/client/models/components/v3columnconfig.go
- pkg/client/docs/models/components/v3columnconfig.md
- pkg/client/models/components/v3currencycloudconfig.go
- pkg/client/docs/models/components/v3moneycorpconfig.md
🚧 Files skipped from review as they are similar to previous changes (27)
- internal/connectors/plugins/public/powens/plugin.go
- internal/connectors/plugins/public/tink/plugin.go
- internal/connectors/plugins/public/wise/config.go
- internal/connectors/plugins/public/currencycloud/config.go
- internal/connectors/plugins/public/plaid/plugin.go
- internal/connectors/engine/workflow/fetch_balances.go
- internal/connectors/plugins/public/currencycloud/plugin.go
- internal/connectors/plugins/public/increase/config.go
- internal/connectors/engine/workflow/fetch_payments.go
- internal/connectors/plugins/public/generic/plugin.go
- internal/connectors/plugins/public/column/plugin.go
- internal/connectors/plugins/public/wise/plugin.go
- internal/connectors/plugins/public/stripe/plugin.go
- internal/connectors/plugins/public/column/config.go
- internal/connectors/plugins/public/atlar/plugin.go
- internal/connectors/plugins/public/bankingcircle/plugin.go
- internal/connectors/engine/workflow/fetch_external_accounts.go
- internal/connectors/plugins/public/adyen/plugin.go
- internal/connectors/engine/workflow/main_test.go
- internal/connectors/plugins/public/adyen/config.go
- internal/connectors/plugins/public/plaid/config.go
- internal/connectors/plugins/public/qonto/plugin.go
- internal/connectors/plugins/public/powens/config.go
- internal/connectors/plugins/public/modulr/config.go
- internal/connectors/plugins/public/increase/plugin.go
- internal/connectors/plugins/public/dummypay/plugin.go
- internal/connectors/plugins/public/mangopay/plugin.go
🧰 Additional context used
🧠 Learnings (5)
📚 Learning: 2024-12-12T12:45:27.164Z
Learnt from: laouji
Repo: formancehq/payments PR: 193
File: internal/connectors/plugins/public/dummypay/client/client.go:104-131
Timestamp: 2024-12-12T12:45:27.164Z
Learning: The `Balance` struct in `internal/connectors/plugins/public/dummypay/client/client.go` is only used in tests, so changing `AmountInMinors` from `int64` to `*big.Int` is not necessary.
Applied to files:
test/e2e/api_connectors_test.gointernal/connectors/plugins/public/moneycorp/plugin.gointernal/connectors/plugins/public/moneycorp/config.gointernal/connectors/plugins/public/stripe/config.gointernal/connectors/plugins/public/dummypay/config.gointernal/connectors/plugins/public/bankingcircle/config.gointernal/connectors/plugins/registry/plugins_test.gointernal/connectors/plugins/public/qonto/config.go
📚 Learning: 2025-01-17T09:48:09.578Z
Learnt from: laouji
Repo: formancehq/payments PR: 262
File: internal/connectors/plugins/registry/plugins.go:31-42
Timestamp: 2025-01-17T09:48:09.578Z
Learning: In Go packages that handle plugin registration, when RegisterPlugin is called from init() blocks, it should panic on configuration errors rather than return them, to prevent the program from starting with misconfigured plugins.
Applied to files:
internal/connectors/plugins/public/modulr/plugin.gointernal/connectors/plugins/registry/plugins_test.go
📚 Learning: 2025-11-06T15:50:27.524Z
Learnt from: paul-nicolas
Repo: formancehq/payments PR: 580
File: internal/connectors/engine/workflow/send_events.go:69-75
Timestamp: 2025-11-06T15:50:27.524Z
Learning: In the payments codebase, the BankAccount model (internal/models/bank_accounts.go) does not have a ConnectorID field. Bank accounts are global entities not scoped to individual connectors, so when sending bank account events via SendEventsRequest, the ConnectorID field should be nil/omitted.
Applied to files:
internal/connectors/engine/workflow/fetch_accounts.go
📚 Learning: 2025-05-15T16:35:29.660Z
Learnt from: fguery
Repo: formancehq/payments PR: 427
File: internal/connectors/plugins/public/qonto/balances.go:20-55
Timestamp: 2025-05-15T16:35:29.660Z
Learning: The Qonto connector plugin has unit tests for fetchNextBalances in internal/connectors/plugins/public/qonto/balances_test.go, covering success cases, missing FromPayload, invalid JSON handling, and other error conditions.
Applied to files:
internal/connectors/engine/workflow/fetch_accounts.gointernal/connectors/plugins/registry/plugins_test.go
📚 Learning: 2025-01-09T09:56:16.746Z
Learnt from: laouji
Repo: formancehq/payments PR: 251
File: internal/connectors/engine/engine.go:327-333
Timestamp: 2025-01-09T09:56:16.746Z
Learning: In the `ConnectorsConfigUpdate` storage method, only the config field is updated for connectors. Other fields like CreatedAt are preserved and not affected by the update operation.
Applied to files:
internal/connectors/engine/engine_test.go
🧬 Code graph analysis (6)
internal/connectors/plugins/public/moneycorp/plugin.go (1)
internal/connectors/plugins/public/moneycorp/config.go (2)
Config(12-17)PAGE_SIZE(19-19)
internal/connectors/engine/workflow/fetch_others.go (1)
internal/connectors/plugins/registry/plugins.go (1)
GetPageSize(171-178)
internal/connectors/plugins/public/modulr/plugin.go (1)
internal/connectors/plugins/public/modulr/config.go (2)
Config(12-17)PAGE_SIZE(19-19)
internal/connectors/engine/workflow/fetch_accounts.go (3)
internal/connectors/plugins/registry/plugins.go (1)
GetPageSize(171-178)internal/connectors/engine/activities/plugin_fetch_next_accounts.go (1)
PluginFetchNextAccounts(32-47)internal/connectors/engine/workflow/workflow.go (1)
FromPayload(18-21)
internal/connectors/plugins/registry/plugins_test.go (2)
internal/connectors/plugins/registry/plugins.go (2)
RegisterPlugin(41-56)DummyPSPName(16-16)internal/models/plugin.go (2)
PluginTypeOpenBanking(17-17)PluginTypePSP(16-16)
internal/connectors/engine/engine_test.go (1)
internal/models/config.go (1)
Config(20-23)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: Dirty
🔇 Additional comments (10)
internal/connectors/plugins/public/stripe/config.go (1)
17-18: PAGE_SIZE constant looks correct and consistent with the new pagination modelHard-coding
PAGE_SIZE = 100with a brief comment is consistent with Stripe’s documented max page size and with the PR’s move toward per‑connector defaults; no issues from this file’s perspective.internal/connectors/plugins/public/generic/config.go (1)
18-19: ****The review's primary recommendation to rename
PAGE_SIZEtoPageSizeis incorrect. The entire codebase consistently uses SCREAMING_SNAKE_CASE for this constant across all 18 plugins (wise, tink, plaid, stripe, etc.), making PAGE_SIZE the established pattern. Changing it to PageSize would break consistency, not improve it. Go permits SCREAMING_SNAKE_CASE for exported constants.The only valid observation is that the comment "100 seems more likely" is vague compared to peer plugins (e.g., "max page size is 100"), but this is a minor documentation preference, not a convention violation. No changes are required.
Likely an incorrect or invalid review comment.
internal/connectors/plugins/public/tink/config.go (1)
17-18: Verify the page size limit against Tink API documentation.The constant at line 17 cannot be verified with available resources—Tink's developer documentation requires JavaScript and cannot be accessed via web search. Please manually confirm that 100 is the correct maximum page size by checking Tink's API documentation directly.
Note: Other plugins in this PR show similar discrepancies (e.g., modulr, moneycorp, atlar), marked with "(!)". If Tink's actual max differs from 100, consider updating the comment accordingly.
internal/connectors/plugins/public/moneycorp/plugin.go (1)
16-20: Moneycorp plugin registration updated consistently with new pageSize APIPassing
PAGE_SIZEalongsideConfig{}intoregistry.RegisterPluginmatches the new registry signature and keeps the per‑connector page size centralized in the config package. No issues from this change.internal/connectors/plugins/public/qonto/config.go (1)
20-27: Qonto PAGE_SIZE constant fits new per‑connector pagination modelIntroducing
PAGE_SIZE = 100and keeping the raw config fields aligned withConfigcleanly supports the registry‑based pagination without changing validation behavior. Looks good.internal/connectors/plugins/public/modulr/plugin.go (1)
16-20: Modulr plugin registration correctly wired with PAGE_SIZEThe added
PAGE_SIZEargument inregistry.RegisterPluginaligns with the new registry signature and the constant defined inconfig.go. No further concerns.internal/connectors/engine/workflow/fetch_accounts.go (1)
8-9: Registry‑based pageSize lookup in fetchAccounts looks correct; check Temporal compatibilityUsing
registry.GetPageSize(fetchNextAccount.ConnectorID.Provider)once before the loop and passingint(pageSize)intoPluginFetchNextAccountsmatches the new per‑connector PAGE_SIZE design. Error handling on missing plugins is straightforward, and avoiding a DB read here is a nice win.One thing to keep in mind operationally: changing the effective page size for a provider can change the workflow’s behavior (number/shape of activity calls). Make sure this rollout is compatible with any long‑running Temporal workflows that might be replayed with a different page size than when they started.
Also applies to: 53-57, 66-67
internal/connectors/plugins/public/mangopay/config.go (1)
19-19: MangoPay PAGE_SIZE constant is straightforward and consistentDefining
PAGE_SIZE = 100with a clear comment provides a single source of truth for the plugin and plugs cleanly into the registry‑based pagination. No issues.test/e2e/api_connectors_test.go (1)
554-588: LGTM! PageSize correctly removed from connector config factories.The config factory functions no longer include PageSize fields, aligning with the PR objective to move pagination control from user configuration to hard-coded per-connector values in the registry.
internal/connectors/plugins/registry/plugins.go (1)
171-178: LGTM! GetPageSize implementation follows established patterns.The new GetPageSize function correctly retrieves the pageSize for a given provider, with error handling consistent with other registry lookup functions (GetConfig, GetPluginType, GetCapabilities).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 7
♻️ Duplicate comments (6)
pkg/client/docs/models/components/v3bankingcircleconfig.md (1)
6-17: Same markdownlint MD037 nit as in V3StripeConfig docsThis deprecation row matches the intended behavior. As with
V3StripeConfig, you may want to drop spaces inside** DEPRECATED **(e.g.,**DEPRECATED**) to appease markdownlint, and then apply that convention project‑wide.pkg/client/docs/models/components/v3plaidconfig.md (1)
6-14: Plaid PageSize deprecation docs align; optional markdownlint cleanupThe struck‑through
PageSizerow and warning look correct. Optionally, normalize** DEPRECATED **to**DEPRECATED**(or similar) to avoid MD037, in line with the other config docs.pkg/client/docs/models/components/v3moneycorpconfig.md (1)
6-14: Moneycorp PageSize deprecation row looks fine; same MD037 nitThe deprecated
PageSizerow is consistent with the rest of the docs. As elsewhere, you can optionally collapse** DEPRECATED **to**DEPRECATED**to satisfy markdownlint.pkg/client/docs/models/components/v3genericconfig.md (1)
6-13: Generic config PageSize deprecation is consistent; markdownlint nitThe deprecation messaging for
PageSizematches the broader PR. To keep markdownlint happy, you may wish to remove spaces inside the emphasizedDEPRECATEDtoken here as well.pkg/client/docs/models/components/v3adyenconfig.md (1)
6-16: Adyen PageSize deprecation docs match model; optional MD037 fixDocs now correctly mark
PageSizeas deprecated. As with the other configs, consider tightening** DEPRECATED **to**DEPRECATED**to avoid the markdownlint MD037 warning.pkg/client/docs/models/components/v3currencycloudconfig.md (1)
6-14: Currencycloud PageSize deprecation docs OK; same markdownlint styling nitThe deprecation row is in line with the rest of the PR. Optionally fix
** DEPRECATED **→**DEPRECATED**(or similar) here too to address MD037.
🧹 Nitpick comments (8)
pkg/client/models/components/v3qontoconfig.go (2)
10-13: Verify if formatting changes will persist through code regeneration.These formatting changes improve alignment, but since this is a generated file (line 1), they may be overwritten the next time Speakeasy regenerates the code. Ensure the generator is configured to produce this formatting, or consider whether manual edits to generated files align with your workflow.
14-15: Deprecation comment is appropriate.The deprecation follows Go conventions and maintains backward compatibility as intended. The field will be ignored by the service while remaining in the SDK for clients not yet on the latest stack.
Consider making the deprecation message more actionable if there's a specific migration path:
-// Deprecated: This will be removed in a future release, please migrate away from it as soon as possible. +// Deprecated: PageSize is now configured per connector and this field is ignored. Remove this field from your configuration.pkg/client/models/components/v3dummypayconfig.go (1)
10-17: Clarify deprecation behavior and also deprecateGetPageSizeaccessorThe deprecation intent is clear, but a couple of tweaks would make it less ambiguous for SDK users:
- The comment doesn’t currently say that the backend ignores this field and that page size is now fixed per connector, which is the core semantic change in this PR.
- The
default:"25"tag is now legacy and might confuse readers into thinking the value is still honored.GetPageSizeremains non‑deprecated, so callers using the accessor won’t see any deprecation signal even though the field is effectively dead.Consider tightening this up along these lines:
- // Deprecated: This will be removed in a future release, please migrate away from it as soon as possible. - PageSize *int64 `default:"25" json:"pageSize"` + // Deprecated: this field is ignored by the server; page size is now fixed per connector. + // It is kept only for backward‑compatible client schemas and will be removed in a future release. + PageSize *int64 `default:"25" json:"pageSize"`and also deprecate the accessor so tools pick it up:
-func (o *V3DummypayConfig) GetPageSize() *int64 { +// Deprecated: see V3DummypayConfig.PageSize. +func (o *V3DummypayConfig) GetPageSize() *int64 {If the
default:"25"tag is no longer used anywhere in the client tooling, you could also drop it entirely to avoid mixed signals.pkg/client/docs/models/components/v3stripeconfig.md (1)
6-12: PageSize deprecation text is good; minor markdownlint MD037 nitThe deprecation row correctly reflects that
PageSizeis being phased out. To satisfy markdownlint MD037, consider removing spaces inside the emphasis so** DEPRECATED **becomes**DEPRECATED**(or similar), which you can later apply consistently across all config docs.pkg/client/models/components/v3adyenconfig.go (1)
14-19: Clarify PageSize deprecation semantics and consider thedefault:"25"tagMarking
PageSizeas deprecated in the client model is consistent with the docs and the move to per‑connector page sizes. Given that the service now hard‑codes page size per connector and ignores this field, it may be worth (a) making the deprecation comment explicit that the value is ignored by the service, and/or (b) reconsidering thedefault:"25"tag so the generated default doesn’t suggest an effective runtime setting that no longer applies.pkg/client/docs/models/components/v3columnconfig.md (1)
6-13: Deprecation row looks good; consider tightening markdown emphasis to satisfy markdownlintThe PageSize row is correctly marked as deprecated and visually struck through, which matches the new behavior. However, markdownlint’s MD037 warning stems from
** DEPRECATED **having spaces inside the emphasis markers. If you care about keeping docs lint‑clean, consider changing that snippet to**DEPRECATED**(and similar in other docs or generators).pkg/client/docs/models/components/v3modulrconfig.md (1)
6-14: Consistent PageSize deprecation; same markdownlint MD037 concernThis table mirrors the intended deprecation of PageSize and is consistent with the other config docs. As with V3ColumnConfig,
** DEPRECATED **violates markdownlint’s no‑space‑in‑emphasis rule (MD037). If lint is enforced in CI, you may want to switch to**DEPRECATED**(or adjust the generator) to avoid spurious warnings.test/e2e/api_connectors_test.go (1)
209-216: Stronger v3 config assertions are good; clarify intent around hard‑coded PageSize=25The added expectations on
Directory,LinkFlowError,Name,PollingPeriod,Provider, andUpdateLinkFlowErrormake the v3 update test more thorough, which is nice. ThePageSizeassertion pins the API contract to a concrete default of 25 even though PageSize is deprecated and ignored by the service:Expect(getRes.V3GetConnectorConfigResponse.Data.V3DummypayConfig.PageSize). To(Equal(pointer.For(int64(25)))) // the response sets a default valueIf 25 is meant to remain a stable, user‑visible default for Dummypay, this is fine but tightly couples the test to that constant. If instead PageSize is now purely a backward‑compat field that may vanish when the SDK drops it, you might want to (a) drop this specific assertion, or (b) just assert that
PageSizeis non‑nil, to reduce brittleness and future test churn when the client models are regenerated.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Disabled knowledge base sources:
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
⛔ Files ignored due to path filters (3)
openapi.yamlis excluded by!**/*.yamlopenapi/v3/v3-connectors-config.yamlis excluded by!**/*.yamlpkg/client/.speakeasy/gen.lockis excluded by!**/*.lock,!**/*.lock
📒 Files selected for processing (38)
pkg/client/docs/models/components/v3adyenconfig.md(1 hunks)pkg/client/docs/models/components/v3atlarconfig.md(1 hunks)pkg/client/docs/models/components/v3bankingcircleconfig.md(1 hunks)pkg/client/docs/models/components/v3columnconfig.md(1 hunks)pkg/client/docs/models/components/v3currencycloudconfig.md(1 hunks)pkg/client/docs/models/components/v3dummypayconfig.md(1 hunks)pkg/client/docs/models/components/v3genericconfig.md(1 hunks)pkg/client/docs/models/components/v3increaseconfig.md(1 hunks)pkg/client/docs/models/components/v3mangopayconfig.md(1 hunks)pkg/client/docs/models/components/v3modulrconfig.md(1 hunks)pkg/client/docs/models/components/v3moneycorpconfig.md(1 hunks)pkg/client/docs/models/components/v3plaidconfig.md(1 hunks)pkg/client/docs/models/components/v3powensconfig.md(1 hunks)pkg/client/docs/models/components/v3qontoconfig.md(1 hunks)pkg/client/docs/models/components/v3stripeconfig.md(1 hunks)pkg/client/docs/models/components/v3tinkconfig.md(1 hunks)pkg/client/docs/models/components/v3wiseconfig.md(1 hunks)pkg/client/models/components/v3adyenconfig.go(1 hunks)pkg/client/models/components/v3atlarconfig.go(1 hunks)pkg/client/models/components/v3bankingcircleconfig.go(1 hunks)pkg/client/models/components/v3columnconfig.go(1 hunks)pkg/client/models/components/v3currencycloudconfig.go(1 hunks)pkg/client/models/components/v3dummypayconfig.go(1 hunks)pkg/client/models/components/v3genericconfig.go(1 hunks)pkg/client/models/components/v3increaseconfig.go(1 hunks)pkg/client/models/components/v3mangopayconfig.go(1 hunks)pkg/client/models/components/v3modulrconfig.go(1 hunks)pkg/client/models/components/v3moneycorpconfig.go(1 hunks)pkg/client/models/components/v3plaidconfig.go(1 hunks)pkg/client/models/components/v3powensconfig.go(1 hunks)pkg/client/models/components/v3qontoconfig.go(1 hunks)pkg/client/models/components/v3stripeconfig.go(1 hunks)pkg/client/models/components/v3tinkconfig.go(1 hunks)pkg/client/models/components/v3wiseconfig.go(1 hunks)test/e2e/api_accounts_test.go(1 hunks)test/e2e/api_connectors_test.go(2 hunks)tools/compile-configs/definitions.go(1 hunks)tools/compile-configs/main.go(1 hunks)
✅ Files skipped from review due to trivial changes (2)
- pkg/client/models/components/v3tinkconfig.go
- pkg/client/models/components/v3currencycloudconfig.go
🚧 Files skipped from review as they are similar to previous changes (8)
- pkg/client/models/components/v3columnconfig.go
- pkg/client/models/components/v3modulrconfig.go
- pkg/client/models/components/v3mangopayconfig.go
- pkg/client/docs/models/components/v3qontoconfig.md
- pkg/client/models/components/v3genericconfig.go
- pkg/client/models/components/v3bankingcircleconfig.go
- pkg/client/models/components/v3increaseconfig.go
- pkg/client/models/components/v3moneycorpconfig.go
🧰 Additional context used
🧠 Learnings (2)
📚 Learning: 2024-12-12T11:00:02.458Z
Learnt from: laouji
Repo: formancehq/payments PR: 193
File: test/e2e/api_accounts_test.go:97-106
Timestamp: 2024-12-12T11:00:02.458Z
Learning: In `test/e2e/api_accounts_test.go`, the `Subscribe` function already includes error handling, so it's unnecessary to add additional error handling when calling it in tests.
Applied to files:
test/e2e/api_accounts_test.go
📚 Learning: 2024-12-12T12:45:27.164Z
Learnt from: laouji
Repo: formancehq/payments PR: 193
File: internal/connectors/plugins/public/dummypay/client/client.go:104-131
Timestamp: 2024-12-12T12:45:27.164Z
Learning: The `Balance` struct in `internal/connectors/plugins/public/dummypay/client/client.go` is only used in tests, so changing `AmountInMinors` from `int64` to `*big.Int` is not necessary.
Applied to files:
test/e2e/api_connectors_test.go
🧬 Code graph analysis (5)
tools/compile-configs/definitions.go (1)
internal/connectors/plugins/registry/configs.go (1)
Type(3-3)
tools/compile-configs/main.go (1)
internal/connectors/plugins/registry/configs.go (1)
Type(3-3)
pkg/client/models/components/v3powensconfig.go (1)
internal/connectors/plugins/sharedconfig/polling_period.go (1)
PollingPeriod(13-13)
test/e2e/api_connectors_test.go (3)
pkg/client/models/components/v3getconnectorconfigresponse.go (1)
V3GetConnectorConfigResponse(5-7)pkg/client/models/components/v3dummypayconfig.go (1)
V3DummypayConfig(9-18)internal/connectors/plugins/sharedconfig/polling_period.go (1)
PollingPeriod(13-13)
pkg/client/models/components/v3adyenconfig.go (1)
internal/connectors/plugins/sharedconfig/polling_period.go (1)
PollingPeriod(13-13)
🪛 markdownlint-cli2 (0.18.1)
pkg/client/docs/models/components/v3dummypayconfig.md
12-12: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
12-12: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
pkg/client/docs/models/components/v3atlarconfig.md
11-11: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
11-11: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
pkg/client/docs/models/components/v3modulrconfig.md
12-12: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
12-12: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
pkg/client/docs/models/components/v3currencycloudconfig.md
12-12: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
12-12: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
pkg/client/docs/models/components/v3stripeconfig.md
10-10: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
10-10: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
pkg/client/docs/models/components/v3columnconfig.md
11-11: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
11-11: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
pkg/client/docs/models/components/v3bankingcircleconfig.md
11-11: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
11-11: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
pkg/client/docs/models/components/v3adyenconfig.md
11-11: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
11-11: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
pkg/client/docs/models/components/v3genericconfig.md
11-11: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
11-11: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
pkg/client/docs/models/components/v3increaseconfig.md
11-11: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
11-11: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
pkg/client/docs/models/components/v3mangopayconfig.md
11-11: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
11-11: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
pkg/client/docs/models/components/v3moneycorpconfig.md
12-12: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
12-12: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
pkg/client/docs/models/components/v3plaidconfig.md
12-12: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
12-12: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
pkg/client/docs/models/components/v3powensconfig.md
12-12: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
12-12: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
pkg/client/docs/models/components/v3tinkconfig.md
12-12: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
12-12: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
pkg/client/docs/models/components/v3wiseconfig.md
10-10: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
10-10: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
🔇 Additional comments (9)
test/e2e/api_accounts_test.go (1)
183-183: LGTM!Adding the explicit 10-second timeout makes this v3 test consistent with the v2 test at line 152 and the earlier Eventually block at line 130. This improves test reliability by ensuring deterministic timeout behavior.
pkg/client/models/components/v3atlarconfig.go (1)
9-18: LGTM — generated code reflects PageSize deprecation.This file is auto-generated by Speakeasy. The deprecation comment on
PageSizecorrectly signals that users should migrate away from this field, aligning with the PR objective to hard-code pagination per connector.pkg/client/models/components/v3plaidconfig.go (1)
9-18: LGTM — generated code reflects PageSize deprecation.Auto-generated by Speakeasy. The deprecation annotation on
PageSizeis consistent with the broader PR changes.tools/compile-configs/definitions.go (1)
36-40: LGTM!The
Deprecatedfield withomitemptyenables clean deprecation annotations in generated YAML schemas. This supports the broader effort to markpageSizeas deprecated without cluttering non-deprecated properties.tools/compile-configs/main.go (1)
132-136: LGTM!Setting
Deprecated: trueon thepageSizeproperty ensures all generated V3 connector configurations will include the deprecation marker. This is the source-of-truth change that drives the deprecation annotations across all connector configs.pkg/client/models/components/v3stripeconfig.go (1)
9-16: LGTM — generated code reflects PageSize deprecation.Auto-generated by Speakeasy. The deprecation annotation is consistent with the other connector config files in this PR.
pkg/client/models/components/v3wiseconfig.go (1)
9-17: LGTM — generated code reflects PageSize deprecation.Auto-generated by Speakeasy. The deprecation annotation is consistent with the other connector config files in this PR.
pkg/client/models/components/v3powensconfig.go (1)
10-20: Deprecation annotation onPageSizelooks correct and non-breaking.Using the
// Deprecated:comment is idiomatic Go and keeps the field available for existing clients while signaling future removal; the surrounding fields and JSON/default tags remain unchanged, so this should be backward compatible.test/e2e/api_connectors_test.go (1)
34-39: Test server configuration changes are purely structural and look fineThe updated
testserver.Configurationliteral keeps the same fields/values (stack, Postgres, Temporal, output, debug) and only affects layout/ordering, so there’s no behavior risk here for the integration tests.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 4
♻️ Duplicate comments (9)
pkg/client/docs/models/components/v3stripeconfig.md (1)
10-10: Fix markdownlint MD037 violation in deprecation message.The emphasis markers have internal spaces:
** DEPRECATED **. Update to remove spaces inside the markers per MD037 rule.-| ~~`PageSize`~~ | **int64* | :heavy_minus_sign: | : warning: ** DEPRECATED **: Deprecated: From v3.1, this parameter will be ignored.. | +| ~~`PageSize`~~ | **int64* | :heavy_minus_sign: | : warning: **DEPRECATED**: Deprecated: From v3.1, this parameter will be ignored.. |pkg/client/docs/models/components/v3currencycloudconfig.md (1)
12-12: Fix markdownlint MD037 violation in deprecation message.The emphasis markers have internal spaces:
** DEPRECATED **. Update to remove spaces inside the markers per MD037 rule.-| ~~`PageSize`~~ | **int64* | :heavy_minus_sign: | : warning: ** DEPRECATED **: Deprecated: From v3.1, this parameter will be ignored.. | +| ~~`PageSize`~~ | **int64* | :heavy_minus_sign: | : warning: **DEPRECATED**: Deprecated: From v3.1, this parameter will be ignored.. |pkg/client/docs/models/components/v3moneycorpconfig.md (1)
12-12: Fix markdownlint MD037 violation in deprecation message.The emphasis markers have internal spaces:
** DEPRECATED **. Update to remove spaces inside the markers per MD037 rule.-| ~~`PageSize`~~ | **int64* | :heavy_minus_sign: | : warning: ** DEPRECATED **: Deprecated: From v3.1, this parameter will be ignored.. | +| ~~`PageSize`~~ | **int64* | :heavy_minus_sign: | : warning: **DEPRECATED**: Deprecated: From v3.1, this parameter will be ignored.. |pkg/client/docs/models/components/v3mangopayconfig.md (1)
12-12: Fix markdownlint MD037 violation in deprecation message.The emphasis markers have internal spaces:
** DEPRECATED **. Update to remove spaces inside the markers per MD037 rule.-| ~~`PageSize`~~ | **int64* | :heavy_minus_sign: | : warning: ** DEPRECATED **: Deprecated: From v3.1, this parameter will be ignored.. | +| ~~`PageSize`~~ | **int64* | :heavy_minus_sign: | : warning: **DEPRECATED**: Deprecated: From v3.1, this parameter will be ignored.. |pkg/client/docs/models/components/v3adyenconfig.md (1)
12-12: Fix markdownlint MD037 violation in deprecation message.The emphasis markers have internal spaces:
** DEPRECATED **. Update to remove spaces inside the markers per MD037 rule.-| ~~`PageSize`~~ | **int64* | :heavy_minus_sign: | : warning: ** DEPRECATED **: Deprecated: From v3.1, this parameter will be ignored.. | +| ~~`PageSize`~~ | **int64* | :heavy_minus_sign: | : warning: **DEPRECATED**: Deprecated: From v3.1, this parameter will be ignored.. |pkg/client/docs/models/components/v3plaidconfig.md (1)
12-12: Fix markdownlint MD037 violation in deprecation message.The emphasis markers have internal spaces:
** DEPRECATED **. Update to remove spaces inside the markers per MD037 rule.-| ~~`PageSize`~~ | **int64* | :heavy_minus_sign: | : warning: ** DEPRECATED **: Deprecated: From v3.1, this parameter will be ignored.. | +| ~~`PageSize`~~ | **int64* | :heavy_minus_sign: | : warning: **DEPRECATED**: Deprecated: From v3.1, this parameter will be ignored.. |pkg/client/docs/models/components/v3qontoconfig.md (1)
12-12: Fix markdownlint MD037 violation in deprecation message.The emphasis markers have internal spaces:
** DEPRECATED **. Update to remove spaces inside the markers per MD037 rule.-| ~~`PageSize`~~ | **int64* | :heavy_minus_sign: | : warning: ** DEPRECATED **: Deprecated: From v3.1, this parameter will be ignored.. | +| ~~`PageSize`~~ | **int64* | :heavy_minus_sign: | : warning: **DEPRECATED**: Deprecated: From v3.1, this parameter will be ignored.. |pkg/client/docs/models/components/v3columnconfig.md (1)
11-11: Fix markdown formatting and clarify the deprecation message (same as v3genericconfig.md).Identical issues to v3genericconfig.md: spaces in emphasis markers, redundant wording, double period, and type syntax.
Apply this diff:
-| ~~`PageSize`~~ | **int64* | :heavy_minus_sign: | : warning: ** DEPRECATED **: Deprecated: From v3.1, this parameter will be ignored.. | +| ~~`PageSize`~~ | *int64* | :heavy_minus_sign: | **DEPRECATED**: From v3.1, this parameter will be ignored. |pkg/client/docs/models/components/v3modulrconfig.md (1)
12-12: Fix markdown formatting violations and deprecation message clarity (same as other config docs).Same issues as v3genericconfig.md and v3columnconfig.md. The static analysis tool flags MD037 (spaces inside emphasis markers) on this line, confirming the formatting problem in
** DEPRECATED **.Apply this diff:
-| ~~`PageSize`~~ | **int64* | :heavy_minus_sign: | : warning: ** DEPRECATED **: Deprecated: From v3.1, this parameter will be ignored.. | +| ~~`PageSize`~~ | *int64* | :heavy_minus_sign: | **DEPRECATED**: From v3.1, this parameter will be ignored. |
🧹 Nitpick comments (3)
pkg/client/models/components/v3tinkconfig.go (1)
13-15: Clean up deprecation comment text for clarityThe deprecation comment has a duplicated prefix and extra punctuation:
Deprecated: Deprecated: ...(duplicate word)- Ends with
ignored..(double period)Consider simplifying to:
- // Deprecated: Deprecated: From v3.1, this parameter will be ignored.. + // Deprecated: From v3.1, this parameter will be ignored.This keeps the intent clear and matches typical Go deprecation comment style.
pkg/client/models/components/v3columnconfig.go (1)
10-13: Clean up deprecation comment wording for clarityThe deprecation comment is currently
Deprecated: Deprecated: From v3.1, this parameter will be ignored.., which has a duplicated “Deprecated:” and a double period at the end. Consider simplifying to something like:// Deprecated: From v3.1, this parameter is ignored.Also, since this file is code-generated, ensure the change is reflected in the Speakeasy/OpenAPI generation source so it isn’t lost on the next regen.
pkg/client/docs/models/components/v3modulrconfig.md (1)
6-14: Consider addressing the template that generates these documentation files.All three config docs (v3genericconfig.md, v3columnconfig.md, v3modulrconfig.md) have identical formatting issues in the PageSize deprecation message. If these are auto-generated from a template or tool, fixing the source template would resolve all three files at once and prevent similar issues in future documentation updates.
If you'd like, I can help identify the documentation generation tool or template and propose a fix that addresses all config docs consistently.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Disabled knowledge base sources:
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
⛔ Files ignored due to path filters (3)
openapi.yamlis excluded by!**/*.yamlopenapi/v3/v3-connectors-config.yamlis excluded by!**/*.yamlpkg/client/.speakeasy/gen.lockis excluded by!**/*.lock,!**/*.lock
📒 Files selected for processing (36)
pkg/client/docs/models/components/v3adyenconfig.md(1 hunks)pkg/client/docs/models/components/v3atlarconfig.md(1 hunks)pkg/client/docs/models/components/v3bankingcircleconfig.md(1 hunks)pkg/client/docs/models/components/v3columnconfig.md(1 hunks)pkg/client/docs/models/components/v3currencycloudconfig.md(1 hunks)pkg/client/docs/models/components/v3dummypayconfig.md(1 hunks)pkg/client/docs/models/components/v3genericconfig.md(1 hunks)pkg/client/docs/models/components/v3increaseconfig.md(1 hunks)pkg/client/docs/models/components/v3mangopayconfig.md(1 hunks)pkg/client/docs/models/components/v3modulrconfig.md(1 hunks)pkg/client/docs/models/components/v3moneycorpconfig.md(1 hunks)pkg/client/docs/models/components/v3plaidconfig.md(1 hunks)pkg/client/docs/models/components/v3powensconfig.md(1 hunks)pkg/client/docs/models/components/v3qontoconfig.md(1 hunks)pkg/client/docs/models/components/v3stripeconfig.md(1 hunks)pkg/client/docs/models/components/v3tinkconfig.md(1 hunks)pkg/client/docs/models/components/v3wiseconfig.md(1 hunks)pkg/client/models/components/v3adyenconfig.go(1 hunks)pkg/client/models/components/v3atlarconfig.go(1 hunks)pkg/client/models/components/v3bankingcircleconfig.go(1 hunks)pkg/client/models/components/v3columnconfig.go(1 hunks)pkg/client/models/components/v3currencycloudconfig.go(1 hunks)pkg/client/models/components/v3dummypayconfig.go(1 hunks)pkg/client/models/components/v3genericconfig.go(1 hunks)pkg/client/models/components/v3increaseconfig.go(1 hunks)pkg/client/models/components/v3mangopayconfig.go(1 hunks)pkg/client/models/components/v3modulrconfig.go(1 hunks)pkg/client/models/components/v3moneycorpconfig.go(1 hunks)pkg/client/models/components/v3plaidconfig.go(1 hunks)pkg/client/models/components/v3powensconfig.go(1 hunks)pkg/client/models/components/v3qontoconfig.go(1 hunks)pkg/client/models/components/v3stripeconfig.go(1 hunks)pkg/client/models/components/v3tinkconfig.go(1 hunks)pkg/client/models/components/v3wiseconfig.go(1 hunks)tools/compile-configs/definitions.go(1 hunks)tools/compile-configs/main.go(1 hunks)
✅ Files skipped from review due to trivial changes (2)
- pkg/client/models/components/v3atlarconfig.go
- pkg/client/models/components/v3modulrconfig.go
🚧 Files skipped from review as they are similar to previous changes (11)
- pkg/client/models/components/v3qontoconfig.go
- pkg/client/docs/models/components/v3dummypayconfig.md
- tools/compile-configs/definitions.go
- pkg/client/models/components/v3adyenconfig.go
- pkg/client/models/components/v3powensconfig.go
- tools/compile-configs/main.go
- pkg/client/models/components/v3mangopayconfig.go
- pkg/client/models/components/v3wiseconfig.go
- pkg/client/models/components/v3moneycorpconfig.go
- pkg/client/models/components/v3currencycloudconfig.go
- pkg/client/models/components/v3genericconfig.go
🧰 Additional context used
🧠 Learnings (4)
📚 Learning: 2025-08-08T13:51:12.381Z
Learnt from: paul-nicolas
Repo: formancehq/payments PR: 509
File: internal/connectors/plugins/public/powens/delete_user_connection.go:11-29
Timestamp: 2025-08-08T13:51:12.381Z
Learning: In internal/connectors/plugins/public/powens/delete_user_connection.go (validateDeleteUserConnectionRequest), prefer:
- Wording: use "bank bridge is required" (singular) instead of "bank bridge connections are required".
- Do not add whitespace/empty string checks for AccessToken.Token; the nil check on AccessToken is sufficient here.
Applied to files:
pkg/client/docs/models/components/v3mangopayconfig.md
📚 Learning: 2025-09-15T18:18:38.420Z
Learnt from: laouji
Repo: formancehq/payments PR: 547
File: pkg/client/models/components/v3connectorbase.go:22-27
Timestamp: 2025-09-15T18:18:38.420Z
Learning: When code is generated by tools like Speakeasy (indicated by "Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT." header), bugs should be reported to the generator rather than manually fixed in the generated output, as manual changes will be overwritten on regeneration.
Applied to files:
pkg/client/docs/models/components/v3atlarconfig.md
📚 Learning: 2025-03-31T13:59:49.115Z
Learnt from: laouji
Repo: formancehq/payments PR: 392
File: docs/api/README.md:910-960
Timestamp: 2025-03-31T13:59:49.115Z
Learning: Files under the `docs/` directory in the formancehq/payments repository are auto-generated and don't require code review.
Applied to files:
pkg/client/docs/models/components/v3atlarconfig.md
📚 Learning: 2025-02-20T20:04:35.706Z
Learnt from: gitstart-formance
Repo: formancehq/payments PR: 322
File: internal/connectors/plugins/public/increase/accounts.go:61-96
Timestamp: 2025-02-20T20:04:35.706Z
Learning: The Increase connector uses centralized constants from the client package for metadata keys (e.g., client.IncreaseTypeMetadataKey) rather than hardcoded strings.
Applied to files:
pkg/client/models/components/v3increaseconfig.go
🧬 Code graph analysis (2)
pkg/client/models/components/v3bankingcircleconfig.go (1)
internal/connectors/plugins/sharedconfig/polling_period.go (1)
PollingPeriod(13-13)
pkg/client/models/components/v3tinkconfig.go (1)
internal/connectors/plugins/public/wise/client/recipient_accounts.go (1)
Name(19-21)
🪛 markdownlint-cli2 (0.18.1)
pkg/client/docs/models/components/v3mangopayconfig.md
12-12: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
12-12: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
pkg/client/docs/models/components/v3atlarconfig.md
12-12: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
12-12: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
pkg/client/docs/models/components/v3wiseconfig.md
10-10: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
10-10: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
pkg/client/docs/models/components/v3moneycorpconfig.md
11-11: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
11-11: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
pkg/client/docs/models/components/v3adyenconfig.md
12-12: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
12-12: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
pkg/client/docs/models/components/v3bankingcircleconfig.md
11-11: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
11-11: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
pkg/client/docs/models/components/v3currencycloudconfig.md
12-12: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
12-12: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
pkg/client/docs/models/components/v3increaseconfig.md
11-11: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
11-11: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
pkg/client/docs/models/components/v3modulrconfig.md
12-12: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
12-12: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
pkg/client/docs/models/components/v3plaidconfig.md
11-11: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
11-11: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
pkg/client/docs/models/components/v3qontoconfig.md
11-11: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
11-11: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
pkg/client/docs/models/components/v3stripeconfig.md
10-10: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
10-10: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
pkg/client/docs/models/components/v3tinkconfig.md
12-12: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
12-12: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
🔇 Additional comments (4)
pkg/client/models/components/v3plaidconfig.go (1)
14-15: LGTM: Clean deprecation approach for backward compatibility.The deprecation comment correctly signals that PageSize will be ignored from v3.1 while maintaining the field for backward compatibility. This approach allows older clients to continue functioning without breaking changes.
pkg/client/models/components/v3dummypayconfig.go (3)
10-12: LGTM: Field reordering is cosmetic.The alphabetical reordering of struct fields improves consistency and is typical of code generation. No functional impact.
73-78: LGTM: Getter implementation is correct.The getter follows the established pattern used throughout the file, properly handles nil receivers, and returns the correct type.
17-17: The new UpdateLinkFlowError field already has comprehensive test coverage and should not require additional verification.The field is tested in
test/e2e/api_connectors_test.gowith explicit assertions confirming it's properly serialized and deserialized:
- Test fixture initialization at line 576 sets the field value
- Test assertion at line 217 validates the field is correctly returned:
Expect(getRes.V3GetConnectorConfigResponse.Data.V3DummypayConfig.UpdateLinkFlowError).To(Equal(config.UpdateLinkFlowError))Additionally, the field is actively used in production code (
internal/connectors/plugins/public/dummypay/update_user_link.go), has a proper getter method, and follows the same pattern as the existingLinkFlowErrorfield.
tools/compile-configs/main.go
Outdated
| Type: "integer", | ||
| Default: 25, | ||
| Deprecated: true, | ||
| XSpeakeasyDeprecationMessage: "Deprecated: From v3.1, this parameter will be ignored.", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
// Deprecated: Deprecated: From v3.1, this parameter will be ignored..
I guess you have to specifically write:
From v3.1, this parameter will be ignored
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 3
♻️ Duplicate comments (13)
pkg/client/docs/models/components/v3tinkconfig.md (1)
12-12: Resolve markdownlint MD037 by tightening emphasis markers around "DEPRECATED".The deprecation note contains spaces inside the bold markers:
** DEPRECATED **. Per markdownlint rule MD037, remove the inner spaces.-| ~~`PageSize`~~ | **int64* | :heavy_minus_sign: | : warning: ** DEPRECATED **: From v3.1, this parameter will be ignored.. | +| ~~`PageSize`~~ | **int64* | :heavy_minus_sign: | : warning: **DEPRECATED**: From v3.1, this parameter will be ignored.. |pkg/client/docs/models/components/v3currencycloudconfig.md (1)
12-12: Resolve markdownlint MD037 by tightening emphasis markers around "DEPRECATED".The deprecation note contains spaces inside the bold markers:
** DEPRECATED **. Per markdownlint rule MD037, remove the inner spaces.-| ~~`PageSize`~~ | **int64* | :heavy_minus_sign: | : warning: ** DEPRECATED **: From v3.1, this parameter will be ignored.. | +| ~~`PageSize`~~ | **int64* | :heavy_minus_sign: | : warning: **DEPRECATED**: From v3.1, this parameter will be ignored.. |pkg/client/docs/models/components/v3dummypayconfig.md (1)
11-11: Resolve markdownlint MD037 by tightening emphasis markers around "DEPRECATED".The deprecation note contains spaces inside the bold markers:
** DEPRECATED **. Per markdownlint rule MD037, remove the inner spaces.-| ~~`PageSize`~~ | **int64* | :heavy_minus_sign: | : warning: ** DEPRECATED **: From v3.1, this parameter will be ignored.. | +| ~~`PageSize`~~ | **int64* | :heavy_minus_sign: | : warning: **DEPRECATED**: From v3.1, this parameter will be ignored.. |pkg/client/docs/models/components/v3bankingcircleconfig.md (1)
11-11: Resolve markdownlint MD037 by tightening emphasis markers around "DEPRECATED".The deprecation note contains spaces inside the bold markers:
** DEPRECATED **. Per markdownlint rule MD037, remove the inner spaces.-| ~~`PageSize`~~ | **int64* | :heavy_minus_sign: | : warning: ** DEPRECATED **: From v3.1, this parameter will be ignored.. | +| ~~`PageSize`~~ | **int64* | :heavy_minus_sign: | : warning: **DEPRECATED**: From v3.1, this parameter will be ignored.. |pkg/client/docs/models/components/v3wiseconfig.md (1)
10-10: Resolve markdownlint MD037 by tightening emphasis markers around "DEPRECATED".The deprecation note contains spaces inside the bold markers:
** DEPRECATED **. Per markdownlint rule MD037, remove the inner spaces.-| ~~`PageSize`~~ | **int64* | :heavy_minus_sign: | : warning: ** DEPRECATED **: From v3.1, this parameter will be ignored.. | +| ~~`PageSize`~~ | **int64* | :heavy_minus_sign: | : warning: **DEPRECATED**: From v3.1, this parameter will be ignored.. |pkg/client/docs/models/components/v3increaseconfig.md (1)
11-11: Resolve markdownlint MD037 by tightening emphasis markers around "DEPRECATED".The deprecation note contains spaces inside the bold markers:
** DEPRECATED **. Per markdownlint rule MD037, remove the inner spaces.-| ~~`PageSize`~~ | **int64* | :heavy_minus_sign: | : warning: ** DEPRECATED **: From v3.1, this parameter will be ignored.. | +| ~~`PageSize`~~ | **int64* | :heavy_minus_sign: | : warning: **DEPRECATED**: From v3.1, this parameter will be ignored.. |pkg/client/docs/models/components/v3genericconfig.md (1)
11-11: Resolve markdownlint MD037 by tightening emphasis markers around "DEPRECATED".The deprecation note contains spaces inside the bold markers:
** DEPRECATED **. Per markdownlint rule MD037, remove the inner spaces.-| ~~`PageSize`~~ | **int64* | :heavy_minus_sign: | : warning: ** DEPRECATED **: From v3.1, this parameter will be ignored.. | +| ~~`PageSize`~~ | **int64* | :heavy_minus_sign: | : warning: **DEPRECATED**: From v3.1, this parameter will be ignored.. |pkg/client/docs/models/components/v3stripeconfig.md (1)
10-10: Fix markdown emphasis spacing to comply with MD037.The deprecation text contains spaces inside emphasis markers (
** DEPRECATED **and**int64*), violating markdownlint rule MD037.Apply this diff:
-| ~~`PageSize`~~ | **int64* | :heavy_minus_sign: | : warning: ** DEPRECATED **: From v3.1, this parameter will be ignored.. | +| ~~`PageSize`~~ | *\*int64* | :heavy_minus_sign: | :warning: **DEPRECATED**: From v3.1, this parameter will be ignored. |pkg/client/docs/models/components/v3mangopayconfig.md (1)
12-12: Fix markdown emphasis spacing to comply with MD037.The deprecation text contains spaces inside emphasis markers (
** DEPRECATED **and**int64*), violating markdownlint rule MD037.Apply this diff:
-| ~~`PageSize`~~ | **int64* | :heavy_minus_sign: | : warning: ** DEPRECATED **: From v3.1, this parameter will be ignored.. | +| ~~`PageSize`~~ | *\*int64* | :heavy_minus_sign: | :warning: **DEPRECATED**: From v3.1, this parameter will be ignored. |pkg/client/docs/models/components/v3columnconfig.md (1)
11-11: Fix markdown emphasis spacing to comply with MD037.The deprecation text contains spaces inside emphasis markers (
** DEPRECATED **and**int64*), violating markdownlint rule MD037.Apply this diff:
-| ~~`PageSize`~~ | **int64* | :heavy_minus_sign: | : warning: ** DEPRECATED **: From v3.1, this parameter will be ignored.. | +| ~~`PageSize`~~ | *\*int64* | :heavy_minus_sign: | :warning: **DEPRECATED**: From v3.1, this parameter will be ignored. |pkg/client/models/components/v3increaseconfig.go (1)
13-13: Fix trailing punctuation in deprecation comment.The deprecation comment ends with
..which appears to be a typo.Apply this diff:
- // Deprecated: From v3.1, this parameter will be ignored.. + // Deprecated: From v3.1, this parameter will be ignored.pkg/client/docs/models/components/v3qontoconfig.md (1)
12-12: Fix markdown emphasis spacing to comply with MD037.The deprecation text contains spaces inside emphasis markers (
** DEPRECATED **and**int64*), violating markdownlint rule MD037.Apply this diff:
-| ~~`PageSize`~~ | **int64* | :heavy_minus_sign: | : warning: ** DEPRECATED **: From v3.1, this parameter will be ignored.. | +| ~~`PageSize`~~ | *\*int64* | :heavy_minus_sign: | :warning: **DEPRECATED**: From v3.1, this parameter will be ignored. |pkg/client/docs/models/components/v3modulrconfig.md (1)
12-12: Fix markdown emphasis spacing to comply with MD037.The deprecation text contains spaces inside emphasis markers (
** DEPRECATED **and**int64*), violating markdownlint rule MD037.Apply this diff:
-| ~~`PageSize`~~ | **int64* | :heavy_minus_sign: | : warning: ** DEPRECATED **: From v3.1, this parameter will be ignored.. | +| ~~`PageSize`~~ | *\*int64* | :heavy_minus_sign: | :warning: **DEPRECATED**: From v3.1, this parameter will be ignored. |
🧹 Nitpick comments (1)
pkg/client/models/components/v3genericconfig.go (1)
10-14: Deprecation comment and generated-code considerations forPageSize
- The struct field re-alignment looks fine and keeps the layout clean.
- Minor nit: the deprecation comment currently ends with a double period (
ignored..). Consider fixing the punctuation:- // Deprecated: From v3.1, this parameter will be ignored.. + // Deprecated: From v3.1, this parameter will be ignored.
- Since this file is marked as generated by Speakeasy, it would be more robust to push this deprecation into the generator configuration so it doesn’t get lost on the next regen.
- To make the deprecation more visible to Go tooling, you may also want to add a
// Deprecated:doc comment onGetPageSize()so callers get IDE/compiler hints when using it.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Disabled knowledge base sources:
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
⛔ Files ignored due to path filters (3)
openapi.yamlis excluded by!**/*.yamlopenapi/v3/v3-connectors-config.yamlis excluded by!**/*.yamlpkg/client/.speakeasy/gen.lockis excluded by!**/*.lock,!**/*.lock
📒 Files selected for processing (35)
pkg/client/docs/models/components/v3adyenconfig.md(1 hunks)pkg/client/docs/models/components/v3atlarconfig.md(1 hunks)pkg/client/docs/models/components/v3bankingcircleconfig.md(1 hunks)pkg/client/docs/models/components/v3columnconfig.md(1 hunks)pkg/client/docs/models/components/v3currencycloudconfig.md(1 hunks)pkg/client/docs/models/components/v3dummypayconfig.md(1 hunks)pkg/client/docs/models/components/v3genericconfig.md(1 hunks)pkg/client/docs/models/components/v3increaseconfig.md(1 hunks)pkg/client/docs/models/components/v3mangopayconfig.md(1 hunks)pkg/client/docs/models/components/v3modulrconfig.md(1 hunks)pkg/client/docs/models/components/v3moneycorpconfig.md(1 hunks)pkg/client/docs/models/components/v3plaidconfig.md(1 hunks)pkg/client/docs/models/components/v3powensconfig.md(1 hunks)pkg/client/docs/models/components/v3qontoconfig.md(1 hunks)pkg/client/docs/models/components/v3stripeconfig.md(1 hunks)pkg/client/docs/models/components/v3tinkconfig.md(1 hunks)pkg/client/docs/models/components/v3wiseconfig.md(1 hunks)pkg/client/models/components/v3adyenconfig.go(1 hunks)pkg/client/models/components/v3atlarconfig.go(1 hunks)pkg/client/models/components/v3bankingcircleconfig.go(1 hunks)pkg/client/models/components/v3columnconfig.go(1 hunks)pkg/client/models/components/v3currencycloudconfig.go(1 hunks)pkg/client/models/components/v3dummypayconfig.go(1 hunks)pkg/client/models/components/v3genericconfig.go(1 hunks)pkg/client/models/components/v3increaseconfig.go(1 hunks)pkg/client/models/components/v3mangopayconfig.go(1 hunks)pkg/client/models/components/v3modulrconfig.go(1 hunks)pkg/client/models/components/v3moneycorpconfig.go(1 hunks)pkg/client/models/components/v3plaidconfig.go(1 hunks)pkg/client/models/components/v3powensconfig.go(1 hunks)pkg/client/models/components/v3qontoconfig.go(1 hunks)pkg/client/models/components/v3stripeconfig.go(1 hunks)pkg/client/models/components/v3tinkconfig.go(1 hunks)pkg/client/models/components/v3wiseconfig.go(1 hunks)tools/compile-configs/main.go(1 hunks)
✅ Files skipped from review due to trivial changes (2)
- pkg/client/docs/models/components/v3atlarconfig.md
- pkg/client/docs/models/components/v3powensconfig.md
🚧 Files skipped from review as they are similar to previous changes (16)
- pkg/client/models/components/v3wiseconfig.go
- pkg/client/models/components/v3bankingcircleconfig.go
- pkg/client/models/components/v3dummypayconfig.go
- pkg/client/docs/models/components/v3plaidconfig.md
- pkg/client/models/components/v3atlarconfig.go
- pkg/client/models/components/v3modulrconfig.go
- pkg/client/models/components/v3adyenconfig.go
- pkg/client/models/components/v3tinkconfig.go
- pkg/client/models/components/v3powensconfig.go
- pkg/client/models/components/v3mangopayconfig.go
- tools/compile-configs/main.go
- pkg/client/models/components/v3plaidconfig.go
- pkg/client/docs/models/components/v3moneycorpconfig.md
- pkg/client/models/components/v3stripeconfig.go
- pkg/client/models/components/v3currencycloudconfig.go
- pkg/client/models/components/v3columnconfig.go
🧰 Additional context used
🧠 Learnings (3)
📚 Learning: 2025-08-08T13:51:12.381Z
Learnt from: paul-nicolas
Repo: formancehq/payments PR: 509
File: internal/connectors/plugins/public/powens/delete_user_connection.go:11-29
Timestamp: 2025-08-08T13:51:12.381Z
Learning: In internal/connectors/plugins/public/powens/delete_user_connection.go (validateDeleteUserConnectionRequest), prefer:
- Wording: use "bank bridge is required" (singular) instead of "bank bridge connections are required".
- Do not add whitespace/empty string checks for AccessToken.Token; the nil check on AccessToken is sufficient here.
Applied to files:
pkg/client/docs/models/components/v3mangopayconfig.mdpkg/client/docs/models/components/v3dummypayconfig.mdpkg/client/docs/models/components/v3bankingcircleconfig.md
📚 Learning: 2025-02-20T20:04:35.706Z
Learnt from: gitstart-formance
Repo: formancehq/payments PR: 322
File: internal/connectors/plugins/public/increase/accounts.go:61-96
Timestamp: 2025-02-20T20:04:35.706Z
Learning: The Increase connector uses centralized constants from the client package for metadata keys (e.g., client.IncreaseTypeMetadataKey) rather than hardcoded strings.
Applied to files:
pkg/client/models/components/v3increaseconfig.go
📚 Learning: 2025-08-08T13:46:21.578Z
Learnt from: paul-nicolas
Repo: formancehq/payments PR: 509
File: internal/connectors/plugins/public/powens/client/transactions.go:77-91
Timestamp: 2025-08-08T13:46:21.578Z
Learning: In formancehq/payments Powens client (file: internal/connectors/plugins/public/powens/client/transactions.go), keep single-layout time parsing for Transaction fields (Date: time.DateOnly, DateTime: time.RFC3339, LastUpdate: time.DateTime); no need for multi-layout fallbacks per maintainer preference (paul-nicolas) in PR #509.
Applied to files:
pkg/client/models/components/v3moneycorpconfig.go
🪛 markdownlint-cli2 (0.18.1)
pkg/client/docs/models/components/v3mangopayconfig.md
12-12: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
12-12: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
pkg/client/docs/models/components/v3currencycloudconfig.md
12-12: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
12-12: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
pkg/client/docs/models/components/v3stripeconfig.md
10-10: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
10-10: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
pkg/client/docs/models/components/v3adyenconfig.md
11-11: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
11-11: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
pkg/client/docs/models/components/v3bankingcircleconfig.md
11-11: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
11-11: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
pkg/client/docs/models/components/v3columnconfig.md
12-12: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
12-12: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
pkg/client/docs/models/components/v3genericconfig.md
11-11: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
11-11: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
pkg/client/docs/models/components/v3increaseconfig.md
12-12: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
12-12: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
pkg/client/docs/models/components/v3qontoconfig.md
12-12: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
12-12: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
pkg/client/docs/models/components/v3wiseconfig.md
10-10: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
10-10: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
🔇 Additional comments (4)
pkg/client/models/components/v3qontoconfig.go (1)
1-1: The deprecation comment is part of the Speakeasy generation template, not a manual edit.The identical deprecation message (
// Deprecated: From v3.1, this parameter will be ignored..) appears in 17 other v3 connector config files in the same format. This is consistently generated by Speakeasy across all connector configurations, so the changes are sustainable and will persist across regenerations. The original concern about manual edits being overwritten does not apply here.Note: The double period (
..) in the deprecation message is consistent across all generated v3 config files and appears to be intentional.pkg/client/models/components/v3moneycorpconfig.go (3)
10-13: LGTM!The field alignment improves readability without changing functionality.
15-15: LGTM!The
PageSizefield is retained with its default value for backward compatibility with older Console clients, as mentioned in the PR comments. The service will ignore this parameter when provided, and the deprecation comment on line 14 appropriately signals this change.
59-64: LGTM!The
GetPageSize()method is retained for backward compatibility, consistent with keeping thePageSizefield in the struct.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 5
♻️ Duplicate comments (4)
pkg/client/docs/models/components/v3dummypayconfig.md (1)
11-11: Remove spaces inside bold emphasis markers.The deprecation text uses
** DEPRECATED **which triggers markdownlint MD037. This was already flagged in a previous review.Apply this diff:
-| ~~`PageSize`~~ | **int64* | :heavy_minus_sign: | : warning: ** DEPRECATED **: From v3.1, this parameter will be ignored. | +| ~~`PageSize`~~ | **int64* | :heavy_minus_sign: | :warning: **DEPRECATED**: From v3.1, this parameter will be ignored. |pkg/client/docs/models/components/v3tinkconfig.md (1)
12-12: Remove spaces inside bold emphasis markers.The deprecation text uses
** DEPRECATED **which triggers markdownlint MD037. This was already flagged in a previous review.Apply this diff:
-| ~~`PageSize`~~ | **int64* | :heavy_minus_sign: | : warning: ** DEPRECATED **: From v3.1, this parameter will be ignored. | +| ~~`PageSize`~~ | **int64* | :heavy_minus_sign: | :warning: **DEPRECATED**: From v3.1, this parameter will be ignored. |pkg/client/docs/models/components/v3wiseconfig.md (1)
10-10: Remove spaces inside bold emphasis markers.The deprecation text uses
** DEPRECATED **which triggers markdownlint MD037. This was already flagged in a previous review.Apply this diff:
-| ~~`PageSize`~~ | **int64* | :heavy_minus_sign: | : warning: ** DEPRECATED **: From v3.1, this parameter will be ignored. | +| ~~`PageSize`~~ | **int64* | :heavy_minus_sign: | :warning: **DEPRECATED**: From v3.1, this parameter will be ignored. |pkg/client/docs/models/components/v3mangopayconfig.md (1)
12-12: Remove spaces inside bold emphasis markers.The deprecation text uses
** DEPRECATED **which triggers markdownlint MD037. This was already flagged in a previous review.Apply this diff:
-| ~~`PageSize`~~ | **int64* | :heavy_minus_sign: | : warning: ** DEPRECATED **: From v3.1, this parameter will be ignored. | +| ~~`PageSize`~~ | **int64* | :heavy_minus_sign: | :warning: **DEPRECATED**: From v3.1, this parameter will be ignored. |
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Disabled knowledge base sources:
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
⛔ Files ignored due to path filters (3)
openapi.yamlis excluded by!**/*.yamlopenapi/v3/v3-connectors-config.yamlis excluded by!**/*.yamlpkg/client/.speakeasy/gen.lockis excluded by!**/*.lock,!**/*.lock
📒 Files selected for processing (35)
pkg/client/docs/models/components/v3adyenconfig.md(1 hunks)pkg/client/docs/models/components/v3atlarconfig.md(1 hunks)pkg/client/docs/models/components/v3bankingcircleconfig.md(1 hunks)pkg/client/docs/models/components/v3columnconfig.md(1 hunks)pkg/client/docs/models/components/v3currencycloudconfig.md(1 hunks)pkg/client/docs/models/components/v3dummypayconfig.md(1 hunks)pkg/client/docs/models/components/v3genericconfig.md(1 hunks)pkg/client/docs/models/components/v3increaseconfig.md(1 hunks)pkg/client/docs/models/components/v3mangopayconfig.md(1 hunks)pkg/client/docs/models/components/v3modulrconfig.md(1 hunks)pkg/client/docs/models/components/v3moneycorpconfig.md(1 hunks)pkg/client/docs/models/components/v3plaidconfig.md(1 hunks)pkg/client/docs/models/components/v3powensconfig.md(1 hunks)pkg/client/docs/models/components/v3qontoconfig.md(1 hunks)pkg/client/docs/models/components/v3stripeconfig.md(1 hunks)pkg/client/docs/models/components/v3tinkconfig.md(1 hunks)pkg/client/docs/models/components/v3wiseconfig.md(1 hunks)pkg/client/models/components/v3adyenconfig.go(1 hunks)pkg/client/models/components/v3atlarconfig.go(1 hunks)pkg/client/models/components/v3bankingcircleconfig.go(1 hunks)pkg/client/models/components/v3columnconfig.go(1 hunks)pkg/client/models/components/v3currencycloudconfig.go(1 hunks)pkg/client/models/components/v3dummypayconfig.go(1 hunks)pkg/client/models/components/v3genericconfig.go(1 hunks)pkg/client/models/components/v3increaseconfig.go(1 hunks)pkg/client/models/components/v3mangopayconfig.go(1 hunks)pkg/client/models/components/v3modulrconfig.go(1 hunks)pkg/client/models/components/v3moneycorpconfig.go(1 hunks)pkg/client/models/components/v3plaidconfig.go(1 hunks)pkg/client/models/components/v3powensconfig.go(1 hunks)pkg/client/models/components/v3qontoconfig.go(1 hunks)pkg/client/models/components/v3stripeconfig.go(1 hunks)pkg/client/models/components/v3tinkconfig.go(1 hunks)pkg/client/models/components/v3wiseconfig.go(1 hunks)tools/compile-configs/main.go(1 hunks)
✅ Files skipped from review due to trivial changes (1)
- pkg/client/models/components/v3moneycorpconfig.go
🚧 Files skipped from review as they are similar to previous changes (12)
- pkg/client/models/components/v3plaidconfig.go
- pkg/client/docs/models/components/v3powensconfig.md
- pkg/client/models/components/v3atlarconfig.go
- pkg/client/models/components/v3dummypayconfig.go
- pkg/client/models/components/v3genericconfig.go
- pkg/client/models/components/v3powensconfig.go
- pkg/client/models/components/v3adyenconfig.go
- pkg/client/docs/models/components/v3stripeconfig.md
- pkg/client/models/components/v3wiseconfig.go
- pkg/client/models/components/v3columnconfig.go
- pkg/client/models/components/v3stripeconfig.go
- pkg/client/models/components/v3qontoconfig.go
🧰 Additional context used
🧠 Learnings (5)
📚 Learning: 2025-08-08T13:46:21.578Z
Learnt from: paul-nicolas
Repo: formancehq/payments PR: 509
File: internal/connectors/plugins/public/powens/client/transactions.go:77-91
Timestamp: 2025-08-08T13:46:21.578Z
Learning: In formancehq/payments Powens client (file: internal/connectors/plugins/public/powens/client/transactions.go), keep single-layout time parsing for Transaction fields (Date: time.DateOnly, DateTime: time.RFC3339, LastUpdate: time.DateTime); no need for multi-layout fallbacks per maintainer preference (paul-nicolas) in PR #509.
Applied to files:
pkg/client/models/components/v3mangopayconfig.go
📚 Learning: 2025-02-20T20:04:35.706Z
Learnt from: gitstart-formance
Repo: formancehq/payments PR: 322
File: internal/connectors/plugins/public/increase/accounts.go:61-96
Timestamp: 2025-02-20T20:04:35.706Z
Learning: The Increase connector uses centralized constants from the client package for metadata keys (e.g., client.IncreaseTypeMetadataKey) rather than hardcoded strings.
Applied to files:
pkg/client/models/components/v3increaseconfig.go
📚 Learning: 2025-08-08T13:51:12.381Z
Learnt from: paul-nicolas
Repo: formancehq/payments PR: 509
File: internal/connectors/plugins/public/powens/delete_user_connection.go:11-29
Timestamp: 2025-08-08T13:51:12.381Z
Learning: In internal/connectors/plugins/public/powens/delete_user_connection.go (validateDeleteUserConnectionRequest), prefer:
- Wording: use "bank bridge is required" (singular) instead of "bank bridge connections are required".
- Do not add whitespace/empty string checks for AccessToken.Token; the nil check on AccessToken is sufficient here.
Applied to files:
pkg/client/docs/models/components/v3bankingcircleconfig.mdpkg/client/docs/models/components/v3dummypayconfig.mdpkg/client/docs/models/components/v3mangopayconfig.md
📚 Learning: 2025-09-15T18:18:38.420Z
Learnt from: laouji
Repo: formancehq/payments PR: 547
File: pkg/client/models/components/v3connectorbase.go:22-27
Timestamp: 2025-09-15T18:18:38.420Z
Learning: When code is generated by tools like Speakeasy (indicated by "Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT." header), bugs should be reported to the generator rather than manually fixed in the generated output, as manual changes will be overwritten on regeneration.
Applied to files:
pkg/client/docs/models/components/v3atlarconfig.md
📚 Learning: 2025-03-31T13:59:49.115Z
Learnt from: laouji
Repo: formancehq/payments PR: 392
File: docs/api/README.md:910-960
Timestamp: 2025-03-31T13:59:49.115Z
Learning: Files under the `docs/` directory in the formancehq/payments repository are auto-generated and don't require code review.
Applied to files:
pkg/client/docs/models/components/v3atlarconfig.md
🧬 Code graph analysis (2)
pkg/client/models/components/v3bankingcircleconfig.go (1)
internal/connectors/plugins/sharedconfig/polling_period.go (1)
PollingPeriod(13-13)
tools/compile-configs/main.go (1)
internal/connectors/plugins/registry/configs.go (1)
Type(3-3)
🪛 markdownlint-cli2 (0.18.1)
pkg/client/docs/models/components/v3plaidconfig.md
12-12: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
12-12: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
pkg/client/docs/models/components/v3modulrconfig.md
12-12: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
12-12: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
pkg/client/docs/models/components/v3atlarconfig.md
12-12: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
12-12: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
pkg/client/docs/models/components/v3currencycloudconfig.md
12-12: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
12-12: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
pkg/client/docs/models/components/v3dummypayconfig.md
12-12: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
12-12: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
pkg/client/docs/models/components/v3increaseconfig.md
11-11: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
11-11: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
pkg/client/docs/models/components/v3mangopayconfig.md
12-12: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
12-12: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
pkg/client/docs/models/components/v3moneycorpconfig.md
12-12: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
12-12: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
pkg/client/docs/models/components/v3qontoconfig.md
11-11: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
11-11: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
pkg/client/docs/models/components/v3tinkconfig.md
12-12: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
12-12: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
pkg/client/docs/models/components/v3wiseconfig.md
10-10: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
10-10: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
🔇 Additional comments (13)
pkg/client/models/components/v3tinkconfig.go (1)
10-15: LGTM! Deprecation properly documented.The deprecation comment correctly signals that PageSize will be ignored from v3.1 while maintaining backward compatibility by keeping the field present.
pkg/client/models/components/v3mangopayconfig.go (1)
10-15: LGTM! Deprecation properly documented.The deprecation comment correctly signals that PageSize will be ignored from v3.1 while maintaining backward compatibility by keeping the field present.
pkg/client/models/components/v3currencycloudconfig.go (1)
10-18: LGTM! PageSize deprecation implemented correctly.The deprecation comment is clear and follows Go conventions. The field is appropriately kept for backward compatibility while signaling to SDK users that it will be ignored from v3.1 onward.
pkg/client/docs/models/components/v3genericconfig.md (1)
6-13: PageSize deprecation correctly documented.The table appropriately marks PageSize as deprecated and communicates that it will be ignored from v3.1. Since this file is auto-generated by Speakeasy, any formatting issues should be addressed in the generator template if needed.
pkg/client/models/components/v3increaseconfig.go (1)
10-18: LGTM! Deprecation properly documented.The deprecation comment is clear and correctly formatted. The
default:"25"tag is retained, which is appropriate for SDK generation and tooling compatibility even though the value will be ignored by the service.pkg/client/models/components/v3bankingcircleconfig.go (1)
10-21: LGTM! Consistent deprecation implementation.The deprecation is implemented consistently with other connector configs. The comment clearly communicates that PageSize will be ignored from v3.1 while maintaining backward compatibility.
pkg/client/docs/models/components/v3increaseconfig.md (1)
6-14: Deprecation correctly documented in SDK docs.The table appropriately marks PageSize as deprecated and strikes it through to signal its future removal. Since this is auto-generated by Speakeasy, the formatting is handled by the generator template.
pkg/client/docs/models/components/v3bankingcircleconfig.md (1)
6-17: PageSize deprecation properly documented.The documentation correctly marks PageSize as deprecated and communicates that it will be ignored from v3.1, maintaining consistency with the code changes.
pkg/client/docs/models/components/v3atlarconfig.md (1)
6-14: Deprecation correctly documented for Atlar config.The PageSize field is appropriately marked as deprecated with strikethrough, consistent with the deprecation strategy across all connector configs.
pkg/client/docs/models/components/v3adyenconfig.md (1)
6-16: LGTM! Adyen config deprecation properly documented.The PageSize deprecation is correctly documented and consistent with the broader changes across all connector configurations.
pkg/client/docs/models/components/v3columnconfig.md (1)
6-13: LGTM! Clear deprecation documentation.The PageSize field is appropriately marked as deprecated with strikethrough formatting and a clear warning message. The table formatting is clean and consistent.
pkg/client/models/components/v3modulrconfig.go (1)
10-15: LGTM! Proper deprecation comment added.The deprecation comment correctly follows Go conventions and the PageSize field is appropriately retained for backward compatibility. The formatting alignment of struct tags is also improved.
Note: This is generated code (Speakeasy), so ensure the deprecation comment is preserved if the file is regenerated.
tools/compile-configs/main.go (1)
132-137: Deprecation metadata forpageSizeis correctly applied and preservedThe
Deprecated: trueandXSpeakeasyDeprecationMessage: "From v3.1, this parameter will be ignored"are properly configured and will surface in the generated schema.The concern about struct fields with
json:"pageSize"overriding the static entry does not apply here: the actual config.go files being scanned by this tool (ininternal/connectors/plugins/public/*/config.go) do not containpageSizestruct fields. The deprecation metadata will not be overwritten.
https://formance-team.atlassian.net/browse/EN-420