Create indexer proto
This commit is contained in:
@@ -11,11 +11,12 @@ import (
|
||||
"github.com/rs/zerolog/log"
|
||||
"google.golang.org/grpc"
|
||||
"gopkg.in/yaml.v2"
|
||||
pb "homelab.lan/music-agregator/gen/music_agregator/hello/v1"
|
||||
|
||||
// My modules
|
||||
"homelab.lan/music-agregator/internal"
|
||||
"homelab.lan/music-agregator/internal/config"
|
||||
"homelab.lan/music-agregator/internal/hello"
|
||||
"homelab.lan/music-agregator/internal/indexer"
|
||||
appRouter "homelab.lan/music-agregator/internal/router"
|
||||
)
|
||||
|
||||
@@ -53,8 +54,15 @@ func serveGrpc(config config.Config) {
|
||||
var opts []grpc.ServerOption
|
||||
server := grpc.NewServer(opts...)
|
||||
|
||||
helloServiceHandler := hello.NewHelloServer()
|
||||
pb.RegisterHelloServiceServer(server, helloServiceHandler)
|
||||
services := []internal.Registrable{
|
||||
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))
|
||||
|
||||
if err != nil {
|
||||
|
||||
@@ -3,6 +3,7 @@ package hello
|
||||
import (
|
||||
"context"
|
||||
|
||||
"google.golang.org/grpc"
|
||||
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
|
||||
}
|
||||
|
||||
func (s *HelloServer) Register(server *grpc.Server) {
|
||||
pb.RegisterHelloServiceServer(server, s)
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
@@ -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 {}
|
||||
Reference in New Issue
Block a user