gobuch-trainingfellow/registrierung/nats/notifier.go

35 lines
749 B
Go
Raw Normal View History

2020-08-31 13:23:01 +00:00
package nats
import (
log "github.com/sirupsen/logrus"
"github.com/nats-io/nats.go"
"training-fellow.de/registrierung"
)
func NewNotifier(url string) *notifier {
return &notifier{url}
}
type notifier struct {
url string
}
func (nn *notifier) InformAboutNewRegistrierung(registrierung *registrierung.Registrierung) error {
notifierLogger := log.WithField("Registrierung", registrierung)
notifierLogger.Info("Inform about new Registrierung")
nc, err := nats.Connect(nn.url)
if err != nil {
2020-10-21 05:42:27 +00:00
notifierLogger.WithError(err).Error("Could not connect to server: ")
2020-08-31 13:23:01 +00:00
return err
}
defer nc.Close()
c, _ := nats.NewEncodedConn(nc, nats.JSON_ENCODER)
defer c.Close()
return c.Publish("traingfellow.registrierung.neu", registrierung)
}