mirror of
https://github.com/Prowlarr/Prowlarr.git
synced 2025-09-17 17:14:18 +02:00
Fixed: Remove Camel Case DB Converter for Cookies (#223)
* fix(ProviderRepository): remove DictionaryKeyPolicy CamelCase Naming
* Revert "fix(ProviderRepository): remove DictionaryKeyPolicy CamelCase Naming"
This reverts commit 90c95b240f
.
* fix(TableMapping): make own non Camel Case Converter for Cookies
This commit is contained in:
36
src/NzbDrone.Core/Datastore/Converters/CookieConverter.cs
Normal file
36
src/NzbDrone.Core/Datastore/Converters/CookieConverter.cs
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Data;
|
||||||
|
using System.Text.Json;
|
||||||
|
using Dapper;
|
||||||
|
using NzbDrone.Common.Serializer;
|
||||||
|
|
||||||
|
namespace NzbDrone.Core.Datastore.Converters
|
||||||
|
{
|
||||||
|
public class CookieConverter : SqlMapper.TypeHandler<IDictionary<string, string>>
|
||||||
|
{
|
||||||
|
protected readonly JsonSerializerOptions SerializerSettings;
|
||||||
|
|
||||||
|
public CookieConverter()
|
||||||
|
{
|
||||||
|
var serializerSettings = new JsonSerializerOptions
|
||||||
|
{
|
||||||
|
AllowTrailingCommas = true,
|
||||||
|
IgnoreNullValues = true,
|
||||||
|
PropertyNameCaseInsensitive = true,
|
||||||
|
WriteIndented = true
|
||||||
|
};
|
||||||
|
|
||||||
|
SerializerSettings = serializerSettings;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void SetValue(IDbDataParameter parameter, IDictionary<string, string> value)
|
||||||
|
{
|
||||||
|
parameter.Value = JsonSerializer.Serialize(value, SerializerSettings);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override IDictionary<string, string> Parse(object value)
|
||||||
|
{
|
||||||
|
return JsonSerializer.Deserialize<Dictionary<string, string>>((string)value, SerializerSettings);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@@ -100,7 +100,7 @@ namespace NzbDrone.Core.Datastore
|
|||||||
SqlMapper.RemoveTypeMap(typeof(DateTime));
|
SqlMapper.RemoveTypeMap(typeof(DateTime));
|
||||||
SqlMapper.AddTypeHandler(new DapperUtcConverter());
|
SqlMapper.AddTypeHandler(new DapperUtcConverter());
|
||||||
SqlMapper.AddTypeHandler(new EmbeddedDocumentConverter<Dictionary<string, string>>());
|
SqlMapper.AddTypeHandler(new EmbeddedDocumentConverter<Dictionary<string, string>>());
|
||||||
SqlMapper.AddTypeHandler(new EmbeddedDocumentConverter<IDictionary<string, string>>());
|
SqlMapper.AddTypeHandler(new CookieConverter());
|
||||||
SqlMapper.AddTypeHandler(new EmbeddedDocumentConverter<List<int>>());
|
SqlMapper.AddTypeHandler(new EmbeddedDocumentConverter<List<int>>());
|
||||||
SqlMapper.AddTypeHandler(new EmbeddedDocumentConverter<List<KeyValuePair<string, int>>>());
|
SqlMapper.AddTypeHandler(new EmbeddedDocumentConverter<List<KeyValuePair<string, int>>>());
|
||||||
SqlMapper.AddTypeHandler(new EmbeddedDocumentConverter<KeyValuePair<string, int>>());
|
SqlMapper.AddTypeHandler(new EmbeddedDocumentConverter<KeyValuePair<string, int>>());
|
||||||
|
Reference in New Issue
Block a user