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 type RadarrEventType string
const ( const (
RadarrEventTypeImport RadarrEventType = "Import" RadarrEventTypeDownload RadarrEventType = "Download"
RadarrEventTypeTest RadarrEventType = "Test" RadarrEventTypeTest RadarrEventType = "Test"
) )
var ( var (
@ -14,7 +14,7 @@ var (
func NewRadarrEventType(s string) (RadarrEventType, error) { func NewRadarrEventType(s string) (RadarrEventType, error) {
conv := RadarrEventType(s) conv := RadarrEventType(s)
switch conv { switch conv {
case RadarrEventTypeImport, case RadarrEventTypeDownload,
RadarrEventTypeTest: RadarrEventTypeTest:
return conv, nil return conv, nil
default: default:

View File

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

View File

@ -4,6 +4,7 @@ import (
"context" "context"
"encoding/json" "encoding/json"
"fmt" "fmt"
"log"
"net/http" "net/http"
"gitea.dwysokinski.me/Kichiyaki/notificationarr/internal/domain" "gitea.dwysokinski.me/Kichiyaki/notificationarr/internal/domain"
@ -121,6 +122,8 @@ func (h *WebhookHandler) handleRadarrWebhook(w http.ResponseWriter, r *http.Requ
return return
} }
log.Println(req.EventType)
eventType, err := domain.NewRadarrEventType(req.EventType) eventType, err := domain.NewRadarrEventType(req.EventType)
if err != nil { if err != nil {
renderErrorResponse(w, fmt.Errorf("domain.NewRadarrEventType: %w", err)) 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) { func (s *Radarr) buildTitle(evType domain.RadarrEventType, _ domain.RadarrMovie) (string, error) {
switch evType { switch evType {
case domain.RadarrEventTypeImport, case domain.RadarrEventTypeDownload,
domain.RadarrEventTypeTest: domain.RadarrEventTypeTest:
return "New movie available (Radarr)", nil return "New movie available (Radarr)", nil
default: 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) { func (s *Radarr) buildMessage(evType domain.RadarrEventType, movie domain.RadarrMovie) (string, error) {
switch evType { switch evType {
case domain.RadarrEventTypeImport, case domain.RadarrEventTypeDownload,
domain.RadarrEventTypeTest: domain.RadarrEventTypeTest:
return movie.Title, nil return movie.Title, nil
default: default:

View File

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