feat: add radarr support
continuous-integration/drone/pr Build is failing Details

This commit is contained in:
Dawid Wysokiński 2022-07-20 07:11:20 +02:00
parent 8c3d3486ae
commit 1fdaeba6e9
Signed by: Kichiyaki
GPG Key ID: 1ECC5DE481BE5184
5 changed files with 10 additions and 7 deletions

View File

@ -3,8 +3,8 @@ package domain
type RadarrEventType string
const (
RadarrEventTypeImport RadarrEventType = "Import"
RadarrEventTypeTest RadarrEventType = "Test"
RadarrEventTypeDownload RadarrEventType = "Download"
RadarrEventTypeTest RadarrEventType = "Test"
)
var (
@ -14,7 +14,7 @@ var (
func NewRadarrEventType(s string) (RadarrEventType, error) {
conv := RadarrEventType(s)
switch conv {
case RadarrEventTypeImport,
case RadarrEventTypeDownload,
RadarrEventTypeTest:
return conv, nil
default:

View File

@ -13,7 +13,7 @@ func TestNewRadarrEventType(t *testing.T) {
t.Run("OK", func(t *testing.T) {
t.Parallel()
events := []domain.RadarrEventType{domain.RadarrEventTypeImport, domain.RadarrEventTypeTest}
events := []domain.RadarrEventType{domain.RadarrEventTypeDownload, domain.RadarrEventTypeTest}
for _, ev := range events {
res, err := domain.NewRadarrEventType(ev.String())

View File

@ -4,6 +4,7 @@ import (
"context"
"encoding/json"
"fmt"
"log"
"net/http"
"gitea.dwysokinski.me/Kichiyaki/notificationarr/internal/domain"
@ -121,6 +122,8 @@ func (h *WebhookHandler) handleRadarrWebhook(w http.ResponseWriter, r *http.Requ
return
}
log.Println(req.EventType)
eventType, err := domain.NewRadarrEventType(req.EventType)
if err != nil {
renderErrorResponse(w, fmt.Errorf("domain.NewRadarrEventType: %w", err))

View File

@ -37,7 +37,7 @@ func (s *Radarr) Process(ctx context.Context, payload domain.RadarrWebhookPayloa
func (s *Radarr) buildTitle(evType domain.RadarrEventType, _ domain.RadarrMovie) (string, error) {
switch evType {
case domain.RadarrEventTypeImport,
case domain.RadarrEventTypeDownload,
domain.RadarrEventTypeTest:
return "New movie available (Radarr)", nil
default:
@ -47,7 +47,7 @@ func (s *Radarr) buildTitle(evType domain.RadarrEventType, _ domain.RadarrMovie)
func (s *Radarr) buildMessage(evType domain.RadarrEventType, movie domain.RadarrMovie) (string, error) {
switch evType {
case domain.RadarrEventTypeImport,
case domain.RadarrEventTypeDownload,
domain.RadarrEventTypeTest:
return movie.Title, nil
default:

View File

@ -20,7 +20,7 @@ func TestRadarr_Process(t *testing.T) {
t.Parallel()
for _, evType := range [...]domain.RadarrEventType{
domain.RadarrEventTypeImport,
domain.RadarrEventTypeDownload,
domain.RadarrEventTypeTest,
} {
t.Run("event type="+evType.String(), func(t *testing.T) {