[DT-4061] Add study registration asset read endpoints - #3056
Open
otchet-broad wants to merge 1 commit into
Open
Conversation
otchet-broad
marked this pull request as ready for review
September 8, 2026 20:56
otchet-broad
requested review from
fboulnois and
rushtong
and removed request for
a team
September 8, 2026 20:56
Adds GET /api/dataset/study/{studyId}/assets/{type} for publications,
models, workspaces, presentations, clinicalTrials, intellectualProperty,
and fundingResources, so the study page can read one asset list at a time
instead of pulling the whole registration payload and picking keys out of
the client-managed assets object.
Each endpoint returns the promoted study_property for that type, falling
back to the legacy assets object for a study whose registration has not
been rewritten since the promotion, and returns an empty list for an
absent or malformed value rather than a server error.
Reads go through DatasetService#verifyStudyVisibilityAccess, so assets on
a study that is not publicly visible are only readable by its creator, its
custodians, and admins — the same rule the study itself uses.
Purely additive: new read-only endpoints, no migration, and no change to
any existing response.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
otchet-broad
force-pushed
the
otchet-dt-4061-study-asset-endpoints
branch
from
September 8, 2026 21:58
4903c06 to
176fac0
Compare
otchet-broad
force-pushed
the
otchet-dt-4061-study-asset-fields
branch
from
September 8, 2026 21:58
d169eed to
cd0fa78
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Base: branch 6 · 14 files, +524 · Migration: no · UI impact: none
Adds
GET /api/dataset/study/{studyId}/assets/{type}forpublications,models,workspaces,presentations,clinicalTrials,intellectualProperty, andfundingResources, so the study page can readone asset list at a time instead of pulling the whole registration payload
and picking keys out of the client-managed
assetsobject.Each endpoint returns the promoted
study_propertyfor that type, fallingback to the legacy
assetsobject for a study whose registration has notbeen rewritten since the promotion, and returns an empty list for an absent
or malformed value rather than a server error.
Reads go through
verifyStudyVisibilityAccess, so assets on a study that isnot publicly visible are readable only by its creator, its custodians, and
admins.
Purely additive: new read-only endpoints, no migration, no change to any
existing response.
Depends on: branch 6 (the
StudyAssetshelper) and branch 1(
StudyAssetServicecallsverifyStudyVisibilityAccess).Where this sits in the DT-4061 stack
otchet-dt-3990-study-ratings-pi-detailswas too large to review meaningfully(95 files, +8168), so it was split into eight PRs. This PR targets
otchet-dt-4061-study-asset-fields,not
develop, so its diff shows only its own work.otchet-dt-4061-study-visibility-authzdevelopotchet-dt-4061-study-patch-ownershipotchet-dt-4061-study-visibility-authzotchet-dt-4061-study-pi-detailsotchet-dt-4061-study-visibility-authzotchet-dt-4061-study-commentsotchet-dt-4061-study-pi-detailsotchet-dt-4061-study-dar-metricsotchet-dt-4061-study-commentsotchet-dt-4061-study-recommendationsotchet-dt-4061-study-dar-metricsotchet-dt-4061-study-asset-fieldsotchet-dt-4061-study-recommendationsotchet-dt-4061-study-asset-endpoints← this PRotchet-dt-4061-study-asset-fieldsBranch 1b is a sibling rather than a link in the chain: nothing depends on it,
so it can be held or dropped without blocking the others. Land the numbered
chain in order — merging out of order, or squash-merging, will require rebasing
the descendants.
The split is verified lossless: branch 7 plus 1b reproduces the original branch
exactly, apart from five
scripts/verify-study-*.shhelper scripts that weredropped at the author's request.
./mvnw test-compilepasses on each branchindependently.
🤖 Generated with Claude Code