diff --git a/grpcserver/server.go b/grpcserver/server.go index 7f5b1ac..7fc6ebb 100644 --- a/grpcserver/server.go +++ b/grpcserver/server.go @@ -4,6 +4,7 @@ import ( "context" "strconv" + "github.com/getAlby/lndhub.go/common" "github.com/getAlby/lndhub.go/db/models" "github.com/getAlby/lndhub.go/lib/service" "github.com/getAlby/lndhub.go/lndhubrpc" @@ -19,13 +20,17 @@ type Server struct { ctx context.Context } -func NewGrpcServer(svc *service.LndhubService, ctx context.Context) *Server { +func NewGrpcServer(svc *service.LndhubService, ctx context.Context) (*Server, error) { incomingInvoices := make(chan models.Invoice) + _, err := svc.InvoicePubSub.Subscribe(common.InvoiceTypeIncoming, incomingInvoices) + if err != nil { + return nil, err + } return &Server{ svc: svc, incomingInvoices: incomingInvoices, ctx: ctx, - } + }, nil } func (s *Server) SubsribeInvoices(req *lndhubrpc.SubsribeInvoicesRequest, srv lndhubrpc.InvoiceSubscription_SubsribeInvoicesServer) error { diff --git a/main.go b/main.go index 4a9d9df..d654ac0 100644 --- a/main.go +++ b/main.go @@ -188,10 +188,14 @@ func main() { port := 10009 lis, err := net.Listen("tcp", fmt.Sprintf(":%d", port)) if err != nil { - log.Fatalf("failed to listen: %v", err) + log.Fatalf("Failed to start grpc server: %v", err) } s := grpc.NewServer() - lndhubrpc.RegisterInvoiceSubscriptionServer(s, grpcserver.NewGrpcServer(svc, context.TODO())) + grpcServer, err := grpcserver.NewGrpcServer(svc, context.TODO()) + if err != nil { + log.Fatalf("Failed to init grpc server, %s", err.Error()) + } + lndhubrpc.RegisterInvoiceSubscriptionServer(s, grpcServer) log.Printf("grpc server listening at %v", lis.Addr()) if err := s.Serve(lis); err != nil { log.Fatalf("failed to serve: %v", err)