1
0
Fork 0
mirror of https://github.com/librespot-org/librespot.git synced 2025-10-03 09:49:31 +02:00
librespot/protocol/proto/your_library_decorated_entity.proto
Felix Prillwitz 2a574267ae
Update protobuf files (#1424)
* update protobuf definitions

* add additionally required proto files

* update version.rs

* adjust code to protobuf changes

* fix formatting

* apply suggestions, improve errors
2024-12-24 09:39:49 +01:00

179 lines
4 KiB
Protocol Buffer

// Extracted from: Spotify 1.2.52.442 (windows)
syntax = "proto3";
package spotify.your_library.proto;
import "policy/supported_link_types_in_playlists.proto";
option optimize_for = CODE_SIZE;
message YourLibraryEntityInfo {
enum Pinnable {
YES = 0;
NO_IN_FOLDER = 1;
}
string name = 2;
string uri = 3;
string group_label = 5;
string image_uri = 6;
bool pinned = 7;
Pinnable pinnable = 8;
Offline.Availability offline_availability = 9;
int64 add_time = 11;
int64 last_played = 12;
bool has_curated_items = 13;
}
message Offline {
enum Availability {
UNKNOWN = 0;
NO = 1;
YES = 2;
DOWNLOADING = 3;
WAITING = 4;
}
}
message YourLibraryAlbumExtraInfo {
enum Type {
ALBUM = 0;
SINGLE = 1;
COMPILATION = 2;
EP = 3;
}
string artist_name = 1;
string artist_uri = 2;
Type type = 3;
bool is_premium_only = 4;
bool new_release = 5;
}
message YourLibraryArtistExtraInfo {
bool has_liked_tracks_or_albums = 1;
}
message NumberOfItemsForLinkType {
playlist.cosmos.proto.LinkType link_type = 1;
int32 num_items = 2;
}
message YourLibraryPlaylistFolderInfo {
string uri = 1;
string name = 2;
}
message YourLibraryPlaylistExtraInfo {
string creator_name = 1;
string creator_uri = 8;
bool is_loading = 5;
bool can_view = 6;
bool can_add = 9;
string row_id = 7;
string made_for_name = 10;
string made_for_uri = 11;
repeated NumberOfItemsForLinkType number_of_items_per_link_type = 12;
bool owned_by_self = 13;
YourLibraryPlaylistFolderInfo from_folder = 14;
string name_prefix = 15;
}
message YourLibraryShowExtraInfo {
string creator_name = 1;
int64 publish_date = 4;
bool is_music_and_talk = 5;
int32 number_of_downloaded_episodes = 6;
}
message YourLibraryFolderExtraInfo {
int32 number_of_playlists = 2;
int32 number_of_folders = 3;
string row_id = 4;
repeated YourLibraryDecoratedEntity entity = 5;
}
message YourLibraryLikedSongsExtraInfo {
int32 number_of_songs = 3;
}
message YourLibraryYourEpisodesExtraInfo {
int32 number_of_downloaded_episodes = 4;
}
message YourLibraryNewEpisodesExtraInfo {
int64 publish_date = 1;
}
message YourLibraryLocalFilesExtraInfo {
int32 number_of_files = 1;
}
message YourLibraryBookExtraInfo {
enum Access {
OPEN = 0;
LOCKED = 1;
CAPPED = 2;
}
enum State {
NOT_STARTED = 0;
IN_PROGRESS = 1;
FINISHED = 2;
}
string author_name = 1;
Access access = 2;
int64 milliseconds_left = 3;
int32 percent_done = 4;
State state = 5;
}
message YourLibraryCachedFilesExtraInfo {
int32 number_of_items = 1;
int32 duration_in_seconds = 2;
}
message YourLibraryPreReleaseExtraInfo {
enum Type {
ALBUM = 0;
BOOK = 1;
}
string artist_name = 1;
string artist_uri = 2;
Type type = 3;
YourLibraryAlbumExtraInfo.Type album_type = 4;
}
message YourLibraryEventExtraInfo {
string location_name = 1;
int64 start_time = 2;
string city_name = 3;
}
message YourLibraryAuthorExtraInfo {
}
message YourLibraryDecoratedEntity {
YourLibraryEntityInfo entity_info = 1;
oneof entity {
YourLibraryAlbumExtraInfo album = 2;
YourLibraryArtistExtraInfo artist = 3;
YourLibraryPlaylistExtraInfo playlist = 4;
YourLibraryShowExtraInfo show = 5;
YourLibraryFolderExtraInfo folder = 6;
YourLibraryLikedSongsExtraInfo liked_songs = 8;
YourLibraryYourEpisodesExtraInfo your_episodes = 9;
YourLibraryNewEpisodesExtraInfo new_episodes = 10;
YourLibraryLocalFilesExtraInfo local_files = 11;
YourLibraryBookExtraInfo book = 12;
YourLibraryCachedFilesExtraInfo cached_files = 13;
YourLibraryPreReleaseExtraInfo prerelease = 15;
YourLibraryEventExtraInfo event = 16;
YourLibraryAuthorExtraInfo author = 17;
}
}