+3
-5
backend/src/backend/api/tracks/tags.py
+3
-5
backend/src/backend/api/tracks/tags.py
···
14
from backend.schemas import TrackResponse
15
from backend.utilities.aggregations import (
16
get_comment_counts,
17
-
get_copyright_info,
18
get_like_counts,
19
get_track_tags,
20
)
···
82
)
83
liked_track_ids = set(liked_result.scalars().all())
84
85
-
# batch fetch like, comment counts, copyright info, and tags
0
86
track_ids = [track.id for track in tracks]
87
-
like_counts, comment_counts, copyright_info, track_tags_map = await asyncio.gather(
88
get_like_counts(db, track_ids),
89
get_comment_counts(db, track_ids),
90
-
get_copyright_info(db, track_ids),
91
get_track_tags(db, track_ids),
92
)
93
···
99
liked_track_ids=liked_track_ids,
100
like_counts=like_counts,
101
comment_counts=comment_counts,
102
-
copyright_info=copyright_info,
103
track_tags=track_tags_map,
104
)
105
for track in tracks
···
14
from backend.schemas import TrackResponse
15
from backend.utilities.aggregations import (
16
get_comment_counts,
0
17
get_like_counts,
18
get_track_tags,
19
)
···
81
)
82
liked_track_ids = set(liked_result.scalars().all())
83
84
+
# batch fetch like counts, comment counts, and tags
85
+
# note: copyright_info excluded - only needed in artist portal (/tracks/me)
86
track_ids = [track.id for track in tracks]
87
+
like_counts, comment_counts, track_tags_map = await asyncio.gather(
88
get_like_counts(db, track_ids),
89
get_comment_counts(db, track_ids),
0
90
get_track_tags(db, track_ids),
91
)
92
···
98
liked_track_ids=liked_track_ids,
99
like_counts=like_counts,
100
comment_counts=comment_counts,
0
101
track_tags=track_tags_map,
102
)
103
for track in tracks