whisper-money/app/Http/Controllers/OpenBanking
Víctor Falcón a73adddb3b refactor(open-banking): extract shared connect flow into base controller
The Binance, Bitpanda, Coinbase, Indexa Capital, and Interactive Brokers connect
controllers each carried a ~60-line store() that was near-identical: subscription
gate, credential validation, Bank + BankingConnection creation, pending-account
mapping, and the onboarding/redirect branch. Any behavior change or bug fix had
to be repeated five times.

Introduce an abstract OpenBankingConnectController that owns the shared flow via a
template method (connect()), with per-provider extension points: provider(),
providerName(), bankLogo(), aspspCountry(), fetchProviderData(),
validationFailureLogMessage(), credentialErrorMessage(), buildPendingAccounts(),
and an optional emptyProviderDataMessage() guard (used by Interactive Brokers).
Each controller now declares only what varies.

Behavior is unchanged; the existing OpenBanking feature tests pass (304/304).

Wise is intentionally left as-is: it builds pending accounts before creating the
connection and has its own empty-result guard, so it does not fit this flow.
2026-07-04 19:59:19 +02:00
..
Concerns fix(open-banking): stop storing the XXX no-currency placeholder on accounts (#602) 2026-06-27 16:01:21 +00:00
AccountMappingController.php fix(open-banking): stop storing the XXX no-currency placeholder on accounts (#602) 2026-06-27 16:01:21 +00:00
AuthorizationController.php fix: address remaining security audit findings (round 2) (#628) 2026-07-03 15:04:03 +00:00
BinanceController.php refactor(open-banking): extract shared connect flow into base controller 2026-07-04 19:59:19 +02:00
BitpandaController.php refactor(open-banking): extract shared connect flow into base controller 2026-07-04 19:59:19 +02:00
CoinbaseController.php refactor(open-banking): extract shared connect flow into base controller 2026-07-04 19:59:19 +02:00
ConnectionAccountController.php feat(open-banking): enable manage bank accounts for everyone (#572) 2026-06-20 17:35:43 +00:00
ConnectionController.php feat(banking): let Wise credentials be updated (#588) 2026-06-23 09:54:31 +00:00
IndexaCapitalController.php refactor(open-banking): extract shared connect flow into base controller 2026-07-04 19:59:19 +02:00
InstitutionController.php feat: Integrate EnableBanking as open banking provider (#106) 2026-02-12 09:09:28 +01:00
InteractiveBrokersController.php refactor(open-banking): extract shared connect flow into base controller 2026-07-04 19:59:19 +02:00
OpenBankingConnectController.php refactor(open-banking): extract shared connect flow into base controller 2026-07-04 19:59:19 +02:00
WiseController.php feat(banking): add Interactive Brokers sync via Flex Web Service (#581) 2026-06-23 11:39:24 +02:00