Skip to content

Commit

Permalink
Fixed a bug where datasets within a public collection were not being …
Browse files Browse the repository at this point in the history
…filtered for excluded fields in get_entity_by_id
  • Loading branch information
DerekFurstPitt committed Sep 25, 2024
1 parent 86a0905 commit 56fa8ec
Showing 1 changed file with 7 additions and 0 deletions.
7 changes: 7 additions & 0 deletions src/app.py
Original file line number Diff line number Diff line change
Expand Up @@ -715,6 +715,13 @@ def get_entity_by_id(id):
# Response with the dict
if public_entity and not user_in_hubmap_read_group(request):
final_result = schema_manager.exclude_properties_from_response(fields_to_exclude, final_result)
if normalized_entity_type == 'Collection':
for i, dataset in enumerate(final_result.get('datasets')):
if _get_entity_visibility(normalized_entity_type='Dataset', entity_dict=dataset) != DataVisibilityEnum.PUBLIC or user_in_hubmap_read_group(request):
# If the dataset is non-public, or if the user has read-group access, there is no need to remove fields, continue to the next dataset
continue
dataset_excluded_fields = schema_manager.get_fields_to_exclude('Dataset')
final_result.get('datasets')[i] = schema_manager.exclude_properties_from_response(dataset_excluded_fields, dataset)
return jsonify(final_result)

"""
Expand Down

0 comments on commit 56fa8ec

Please sign in to comment.