Create indexer proto

This commit is contained in:
Alexander
2026-05-04 16:45:22 +02:00
parent f8040ec088
commit 32eb8c931e
5 changed files with 58 additions and 3 deletions
+11 -3
View File
@@ -11,11 +11,12 @@ import (
"github.com/rs/zerolog/log" "github.com/rs/zerolog/log"
"google.golang.org/grpc" "google.golang.org/grpc"
"gopkg.in/yaml.v2" "gopkg.in/yaml.v2"
pb "homelab.lan/music-agregator/gen/music_agregator/hello/v1"
// My modules // My modules
"homelab.lan/music-agregator/internal"
"homelab.lan/music-agregator/internal/config" "homelab.lan/music-agregator/internal/config"
"homelab.lan/music-agregator/internal/hello" "homelab.lan/music-agregator/internal/hello"
"homelab.lan/music-agregator/internal/indexer"
appRouter "homelab.lan/music-agregator/internal/router" appRouter "homelab.lan/music-agregator/internal/router"
) )
@@ -53,8 +54,15 @@ func serveGrpc(config config.Config) {
var opts []grpc.ServerOption var opts []grpc.ServerOption
server := grpc.NewServer(opts...) server := grpc.NewServer(opts...)
helloServiceHandler := hello.NewHelloServer() services := []internal.Registrable{
pb.RegisterHelloServiceServer(server, helloServiceHandler) hello.NewHelloServer(),
indexer.NewIndexerServer(),
}
for _, service := range services {
service.Register(server)
}
listener, err := net.Listen("tcp", fmt.Sprintf("%v:%v", config.App.Host, config.App.Port)) listener, err := net.Listen("tcp", fmt.Sprintf("%v:%v", config.App.Host, config.App.Port))
if err != nil { if err != nil {
+5
View File
@@ -3,6 +3,7 @@ package hello
import ( import (
"context" "context"
"google.golang.org/grpc"
pb "homelab.lan/music-agregator/gen/music_agregator/hello/v1" pb "homelab.lan/music-agregator/gen/music_agregator/hello/v1"
) )
@@ -25,3 +26,7 @@ func (server *HelloServer) Echo(ctx context.Context, req *pb.EchoRequest) (*pb.E
return response, nil return response, nil
} }
func (s *HelloServer) Register(server *grpc.Server) {
pb.RegisterHelloServiceServer(server, s)
}
+24
View File
@@ -0,0 +1,24 @@
package indexer
import (
"context"
"google.golang.org/grpc"
pb "homelab.lan/music-agregator/gen/music_agregator/indexer/v1"
)
type IndexerServer struct {
pb.UnimplementedIndexerServiceServer
}
func NewIndexerServer() *IndexerServer {
return &IndexerServer{}
}
func (server *IndexerServer) Search(ctx context.Context, req *pb.SearchRequest) (*pb.SearchResponse, error) {
return &pb.SearchResponse{}, nil
}
func (s *IndexerServer) Register(server *grpc.Server) {
pb.RegisterIndexerServiceServer(server, s)
}
+7
View File
@@ -0,0 +1,7 @@
package internal
import "google.golang.org/grpc"
type Registrable interface {
Register(server *grpc.Server)
}
@@ -0,0 +1,11 @@
syntax = "proto3";
package music_agregator.indexer.v1;
option go_package = "homelab.lan/music-agregator/gen/music_agregator/v1/indexer";
service IndexerService {
rpc Search(SearchRequest) returns (SearchResponse){
}
}
message SearchRequest {}
message SearchResponse {}