Add SearchAlbum endpoint

This commit is contained in:
Alexander
2026-05-07 14:24:14 +02:00
parent de52fcbc79
commit fb2e4b9107
9 changed files with 374 additions and 97 deletions
+27
View File
@@ -86,6 +86,33 @@ func (s *MetadataServer) SearchArtists(ctx context.Context, req *metadatav1.Sear
return resp, nil
}
func (s *MetadataServer) SearchAlbums(ctx context.Context, req *metadatav1.SearchAlbumsRequest) (*metadatav1.SearchAlbumsResponse, error) {
svc, err := s.getService(req.Provider)
if err != nil {
return nil, err
}
limit := int(req.Limit)
if limit <= 0 {
limit = 25
}
result, err := svc.SearchAlbums(ctx, req.Query, req.Artist, limit, int(req.Offset))
if err != nil {
return nil, toGRPCError(err)
}
resp := &metadatav1.SearchAlbumsResponse{
Total: int32(result.Total),
}
for _, a := range result.Items {
resp.Albums = append(resp.Albums, toProtoAlbum(&a))
}
return resp, nil
}
func (s *MetadataServer) GetAlbum(ctx context.Context, req *metadatav1.GetAlbumRequest) (*metadatav1.Album, error) {
svc, err := s.getService(req.Provider)
if err != nil {