Commit 412c762
feat(s5): Modulr SEPA payout adapter + 7 WireMock tests (STA-152) (#156)
* feat(s5): infrastructure persistence — JPA entities, repos, adapters, 24 ITs (STA-149, STA-150)
3 JPA entities (PayoutOrder with @Version optimistic locking, StablecoinRedemption,
OffRampTransaction with @JdbcTypeCode(SqlTypes.JSON) for JSONB), 3 Spring Data JPA
repositories, 4 MapStruct mappers (including PayoutOrderEntityUpdater for in-place
Hibernate update), 3 persistence adapters implementing domain ports, V2 migration
adding BankAccount (4 cols) and MobileMoneyAccount (3 cols) to payout_orders.
24 integration tests: 13 PayoutOrder (CRUD, state machine happy/failure paths,
unique constraints, findBy queries), 5 StablecoinRedemption (save, findById,
findByPayoutId, ticker round-trip), 6 OffRampTransaction (append-only, JSONB
round-trip, multiple per payout). 181 total tests (149 unit + 8 ArchUnit + 24 IT).
Closes STA-149
Closes STA-150
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix(s5): address CodeRabbit review — fail-fast mapper, scoped grants, ordered queries, new ITs (STA-150)
- Fail-fast on partial bank/mobile columns in PayoutOrderPersistenceMapper
- Scope sp_readonly GRANT to service-specific tables in V2 migration
- Add deterministic ordering to OffRampTransactionJpaRepository (receivedAt ASC)
- Add optimistic locking IT for PayoutOrderEntity @Version
- Add FK constraint IT for StablecoinRedemption
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat(s5): Circle USDC redemption adapter + 7 WireMock tests (STA-151)
CircleRedemptionAdapter implements RedemptionGateway port via Circle
Business Account Payouts API (POST /v1/businessAccount/payouts).
Bearer API key auth, @CIRCUITBREAKER, HTTP/1.1. Package-private ACL
DTOs. FallbackAdaptersConfig provides dev RedemptionGateway. 188 total
tests (149 unit + 8 ArchUnit + 7 WireMock + 24 IT).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>1 parent c36e87b commit 412c762
0 file changed
0 commit comments