Skip to content

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

Open
humsika wants to merge 6 commits into
developfrom
feature/BI-2848
Open

BI-2848 - New Genotyping Page Backend: linkage to sample submission#523
humsika wants to merge 6 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
# 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
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.

2 participants