feat(confg): reload on save and refactor logging (#275)

* feat(confg): reload on save

* refactor(logging): rework
This commit is contained in:
Ludvig Lundgren 2022-05-20 09:27:01 +02:00 committed by GitHub
parent 198528a474
commit 91b094f4f4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
56 changed files with 995 additions and 873 deletions

View file

@ -10,8 +10,6 @@ import (
"time"
"github.com/autobrr/autobrr/internal/domain"
"github.com/rs/zerolog/log"
)
type DiscordMessage struct {
@ -33,7 +31,7 @@ type DiscordEmbedsFields struct {
Inline bool `json:"inline,omitempty"`
}
func discordNotification(event domain.EventsReleasePushed, webhookURL string) {
func (s *service) discordNotification(event domain.EventsReleasePushed, webhookURL string) {
t := &http.Transport{
TLSClientConfig: &tls.Config{
InsecureSkipVerify: true,
@ -120,13 +118,13 @@ func discordNotification(event domain.EventsReleasePushed, webhookURL string) {
jsonData, err := json.Marshal(m)
if err != nil {
log.Error().Err(err).Msgf("discord client could not marshal data: %v", m)
s.log.Error().Err(err).Msgf("discord client could not marshal data: %v", m)
return
}
req, err := http.NewRequest(http.MethodPost, webhookURL, bytes.NewBuffer(jsonData))
if err != nil {
log.Error().Err(err).Msgf("discord client request error: %v", event.ReleaseName)
s.log.Error().Err(err).Msgf("discord client request error: %v", event.ReleaseName)
return
}
@ -135,13 +133,13 @@ func discordNotification(event domain.EventsReleasePushed, webhookURL string) {
res, err := client.Do(req)
if err != nil {
log.Error().Err(err).Msgf("discord client request error: %v", event.ReleaseName)
s.log.Error().Err(err).Msgf("discord client request error: %v", event.ReleaseName)
return
}
defer res.Body.Close()
log.Debug().Msg("notification successfully sent to discord")
s.log.Debug().Msg("notification successfully sent to discord")
return
}

View file

@ -3,7 +3,10 @@ package notification
import (
"context"
"fmt"
"github.com/autobrr/autobrr/internal/domain"
"github.com/autobrr/autobrr/internal/logger"
"github.com/containrrr/shoutrrr"
t "github.com/containrrr/shoutrrr/pkg/types"
)
@ -19,11 +22,13 @@ type Service interface {
}
type service struct {
log logger.Logger
repo domain.NotificationRepo
}
func NewService(repo domain.NotificationRepo) Service {
func NewService(log logger.Logger, repo domain.NotificationRepo) Service {
return &service{
log: log,
repo: repo,
}
}
@ -132,7 +137,7 @@ func (s *service) send(notifications []domain.Notification, event domain.EventsR
if evt == string(event.Status) {
switch n.Type {
case domain.NotificationTypeDiscord:
go discordNotification(event, n.Webhook)
go s.discordNotification(event, n.Webhook)
default:
return nil
}