Move LocalizationController to System.Text.Json

pull/47/head
Qstick 3 years ago
parent 8cd5b175a1
commit 283d273802

@ -1,5 +1,6 @@
using System.Text.Json;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json; using NzbDrone.Common.Serializer;
using NzbDrone.Core.Localization; using NzbDrone.Core.Localization;
using Prowlarr.Http; using Prowlarr.Http;
@ -9,25 +10,20 @@ namespace Prowlarr.Api.V1.Localization
public class LocalizationController : Controller public class LocalizationController : Controller
{ {
private readonly ILocalizationService _localizationService; private readonly ILocalizationService _localizationService;
private readonly JsonSerializerOptions _serializerSettings;
public LocalizationController(ILocalizationService localizationService) public LocalizationController(ILocalizationService localizationService)
{ {
_localizationService = localizationService; _localizationService = localizationService;
_serializerSettings = STJson.GetSerializerSettings();
_serializerSettings.DictionaryKeyPolicy = null;
_serializerSettings.PropertyNamingPolicy = null;
} }
[HttpGet] [HttpGet]
public string GetLocalizationDictionary() public string GetLocalizationDictionary()
{ {
// We don't want camel case for transation strings, create new serializer settings return JsonSerializer.Serialize(_localizationService.GetLocalizationDictionary().ToResource(), _serializerSettings);
var serializerSettings = new JsonSerializerSettings
{
DateTimeZoneHandling = DateTimeZoneHandling.Utc,
NullValueHandling = NullValueHandling.Ignore,
Formatting = Formatting.Indented,
DefaultValueHandling = DefaultValueHandling.Include
};
return JsonConvert.SerializeObject(_localizationService.GetLocalizationDictionary().ToResource(), serializerSettings);
} }
} }
} }

Loading…
Cancel
Save