Add GetAlbum RPC with track details and persist metadata on discovery

This commit is contained in:
Alexander
2026-05-09 10:47:06 +02:00
parent e61e58be72
commit 8c60fe5e35
4 changed files with 194 additions and 6 deletions
@@ -5,6 +5,7 @@ option go_package = "homelab.lan/music-agregator/gen/music_agregator/v1/";
service MusicAgregatorService {
rpc MonitorAlbum(MonitorAlbumRequest) returns (MonitorAlbumResponse) {}
rpc GetArtists(GetArtistsRequest) returns (GetArtistsResponse) {}
rpc GetAlbum(GetAlbumRequest) returns (GetAlbumResponse) {}
}
message MonitorAlbumRequest {
@@ -74,6 +75,39 @@ message DownloadInfo {
string save_path = 4;
}
message GetAlbumRequest {
string album_id = 1;
}
message GetAlbumResponse {
AlbumDetail album = 1;
repeated TrackDetail tracks = 2;
}
message TrackDetail {
string id = 1;
string external_id = 2;
string title = 3;
int32 duration_ms = 4;
int32 disc_number = 5;
int32 track_number = 6;
string isrc = 7;
bool explicit = 8;
repeated ArtistCredit artists = 9;
TrackFile file = 10;
}
message ArtistCredit {
string id = 1;
string name = 2;
}
message TrackFile {
string path = 1;
string format = 2;
int64 size = 3;
}
message MonitoredRelease {
string info_hash = 1;
string artist = 2;