Skip to content

[DT-3947] SO Console Summary Data - #3007

Open
otchet-broad wants to merge 2 commits into
developfrom
otchet-dt-3808-SO-summary-data
Open

[DT-3947] SO Console Summary Data#3007
otchet-broad wants to merge 2 commits into
developfrom
otchet-dt-3808-SO-summary-data

Conversation

@otchet-broad

Copy link
Copy Markdown
Contributor

Addresses

https://broadworkbench.atlassian.net/browse/DT-3947

Summary

Generates statistics for the SO Console Dashboard;
Resolves an OBE issue in DAA documents by removing the 'Broad' specific logic that was already being handled in a different way;
Indexes database fields that are used in joins for faster resolution


Have you read CONTRIBUTING.md lately? If not, do that first.

  • Label PR with a Jira ticket number and include a link to the ticket
  • Label PR with a security risk modifier [no, low, medium, high]
  • PR describes scope of changes
  • Get a minimum of one thumbs worth of review, preferably two if enough team members are available
  • Get PO sign-off for all non-trivial UI or workflow changes
  • Verify all tests go green
  • Test this change deployed correctly and works on dev environment after deployment

daas.forEach(daa -> daa.setBroadDaa(isBroadDAA(daa.getDaaId(), daas, allDacs)));
return daas;
}
return List.of();

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

We can refactor this away because we modified the front end to not care which DAA was the Broad DAA. See screenshot below:

Image

@sonarqubecloud

sonarqubecloud Bot commented Aug 7, 2026

Copy link
Copy Markdown

@otchet-broad
otchet-broad requested review from fboulnois and a lite review from Copilot August 7, 2026 20:47
@otchet-broad
otchet-broad marked this pull request as ready for review August 7, 2026 20:49
@otchet-broad
otchet-broad requested a review from a team as a code owner August 7, 2026 20:49
@otchet-broad
otchet-broad requested review from kevinmarete and removed request for a team August 7, 2026 20:49

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Adds a new Signing Official dashboard summary endpoint and supporting data aggregation, while removing legacy “Broad DAA” tagging logic and adding DB indexes to improve query performance.

Changes:

  • Introduces /api/signing-official/dashboard-summary backed by a new service + DAO that aggregates institution-scoped counts (DB + Elasticsearch).
  • Removes the broadDaa flag and related “Broad-specific” DAA/DAC logic from services and tests.
  • Adds Liquibase changesets to create concurrent indexes used by the dashboard summary query.

Reviewed changes

Copilot reviewed 19 out of 19 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
src/main/java/org/broadinstitute/consent/http/service/SigningOfficialDashboardService.java Aggregates dashboard summary counts (DB + Elasticsearch) and maps to a typed response record.
src/main/java/org/broadinstitute/consent/http/db/SigningOfficialDashboardDAO.java Implements the institution-scoped SQL aggregation for dashboard summary counts.
src/main/java/org/broadinstitute/consent/http/resources/SigningOfficialDashboardResource.java Adds authenticated SO endpoint for dashboard summary.
src/main/java/org/broadinstitute/consent/http/models/SigningOfficialDashboardSummary.java Defines the response model as Java records.
src/main/resources/assets/api-docs.yaml Exposes the new endpoint and schema in OpenAPI.
src/main/resources/assets/paths/signingOfficialDashboardSummary.yaml Adds OpenAPI path definition for the dashboard summary endpoint.
src/main/resources/assets/schemas/SigningOfficialDashboardSummary.yaml Adds OpenAPI schema definition for the summary payload.
src/main/resources/changelog-master.xml Includes the new Liquibase changeset in the master changelog.
src/main/resources/changesets/changelog-consent-2026-08-07-so-dashboard-indices.xml Adds concurrent indexes to speed up dashboard-related joins/filters.
src/main/java/org/broadinstitute/consent/http/service/DacService.java Removes Broad DAA tagging logic from DAC service responses.
src/main/java/org/broadinstitute/consent/http/service/DaaService.java Removes Broad DAA identification/tagging logic; returns DAAs as-is.
src/main/java/org/broadinstitute/consent/http/models/DataAccessAgreement.java Removes broadDaa field/accessors from the model.
src/main/java/org/broadinstitute/consent/http/ConsentModule.java Wires new dashboard service and updates DacService/DaaService providers.
src/main/java/org/broadinstitute/consent/http/ConsentApplication.java Registers the new dashboard resource with Jersey.
src/test/java/org/broadinstitute/consent/http/service/SigningOfficialDashboardServiceTest.java Adds unit tests for summary aggregation behavior and failure modes.
src/test/java/org/broadinstitute/consent/http/resources/SigningOfficialDashboardResourceTest.java Adds resource-level tests for HTTP status mappings.
src/test/java/org/broadinstitute/consent/http/db/SigningOfficialDashboardDAOTest.java Adds DAO-level tests validating key counting semantics.
src/test/java/org/broadinstitute/consent/http/service/DacServiceTest.java Updates tests to reflect removal of Broad DAA tagging.
src/test/java/org/broadinstitute/consent/http/service/DaaServiceTest.java Updates tests to reflect removal of Broad DAA tagging.

JOIN users u ON u.user_id = c.create_user_id
WHERE dar.submission_date IS NOT NULL
AND u.institution_id = :institutionId
ORDER BY dar.collection_id, dar.submission_date DESC
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.

2 participants