35 lines
798 B
Go
35 lines
798 B
Go
package torrent
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/rs/zerolog/log"
|
|
"google.golang.org/grpc"
|
|
|
|
pb "homelab.lan/music-agregator/gen/music_agregator/torrent/v1"
|
|
"homelab.lan/music-agregator/internal/config"
|
|
)
|
|
|
|
type TorrentServer struct {
|
|
service *TorrentService
|
|
pb.UnimplementedTorrentServiceServer
|
|
}
|
|
|
|
func NewTorrentServer(cfg config.Config) (*TorrentServer, error) {
|
|
service, err := NewTorrentService(cfg)
|
|
if err != nil {
|
|
log.Err(err).Msg("failed to initialize TorrentService")
|
|
return nil, err
|
|
}
|
|
|
|
return &TorrentServer{service: service}, nil
|
|
}
|
|
|
|
func (server *TorrentServer) List(ctx context.Context, req *pb.ListRequest) (*pb.ListResponse, error) {
|
|
return server.service.List(req)
|
|
}
|
|
|
|
func (s *TorrentServer) Register(server *grpc.Server) {
|
|
pb.RegisterTorrentServiceServer(server, s)
|
|
}
|