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
+40
View File
@@ -25,6 +25,7 @@ const (
MetadataService_GetArtistAlbums_FullMethodName = "/metadata.v1.MetadataService/GetArtistAlbums"
MetadataService_GetTrack_FullMethodName = "/metadata.v1.MetadataService/GetTrack"
MetadataService_GetAlbumTracks_FullMethodName = "/metadata.v1.MetadataService/GetAlbumTracks"
MetadataService_SearchAlbums_FullMethodName = "/metadata.v1.MetadataService/SearchAlbums"
MetadataService_SyncArtist_FullMethodName = "/metadata.v1.MetadataService/SyncArtist"
)
@@ -46,6 +47,8 @@ type MetadataServiceClient interface {
GetTrack(ctx context.Context, in *GetTrackRequest, opts ...grpc.CallOption) (*Track, error)
// GetAlbumTracks retrieves all tracks on an album.
GetAlbumTracks(ctx context.Context, in *GetAlbumTracksRequest, opts ...grpc.CallOption) (*GetAlbumTracksResponse, error)
// SearchAlbums searches for albums by name, optionally filtered by artist.
SearchAlbums(ctx context.Context, in *SearchAlbumsRequest, opts ...grpc.CallOption) (*SearchAlbumsResponse, error)
// SyncArtist triggers ingestion of an artist from external sources.
SyncArtist(ctx context.Context, in *SyncArtistRequest, opts ...grpc.CallOption) (*SyncArtistResponse, error)
}
@@ -118,6 +121,16 @@ func (c *metadataServiceClient) GetAlbumTracks(ctx context.Context, in *GetAlbum
return out, nil
}
func (c *metadataServiceClient) SearchAlbums(ctx context.Context, in *SearchAlbumsRequest, opts ...grpc.CallOption) (*SearchAlbumsResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(SearchAlbumsResponse)
err := c.cc.Invoke(ctx, MetadataService_SearchAlbums_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *metadataServiceClient) SyncArtist(ctx context.Context, in *SyncArtistRequest, opts ...grpc.CallOption) (*SyncArtistResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(SyncArtistResponse)
@@ -146,6 +159,8 @@ type MetadataServiceServer interface {
GetTrack(context.Context, *GetTrackRequest) (*Track, error)
// GetAlbumTracks retrieves all tracks on an album.
GetAlbumTracks(context.Context, *GetAlbumTracksRequest) (*GetAlbumTracksResponse, error)
// SearchAlbums searches for albums by name, optionally filtered by artist.
SearchAlbums(context.Context, *SearchAlbumsRequest) (*SearchAlbumsResponse, error)
// SyncArtist triggers ingestion of an artist from external sources.
SyncArtist(context.Context, *SyncArtistRequest) (*SyncArtistResponse, error)
mustEmbedUnimplementedMetadataServiceServer()
@@ -176,6 +191,9 @@ func (UnimplementedMetadataServiceServer) GetTrack(context.Context, *GetTrackReq
func (UnimplementedMetadataServiceServer) GetAlbumTracks(context.Context, *GetAlbumTracksRequest) (*GetAlbumTracksResponse, error) {
return nil, status.Error(codes.Unimplemented, "method GetAlbumTracks not implemented")
}
func (UnimplementedMetadataServiceServer) SearchAlbums(context.Context, *SearchAlbumsRequest) (*SearchAlbumsResponse, error) {
return nil, status.Error(codes.Unimplemented, "method SearchAlbums not implemented")
}
func (UnimplementedMetadataServiceServer) SyncArtist(context.Context, *SyncArtistRequest) (*SyncArtistResponse, error) {
return nil, status.Error(codes.Unimplemented, "method SyncArtist not implemented")
}
@@ -308,6 +326,24 @@ func _MetadataService_GetAlbumTracks_Handler(srv interface{}, ctx context.Contex
return interceptor(ctx, in, info, handler)
}
func _MetadataService_SearchAlbums_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(SearchAlbumsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(MetadataServiceServer).SearchAlbums(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: MetadataService_SearchAlbums_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(MetadataServiceServer).SearchAlbums(ctx, req.(*SearchAlbumsRequest))
}
return interceptor(ctx, in, info, handler)
}
func _MetadataService_SyncArtist_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(SyncArtistRequest)
if err := dec(in); err != nil {
@@ -357,6 +393,10 @@ var MetadataService_ServiceDesc = grpc.ServiceDesc{
MethodName: "GetAlbumTracks",
Handler: _MetadataService_GetAlbumTracks_Handler,
},
{
MethodName: "SearchAlbums",
Handler: _MetadataService_SearchAlbums_Handler,
},
{
MethodName: "SyncArtist",
Handler: _MetadataService_SyncArtist_Handler,