Skip to content

Commit 250a236

Browse files
committed
feat: add track availability to search results
Include media.rights.sub.available in the search query's track nodes so consumers can determine availability without a separate get_track call.
1 parent de61140 commit 250a236

4 files changed

Lines changed: 35 additions & 0 deletions

File tree

deezer_python_gql/generated/__init__.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -615,6 +615,9 @@
615615
SearchSearchResultsTracksEdgesNodeContributors,
616616
SearchSearchResultsTracksEdgesNodeContributorsEdges,
617617
SearchSearchResultsTracksEdgesNodeContributorsEdgesNodeArtist,
618+
SearchSearchResultsTracksEdgesNodeMedia,
619+
SearchSearchResultsTracksEdgesNodeMediaRights,
620+
SearchSearchResultsTracksEdgesNodeMediaRightsSub,
618621
SearchSearchResultsTracksPageInfo,
619622
)
620623
from .search_flows import (
@@ -1133,6 +1136,9 @@
11331136
"SearchSearchResultsTracksEdgesNodeContributors",
11341137
"SearchSearchResultsTracksEdgesNodeContributorsEdges",
11351138
"SearchSearchResultsTracksEdgesNodeContributorsEdgesNodeArtist",
1139+
"SearchSearchResultsTracksEdgesNodeMedia",
1140+
"SearchSearchResultsTracksEdgesNodeMediaRights",
1141+
"SearchSearchResultsTracksEdgesNodeMediaRightsSub",
11361142
"SearchSearchResultsTracksPageInfo",
11371143
"TrackContributorRoles",
11381144
"TrackFields",

deezer_python_gql/generated/client.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4017,6 +4017,13 @@ async def search(
40174017
}
40184018
}
40194019
}
4020+
media {
4021+
rights {
4022+
sub {
4023+
available
4024+
}
4025+
}
4026+
}
40204027
}
40214028
}
40224029
pageInfo {

deezer_python_gql/generated/search.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ class SearchSearchResultsTracksEdgesNode(BaseModel):
4545
is_favorite: Optional[bool] = Field(alias="isFavorite")
4646
album: Optional["SearchSearchResultsTracksEdgesNodeAlbum"]
4747
contributors: "SearchSearchResultsTracksEdgesNodeContributors"
48+
media: Optional["SearchSearchResultsTracksEdgesNodeMedia"]
4849

4950

5051
class SearchSearchResultsTracksEdgesNodeAlbum(BaseModel):
@@ -75,6 +76,18 @@ class SearchSearchResultsTracksEdgesNodeContributorsEdgesNodeArtist(BaseModel):
7576
name: str
7677

7778

79+
class SearchSearchResultsTracksEdgesNodeMedia(BaseModel):
80+
rights: "SearchSearchResultsTracksEdgesNodeMediaRights"
81+
82+
83+
class SearchSearchResultsTracksEdgesNodeMediaRights(BaseModel):
84+
sub: Optional["SearchSearchResultsTracksEdgesNodeMediaRightsSub"]
85+
86+
87+
class SearchSearchResultsTracksEdgesNodeMediaRightsSub(BaseModel):
88+
available: bool
89+
90+
7891
class SearchSearchResultsTracksPageInfo(PageInfoFields):
7992
pass
8093

@@ -244,6 +257,8 @@ class SearchSearchResultsPodcastsPageInfo(PageInfoFields):
244257
SearchSearchResultsTracksEdgesNodeAlbum.model_rebuild()
245258
SearchSearchResultsTracksEdgesNodeContributors.model_rebuild()
246259
SearchSearchResultsTracksEdgesNodeContributorsEdges.model_rebuild()
260+
SearchSearchResultsTracksEdgesNodeMedia.model_rebuild()
261+
SearchSearchResultsTracksEdgesNodeMediaRights.model_rebuild()
247262
SearchSearchResultsAlbums.model_rebuild()
248263
SearchSearchResultsAlbumsEdges.model_rebuild()
249264
SearchSearchResultsAlbumsEdgesNode.model_rebuild()

queries/search.graphql

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,13 @@ query Search(
3737
}
3838
}
3939
}
40+
media {
41+
rights {
42+
sub {
43+
available
44+
}
45+
}
46+
}
4047
}
4148
}
4249
pageInfo {

0 commit comments

Comments
 (0)