From bd656ae7f66fc9224ef2a57857152ee5d54d54f8 Mon Sep 17 00:00:00 2001 From: Bogdan Date: Wed, 27 Nov 2024 23:55:50 +0200 Subject: [PATCH] Fixed: Avoid default category on existing Transmission configurations Co-authored-by: Mark McDowall --- .../Clients/Transmission/TransmissionSettings.cs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/NzbDrone.Core/Download/Clients/Transmission/TransmissionSettings.cs b/src/NzbDrone.Core/Download/Clients/Transmission/TransmissionSettings.cs index 17fc43bd3..a7bfbcab4 100644 --- a/src/NzbDrone.Core/Download/Clients/Transmission/TransmissionSettings.cs +++ b/src/NzbDrone.Core/Download/Clients/Transmission/TransmissionSettings.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using System.Text.RegularExpressions; using FluentValidation; using NzbDrone.Common.Extensions; @@ -27,6 +28,7 @@ namespace NzbDrone.Core.Download.Clients.Transmission { private static readonly TransmissionSettingsValidator Validator = new (); + // This constructor is used when creating a new instance, such as the user adding a new Transmission client. public TransmissionSettings() { Host = "localhost"; @@ -35,6 +37,18 @@ namespace NzbDrone.Core.Download.Clients.Transmission TvCategory = "tv-sonarr"; } + // TODO: Remove this in v5 + // This constructor is used when deserializing from JSON, it will set the + // category to the deserialized value, defaulting to null. + [JsonConstructor] + public TransmissionSettings(string tvCategory = null) + { + Host = "localhost"; + Port = 9091; + UrlBase = "/transmission/"; + TvCategory = tvCategory; + } + [FieldDefinition(0, Label = "Host", Type = FieldType.Textbox)] public string Host { get; set; }