subscribe grpc server to incoming invoices

This commit is contained in:
kiwiidb
2022-12-14 17:19:22 +01:00
parent 24ae419354
commit b577c765e7
2 changed files with 13 additions and 4 deletions

View File

@@ -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 {

View File

@@ -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)