Skip to content

BI-2848 - New Genotyping Page Backend: linkage to sample submission#523

Merged
nickpalladino merged 10 commits into
developfrom
feature/BI-2848
Jun 15, 2026
Merged

BI-2848 - New Genotyping Page Backend: linkage to sample submission#523
nickpalladino merged 10 commits into
developfrom
feature/BI-2848

Conversation

@humsika

@humsika humsika commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

Description

Story: BI-2848

This change adds backend support for the new Genotyping page by linking successful genotype imports to sample submissions and exposing a new endpoint for the frontend.

Summary of changes made:

  • Added support for linking sample_submission and importer_import through the new genotype_import join table
  • Added GET endpoint: /programs/{programId}/geno/imports
  • Added response fields needed by frontend, including:
    • sampleSubmissionId
    • projectNameForSampleSubmission
    • sampleSubmissionCreatedBy
    • genotypingFileName
    • genotypingImportDate
    • genotypingImportBy
  • Added paging, sorting, and filtering support for the endpoint
  • Updated the genotype import flow so only successful genotype imports are linked/shown on the Genotyping page
  • Updated/added controller and service tests for the new endpoint and service behavior

Dependencies

  • DB migration for genotype_import must be applied
  • jOOQ generated classes should be up to date
  • bi-web (frontend): feature/BI-2679
  • bi-api (backend): feature/BI-2848

Testing

Validate the Backend/API by performing the following through manual testing:

  1. Run DB migration and ensure generated jOOQ classes are updated
  2. Upload a valid genotype VCF for a sample submission
  3. Verify the record appears in:
    • genotype_import
    • GET /v1/programs/{programId}/geno/imports
  4. Verify endpoint supports:
    • paging
    • sorting
    • filtering
  5. Verify response includes sampleSubmissionId for frontend linking
  6. Verify failed/invalid genotype imports do not appear in the Genotyping page response

Example API checks:

  • Base:
    • GET /v1/programs/{programId}/geno/imports?page=1&pageSize=10
  • Sorted:
    • GET /v1/programs/{programId}/geno/imports?page=1&pageSize=10&sortField=genotypingImportDate&sortOrder=DESC
  • Filtered:
    • GET /v1/programs/{programId}/geno/imports?page=1&pageSize=10&projectNameForSampleSubmission=Sample1
    • GET /v1/programs/{programId}/geno/imports?page=1&pageSize=10&genotypingFileName=vcf

Expected behavior:

  • Successful imports are returned
  • Failed imports are not returned
  • Invalid program returns 404
  • Unauthorized/forbidden access returns appropriate auth response
  • Empty result set returns standard empty data response

Checklist:

  • I have performed a self-review of my own code
  • I have tested my code and ensured it meets the acceptance criteria of the story
  • I have create/modified unit and/or integration tests to cover this change or tests are not applicable
  • I have commented my code, particularly in hard-to-understand areas
  • I have either updated the source of truth or arranged for update with product owner if needed https://breedinginsight.atlassian.net/wiki/spaces/BI/pages/1559953409/Source+of+Truth

@humsika humsika changed the title Feature/bi 2848 BI-2848 - New Genotyping Page Backend: linkage to sample submission Jun 8, 2026
@humsika humsika requested a review from nickpalladino June 8, 2026 19:21
humsika and others added 2 commits June 8, 2026 15:18
# Conflicts:
#	src/main/java/org/breedinginsight/services/geno/GenotypeService.java
#	src/main/java/org/breedinginsight/services/geno/impl/GigwaGenotypeServiceImpl.java
#	src/test/java/org/breedinginsight/services/geno/impl/GigwaGenotypeServiceImplIntegrationTest.java

@nickpalladino nickpalladino left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice job and thorough tests. I left a few minor coding standard comments and had a couple suggestions on design and tests.

Comment thread src/main/java/org/breedinginsight/model/GenotypeImportDetails.java
@nickpalladino nickpalladino merged commit f05b5d9 into develop Jun 15, 2026
1 check passed
@nickpalladino nickpalladino deleted the feature/BI-2848 branch June 15, 2026 20:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants