PR V: dbis_core HTTP client adapter with provider-switch #26

Merged
nsatoshi merged 1 commits from devin/1776892235-pr-v-dbiscore-client into main 2026-04-22 21:11:59 +00:00

1 Commits

Author SHA1 Message Date
Devin AI
049c1e0fb3 PR V: dbis_core HTTP client adapter with provider-switch
Some checks failed
CI / Frontend Lint (pull_request) Failing after 5s
CI / Frontend Type Check (pull_request) Failing after 6s
CI / Frontend Build (pull_request) Failing after 8s
CI / Frontend E2E Tests (pull_request) Failing after 9s
CI / Orchestrator Build (pull_request) Failing after 6s
CI / Orchestrator Unit Tests (pull_request) Failing after 7s
CI / Orchestrator E2E (Testcontainers) (pull_request) Has been skipped
CI / Contracts Compile (pull_request) Failing after 6s
CI / Contracts Test (pull_request) Failing after 9s
Code Quality / SonarQube Analysis (pull_request) Failing after 20s
Code Quality / Code Quality Checks (pull_request) Failing after 5s
Security Scan / Dependency Vulnerability Scan (pull_request) Failing after 3s
Security Scan / OWASP ZAP Scan (pull_request) Failing after 4s
Headless HTTP client for the DBIS Core Banking API (d-bis/dbis_core).
Follows the same provider-switch pattern as services/bank.ts and
services/notaryChain.ts — env var gate, deterministic mock fallback.

Wires the subset of dbis_core endpoints the orchestrator actually
calls from its settlement / compliance / ISO20022 paths (mount-point
references per dbis_core/src/integration/api-gateway/app.ts):

- GET  /api/accounts/:accountId/balance     → getAccountBalance
- POST /api/isn/route                        → findSettlementRoute
- POST /api/isn/atomic                       → atomicSettle
- GET  /api/isn/settlements/:settlementId    → getSettlementStatus
- POST /api/ari/decision                     → requestAriDecision
- POST /api/v1/gpn/message/pacs008           → dispatchPacs008

Provider-switched via DBIS_CORE_URL: unset → mock mode with
deterministic fakes; set → live HTTP with X-API-Key auth
(DBIS_CORE_API_KEY) and a 10s AbortController-backed timeout
(DBIS_CORE_TIMEOUT_MS to override).

Tests (12/12) cover both legs: mock-shape assertions + live-mode
fetch stubs for auth headers, path encoding, JSON body, and error
handling. No network. tsc --noEmit clean; full unit suite
12/156 passing unchanged.
2026-04-22 21:10:35 +00:00