From bae374c0c8123c7ffbc70991914d5aefd05c41a4 Mon Sep 17 00:00:00 2001 From: Qstick Date: Wed, 23 Nov 2022 18:42:04 -0600 Subject: [PATCH] Additional Fields in Webhooks --- .../Notifications/Webhook/WebhookAddedPayload.cs | 2 ++ .../Notifications/Webhook/WebhookBase.cs | 16 ++++++++++++---- .../Webhook/WebhookMovieDeletePayload.cs | 1 + .../Notifications/Webhook/WebhookRelease.cs | 2 ++ 4 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/NzbDrone.Core/Notifications/Webhook/WebhookAddedPayload.cs b/src/NzbDrone.Core/Notifications/Webhook/WebhookAddedPayload.cs index e5d74bd14..f7e02a7f5 100644 --- a/src/NzbDrone.Core/Notifications/Webhook/WebhookAddedPayload.cs +++ b/src/NzbDrone.Core/Notifications/Webhook/WebhookAddedPayload.cs @@ -1,9 +1,11 @@ using System.Collections.Generic; +using NzbDrone.Core.Movies; namespace NzbDrone.Core.Notifications.Webhook { public class WebhookAddedPayload : WebhookPayload { public WebhookMovie Movie { get; set; } + public AddMovieMethod AddMethod { get; set; } } } diff --git a/src/NzbDrone.Core/Notifications/Webhook/WebhookBase.cs b/src/NzbDrone.Core/Notifications/Webhook/WebhookBase.cs index e3cedd177..f51d71fc6 100644 --- a/src/NzbDrone.Core/Notifications/Webhook/WebhookBase.cs +++ b/src/NzbDrone.Core/Notifications/Webhook/WebhookBase.cs @@ -66,13 +66,14 @@ protected WebhookImportPayload BuildOnDownloadPayload(DownloadMessage message) return payload; } - protected WebhookRenamePayload BuildOnMovieAdded(Movie movie) + protected WebhookAddedPayload BuildOnMovieAdded(Movie movie) { - return new WebhookRenamePayload + return new WebhookAddedPayload { EventType = WebhookEventType.MovieAdded, InstanceName = _configFileProvider.InstanceName, - Movie = new WebhookMovie(movie) + Movie = new WebhookMovie(movie), + AddMethod = movie.AddOptions.AddMethod }; } @@ -90,13 +91,20 @@ protected WebhookMovieFileDeletePayload BuildOnMovieFileDelete(MovieFileDeleteMe protected WebhookMovieDeletePayload BuildOnMovieDelete(MovieDeleteMessage deleteMessage) { - return new WebhookMovieDeletePayload + var payload = new WebhookMovieDeletePayload { EventType = WebhookEventType.MovieDelete, InstanceName = _configFileProvider.InstanceName, Movie = new WebhookMovie(deleteMessage.Movie), DeletedFiles = deleteMessage.DeletedFiles }; + + if (deleteMessage.DeletedFiles && deleteMessage.Movie.MovieFile != null) + { + payload.MovieFolderSize = deleteMessage.Movie.MovieFile.Size; + } + + return payload; } protected WebhookRenamePayload BuildOnRenamePayload(Movie movie, List renamedFiles) diff --git a/src/NzbDrone.Core/Notifications/Webhook/WebhookMovieDeletePayload.cs b/src/NzbDrone.Core/Notifications/Webhook/WebhookMovieDeletePayload.cs index 4b111ef26..7dd30c0de 100644 --- a/src/NzbDrone.Core/Notifications/Webhook/WebhookMovieDeletePayload.cs +++ b/src/NzbDrone.Core/Notifications/Webhook/WebhookMovieDeletePayload.cs @@ -4,5 +4,6 @@ public class WebhookMovieDeletePayload : WebhookPayload { public WebhookMovie Movie { get; set; } public bool DeletedFiles { get; set; } + public long MovieFolderSize { get; set; } } } diff --git a/src/NzbDrone.Core/Notifications/Webhook/WebhookRelease.cs b/src/NzbDrone.Core/Notifications/Webhook/WebhookRelease.cs index 66dc3e75a..92217195c 100755 --- a/src/NzbDrone.Core/Notifications/Webhook/WebhookRelease.cs +++ b/src/NzbDrone.Core/Notifications/Webhook/WebhookRelease.cs @@ -21,6 +21,7 @@ public WebhookRelease(QualityModel quality, RemoteMovie remoteMovie) Size = remoteMovie.Release.Size; CustomFormats = remoteMovie.CustomFormats?.Select(x => x.Name).ToList(); CustomFormatScore = remoteMovie.CustomFormatScore; + IndexerFlags = remoteMovie.Release.IndexerFlags; } public string Quality { get; set; } @@ -31,5 +32,6 @@ public WebhookRelease(QualityModel quality, RemoteMovie remoteMovie) public long Size { get; set; } public int CustomFormatScore { get; set; } public List CustomFormats { get; set; } + public IndexerFlags IndexerFlags { get; set; } } }