Skip to content

Commit 8f6b3f0

Browse files
committed
Add score set search parameter to optionally skip including experiment scoreset URNs and count from response
Including the scoreset URNs and count for all score sets for the parent experiment is computationally expensive and not necessary in all contexts (e.g. the main score set search page). Adding an optional boolean parameter to score set search paramaters to indicate whether or not to include this in the response, which defaults to true to maintain existing behavior.
1 parent e427084 commit 8f6b3f0

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

src/mavedb/routers/score_sets.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -145,14 +145,15 @@ def search_score_sets(
145145
"""
146146
score_sets = _search_score_sets(db, None, search)
147147
updated_score_sets = fetch_superseding_score_set_in_search_result(score_sets, user_data, search)
148+
148149
enriched_score_sets = []
149-
if updated_score_sets:
150+
if search.include_experiment_score_set_urns_and_count and updated_score_sets:
150151
for u in updated_score_sets:
151152
enriched_experiment = enrich_experiment_with_num_score_sets(u.experiment, user_data)
152153
response_item = score_set.ScoreSet.model_validate(u).copy(update={"experiment": enriched_experiment})
153154
enriched_score_sets.append(response_item)
154155

155-
return enriched_score_sets
156+
return enriched_score_sets if search.include_experiment_score_set_urns_and_count else updated_score_sets
156157

157158

158159
@router.get("/score-sets/mapped-genes", status_code=200, response_model=dict[str, list[str]])

src/mavedb/view_models/search.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ class ScoreSetsSearch(BaseModel):
2626
publication_identifiers: Optional[list[str]] = None
2727
keywords: Optional[list[str]] = None
2828
text: Optional[str] = None
29+
include_experiment_score_set_urns_and_count: Optional[bool] = True
2930

3031

3132
class TextSearch(BaseModel):

0 commit comments

Comments
 (0)