spotted 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.ignore +2 -0
- data/CHANGELOG.md +25 -0
- data/README.md +236 -0
- data/SECURITY.md +27 -0
- data/lib/spotted/client.rb +169 -0
- data/lib/spotted/errors.rb +228 -0
- data/lib/spotted/file_part.rb +58 -0
- data/lib/spotted/internal/cursor_url_page.rb +86 -0
- data/lib/spotted/internal/oauth2.rb +87 -0
- data/lib/spotted/internal/transport/base_client.rb +567 -0
- data/lib/spotted/internal/transport/pooled_net_requester.rb +204 -0
- data/lib/spotted/internal/type/array_of.rb +168 -0
- data/lib/spotted/internal/type/base_model.rb +529 -0
- data/lib/spotted/internal/type/base_page.rb +55 -0
- data/lib/spotted/internal/type/boolean.rb +77 -0
- data/lib/spotted/internal/type/converter.rb +327 -0
- data/lib/spotted/internal/type/enum.rb +131 -0
- data/lib/spotted/internal/type/file_input.rb +111 -0
- data/lib/spotted/internal/type/hash_of.rb +188 -0
- data/lib/spotted/internal/type/request_parameters.rb +42 -0
- data/lib/spotted/internal/type/union.rb +237 -0
- data/lib/spotted/internal/type/unknown.rb +81 -0
- data/lib/spotted/internal/util.rb +915 -0
- data/lib/spotted/internal.rb +20 -0
- data/lib/spotted/models/album_list_params.rb +43 -0
- data/lib/spotted/models/album_list_response.rb +297 -0
- data/lib/spotted/models/album_list_tracks_params.rb +50 -0
- data/lib/spotted/models/album_restriction_object.rb +39 -0
- data/lib/spotted/models/album_retrieve_params.rb +33 -0
- data/lib/spotted/models/album_retrieve_response.rb +287 -0
- data/lib/spotted/models/artist_list_albums_params.rb +61 -0
- data/lib/spotted/models/artist_list_albums_response.rb +195 -0
- data/lib/spotted/models/artist_list_params.rb +27 -0
- data/lib/spotted/models/artist_list_related_artists_params.rb +14 -0
- data/lib/spotted/models/artist_list_related_artists_response.rb +16 -0
- data/lib/spotted/models/artist_list_response.rb +16 -0
- data/lib/spotted/models/artist_list_top_tracks_params.rb +33 -0
- data/lib/spotted/models/artist_list_top_tracks_response.rb +16 -0
- data/lib/spotted/models/artist_object.rb +108 -0
- data/lib/spotted/models/artist_retrieve_params.rb +14 -0
- data/lib/spotted/models/audio_analysis_retrieve_params.rb +14 -0
- data/lib/spotted/models/audio_analysis_retrieve_response.rb +628 -0
- data/lib/spotted/models/audio_feature_list_params.rb +27 -0
- data/lib/spotted/models/audio_feature_list_response.rb +214 -0
- data/lib/spotted/models/audio_feature_retrieve_params.rb +14 -0
- data/lib/spotted/models/audio_feature_retrieve_response.rb +203 -0
- data/lib/spotted/models/audiobook_list_chapters_params.rb +50 -0
- data/lib/spotted/models/audiobook_list_params.rb +43 -0
- data/lib/spotted/models/audiobook_list_response.rb +266 -0
- data/lib/spotted/models/audiobook_retrieve_params.rb +33 -0
- data/lib/spotted/models/audiobook_retrieve_response.rb +255 -0
- data/lib/spotted/models/author_object.rb +19 -0
- data/lib/spotted/models/browse/category_get_playlists_params.rb +36 -0
- data/lib/spotted/models/browse/category_get_playlists_response.rb +29 -0
- data/lib/spotted/models/browse/category_list_params.rb +51 -0
- data/lib/spotted/models/browse/category_list_response.rb +121 -0
- data/lib/spotted/models/browse/category_retrieve_params.rb +34 -0
- data/lib/spotted/models/browse/category_retrieve_response.rb +47 -0
- data/lib/spotted/models/browse_get_featured_playlists_params.rb +49 -0
- data/lib/spotted/models/browse_get_featured_playlists_response.rb +27 -0
- data/lib/spotted/models/browse_get_new_releases_params.rb +34 -0
- data/lib/spotted/models/browse_get_new_releases_response.rb +245 -0
- data/lib/spotted/models/chapter_list_params.rb +43 -0
- data/lib/spotted/models/chapter_list_response.rb +408 -0
- data/lib/spotted/models/chapter_restriction_object.rb +29 -0
- data/lib/spotted/models/chapter_retrieve_params.rb +33 -0
- data/lib/spotted/models/chapter_retrieve_response.rb +398 -0
- data/lib/spotted/models/copyright_object.rb +28 -0
- data/lib/spotted/models/episode_list_params.rb +43 -0
- data/lib/spotted/models/episode_list_response.rb +16 -0
- data/lib/spotted/models/episode_object.rb +382 -0
- data/lib/spotted/models/episode_restriction_object.rb +28 -0
- data/lib/spotted/models/episode_retrieve_params.rb +33 -0
- data/lib/spotted/models/external_id_object.rb +35 -0
- data/lib/spotted/models/external_url_object.rb +20 -0
- data/lib/spotted/models/followers_object.rb +28 -0
- data/lib/spotted/models/image_object.rb +35 -0
- data/lib/spotted/models/linked_track_object.rb +53 -0
- data/lib/spotted/models/market_list_params.rb +14 -0
- data/lib/spotted/models/market_list_response.rb +16 -0
- data/lib/spotted/models/me/album_check_params.rb +29 -0
- data/lib/spotted/models/me/album_check_response.rb +10 -0
- data/lib/spotted/models/me/album_list_params.rb +52 -0
- data/lib/spotted/models/me/album_list_response.rb +318 -0
- data/lib/spotted/models/me/album_remove_params.rb +31 -0
- data/lib/spotted/models/me/album_save_params.rb +31 -0
- data/lib/spotted/models/me/audiobook_check_params.rb +29 -0
- data/lib/spotted/models/me/audiobook_check_response.rb +10 -0
- data/lib/spotted/models/me/audiobook_list_params.rb +36 -0
- data/lib/spotted/models/me/audiobook_list_response.rb +287 -0
- data/lib/spotted/models/me/audiobook_remove_params.rb +29 -0
- data/lib/spotted/models/me/audiobook_save_params.rb +29 -0
- data/lib/spotted/models/me/context_object.rb +46 -0
- data/lib/spotted/models/me/device_object.rb +82 -0
- data/lib/spotted/models/me/episode_check_params.rb +29 -0
- data/lib/spotted/models/me/episode_check_response.rb +10 -0
- data/lib/spotted/models/me/episode_list_params.rb +52 -0
- data/lib/spotted/models/me/episode_list_response.rb +32 -0
- data/lib/spotted/models/me/episode_remove_params.rb +31 -0
- data/lib/spotted/models/me/episode_save_params.rb +31 -0
- data/lib/spotted/models/me/following_check_params.rb +49 -0
- data/lib/spotted/models/me/following_check_response.rb +10 -0
- data/lib/spotted/models/me/following_follow_params.rb +50 -0
- data/lib/spotted/models/me/following_list_params.rb +53 -0
- data/lib/spotted/models/me/following_list_response.rb +94 -0
- data/lib/spotted/models/me/following_unfollow_params.rb +50 -0
- data/lib/spotted/models/me/player/queue_add_params.rb +38 -0
- data/lib/spotted/models/me/player/queue_get_params.rb +18 -0
- data/lib/spotted/models/me/player/queue_get_response.rb +59 -0
- data/lib/spotted/models/me/player_get_currently_playing_params.rb +48 -0
- data/lib/spotted/models/me/player_get_currently_playing_response.rb +175 -0
- data/lib/spotted/models/me/player_get_devices_params.rb +16 -0
- data/lib/spotted/models/me/player_get_devices_response.rb +18 -0
- data/lib/spotted/models/me/player_get_state_params.rb +48 -0
- data/lib/spotted/models/me/player_get_state_response.rb +200 -0
- data/lib/spotted/models/me/player_list_recently_played_params.rb +45 -0
- data/lib/spotted/models/me/player_list_recently_played_response.rb +35 -0
- data/lib/spotted/models/me/player_pause_playback_params.rb +28 -0
- data/lib/spotted/models/me/player_seek_to_position_params.rb +38 -0
- data/lib/spotted/models/me/player_set_repeat_mode_params.rb +38 -0
- data/lib/spotted/models/me/player_set_volume_params.rb +36 -0
- data/lib/spotted/models/me/player_skip_next_params.rb +28 -0
- data/lib/spotted/models/me/player_skip_previous_params.rb +28 -0
- data/lib/spotted/models/me/player_start_playback_params.rb +68 -0
- data/lib/spotted/models/me/player_toggle_shuffle_params.rb +37 -0
- data/lib/spotted/models/me/player_transfer_params.rb +40 -0
- data/lib/spotted/models/me/playlist_list_params.rb +36 -0
- data/lib/spotted/models/me/show_check_params.rb +29 -0
- data/lib/spotted/models/me/show_check_response.rb +10 -0
- data/lib/spotted/models/me/show_list_params.rb +36 -0
- data/lib/spotted/models/me/show_list_response.rb +197 -0
- data/lib/spotted/models/me/show_remove_params.rb +47 -0
- data/lib/spotted/models/me/show_save_params.rb +31 -0
- data/lib/spotted/models/me/top_list_top_artists_params.rb +47 -0
- data/lib/spotted/models/me/top_list_top_tracks_params.rb +47 -0
- data/lib/spotted/models/me/track_check_params.rb +29 -0
- data/lib/spotted/models/me/track_check_response.rb +10 -0
- data/lib/spotted/models/me/track_list_params.rb +52 -0
- data/lib/spotted/models/me/track_list_response.rb +34 -0
- data/lib/spotted/models/me/track_remove_params.rb +31 -0
- data/lib/spotted/models/me/track_save_params.rb +74 -0
- data/lib/spotted/models/me_retrieve_params.rb +14 -0
- data/lib/spotted/models/me_retrieve_response.rb +157 -0
- data/lib/spotted/models/narrator_object.rb +19 -0
- data/lib/spotted/models/paging_playlist_object.rb +66 -0
- data/lib/spotted/models/playlist_retrieve_params.rb +63 -0
- data/lib/spotted/models/playlist_retrieve_response.rb +217 -0
- data/lib/spotted/models/playlist_track_object.rb +64 -0
- data/lib/spotted/models/playlist_tracks_ref_object.rb +28 -0
- data/lib/spotted/models/playlist_update_params.rb +56 -0
- data/lib/spotted/models/playlist_user_object.rb +65 -0
- data/lib/spotted/models/playlists/follower_check_params.rb +29 -0
- data/lib/spotted/models/playlists/follower_check_response.rb +10 -0
- data/lib/spotted/models/playlists/follower_follow_params.rb +30 -0
- data/lib/spotted/models/playlists/follower_unfollow_params.rb +16 -0
- data/lib/spotted/models/playlists/image_list_params.rb +16 -0
- data/lib/spotted/models/playlists/image_list_response.rb +10 -0
- data/lib/spotted/models/playlists/image_update_params.rb +24 -0
- data/lib/spotted/models/playlists/track_add_params.rb +45 -0
- data/lib/spotted/models/playlists/track_add_response.rb +18 -0
- data/lib/spotted/models/playlists/track_list_params.rb +82 -0
- data/lib/spotted/models/playlists/track_remove_params.rb +52 -0
- data/lib/spotted/models/playlists/track_remove_response.rb +18 -0
- data/lib/spotted/models/playlists/track_update_params.rb +67 -0
- data/lib/spotted/models/playlists/track_update_response.rb +18 -0
- data/lib/spotted/models/recommendation_get_params.rb +549 -0
- data/lib/spotted/models/recommendation_get_response.rb +86 -0
- data/lib/spotted/models/recommendation_list_available_genre_seeds_params.rb +14 -0
- data/lib/spotted/models/recommendation_list_available_genre_seeds_response.rb +16 -0
- data/lib/spotted/models/resume_point_object.rb +27 -0
- data/lib/spotted/models/search_retrieve_params.rb +120 -0
- data/lib/spotted/models/search_retrieve_response.rb +930 -0
- data/lib/spotted/models/show_list_episodes_params.rb +50 -0
- data/lib/spotted/models/show_list_params.rb +43 -0
- data/lib/spotted/models/show_list_response.rb +176 -0
- data/lib/spotted/models/show_retrieve_params.rb +33 -0
- data/lib/spotted/models/show_retrieve_response.rb +238 -0
- data/lib/spotted/models/simplified_artist_object.rb +73 -0
- data/lib/spotted/models/simplified_chapter_object.rb +209 -0
- data/lib/spotted/models/simplified_episode_object.rb +211 -0
- data/lib/spotted/models/simplified_playlist_object.rb +147 -0
- data/lib/spotted/models/simplified_track_object.rb +161 -0
- data/lib/spotted/models/time_interval_object.rb +32 -0
- data/lib/spotted/models/track_list_params.rb +43 -0
- data/lib/spotted/models/track_list_response.rb +16 -0
- data/lib/spotted/models/track_object.rb +375 -0
- data/lib/spotted/models/track_restriction_object.rb +28 -0
- data/lib/spotted/models/track_retrieve_params.rb +33 -0
- data/lib/spotted/models/user_retrieve_profile_params.rb +14 -0
- data/lib/spotted/models/user_retrieve_profile_response.rb +90 -0
- data/lib/spotted/models/users/playlist_create_params.rb +65 -0
- data/lib/spotted/models/users/playlist_create_response.rb +219 -0
- data/lib/spotted/models/users/playlist_list_params.rb +36 -0
- data/lib/spotted/models.rb +168 -0
- data/lib/spotted/request_options.rb +77 -0
- data/lib/spotted/resources/albums.rb +102 -0
- data/lib/spotted/resources/artists.rb +150 -0
- data/lib/spotted/resources/audio_analysis.rb +41 -0
- data/lib/spotted/resources/audio_features.rb +67 -0
- data/lib/spotted/resources/audiobooks.rb +105 -0
- data/lib/spotted/resources/browse/categories.rb +105 -0
- data/lib/spotted/resources/browse.rb +78 -0
- data/lib/spotted/resources/chapters.rb +72 -0
- data/lib/spotted/resources/episodes.rb +69 -0
- data/lib/spotted/resources/markets.rb +32 -0
- data/lib/spotted/resources/me/albums.rb +127 -0
- data/lib/spotted/resources/me/audiobooks.rb +121 -0
- data/lib/spotted/resources/me/episodes.rb +138 -0
- data/lib/spotted/resources/me/following.rb +133 -0
- data/lib/spotted/resources/me/player/queue.rb +65 -0
- data/lib/spotted/resources/me/player.rb +382 -0
- data/lib/spotted/resources/me/playlists.rb +44 -0
- data/lib/spotted/resources/me/shows.rb +127 -0
- data/lib/spotted/resources/me/top.rb +76 -0
- data/lib/spotted/resources/me/tracks.rb +121 -0
- data/lib/spotted/resources/me.rb +69 -0
- data/lib/spotted/resources/playlists/followers.rb +93 -0
- data/lib/spotted/resources/playlists/images.rb +67 -0
- data/lib/spotted/resources/playlists/tracks.rb +157 -0
- data/lib/spotted/resources/playlists.rb +91 -0
- data/lib/spotted/resources/recommendations.rb +160 -0
- data/lib/spotted/resources/search.rb +51 -0
- data/lib/spotted/resources/shows.rb +102 -0
- data/lib/spotted/resources/tracks.rb +69 -0
- data/lib/spotted/resources/users/playlists.rb +82 -0
- data/lib/spotted/resources/users.rb +41 -0
- data/lib/spotted/version.rb +5 -0
- data/lib/spotted.rb +257 -0
- data/manifest.yaml +15 -0
- data/rbi/spotted/client.rbi +104 -0
- data/rbi/spotted/errors.rbi +205 -0
- data/rbi/spotted/file_part.rbi +37 -0
- data/rbi/spotted/internal/cursor_url_page.rbi +22 -0
- data/rbi/spotted/internal/oauth2.rbi +34 -0
- data/rbi/spotted/internal/transport/base_client.rbi +292 -0
- data/rbi/spotted/internal/transport/pooled_net_requester.rbi +79 -0
- data/rbi/spotted/internal/type/array_of.rbi +104 -0
- data/rbi/spotted/internal/type/base_model.rbi +302 -0
- data/rbi/spotted/internal/type/base_page.rbi +42 -0
- data/rbi/spotted/internal/type/boolean.rbi +58 -0
- data/rbi/spotted/internal/type/converter.rbi +216 -0
- data/rbi/spotted/internal/type/enum.rbi +82 -0
- data/rbi/spotted/internal/type/file_input.rbi +59 -0
- data/rbi/spotted/internal/type/hash_of.rbi +104 -0
- data/rbi/spotted/internal/type/request_parameters.rbi +29 -0
- data/rbi/spotted/internal/type/union.rbi +128 -0
- data/rbi/spotted/internal/type/unknown.rbi +58 -0
- data/rbi/spotted/internal/util.rbi +484 -0
- data/rbi/spotted/internal.rbi +16 -0
- data/rbi/spotted/models/album_list_params.rbi +74 -0
- data/rbi/spotted/models/album_list_response.rbi +479 -0
- data/rbi/spotted/models/album_list_tracks_params.rbi +86 -0
- data/rbi/spotted/models/album_restriction_object.rbi +82 -0
- data/rbi/spotted/models/album_retrieve_params.rbi +59 -0
- data/rbi/spotted/models/album_retrieve_response.rbi +439 -0
- data/rbi/spotted/models/artist_list_albums_params.rbi +103 -0
- data/rbi/spotted/models/artist_list_albums_response.rbi +338 -0
- data/rbi/spotted/models/artist_list_params.rbi +44 -0
- data/rbi/spotted/models/artist_list_related_artists_params.rbi +30 -0
- data/rbi/spotted/models/artist_list_related_artists_response.rbi +30 -0
- data/rbi/spotted/models/artist_list_response.rbi +27 -0
- data/rbi/spotted/models/artist_list_top_tracks_params.rbi +59 -0
- data/rbi/spotted/models/artist_list_top_tracks_response.rbi +30 -0
- data/rbi/spotted/models/artist_object.rbi +166 -0
- data/rbi/spotted/models/artist_retrieve_params.rbi +27 -0
- data/rbi/spotted/models/audio_analysis_retrieve_params.rbi +30 -0
- data/rbi/spotted/models/audio_analysis_retrieve_response.rbi +1080 -0
- data/rbi/spotted/models/audio_feature_list_params.rbi +44 -0
- data/rbi/spotted/models/audio_feature_list_response.rbi +382 -0
- data/rbi/spotted/models/audio_feature_retrieve_params.rbi +27 -0
- data/rbi/spotted/models/audio_feature_retrieve_response.rbi +338 -0
- data/rbi/spotted/models/audiobook_list_chapters_params.rbi +89 -0
- data/rbi/spotted/models/audiobook_list_params.rbi +74 -0
- data/rbi/spotted/models/audiobook_list_response.rbi +377 -0
- data/rbi/spotted/models/audiobook_retrieve_params.rbi +59 -0
- data/rbi/spotted/models/audiobook_retrieve_response.rbi +332 -0
- data/rbi/spotted/models/author_object.rbi +30 -0
- data/rbi/spotted/models/browse/category_get_playlists_params.rbi +64 -0
- data/rbi/spotted/models/browse/category_get_playlists_response.rbi +51 -0
- data/rbi/spotted/models/browse/category_list_params.rbi +89 -0
- data/rbi/spotted/models/browse/category_list_response.rbi +204 -0
- data/rbi/spotted/models/browse/category_retrieve_params.rbi +62 -0
- data/rbi/spotted/models/browse/category_retrieve_response.rbi +68 -0
- data/rbi/spotted/models/browse_get_featured_playlists_params.rbi +87 -0
- data/rbi/spotted/models/browse_get_featured_playlists_response.rbi +49 -0
- data/rbi/spotted/models/browse_get_new_releases_params.rbi +59 -0
- data/rbi/spotted/models/browse_get_new_releases_response.rbi +423 -0
- data/rbi/spotted/models/chapter_list_params.rbi +74 -0
- data/rbi/spotted/models/chapter_list_response.rbi +588 -0
- data/rbi/spotted/models/chapter_restriction_object.rbi +50 -0
- data/rbi/spotted/models/chapter_retrieve_params.rbi +59 -0
- data/rbi/spotted/models/chapter_retrieve_response.rbi +551 -0
- data/rbi/spotted/models/copyright_object.rbi +41 -0
- data/rbi/spotted/models/episode_list_params.rbi +74 -0
- data/rbi/spotted/models/episode_list_response.rbi +30 -0
- data/rbi/spotted/models/episode_object.rbi +485 -0
- data/rbi/spotted/models/episode_restriction_object.rbi +48 -0
- data/rbi/spotted/models/episode_retrieve_params.rbi +59 -0
- data/rbi/spotted/models/external_id_object.rbi +50 -0
- data/rbi/spotted/models/external_url_object.rbi +32 -0
- data/rbi/spotted/models/followers_object.rbi +42 -0
- data/rbi/spotted/models/image_object.rbi +47 -0
- data/rbi/spotted/models/linked_track_object.rbi +88 -0
- data/rbi/spotted/models/market_list_params.rbi +27 -0
- data/rbi/spotted/models/market_list_response.rbi +26 -0
- data/rbi/spotted/models/me/album_check_params.rbi +46 -0
- data/rbi/spotted/models/me/album_check_response.rbi +13 -0
- data/rbi/spotted/models/me/album_list_params.rbi +88 -0
- data/rbi/spotted/models/me/album_list_response.rbi +529 -0
- data/rbi/spotted/models/me/album_remove_params.rbi +56 -0
- data/rbi/spotted/models/me/album_save_params.rbi +56 -0
- data/rbi/spotted/models/me/audiobook_check_params.rbi +46 -0
- data/rbi/spotted/models/me/audiobook_check_response.rbi +13 -0
- data/rbi/spotted/models/me/audiobook_list_params.rbi +61 -0
- data/rbi/spotted/models/me/audiobook_list_response.rbi +414 -0
- data/rbi/spotted/models/me/audiobook_remove_params.rbi +49 -0
- data/rbi/spotted/models/me/audiobook_save_params.rbi +46 -0
- data/rbi/spotted/models/me/context_object.rbi +77 -0
- data/rbi/spotted/models/me/device_object.rbi +123 -0
- data/rbi/spotted/models/me/episode_check_params.rbi +46 -0
- data/rbi/spotted/models/me/episode_check_response.rbi +13 -0
- data/rbi/spotted/models/me/episode_list_params.rbi +88 -0
- data/rbi/spotted/models/me/episode_list_response.rbi +55 -0
- data/rbi/spotted/models/me/episode_remove_params.rbi +56 -0
- data/rbi/spotted/models/me/episode_save_params.rbi +53 -0
- data/rbi/spotted/models/me/following_check_params.rbi +86 -0
- data/rbi/spotted/models/me/following_check_response.rbi +13 -0
- data/rbi/spotted/models/me/following_follow_params.rbi +91 -0
- data/rbi/spotted/models/me/following_list_params.rbi +89 -0
- data/rbi/spotted/models/me/following_list_response.rbi +187 -0
- data/rbi/spotted/models/me/following_unfollow_params.rbi +97 -0
- data/rbi/spotted/models/me/player/queue_add_params.rbi +63 -0
- data/rbi/spotted/models/me/player/queue_get_params.rbi +34 -0
- data/rbi/spotted/models/me/player/queue_get_response.rbi +143 -0
- data/rbi/spotted/models/me/player_get_currently_playing_params.rbi +88 -0
- data/rbi/spotted/models/me/player_get_currently_playing_response.rbi +304 -0
- data/rbi/spotted/models/me/player_get_devices_params.rbi +32 -0
- data/rbi/spotted/models/me/player_get_devices_response.rbi +34 -0
- data/rbi/spotted/models/me/player_get_state_params.rbi +85 -0
- data/rbi/spotted/models/me/player_get_state_response.rbi +335 -0
- data/rbi/spotted/models/me/player_list_recently_played_params.rbi +77 -0
- data/rbi/spotted/models/me/player_list_recently_played_response.rbi +67 -0
- data/rbi/spotted/models/me/player_pause_playback_params.rbi +50 -0
- data/rbi/spotted/models/me/player_seek_to_position_params.rbi +65 -0
- data/rbi/spotted/models/me/player_set_repeat_mode_params.rbi +65 -0
- data/rbi/spotted/models/me/player_set_volume_params.rbi +61 -0
- data/rbi/spotted/models/me/player_skip_next_params.rbi +47 -0
- data/rbi/spotted/models/me/player_skip_previous_params.rbi +50 -0
- data/rbi/spotted/models/me/player_start_playback_params.rbi +113 -0
- data/rbi/spotted/models/me/player_toggle_shuffle_params.rbi +63 -0
- data/rbi/spotted/models/me/player_transfer_params.rbi +66 -0
- data/rbi/spotted/models/me/playlist_list_params.rbi +61 -0
- data/rbi/spotted/models/me/show_check_params.rbi +46 -0
- data/rbi/spotted/models/me/show_check_response.rbi +13 -0
- data/rbi/spotted/models/me/show_list_params.rbi +61 -0
- data/rbi/spotted/models/me/show_list_response.rbi +277 -0
- data/rbi/spotted/models/me/show_remove_params.rbi +83 -0
- data/rbi/spotted/models/me/show_save_params.rbi +56 -0
- data/rbi/spotted/models/me/top_list_top_artists_params.rbi +81 -0
- data/rbi/spotted/models/me/top_list_top_tracks_params.rbi +81 -0
- data/rbi/spotted/models/me/track_check_params.rbi +46 -0
- data/rbi/spotted/models/me/track_check_response.rbi +13 -0
- data/rbi/spotted/models/me/track_list_params.rbi +88 -0
- data/rbi/spotted/models/me/track_list_response.rbi +58 -0
- data/rbi/spotted/models/me/track_remove_params.rbi +56 -0
- data/rbi/spotted/models/me/track_save_params.rbi +130 -0
- data/rbi/spotted/models/me_retrieve_params.rbi +27 -0
- data/rbi/spotted/models/me_retrieve_response.rbi +257 -0
- data/rbi/spotted/models/narrator_object.rbi +30 -0
- data/rbi/spotted/models/paging_playlist_object.rbi +83 -0
- data/rbi/spotted/models/playlist_retrieve_params.rbi +112 -0
- data/rbi/spotted/models/playlist_retrieve_response.rbi +327 -0
- data/rbi/spotted/models/playlist_track_object.rbi +101 -0
- data/rbi/spotted/models/playlist_tracks_ref_object.rbi +41 -0
- data/rbi/spotted/models/playlist_update_params.rbi +93 -0
- data/rbi/spotted/models/playlist_user_object.rbi +109 -0
- data/rbi/spotted/models/playlists/follower_check_params.rbi +52 -0
- data/rbi/spotted/models/playlists/follower_check_response.rbi +13 -0
- data/rbi/spotted/models/playlists/follower_follow_params.rbi +54 -0
- data/rbi/spotted/models/playlists/follower_unfollow_params.rbi +32 -0
- data/rbi/spotted/models/playlists/image_list_params.rbi +32 -0
- data/rbi/spotted/models/playlists/image_list_response.rbi +13 -0
- data/rbi/spotted/models/playlists/image_update_params.rbi +45 -0
- data/rbi/spotted/models/playlists/track_add_params.rbi +82 -0
- data/rbi/spotted/models/playlists/track_add_response.rbi +31 -0
- data/rbi/spotted/models/playlists/track_list_params.rbi +141 -0
- data/rbi/spotted/models/playlists/track_remove_params.rbi +100 -0
- data/rbi/spotted/models/playlists/track_remove_response.rbi +31 -0
- data/rbi/spotted/models/playlists/track_update_params.rbi +111 -0
- data/rbi/spotted/models/playlists/track_update_response.rbi +31 -0
- data/rbi/spotted/models/recommendation_get_params.rbi +864 -0
- data/rbi/spotted/models/recommendation_get_response.rbi +152 -0
- data/rbi/spotted/models/recommendation_list_available_genre_seeds_params.rbi +30 -0
- data/rbi/spotted/models/recommendation_list_available_genre_seeds_response.rbi +26 -0
- data/rbi/spotted/models/resume_point_object.rbi +47 -0
- data/rbi/spotted/models/search_retrieve_params.rbi +218 -0
- data/rbi/spotted/models/search_retrieve_response.rbi +1381 -0
- data/rbi/spotted/models/show_list_episodes_params.rbi +86 -0
- data/rbi/spotted/models/show_list_params.rbi +74 -0
- data/rbi/spotted/models/show_list_response.rbi +238 -0
- data/rbi/spotted/models/show_retrieve_params.rbi +59 -0
- data/rbi/spotted/models/show_retrieve_response.rbi +305 -0
- data/rbi/spotted/models/simplified_artist_object.rbi +121 -0
- data/rbi/spotted/models/simplified_chapter_object.rbi +287 -0
- data/rbi/spotted/models/simplified_episode_object.rbi +289 -0
- data/rbi/spotted/models/simplified_playlist_object.rbi +230 -0
- data/rbi/spotted/models/simplified_track_object.rbi +239 -0
- data/rbi/spotted/models/time_interval_object.rbi +54 -0
- data/rbi/spotted/models/track_list_params.rbi +74 -0
- data/rbi/spotted/models/track_list_response.rbi +27 -0
- data/rbi/spotted/models/track_object.rbi +556 -0
- data/rbi/spotted/models/track_restriction_object.rbi +48 -0
- data/rbi/spotted/models/track_retrieve_params.rbi +59 -0
- data/rbi/spotted/models/user_retrieve_profile_params.rbi +27 -0
- data/rbi/spotted/models/user_retrieve_profile_response.rbi +159 -0
- data/rbi/spotted/models/users/playlist_create_params.rbi +107 -0
- data/rbi/spotted/models/users/playlist_create_response.rbi +336 -0
- data/rbi/spotted/models/users/playlist_list_params.rbi +64 -0
- data/rbi/spotted/models.rbi +132 -0
- data/rbi/spotted/request_options.rbi +57 -0
- data/rbi/spotted/resources/albums.rbi +100 -0
- data/rbi/spotted/resources/artists.rbi +129 -0
- data/rbi/spotted/resources/audio_analysis.rbi +29 -0
- data/rbi/spotted/resources/audio_features.rbi +44 -0
- data/rbi/spotted/resources/audiobooks.rbi +105 -0
- data/rbi/spotted/resources/browse/categories.rbi +91 -0
- data/rbi/spotted/resources/browse.rbi +63 -0
- data/rbi/spotted/resources/chapters.rbi +69 -0
- data/rbi/spotted/resources/episodes.rbi +66 -0
- data/rbi/spotted/resources/markets.rbi +21 -0
- data/rbi/spotted/resources/me/albums.rbi +101 -0
- data/rbi/spotted/resources/me/audiobooks.rbi +86 -0
- data/rbi/spotted/resources/me/episodes.rbi +112 -0
- data/rbi/spotted/resources/me/following.rbi +99 -0
- data/rbi/spotted/resources/me/player/queue.rbi +45 -0
- data/rbi/spotted/resources/me/player.rbi +315 -0
- data/rbi/spotted/resources/me/playlists.rbi +34 -0
- data/rbi/spotted/resources/me/shows.rbi +101 -0
- data/rbi/spotted/resources/me/top.rbi +62 -0
- data/rbi/spotted/resources/me/tracks.rbi +112 -0
- data/rbi/spotted/resources/me.rbi +49 -0
- data/rbi/spotted/resources/playlists/followers.rbi +70 -0
- data/rbi/spotted/resources/playlists/images.rbi +47 -0
- data/rbi/spotted/resources/playlists/tracks.rbi +177 -0
- data/rbi/spotted/resources/playlists.rbi +102 -0
- data/rbi/spotted/resources/recommendations.rbi +336 -0
- data/rbi/spotted/resources/search.rbi +71 -0
- data/rbi/spotted/resources/shows.rbi +100 -0
- data/rbi/spotted/resources/tracks.rbi +66 -0
- data/rbi/spotted/resources/users/playlists.rbi +78 -0
- data/rbi/spotted/resources/users.rbi +29 -0
- data/rbi/spotted/version.rbi +5 -0
- data/sig/spotted/client.rbs +62 -0
- data/sig/spotted/errors.rbs +117 -0
- data/sig/spotted/file_part.rbs +21 -0
- data/sig/spotted/internal/cursor_url_page.rbs +13 -0
- data/sig/spotted/internal/oauth2.rbs +19 -0
- data/sig/spotted/internal/transport/base_client.rbs +131 -0
- data/sig/spotted/internal/transport/pooled_net_requester.rbs +45 -0
- data/sig/spotted/internal/type/array_of.rbs +48 -0
- data/sig/spotted/internal/type/base_model.rbs +102 -0
- data/sig/spotted/internal/type/base_page.rbs +24 -0
- data/sig/spotted/internal/type/boolean.rbs +26 -0
- data/sig/spotted/internal/type/converter.rbs +79 -0
- data/sig/spotted/internal/type/enum.rbs +32 -0
- data/sig/spotted/internal/type/file_input.rbs +25 -0
- data/sig/spotted/internal/type/hash_of.rbs +48 -0
- data/sig/spotted/internal/type/request_parameters.rbs +17 -0
- data/sig/spotted/internal/type/union.rbs +52 -0
- data/sig/spotted/internal/type/unknown.rbs +26 -0
- data/sig/spotted/internal/util.rbs +185 -0
- data/sig/spotted/internal.rbs +9 -0
- data/sig/spotted/models/album_list_params.rbs +30 -0
- data/sig/spotted/models/album_list_response.rbs +237 -0
- data/sig/spotted/models/album_list_tracks_params.rbs +38 -0
- data/sig/spotted/models/album_restriction_object.rbs +34 -0
- data/sig/spotted/models/album_retrieve_params.rbs +25 -0
- data/sig/spotted/models/album_retrieve_response.rbs +222 -0
- data/sig/spotted/models/artist_list_albums_params.rbs +49 -0
- data/sig/spotted/models/artist_list_albums_response.rbs +141 -0
- data/sig/spotted/models/artist_list_params.rbs +20 -0
- data/sig/spotted/models/artist_list_related_artists_params.rbs +15 -0
- data/sig/spotted/models/artist_list_related_artists_response.rbs +14 -0
- data/sig/spotted/models/artist_list_response.rbs +13 -0
- data/sig/spotted/models/artist_list_top_tracks_params.rbs +25 -0
- data/sig/spotted/models/artist_list_top_tracks_response.rbs +14 -0
- data/sig/spotted/models/artist_object.rbs +101 -0
- data/sig/spotted/models/artist_retrieve_params.rbs +15 -0
- data/sig/spotted/models/audio_analysis_retrieve_params.rbs +15 -0
- data/sig/spotted/models/audio_analysis_retrieve_response.rbs +518 -0
- data/sig/spotted/models/audio_feature_list_params.rbs +20 -0
- data/sig/spotted/models/audio_feature_list_response.rbs +170 -0
- data/sig/spotted/models/audio_feature_retrieve_params.rbs +15 -0
- data/sig/spotted/models/audio_feature_retrieve_response.rbs +153 -0
- data/sig/spotted/models/audiobook_list_chapters_params.rbs +38 -0
- data/sig/spotted/models/audiobook_list_params.rbs +30 -0
- data/sig/spotted/models/audiobook_list_response.rbs +189 -0
- data/sig/spotted/models/audiobook_retrieve_params.rbs +25 -0
- data/sig/spotted/models/audiobook_retrieve_response.rbs +174 -0
- data/sig/spotted/models/author_object.rbs +15 -0
- data/sig/spotted/models/browse/category_get_playlists_params.rbs +34 -0
- data/sig/spotted/models/browse/category_get_playlists_response.rbs +30 -0
- data/sig/spotted/models/browse/category_list_params.rbs +40 -0
- data/sig/spotted/models/browse/category_list_response.rbs +101 -0
- data/sig/spotted/models/browse/category_retrieve_params.rbs +27 -0
- data/sig/spotted/models/browse/category_retrieve_response.rbs +37 -0
- data/sig/spotted/models/browse_get_featured_playlists_params.rbs +38 -0
- data/sig/spotted/models/browse_get_featured_playlists_response.rbs +28 -0
- data/sig/spotted/models/browse_get_new_releases_params.rbs +32 -0
- data/sig/spotted/models/browse_get_new_releases_response.rbs +185 -0
- data/sig/spotted/models/chapter_list_params.rbs +30 -0
- data/sig/spotted/models/chapter_list_response.rbs +286 -0
- data/sig/spotted/models/chapter_restriction_object.rbs +15 -0
- data/sig/spotted/models/chapter_retrieve_params.rbs +25 -0
- data/sig/spotted/models/chapter_retrieve_response.rbs +271 -0
- data/sig/spotted/models/copyright_object.rbs +19 -0
- data/sig/spotted/models/episode_list_params.rbs +30 -0
- data/sig/spotted/models/episode_list_response.rbs +13 -0
- data/sig/spotted/models/episode_object.rbs +259 -0
- data/sig/spotted/models/episode_restriction_object.rbs +15 -0
- data/sig/spotted/models/episode_retrieve_params.rbs +25 -0
- data/sig/spotted/models/external_id_object.rbs +23 -0
- data/sig/spotted/models/external_url_object.rbs +15 -0
- data/sig/spotted/models/followers_object.rbs +17 -0
- data/sig/spotted/models/image_object.rbs +17 -0
- data/sig/spotted/models/linked_track_object.rbs +52 -0
- data/sig/spotted/models/market_list_params.rbs +14 -0
- data/sig/spotted/models/market_list_response.rbs +15 -0
- data/sig/spotted/models/me/album_check_params.rbs +25 -0
- data/sig/spotted/models/me/album_check_response.rbs +9 -0
- data/sig/spotted/models/me/album_list_params.rbs +40 -0
- data/sig/spotted/models/me/album_list_response.rbs +249 -0
- data/sig/spotted/models/me/album_remove_params.rbs +28 -0
- data/sig/spotted/models/me/album_save_params.rbs +28 -0
- data/sig/spotted/models/me/audiobook_check_params.rbs +25 -0
- data/sig/spotted/models/me/audiobook_check_response.rbs +9 -0
- data/sig/spotted/models/me/audiobook_list_params.rbs +34 -0
- data/sig/spotted/models/me/audiobook_list_response.rbs +204 -0
- data/sig/spotted/models/me/audiobook_remove_params.rbs +25 -0
- data/sig/spotted/models/me/audiobook_save_params.rbs +25 -0
- data/sig/spotted/models/me/context_object.rbs +47 -0
- data/sig/spotted/models/me/device_object.rbs +69 -0
- data/sig/spotted/models/me/episode_check_params.rbs +25 -0
- data/sig/spotted/models/me/episode_check_response.rbs +9 -0
- data/sig/spotted/models/me/episode_list_params.rbs +40 -0
- data/sig/spotted/models/me/episode_list_response.rbs +25 -0
- data/sig/spotted/models/me/episode_remove_params.rbs +28 -0
- data/sig/spotted/models/me/episode_save_params.rbs +26 -0
- data/sig/spotted/models/me/following_check_params.rbs +41 -0
- data/sig/spotted/models/me/following_check_response.rbs +9 -0
- data/sig/spotted/models/me/following_follow_params.rbs +44 -0
- data/sig/spotted/models/me/following_list_params.rbs +52 -0
- data/sig/spotted/models/me/following_list_response.rbs +94 -0
- data/sig/spotted/models/me/following_unfollow_params.rbs +46 -0
- data/sig/spotted/models/me/player/queue_add_params.rbs +34 -0
- data/sig/spotted/models/me/player/queue_get_params.rbs +19 -0
- data/sig/spotted/models/me/player/queue_get_response.rbs +53 -0
- data/sig/spotted/models/me/player_get_currently_playing_params.rbs +34 -0
- data/sig/spotted/models/me/player_get_currently_playing_response.rbs +160 -0
- data/sig/spotted/models/me/player_get_devices_params.rbs +17 -0
- data/sig/spotted/models/me/player_get_devices_response.rbs +16 -0
- data/sig/spotted/models/me/player_get_state_params.rbs +34 -0
- data/sig/spotted/models/me/player_get_state_response.rbs +181 -0
- data/sig/spotted/models/me/player_list_recently_played_params.rbs +40 -0
- data/sig/spotted/models/me/player_list_recently_played_response.rbs +38 -0
- data/sig/spotted/models/me/player_pause_playback_params.rbs +27 -0
- data/sig/spotted/models/me/player_seek_to_position_params.rbs +32 -0
- data/sig/spotted/models/me/player_set_repeat_mode_params.rbs +32 -0
- data/sig/spotted/models/me/player_set_volume_params.rbs +32 -0
- data/sig/spotted/models/me/player_skip_next_params.rbs +27 -0
- data/sig/spotted/models/me/player_skip_previous_params.rbs +27 -0
- data/sig/spotted/models/me/player_start_playback_params.rbs +58 -0
- data/sig/spotted/models/me/player_toggle_shuffle_params.rbs +32 -0
- data/sig/spotted/models/me/player_transfer_params.rbs +32 -0
- data/sig/spotted/models/me/playlist_list_params.rbs +34 -0
- data/sig/spotted/models/me/show_check_params.rbs +25 -0
- data/sig/spotted/models/me/show_check_response.rbs +9 -0
- data/sig/spotted/models/me/show_list_params.rbs +34 -0
- data/sig/spotted/models/me/show_list_response.rbs +137 -0
- data/sig/spotted/models/me/show_remove_params.rbs +34 -0
- data/sig/spotted/models/me/show_save_params.rbs +28 -0
- data/sig/spotted/models/me/top_list_top_artists_params.rbs +40 -0
- data/sig/spotted/models/me/top_list_top_tracks_params.rbs +40 -0
- data/sig/spotted/models/me/track_check_params.rbs +25 -0
- data/sig/spotted/models/me/track_check_response.rbs +9 -0
- data/sig/spotted/models/me/track_list_params.rbs +40 -0
- data/sig/spotted/models/me/track_list_response.rbs +21 -0
- data/sig/spotted/models/me/track_remove_params.rbs +28 -0
- data/sig/spotted/models/me/track_save_params.rbs +49 -0
- data/sig/spotted/models/me_retrieve_params.rbs +14 -0
- data/sig/spotted/models/me_retrieve_response.rbs +121 -0
- data/sig/spotted/models/narrator_object.rbs +15 -0
- data/sig/spotted/models/paging_playlist_object.rbs +50 -0
- data/sig/spotted/models/playlist_retrieve_params.rbs +38 -0
- data/sig/spotted/models/playlist_retrieve_response.rbs +178 -0
- data/sig/spotted/models/playlist_track_object.rbs +55 -0
- data/sig/spotted/models/playlist_tracks_ref_object.rbs +19 -0
- data/sig/spotted/models/playlist_update_params.rbs +44 -0
- data/sig/spotted/models/playlist_user_object.rbs +64 -0
- data/sig/spotted/models/playlists/follower_check_params.rbs +27 -0
- data/sig/spotted/models/playlists/follower_check_response.rbs +9 -0
- data/sig/spotted/models/playlists/follower_follow_params.rbs +27 -0
- data/sig/spotted/models/playlists/follower_unfollow_params.rbs +17 -0
- data/sig/spotted/models/playlists/image_list_params.rbs +17 -0
- data/sig/spotted/models/playlists/image_list_response.rbs +9 -0
- data/sig/spotted/models/playlists/image_update_params.rbs +25 -0
- data/sig/spotted/models/playlists/track_add_params.rbs +34 -0
- data/sig/spotted/models/playlists/track_add_response.rbs +17 -0
- data/sig/spotted/models/playlists/track_list_params.rbs +58 -0
- data/sig/spotted/models/playlists/track_remove_params.rbs +47 -0
- data/sig/spotted/models/playlists/track_remove_response.rbs +17 -0
- data/sig/spotted/models/playlists/track_update_params.rbs +58 -0
- data/sig/spotted/models/playlists/track_update_response.rbs +17 -0
- data/sig/spotted/models/recommendation_get_params.rbs +350 -0
- data/sig/spotted/models/recommendation_get_response.rbs +79 -0
- data/sig/spotted/models/recommendation_list_available_genre_seeds_params.rbs +15 -0
- data/sig/spotted/models/recommendation_list_available_genre_seeds_response.rbs +14 -0
- data/sig/spotted/models/resume_point_object.rbs +23 -0
- data/sig/spotted/models/search_retrieve_params.rbs +88 -0
- data/sig/spotted/models/search_retrieve_response.rbs +706 -0
- data/sig/spotted/models/show_list_episodes_params.rbs +38 -0
- data/sig/spotted/models/show_list_params.rbs +30 -0
- data/sig/spotted/models/show_list_response.rbs +125 -0
- data/sig/spotted/models/show_retrieve_params.rbs +25 -0
- data/sig/spotted/models/show_retrieve_response.rbs +162 -0
- data/sig/spotted/models/simplified_artist_object.rbs +71 -0
- data/sig/spotted/models/simplified_chapter_object.rbs +147 -0
- data/sig/spotted/models/simplified_episode_object.rbs +147 -0
- data/sig/spotted/models/simplified_playlist_object.rbs +126 -0
- data/sig/spotted/models/simplified_track_object.rbs +140 -0
- data/sig/spotted/models/time_interval_object.rbs +28 -0
- data/sig/spotted/models/track_list_params.rbs +30 -0
- data/sig/spotted/models/track_list_response.rbs +13 -0
- data/sig/spotted/models/track_object.rbs +295 -0
- data/sig/spotted/models/track_restriction_object.rbs +15 -0
- data/sig/spotted/models/track_retrieve_params.rbs +25 -0
- data/sig/spotted/models/user_retrieve_profile_params.rbs +15 -0
- data/sig/spotted/models/user_retrieve_profile_response.rbs +85 -0
- data/sig/spotted/models/users/playlist_create_params.rbs +44 -0
- data/sig/spotted/models/users/playlist_create_response.rbs +180 -0
- data/sig/spotted/models/users/playlist_list_params.rbs +34 -0
- data/sig/spotted/models.rbs +127 -0
- data/sig/spotted/request_options.rbs +34 -0
- data/sig/spotted/resources/albums.rbs +27 -0
- data/sig/spotted/resources/artists.rbs +37 -0
- data/sig/spotted/resources/audio_analysis.rbs +12 -0
- data/sig/spotted/resources/audio_features.rbs +17 -0
- data/sig/spotted/resources/audiobooks.rbs +27 -0
- data/sig/spotted/resources/browse/categories.rbs +29 -0
- data/sig/spotted/resources/browse.rbs +22 -0
- data/sig/spotted/resources/chapters.rbs +19 -0
- data/sig/spotted/resources/episodes.rbs +19 -0
- data/sig/spotted/resources/markets.rbs +11 -0
- data/sig/spotted/resources/me/albums.rbs +31 -0
- data/sig/spotted/resources/me/audiobooks.rbs +27 -0
- data/sig/spotted/resources/me/episodes.rbs +31 -0
- data/sig/spotted/resources/me/following.rbs +34 -0
- data/sig/spotted/resources/me/player/queue.rbs +21 -0
- data/sig/spotted/resources/me/player.rbs +88 -0
- data/sig/spotted/resources/me/playlists.rbs +15 -0
- data/sig/spotted/resources/me/shows.rbs +31 -0
- data/sig/spotted/resources/me/top.rbs +23 -0
- data/sig/spotted/resources/me/tracks.rbs +32 -0
- data/sig/spotted/resources/me.rbs +29 -0
- data/sig/spotted/resources/playlists/followers.rbs +26 -0
- data/sig/spotted/resources/playlists/images.rbs +20 -0
- data/sig/spotted/resources/playlists/tracks.rbs +43 -0
- data/sig/spotted/resources/playlists.rbs +30 -0
- data/sig/spotted/resources/recommendations.rbs +62 -0
- data/sig/spotted/resources/search.rbs +17 -0
- data/sig/spotted/resources/shows.rbs +27 -0
- data/sig/spotted/resources/tracks.rbs +19 -0
- data/sig/spotted/resources/users/playlists.rbs +25 -0
- data/sig/spotted/resources/users.rbs +14 -0
- data/sig/spotted/version.rbs +3 -0
- metadata +734 -0
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Spotted
|
|
4
|
+
module Models
|
|
5
|
+
class PagingPlaylistObject < Spotted::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(Spotted::PagingPlaylistObject, Spotted::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# A link to the Web API endpoint returning the full result of the request
|
|
12
|
+
sig { returns(String) }
|
|
13
|
+
attr_accessor :href
|
|
14
|
+
|
|
15
|
+
sig { returns(T::Array[Spotted::SimplifiedPlaylistObject]) }
|
|
16
|
+
attr_accessor :items
|
|
17
|
+
|
|
18
|
+
# The maximum number of items in the response (as set in the query or by default).
|
|
19
|
+
sig { returns(Integer) }
|
|
20
|
+
attr_accessor :limit
|
|
21
|
+
|
|
22
|
+
# URL to the next page of items. ( `null` if none)
|
|
23
|
+
sig { returns(T.nilable(String)) }
|
|
24
|
+
attr_accessor :next_
|
|
25
|
+
|
|
26
|
+
# The offset of the items returned (as set in the query or by default)
|
|
27
|
+
sig { returns(Integer) }
|
|
28
|
+
attr_accessor :offset
|
|
29
|
+
|
|
30
|
+
# URL to the previous page of items. ( `null` if none)
|
|
31
|
+
sig { returns(T.nilable(String)) }
|
|
32
|
+
attr_accessor :previous
|
|
33
|
+
|
|
34
|
+
# The total number of items available to return.
|
|
35
|
+
sig { returns(Integer) }
|
|
36
|
+
attr_accessor :total
|
|
37
|
+
|
|
38
|
+
sig do
|
|
39
|
+
params(
|
|
40
|
+
href: String,
|
|
41
|
+
items: T::Array[Spotted::SimplifiedPlaylistObject::OrHash],
|
|
42
|
+
limit: Integer,
|
|
43
|
+
next_: T.nilable(String),
|
|
44
|
+
offset: Integer,
|
|
45
|
+
previous: T.nilable(String),
|
|
46
|
+
total: Integer
|
|
47
|
+
).returns(T.attached_class)
|
|
48
|
+
end
|
|
49
|
+
def self.new(
|
|
50
|
+
# A link to the Web API endpoint returning the full result of the request
|
|
51
|
+
href:,
|
|
52
|
+
items:,
|
|
53
|
+
# The maximum number of items in the response (as set in the query or by default).
|
|
54
|
+
limit:,
|
|
55
|
+
# URL to the next page of items. ( `null` if none)
|
|
56
|
+
next_:,
|
|
57
|
+
# The offset of the items returned (as set in the query or by default)
|
|
58
|
+
offset:,
|
|
59
|
+
# URL to the previous page of items. ( `null` if none)
|
|
60
|
+
previous:,
|
|
61
|
+
# The total number of items available to return.
|
|
62
|
+
total:
|
|
63
|
+
)
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
sig do
|
|
67
|
+
override.returns(
|
|
68
|
+
{
|
|
69
|
+
href: String,
|
|
70
|
+
items: T::Array[Spotted::SimplifiedPlaylistObject],
|
|
71
|
+
limit: Integer,
|
|
72
|
+
next_: T.nilable(String),
|
|
73
|
+
offset: Integer,
|
|
74
|
+
previous: T.nilable(String),
|
|
75
|
+
total: Integer
|
|
76
|
+
}
|
|
77
|
+
)
|
|
78
|
+
end
|
|
79
|
+
def to_hash
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
end
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Spotted
|
|
4
|
+
module Models
|
|
5
|
+
class PlaylistRetrieveParams < Spotted::Internal::Type::BaseModel
|
|
6
|
+
extend Spotted::Internal::Type::RequestParameters::Converter
|
|
7
|
+
include Spotted::Internal::Type::RequestParameters
|
|
8
|
+
|
|
9
|
+
OrHash =
|
|
10
|
+
T.type_alias do
|
|
11
|
+
T.any(Spotted::PlaylistRetrieveParams, Spotted::Internal::AnyHash)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# A comma-separated list of item types that your client supports besides the
|
|
15
|
+
# default `track` type. Valid types are: `track` and `episode`.<br/> _**Note**:
|
|
16
|
+
# This parameter was introduced to allow existing clients to maintain their
|
|
17
|
+
# current behaviour and might be deprecated in the future._<br/> In addition to
|
|
18
|
+
# providing this parameter, make sure that your client properly handles cases of
|
|
19
|
+
# new types in the future by checking against the `type` field of each object.
|
|
20
|
+
sig { returns(T.nilable(String)) }
|
|
21
|
+
attr_reader :additional_types
|
|
22
|
+
|
|
23
|
+
sig { params(additional_types: String).void }
|
|
24
|
+
attr_writer :additional_types
|
|
25
|
+
|
|
26
|
+
# Filters for the query: a comma-separated list of the fields to return. If
|
|
27
|
+
# omitted, all fields are returned. For example, to get just the playlist''s
|
|
28
|
+
# description and URI: `fields=description,uri`. A dot separator can be used to
|
|
29
|
+
# specify non-reoccurring fields, while parentheses can be used to specify
|
|
30
|
+
# reoccurring fields within objects. For example, to get just the added date and
|
|
31
|
+
# user ID of the adder: `fields=tracks.items(added_at,added_by.id)`. Use multiple
|
|
32
|
+
# parentheses to drill down into nested objects, for example:
|
|
33
|
+
# `fields=tracks.items(track(name,href,album(name,href)))`. Fields can be excluded
|
|
34
|
+
# by prefixing them with an exclamation mark, for example:
|
|
35
|
+
# `fields=tracks.items(track(name,href,album(!name,href)))`
|
|
36
|
+
sig { returns(T.nilable(String)) }
|
|
37
|
+
attr_reader :fields
|
|
38
|
+
|
|
39
|
+
sig { params(fields: String).void }
|
|
40
|
+
attr_writer :fields
|
|
41
|
+
|
|
42
|
+
# An
|
|
43
|
+
# [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
|
|
44
|
+
# If a country code is specified, only content that is available in that market
|
|
45
|
+
# will be returned.<br/> If a valid user access token is specified in the request
|
|
46
|
+
# header, the country associated with the user account will take priority over
|
|
47
|
+
# this parameter.<br/> _**Note**: If neither market or user country are provided,
|
|
48
|
+
# the content is considered unavailable for the client._<br/> Users can view the
|
|
49
|
+
# country that is associated with their account in the
|
|
50
|
+
# [account settings](https://www.spotify.com/account/overview/).
|
|
51
|
+
sig { returns(T.nilable(String)) }
|
|
52
|
+
attr_reader :market
|
|
53
|
+
|
|
54
|
+
sig { params(market: String).void }
|
|
55
|
+
attr_writer :market
|
|
56
|
+
|
|
57
|
+
sig do
|
|
58
|
+
params(
|
|
59
|
+
additional_types: String,
|
|
60
|
+
fields: String,
|
|
61
|
+
market: String,
|
|
62
|
+
request_options: Spotted::RequestOptions::OrHash
|
|
63
|
+
).returns(T.attached_class)
|
|
64
|
+
end
|
|
65
|
+
def self.new(
|
|
66
|
+
# A comma-separated list of item types that your client supports besides the
|
|
67
|
+
# default `track` type. Valid types are: `track` and `episode`.<br/> _**Note**:
|
|
68
|
+
# This parameter was introduced to allow existing clients to maintain their
|
|
69
|
+
# current behaviour and might be deprecated in the future._<br/> In addition to
|
|
70
|
+
# providing this parameter, make sure that your client properly handles cases of
|
|
71
|
+
# new types in the future by checking against the `type` field of each object.
|
|
72
|
+
additional_types: nil,
|
|
73
|
+
# Filters for the query: a comma-separated list of the fields to return. If
|
|
74
|
+
# omitted, all fields are returned. For example, to get just the playlist''s
|
|
75
|
+
# description and URI: `fields=description,uri`. A dot separator can be used to
|
|
76
|
+
# specify non-reoccurring fields, while parentheses can be used to specify
|
|
77
|
+
# reoccurring fields within objects. For example, to get just the added date and
|
|
78
|
+
# user ID of the adder: `fields=tracks.items(added_at,added_by.id)`. Use multiple
|
|
79
|
+
# parentheses to drill down into nested objects, for example:
|
|
80
|
+
# `fields=tracks.items(track(name,href,album(name,href)))`. Fields can be excluded
|
|
81
|
+
# by prefixing them with an exclamation mark, for example:
|
|
82
|
+
# `fields=tracks.items(track(name,href,album(!name,href)))`
|
|
83
|
+
fields: nil,
|
|
84
|
+
# An
|
|
85
|
+
# [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
|
|
86
|
+
# If a country code is specified, only content that is available in that market
|
|
87
|
+
# will be returned.<br/> If a valid user access token is specified in the request
|
|
88
|
+
# header, the country associated with the user account will take priority over
|
|
89
|
+
# this parameter.<br/> _**Note**: If neither market or user country are provided,
|
|
90
|
+
# the content is considered unavailable for the client._<br/> Users can view the
|
|
91
|
+
# country that is associated with their account in the
|
|
92
|
+
# [account settings](https://www.spotify.com/account/overview/).
|
|
93
|
+
market: nil,
|
|
94
|
+
request_options: {}
|
|
95
|
+
)
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
sig do
|
|
99
|
+
override.returns(
|
|
100
|
+
{
|
|
101
|
+
additional_types: String,
|
|
102
|
+
fields: String,
|
|
103
|
+
market: String,
|
|
104
|
+
request_options: Spotted::RequestOptions
|
|
105
|
+
}
|
|
106
|
+
)
|
|
107
|
+
end
|
|
108
|
+
def to_hash
|
|
109
|
+
end
|
|
110
|
+
end
|
|
111
|
+
end
|
|
112
|
+
end
|
|
@@ -0,0 +1,327 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Spotted
|
|
4
|
+
module Models
|
|
5
|
+
class PlaylistRetrieveResponse < Spotted::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(
|
|
9
|
+
Spotted::Models::PlaylistRetrieveResponse,
|
|
10
|
+
Spotted::Internal::AnyHash
|
|
11
|
+
)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the
|
|
15
|
+
# playlist.
|
|
16
|
+
sig { returns(T.nilable(String)) }
|
|
17
|
+
attr_reader :id
|
|
18
|
+
|
|
19
|
+
sig { params(id: String).void }
|
|
20
|
+
attr_writer :id
|
|
21
|
+
|
|
22
|
+
# `true` if the owner allows other users to modify the playlist.
|
|
23
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
24
|
+
attr_reader :collaborative
|
|
25
|
+
|
|
26
|
+
sig { params(collaborative: T::Boolean).void }
|
|
27
|
+
attr_writer :collaborative
|
|
28
|
+
|
|
29
|
+
# The playlist description. _Only returned for modified, verified playlists,
|
|
30
|
+
# otherwise_ `null`.
|
|
31
|
+
sig { returns(T.nilable(String)) }
|
|
32
|
+
attr_accessor :description
|
|
33
|
+
|
|
34
|
+
# Known external URLs for this playlist.
|
|
35
|
+
sig { returns(T.nilable(Spotted::ExternalURLObject)) }
|
|
36
|
+
attr_reader :external_urls
|
|
37
|
+
|
|
38
|
+
sig { params(external_urls: Spotted::ExternalURLObject::OrHash).void }
|
|
39
|
+
attr_writer :external_urls
|
|
40
|
+
|
|
41
|
+
# Information about the followers of the playlist.
|
|
42
|
+
sig { returns(T.nilable(Spotted::FollowersObject)) }
|
|
43
|
+
attr_reader :followers
|
|
44
|
+
|
|
45
|
+
sig { params(followers: Spotted::FollowersObject::OrHash).void }
|
|
46
|
+
attr_writer :followers
|
|
47
|
+
|
|
48
|
+
# A link to the Web API endpoint providing full details of the playlist.
|
|
49
|
+
sig { returns(T.nilable(String)) }
|
|
50
|
+
attr_reader :href
|
|
51
|
+
|
|
52
|
+
sig { params(href: String).void }
|
|
53
|
+
attr_writer :href
|
|
54
|
+
|
|
55
|
+
# Images for the playlist. The array may be empty or contain up to three images.
|
|
56
|
+
# The images are returned by size in descending order. See
|
|
57
|
+
# [Working with Playlists](/documentation/web-api/concepts/playlists). _**Note**:
|
|
58
|
+
# If returned, the source URL for the image (`url`) is temporary and will expire
|
|
59
|
+
# in less than a day._
|
|
60
|
+
sig { returns(T.nilable(T::Array[Spotted::ImageObject])) }
|
|
61
|
+
attr_reader :images
|
|
62
|
+
|
|
63
|
+
sig { params(images: T::Array[Spotted::ImageObject::OrHash]).void }
|
|
64
|
+
attr_writer :images
|
|
65
|
+
|
|
66
|
+
# The name of the playlist.
|
|
67
|
+
sig { returns(T.nilable(String)) }
|
|
68
|
+
attr_reader :name
|
|
69
|
+
|
|
70
|
+
sig { params(name: String).void }
|
|
71
|
+
attr_writer :name
|
|
72
|
+
|
|
73
|
+
# The user who owns the playlist
|
|
74
|
+
sig do
|
|
75
|
+
returns(T.nilable(Spotted::Models::PlaylistRetrieveResponse::Owner))
|
|
76
|
+
end
|
|
77
|
+
attr_reader :owner
|
|
78
|
+
|
|
79
|
+
sig do
|
|
80
|
+
params(
|
|
81
|
+
owner: Spotted::Models::PlaylistRetrieveResponse::Owner::OrHash
|
|
82
|
+
).void
|
|
83
|
+
end
|
|
84
|
+
attr_writer :owner
|
|
85
|
+
|
|
86
|
+
# The playlist's public/private status (if it is added to the user's profile):
|
|
87
|
+
# `true` the playlist is public, `false` the playlist is private, `null` the
|
|
88
|
+
# playlist status is not relevant. For more about public/private status, see
|
|
89
|
+
# [Working with Playlists](/documentation/web-api/concepts/playlists)
|
|
90
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
91
|
+
attr_reader :public
|
|
92
|
+
|
|
93
|
+
sig { params(public: T::Boolean).void }
|
|
94
|
+
attr_writer :public
|
|
95
|
+
|
|
96
|
+
# The version identifier for the current playlist. Can be supplied in other
|
|
97
|
+
# requests to target a specific playlist version
|
|
98
|
+
sig { returns(T.nilable(String)) }
|
|
99
|
+
attr_reader :snapshot_id
|
|
100
|
+
|
|
101
|
+
sig { params(snapshot_id: String).void }
|
|
102
|
+
attr_writer :snapshot_id
|
|
103
|
+
|
|
104
|
+
# The tracks of the playlist.
|
|
105
|
+
sig do
|
|
106
|
+
returns(T.nilable(Spotted::Models::PlaylistRetrieveResponse::Tracks))
|
|
107
|
+
end
|
|
108
|
+
attr_reader :tracks
|
|
109
|
+
|
|
110
|
+
sig do
|
|
111
|
+
params(
|
|
112
|
+
tracks: Spotted::Models::PlaylistRetrieveResponse::Tracks::OrHash
|
|
113
|
+
).void
|
|
114
|
+
end
|
|
115
|
+
attr_writer :tracks
|
|
116
|
+
|
|
117
|
+
# The object type: "playlist"
|
|
118
|
+
sig { returns(T.nilable(String)) }
|
|
119
|
+
attr_reader :type
|
|
120
|
+
|
|
121
|
+
sig { params(type: String).void }
|
|
122
|
+
attr_writer :type
|
|
123
|
+
|
|
124
|
+
# The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
|
|
125
|
+
# playlist.
|
|
126
|
+
sig { returns(T.nilable(String)) }
|
|
127
|
+
attr_reader :uri
|
|
128
|
+
|
|
129
|
+
sig { params(uri: String).void }
|
|
130
|
+
attr_writer :uri
|
|
131
|
+
|
|
132
|
+
sig do
|
|
133
|
+
params(
|
|
134
|
+
id: String,
|
|
135
|
+
collaborative: T::Boolean,
|
|
136
|
+
description: T.nilable(String),
|
|
137
|
+
external_urls: Spotted::ExternalURLObject::OrHash,
|
|
138
|
+
followers: Spotted::FollowersObject::OrHash,
|
|
139
|
+
href: String,
|
|
140
|
+
images: T::Array[Spotted::ImageObject::OrHash],
|
|
141
|
+
name: String,
|
|
142
|
+
owner: Spotted::Models::PlaylistRetrieveResponse::Owner::OrHash,
|
|
143
|
+
public: T::Boolean,
|
|
144
|
+
snapshot_id: String,
|
|
145
|
+
tracks: Spotted::Models::PlaylistRetrieveResponse::Tracks::OrHash,
|
|
146
|
+
type: String,
|
|
147
|
+
uri: String
|
|
148
|
+
).returns(T.attached_class)
|
|
149
|
+
end
|
|
150
|
+
def self.new(
|
|
151
|
+
# The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the
|
|
152
|
+
# playlist.
|
|
153
|
+
id: nil,
|
|
154
|
+
# `true` if the owner allows other users to modify the playlist.
|
|
155
|
+
collaborative: nil,
|
|
156
|
+
# The playlist description. _Only returned for modified, verified playlists,
|
|
157
|
+
# otherwise_ `null`.
|
|
158
|
+
description: nil,
|
|
159
|
+
# Known external URLs for this playlist.
|
|
160
|
+
external_urls: nil,
|
|
161
|
+
# Information about the followers of the playlist.
|
|
162
|
+
followers: nil,
|
|
163
|
+
# A link to the Web API endpoint providing full details of the playlist.
|
|
164
|
+
href: nil,
|
|
165
|
+
# Images for the playlist. The array may be empty or contain up to three images.
|
|
166
|
+
# The images are returned by size in descending order. See
|
|
167
|
+
# [Working with Playlists](/documentation/web-api/concepts/playlists). _**Note**:
|
|
168
|
+
# If returned, the source URL for the image (`url`) is temporary and will expire
|
|
169
|
+
# in less than a day._
|
|
170
|
+
images: nil,
|
|
171
|
+
# The name of the playlist.
|
|
172
|
+
name: nil,
|
|
173
|
+
# The user who owns the playlist
|
|
174
|
+
owner: nil,
|
|
175
|
+
# The playlist's public/private status (if it is added to the user's profile):
|
|
176
|
+
# `true` the playlist is public, `false` the playlist is private, `null` the
|
|
177
|
+
# playlist status is not relevant. For more about public/private status, see
|
|
178
|
+
# [Working with Playlists](/documentation/web-api/concepts/playlists)
|
|
179
|
+
public: nil,
|
|
180
|
+
# The version identifier for the current playlist. Can be supplied in other
|
|
181
|
+
# requests to target a specific playlist version
|
|
182
|
+
snapshot_id: nil,
|
|
183
|
+
# The tracks of the playlist.
|
|
184
|
+
tracks: nil,
|
|
185
|
+
# The object type: "playlist"
|
|
186
|
+
type: nil,
|
|
187
|
+
# The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
|
|
188
|
+
# playlist.
|
|
189
|
+
uri: nil
|
|
190
|
+
)
|
|
191
|
+
end
|
|
192
|
+
|
|
193
|
+
sig do
|
|
194
|
+
override.returns(
|
|
195
|
+
{
|
|
196
|
+
id: String,
|
|
197
|
+
collaborative: T::Boolean,
|
|
198
|
+
description: T.nilable(String),
|
|
199
|
+
external_urls: Spotted::ExternalURLObject,
|
|
200
|
+
followers: Spotted::FollowersObject,
|
|
201
|
+
href: String,
|
|
202
|
+
images: T::Array[Spotted::ImageObject],
|
|
203
|
+
name: String,
|
|
204
|
+
owner: Spotted::Models::PlaylistRetrieveResponse::Owner,
|
|
205
|
+
public: T::Boolean,
|
|
206
|
+
snapshot_id: String,
|
|
207
|
+
tracks: Spotted::Models::PlaylistRetrieveResponse::Tracks,
|
|
208
|
+
type: String,
|
|
209
|
+
uri: String
|
|
210
|
+
}
|
|
211
|
+
)
|
|
212
|
+
end
|
|
213
|
+
def to_hash
|
|
214
|
+
end
|
|
215
|
+
|
|
216
|
+
class Owner < Spotted::Models::PlaylistUserObject
|
|
217
|
+
OrHash =
|
|
218
|
+
T.type_alias do
|
|
219
|
+
T.any(
|
|
220
|
+
Spotted::Models::PlaylistRetrieveResponse::Owner,
|
|
221
|
+
Spotted::Internal::AnyHash
|
|
222
|
+
)
|
|
223
|
+
end
|
|
224
|
+
|
|
225
|
+
# The name displayed on the user's profile. `null` if not available.
|
|
226
|
+
sig { returns(T.nilable(String)) }
|
|
227
|
+
attr_accessor :display_name
|
|
228
|
+
|
|
229
|
+
# The user who owns the playlist
|
|
230
|
+
sig do
|
|
231
|
+
params(display_name: T.nilable(String)).returns(T.attached_class)
|
|
232
|
+
end
|
|
233
|
+
def self.new(
|
|
234
|
+
# The name displayed on the user's profile. `null` if not available.
|
|
235
|
+
display_name: nil
|
|
236
|
+
)
|
|
237
|
+
end
|
|
238
|
+
|
|
239
|
+
sig { override.returns({ display_name: T.nilable(String) }) }
|
|
240
|
+
def to_hash
|
|
241
|
+
end
|
|
242
|
+
end
|
|
243
|
+
|
|
244
|
+
class Tracks < Spotted::Internal::Type::BaseModel
|
|
245
|
+
OrHash =
|
|
246
|
+
T.type_alias do
|
|
247
|
+
T.any(
|
|
248
|
+
Spotted::Models::PlaylistRetrieveResponse::Tracks,
|
|
249
|
+
Spotted::Internal::AnyHash
|
|
250
|
+
)
|
|
251
|
+
end
|
|
252
|
+
|
|
253
|
+
# A link to the Web API endpoint returning the full result of the request
|
|
254
|
+
sig { returns(String) }
|
|
255
|
+
attr_accessor :href
|
|
256
|
+
|
|
257
|
+
sig { returns(T::Array[Spotted::PlaylistTrackObject]) }
|
|
258
|
+
attr_accessor :items
|
|
259
|
+
|
|
260
|
+
# The maximum number of items in the response (as set in the query or by default).
|
|
261
|
+
sig { returns(Integer) }
|
|
262
|
+
attr_accessor :limit
|
|
263
|
+
|
|
264
|
+
# URL to the next page of items. ( `null` if none)
|
|
265
|
+
sig { returns(T.nilable(String)) }
|
|
266
|
+
attr_accessor :next_
|
|
267
|
+
|
|
268
|
+
# The offset of the items returned (as set in the query or by default)
|
|
269
|
+
sig { returns(Integer) }
|
|
270
|
+
attr_accessor :offset
|
|
271
|
+
|
|
272
|
+
# URL to the previous page of items. ( `null` if none)
|
|
273
|
+
sig { returns(T.nilable(String)) }
|
|
274
|
+
attr_accessor :previous
|
|
275
|
+
|
|
276
|
+
# The total number of items available to return.
|
|
277
|
+
sig { returns(Integer) }
|
|
278
|
+
attr_accessor :total
|
|
279
|
+
|
|
280
|
+
# The tracks of the playlist.
|
|
281
|
+
sig do
|
|
282
|
+
params(
|
|
283
|
+
href: String,
|
|
284
|
+
items: T::Array[Spotted::PlaylistTrackObject::OrHash],
|
|
285
|
+
limit: Integer,
|
|
286
|
+
next_: T.nilable(String),
|
|
287
|
+
offset: Integer,
|
|
288
|
+
previous: T.nilable(String),
|
|
289
|
+
total: Integer
|
|
290
|
+
).returns(T.attached_class)
|
|
291
|
+
end
|
|
292
|
+
def self.new(
|
|
293
|
+
# A link to the Web API endpoint returning the full result of the request
|
|
294
|
+
href:,
|
|
295
|
+
items:,
|
|
296
|
+
# The maximum number of items in the response (as set in the query or by default).
|
|
297
|
+
limit:,
|
|
298
|
+
# URL to the next page of items. ( `null` if none)
|
|
299
|
+
next_:,
|
|
300
|
+
# The offset of the items returned (as set in the query or by default)
|
|
301
|
+
offset:,
|
|
302
|
+
# URL to the previous page of items. ( `null` if none)
|
|
303
|
+
previous:,
|
|
304
|
+
# The total number of items available to return.
|
|
305
|
+
total:
|
|
306
|
+
)
|
|
307
|
+
end
|
|
308
|
+
|
|
309
|
+
sig do
|
|
310
|
+
override.returns(
|
|
311
|
+
{
|
|
312
|
+
href: String,
|
|
313
|
+
items: T::Array[Spotted::PlaylistTrackObject],
|
|
314
|
+
limit: Integer,
|
|
315
|
+
next_: T.nilable(String),
|
|
316
|
+
offset: Integer,
|
|
317
|
+
previous: T.nilable(String),
|
|
318
|
+
total: Integer
|
|
319
|
+
}
|
|
320
|
+
)
|
|
321
|
+
end
|
|
322
|
+
def to_hash
|
|
323
|
+
end
|
|
324
|
+
end
|
|
325
|
+
end
|
|
326
|
+
end
|
|
327
|
+
end
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Spotted
|
|
4
|
+
module Models
|
|
5
|
+
class PlaylistTrackObject < Spotted::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(Spotted::PlaylistTrackObject, Spotted::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# The date and time the track or episode was added. _**Note**: some very old
|
|
12
|
+
# playlists may return `null` in this field._
|
|
13
|
+
sig { returns(T.nilable(Time)) }
|
|
14
|
+
attr_reader :added_at
|
|
15
|
+
|
|
16
|
+
sig { params(added_at: Time).void }
|
|
17
|
+
attr_writer :added_at
|
|
18
|
+
|
|
19
|
+
# The Spotify user who added the track or episode. _**Note**: some very old
|
|
20
|
+
# playlists may return `null` in this field._
|
|
21
|
+
sig { returns(T.nilable(Spotted::PlaylistUserObject)) }
|
|
22
|
+
attr_reader :added_by
|
|
23
|
+
|
|
24
|
+
sig { params(added_by: Spotted::PlaylistUserObject::OrHash).void }
|
|
25
|
+
attr_writer :added_by
|
|
26
|
+
|
|
27
|
+
# Whether this track or episode is a
|
|
28
|
+
# [local file](/documentation/web-api/concepts/playlists/#local-files) or not.
|
|
29
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
30
|
+
attr_reader :is_local
|
|
31
|
+
|
|
32
|
+
sig { params(is_local: T::Boolean).void }
|
|
33
|
+
attr_writer :is_local
|
|
34
|
+
|
|
35
|
+
# Information about the track or episode.
|
|
36
|
+
sig { returns(T.nilable(Spotted::PlaylistTrackObject::Track::Variants)) }
|
|
37
|
+
attr_reader :track
|
|
38
|
+
|
|
39
|
+
sig do
|
|
40
|
+
params(
|
|
41
|
+
track:
|
|
42
|
+
T.any(Spotted::TrackObject::OrHash, Spotted::EpisodeObject::OrHash)
|
|
43
|
+
).void
|
|
44
|
+
end
|
|
45
|
+
attr_writer :track
|
|
46
|
+
|
|
47
|
+
sig do
|
|
48
|
+
params(
|
|
49
|
+
added_at: Time,
|
|
50
|
+
added_by: Spotted::PlaylistUserObject::OrHash,
|
|
51
|
+
is_local: T::Boolean,
|
|
52
|
+
track:
|
|
53
|
+
T.any(Spotted::TrackObject::OrHash, Spotted::EpisodeObject::OrHash)
|
|
54
|
+
).returns(T.attached_class)
|
|
55
|
+
end
|
|
56
|
+
def self.new(
|
|
57
|
+
# The date and time the track or episode was added. _**Note**: some very old
|
|
58
|
+
# playlists may return `null` in this field._
|
|
59
|
+
added_at: nil,
|
|
60
|
+
# The Spotify user who added the track or episode. _**Note**: some very old
|
|
61
|
+
# playlists may return `null` in this field._
|
|
62
|
+
added_by: nil,
|
|
63
|
+
# Whether this track or episode is a
|
|
64
|
+
# [local file](/documentation/web-api/concepts/playlists/#local-files) or not.
|
|
65
|
+
is_local: nil,
|
|
66
|
+
# Information about the track or episode.
|
|
67
|
+
track: nil
|
|
68
|
+
)
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
sig do
|
|
72
|
+
override.returns(
|
|
73
|
+
{
|
|
74
|
+
added_at: Time,
|
|
75
|
+
added_by: Spotted::PlaylistUserObject,
|
|
76
|
+
is_local: T::Boolean,
|
|
77
|
+
track: Spotted::PlaylistTrackObject::Track::Variants
|
|
78
|
+
}
|
|
79
|
+
)
|
|
80
|
+
end
|
|
81
|
+
def to_hash
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
# Information about the track or episode.
|
|
85
|
+
module Track
|
|
86
|
+
extend Spotted::Internal::Type::Union
|
|
87
|
+
|
|
88
|
+
Variants =
|
|
89
|
+
T.type_alias { T.any(Spotted::TrackObject, Spotted::EpisodeObject) }
|
|
90
|
+
|
|
91
|
+
sig do
|
|
92
|
+
override.returns(
|
|
93
|
+
T::Array[Spotted::PlaylistTrackObject::Track::Variants]
|
|
94
|
+
)
|
|
95
|
+
end
|
|
96
|
+
def self.variants
|
|
97
|
+
end
|
|
98
|
+
end
|
|
99
|
+
end
|
|
100
|
+
end
|
|
101
|
+
end
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Spotted
|
|
4
|
+
module Models
|
|
5
|
+
class PlaylistTracksRefObject < Spotted::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(Spotted::PlaylistTracksRefObject, Spotted::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# A link to the Web API endpoint where full details of the playlist's tracks can
|
|
12
|
+
# be retrieved.
|
|
13
|
+
sig { returns(T.nilable(String)) }
|
|
14
|
+
attr_reader :href
|
|
15
|
+
|
|
16
|
+
sig { params(href: String).void }
|
|
17
|
+
attr_writer :href
|
|
18
|
+
|
|
19
|
+
# Number of tracks in the playlist.
|
|
20
|
+
sig { returns(T.nilable(Integer)) }
|
|
21
|
+
attr_reader :total
|
|
22
|
+
|
|
23
|
+
sig { params(total: Integer).void }
|
|
24
|
+
attr_writer :total
|
|
25
|
+
|
|
26
|
+
sig { params(href: String, total: Integer).returns(T.attached_class) }
|
|
27
|
+
def self.new(
|
|
28
|
+
# A link to the Web API endpoint where full details of the playlist's tracks can
|
|
29
|
+
# be retrieved.
|
|
30
|
+
href: nil,
|
|
31
|
+
# Number of tracks in the playlist.
|
|
32
|
+
total: nil
|
|
33
|
+
)
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
sig { override.returns({ href: String, total: Integer }) }
|
|
37
|
+
def to_hash
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|