Skip to content

perf: return summary projection from GET /api/push list endpoint#257

Merged
coopernetes merged 1 commit into
mainfrom
perf/push-list-summary-projection
May 13, 2026
Merged

perf: return summary projection from GET /api/push list endpoint#257
coopernetes merged 1 commit into
mainfrom
perf/push-list-summary-projection

Conversation

@coopernetes
Copy link
Copy Markdown
Member

@coopernetes coopernetes commented May 13, 2026

Summary

  • Adds PushSummary — a lightweight DTO with only the 12 fields the push list view needs (no steps, commits, or attestation)
  • PushStore.findSummaries() default implementation maps from find() in-memory (covers InMemory/Mongo stores); JdbcPushStore overrides with a lean SELECT of 12 columns and no hydrate() call, eliminating N×3 child-table queries per row
  • GET /api/push now returns List<PushSummary> — no frontend changes needed since field names are a subset of the existing PushRecord type

Verification

  • JdbcPushStoreIntegrationTest — two new tests: projection fields mapped correctly, filters pass through
  • PushControllerTest — existing list tests updated to verify findSummaries() is called with the correct query params
  • Coverage threshold verified locally (jacocoTestCoverageVerification passes)

Closes #256

🤖 Generated with Claude Code

@coopernetes coopernetes enabled auto-merge May 13, 2026 13:50
Adds PushSummary — a lightweight DTO with only the 12 fields the list
view needs — and wires it into the GET /api/push endpoint. JdbcPushStore
overrides findSummaries() with a lean SELECT (no hydrate, no child-table
queries), dropping the response from ~3 MB to a few KB per page load.

closes #256

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@coopernetes coopernetes force-pushed the perf/push-list-summary-projection branch from a54113c to 5dd8f75 Compare May 13, 2026 16:04
@coopernetes coopernetes merged commit a60c1c7 into main May 13, 2026
16 checks passed
@coopernetes coopernetes deleted the perf/push-list-summary-projection branch May 13, 2026 16:10
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.

perf: push list endpoint — return summary projection, not full records

1 participant