Skip to content

Commit 32eb1e6

Browse files
committed
style: reformat GraphQL queries, JSON fixtures, and docs
1 parent 6aa1107 commit 32eb1e6

6 files changed

Lines changed: 176 additions & 128 deletions

File tree

CLAUDE.md

Lines changed: 31 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -255,18 +255,18 @@ pipe.deezer.com/api → schema.json → schema.graphql → deezer_py
255255

256256
`queries/fragments.graphql` defines reusable field sets shared across multiple queries:
257257

258-
| Fragment | Used by | Key fields |
259-
| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
260-
| `TrackFields` | search, get_track, get_album, get_artist, get_playlist, flow, flow_batch, flow_config_tracks, smart_tracklist, charts, user_charts, fav_tracks, similar_tracks, artist_mix, track_mix, music_together | id, title, ISRC, diskInfo, duration, isExplicit, isFavorite, popularity, album, contributors |
261-
| `ArtistFields` | search, get_artist, charts, user_charts, recommendations, fav_artists, recently_played | id, name, picture, fansCount, isFavorite, bio (summary + full) |
262-
| `AlbumFields` | search, get_album, get_artist, charts, user_charts, recommendations, fav_albums, recently_played | id, displayTitle, type, cover, contributors, releaseDate, isExplicit, isFavorite, fansCount, label, copyright |
263-
| `PlaylistFields` | search, get_playlist, charts, recommendations, fav_playlists, recently_played | id, title, picture, estimatedTracksCount, fansCount, isFavorite, description, owner |
264-
| `LivestreamFields` | search, get_livestream | id, name, language, description, isOnStream, country, cover, media (url + codec) |
265-
| `PodcastFields` | search, get_podcast, fav_podcasts | id, displayTitle, cover, description, isExplicit, isFavorite, type |
266-
| `PodcastEpisodeFields` | search, get_podcast, get_podcast_episode, podcast_episode_bookmarks | id, title, description, duration, cover, publicationDate, media (url + codec) |
267-
| `AudiobookFields` | get_audiobook | id, displayTitle, cover, description, duration, releaseDate, fansCount, isExplicit, isFavorite, chaptersCount, discsCount, producerLine, publisher, contributors |
268-
| `AudiobookChapterFields`| get_audiobook, get_audiobook_chapter | id, isrc, displayTitle, diskInfo, duration, isExplicit, isFavorite |
269-
| `PageInfoFields` | All paginated queries | hasNextPage, endCursor |
258+
| Fragment | Used by | Key fields |
259+
| ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
260+
| `TrackFields` | search, get_track, get_album, get_artist, get_playlist, flow, flow_batch, flow_config_tracks, smart_tracklist, charts, user_charts, fav_tracks, similar_tracks, artist_mix, track_mix, music_together | id, title, ISRC, diskInfo, duration, isExplicit, isFavorite, popularity, album, contributors |
261+
| `ArtistFields` | search, get_artist, charts, user_charts, recommendations, fav_artists, recently_played | id, name, picture, fansCount, isFavorite, bio (summary + full) |
262+
| `AlbumFields` | search, get_album, get_artist, charts, user_charts, recommendations, fav_albums, recently_played | id, displayTitle, type, cover, contributors, releaseDate, isExplicit, isFavorite, fansCount, label, copyright |
263+
| `PlaylistFields` | search, get_playlist, charts, recommendations, fav_playlists, recently_played | id, title, picture, estimatedTracksCount, fansCount, isFavorite, description, owner |
264+
| `LivestreamFields` | search, get_livestream | id, name, language, description, isOnStream, country, cover, media (url + codec) |
265+
| `PodcastFields` | search, get_podcast, fav_podcasts | id, displayTitle, cover, description, isExplicit, isFavorite, type |
266+
| `PodcastEpisodeFields` | search, get_podcast, get_podcast_episode, podcast_episode_bookmarks | id, title, description, duration, cover, publicationDate, media (url + codec) |
267+
| `AudiobookFields` | get_audiobook | id, displayTitle, cover, description, duration, releaseDate, fansCount, isExplicit, isFavorite, chaptersCount, discsCount, producerLine, publisher, contributors |
268+
| `AudiobookChapterFields` | get_audiobook, get_audiobook_chapter | id, isrc, displayTitle, diskInfo, duration, isExplicit, isFavorite |
269+
| `PageInfoFields` | All paginated queries | hasNextPage, endCursor |
270270

271271
**All entity queries use shared fragments.** Every query that returns tracks, albums, artists, or playlists uses the corresponding fragment via `...TrackFields` etc. Some queries (e.g., `get_track.graphql`, `get_album.graphql`) extend the fragment with additional fields like `media`, `lyrics`, `url`, or `tracksCount`.
272272

@@ -415,7 +415,7 @@ Tests are organized into four layers:
415415
| **Client setup** | 3 | Import, instantiation with ARL, presence of all generated methods |
416416
| **Auth flow** (mocked) | 5 | JWT acquisition, token reuse, refresh on expiry, cookie domain, text/plain parsing |
417417
| **Error handling** | 5 | HTTP errors, invalid JSON, missing data key, GraphQL errors, success path |
418-
| **Model smoke tests** | 61 | One per query/mutation — fixture parses correctly with key fields accessible |
418+
| **Model smoke tests** | 61 | One per query/mutation — fixture parses correctly with key fields accessible |
419419

420420
### Auth Flow Tests
421421

@@ -505,24 +505,24 @@ git-cliff uses these prefixes to categorize changelog entries automatically (con
505505

506506
### Commonly Used Types
507507

508-
| Type | Key Fields |
509-
| ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
510-
| `Track` | `id`, `title`, `ISRC`, `diskInfo`, `duration`, `album`, `contributors`, `lyrics`, `media` (token + sizes), `isFavorite`, `recommendedTracks`, `isAtmos`, `isExplicit` |
511-
| `Album` | `id`, `displayTitle`, `type`, `cover`, `label`, `contributors`, `releaseDate`, `tracks`, `isFavorite`, `fallback` |
512-
| `Artist` | `id`, `name`, `bio`, `picture`, `albums(types, roles)`, `topTracks`, `relatedArtist`, `isFavorite` |
513-
| `Playlist` | `id`, `title`, `description`, `picture`, `tracks(first, after, order)`, `rawTracks`, `owner`, `isFavorite` |
514-
| `Livestream` | `id`, `name`, `language`, `description`, `cover`, `country`, `media: [ExternalMedia!]!` |
515-
| `Podcast` | `id`, `displayTitle`, `description`, `cover`, `type`, `isExplicit`, `isFavorite`, `episodes(first, after)`, `hasRights` |
516-
| `PodcastEpisode` | `id`, `title`, `description`, `duration`, `cover`, `publicationDate`, `media` (url + codec), `url`, `podcast` |
517-
| `Audiobook` | `id`, `displayTitle`, `cover`, `description`, `duration`, `releaseDate`, `chaptersCount`, `discsCount`, `publisher`, `contributors`, `chapters(first, after)` |
518-
| `AudiobookChapter` | `id`, `isrc`, `displayTitle`, `diskInfo`, `duration`, `gain`, `media` (token + sizes + rights), `audiobook` |
519-
| `Lyrics` | `synchronizedLines`, `synchronizedWordByWordLines`, `text`, `copyright`, `writers` |
520-
| `Flow` | `id`, `title`, `cover`, `tracks: [FlowTrack!]!` (each call returns fresh batch) |
521-
| `FlowConfig` | `id`, `title`, `visuals`, `tracks: [FlowConfigTrack!]!` |
522-
| `TrackMedia` | `id`, `version`, `token`, `estimatedSizes`, `rights: MediaRights!` |
523-
| `Search` | `results.{tracks, artists, albums, playlists, podcasts, podcastEpisodes, livestreams}`, `topResult`, `mixedResults` |
524-
| `PrivateUser` | `id`, `playlists`, `userFavorites`, `favorites` (deprecated, used for audiobooks), `flow`, `flowConfigs`, `recommendations`, `madeForMe`, `recentlyPlayed`, `charts`, `musicTogetherGroups`, `podcastEpisodeBookmarks` |
525-
| `MusicTogetherGroup` | `id`, `name`, `isReady`, `isFamily`, `members`, `suggestedTracklist(mood)`, `curatedTracklist`, `estimatedMembersCount` |
508+
| Type | Key Fields |
509+
| -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
510+
| `Track` | `id`, `title`, `ISRC`, `diskInfo`, `duration`, `album`, `contributors`, `lyrics`, `media` (token + sizes), `isFavorite`, `recommendedTracks`, `isAtmos`, `isExplicit` |
511+
| `Album` | `id`, `displayTitle`, `type`, `cover`, `label`, `contributors`, `releaseDate`, `tracks`, `isFavorite`, `fallback` |
512+
| `Artist` | `id`, `name`, `bio`, `picture`, `albums(types, roles)`, `topTracks`, `relatedArtist`, `isFavorite` |
513+
| `Playlist` | `id`, `title`, `description`, `picture`, `tracks(first, after, order)`, `rawTracks`, `owner`, `isFavorite` |
514+
| `Livestream` | `id`, `name`, `language`, `description`, `cover`, `country`, `media: [ExternalMedia!]!` |
515+
| `Podcast` | `id`, `displayTitle`, `description`, `cover`, `type`, `isExplicit`, `isFavorite`, `episodes(first, after)`, `hasRights` |
516+
| `PodcastEpisode` | `id`, `title`, `description`, `duration`, `cover`, `publicationDate`, `media` (url + codec), `url`, `podcast` |
517+
| `Audiobook` | `id`, `displayTitle`, `cover`, `description`, `duration`, `releaseDate`, `chaptersCount`, `discsCount`, `publisher`, `contributors`, `chapters(first, after)` |
518+
| `AudiobookChapter` | `id`, `isrc`, `displayTitle`, `diskInfo`, `duration`, `gain`, `media` (token + sizes + rights), `audiobook` |
519+
| `Lyrics` | `synchronizedLines`, `synchronizedWordByWordLines`, `text`, `copyright`, `writers` |
520+
| `Flow` | `id`, `title`, `cover`, `tracks: [FlowTrack!]!` (each call returns fresh batch) |
521+
| `FlowConfig` | `id`, `title`, `visuals`, `tracks: [FlowConfigTrack!]!` |
522+
| `TrackMedia` | `id`, `version`, `token`, `estimatedSizes`, `rights: MediaRights!` |
523+
| `Search` | `results.{tracks, artists, albums, playlists, podcasts, podcastEpisodes, livestreams}`, `topResult`, `mixedResults` |
524+
| `PrivateUser` | `id`, `playlists`, `userFavorites`, `favorites` (deprecated, used for audiobooks), `flow`, `flowConfigs`, `recommendations`, `madeForMe`, `recentlyPlayed`, `charts`, `musicTogetherGroups`, `podcastEpisodeBookmarks` |
525+
| `MusicTogetherGroup` | `id`, `name`, `isReady`, `isFamily`, `members`, `suggestedTracklist(mood)`, `curatedTracklist`, `estimatedMembersCount` |
526526

527527
### Key Mutations
528528

0 commit comments

Comments
 (0)