refactor: Improve ARR body parsing logic

This commit is contained in:
windyboy
2024-07-24 14:21:02 +08:00
parent 738ce16f34
commit 5a61d52fc4
4 changed files with 45 additions and 130 deletions
+9 -3
View File
@@ -9,6 +9,7 @@ import (
"context"
"errors"
"fmt"
"sync"
"github.com/ThreeDotsLabs/watermill"
"github.com/ThreeDotsLabs/watermill-nats/v2/pkg/nats"
@@ -17,6 +18,7 @@ import (
)
type NatsHandler struct {
mu sync.Mutex
config *config.Config
hasuraRepo *repository.HasuraRepository
}
@@ -63,6 +65,8 @@ func (n *NatsHandler) Subscribe() {
}
}
func (n *NatsHandler) handleMessage(msg *message.Message) error {
n.mu.Lock()
defer n.mu.Unlock()
log := utils.GetSugaredLogger()
if msg.Payload == nil {
// fmt.Println("empty message")
@@ -83,9 +87,11 @@ func (n *NatsHandler) handleMessage(msg *message.Message) error {
log.Infof("parsed [%s]: %v\n", msg.UUID, parsed)
}
parsed.Uuid = msg.UUID
if err = n.hasuraRepo.CreateNew(parsed); err != nil {
fmt.Print("error inserting message", err)
if parsed != nil {
parsed.Uuid = msg.UUID
if err = n.hasuraRepo.CreateNew(parsed); err != nil {
fmt.Print("error inserting message", err)
}
}
return err
}