Skip to content

IGDD-3013: Stage 1B — SQL FHIR and Bulk Export endpoint skeletons - #2

Merged
keithboone merged 11 commits into
developfrom
IGDD-3013-wa-doh-sql-backend
Jun 25, 2026
Merged

IGDD-3013: Stage 1B — SQL FHIR and Bulk Export endpoint skeletons#2
keithboone merged 11 commits into
developfrom
IGDD-3013-wa-doh-sql-backend

Conversation

@keithboone

Copy link
Copy Markdown
Contributor

Summary

  • SqlBackendAutoConfiguration registered via AutoConfiguration.imports
  • SqlFhirController at /sql/fhir/{name}/** — returns empty Bundles for Stage 1
  • SqlUnavailableController at /sql/** + /bulk/sql/** — returns 503 when SQL module absent
  • BulkExportJobStore and BulkExportOutputStore interfaces
  • InMemoryBulkExportJobStore (V1, single-instance)
  • TempFileBulkExportOutputStore (V1, single-instance)
  • BulkExportController at /bulk/sql/fhir/$export — kickoff, poll, DELETE lifecycle
  • Unit tests for both controllers

Test plan

  • CI passes (build + unit tests)
  • SqlFhirController tests: query/read/match return 200
  • BulkExportController tests: missing Prefer → 400, valid kickoff → 202, unsupported _typeFilter → 400, poll → 202, delete → 202

🤖 Generated with Claude Code

keithboone and others added 11 commits June 24, 2026 21:50
Module builds standalone as a library JAR for CI/CD and GitHub Packages
publication. Clarify distinction between standalone library build and
full SQL-enabled service image build in izgw-transform.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds the standard IZ Gateway library CI/CD workflow (build, test, deploy to
GitHub Packages on develop). Updates pom.xml with repository declarations,
distribution management, and test/web/lombok dependencies needed for Stage 1B.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
ACTIONS_KEY is only needed for protected-branch pushes (not needed here).
packages: write permission enables cross-repo package reads via GITHUB_TOKEN.
Remove doRevisionCheck which requires custom plugin configuration.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
3.2.0-SNAPSHOT is actively published by izgw-core develop CI and used
successfully by izgw-transform. 3.1.0 was never deployed to GitHub Packages.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Matches izgw-transform pattern: izgateway (not IZGateway).
GitHub Packages URLs are case-sensitive on the org segment.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- AutoConfiguration.imports registering SqlBackendAutoConfiguration
- SqlFhirController: /sql/fhir/{name}/** returning empty Bundles (Stage 1)
- SqlUnavailableController: /sql/** and /bulk/sql/** return 503 when SQL absent
- BulkExportJob model with Status enum and OutputFile inner class
- BulkExportJobStore and BulkExportOutputStore interfaces
- InMemoryBulkExportJobStore (V1, single-instance)
- TempFileBulkExportOutputStore (V1, single-instance)
- BulkExportController: POST /bulk/sql/fhir/$export, GET/DELETE $export-status
- Unit tests for SqlFhirController and BulkExportController

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@keithboone
keithboone merged commit 32881cd into develop Jun 25, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant