From d2dcc45492cdd3879c91231a40f5f8a7c3d179a8 Mon Sep 17 00:00:00 2001 From: ta264 Date: Thu, 6 Aug 2020 21:58:59 +0100 Subject: [PATCH] Fixed: Shared serializer in ProviderRepository [common] Some caching happens in the serializer settings so best not to recreate each time --- .../ThingiProvider/ProviderRepository.cs | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/src/NzbDrone.Core/ThingiProvider/ProviderRepository.cs b/src/NzbDrone.Core/ThingiProvider/ProviderRepository.cs index d312b83c6..b558daad5 100644 --- a/src/NzbDrone.Core/ThingiProvider/ProviderRepository.cs +++ b/src/NzbDrone.Core/ThingiProvider/ProviderRepository.cs @@ -1,9 +1,11 @@ using System.Collections.Generic; using System.Text.Json; +using System.Text.Json.Serialization; using Dapper; using NzbDrone.Common.Extensions; using NzbDrone.Common.Reflection; using NzbDrone.Core.Datastore; +using NzbDrone.Core.Datastore.Converters; using NzbDrone.Core.Messaging.Events; namespace NzbDrone.Core.ThingiProvider @@ -12,9 +14,26 @@ public class ProviderRepository : BasicRepository Query(SqlBuilder builder) @@ -29,7 +48,6 @@ protected override List Query(SqlBuilder builder) { var parser = reader.GetRowParser(typeof(TProviderDefinition)); var settingsIndex = reader.GetOrdinal(nameof(ProviderDefinition.Settings)); - var serializerSettings = new JsonSerializerOptions { PropertyNameCaseInsensitive = true }; while (reader.Read()) { @@ -43,7 +61,7 @@ protected override List Query(SqlBuilder builder) } else { - item.Settings = (IProviderConfig)JsonSerializer.Deserialize(body, impType, serializerSettings); + item.Settings = (IProviderConfig)JsonSerializer.Deserialize(body, impType, _serializerSettings); } results.Add(item);