Radarr/src/Radarr.Api.V3/Localization/LocalizationController.cs

42 lines
1.3 KiB
C#

using System.Text.Json;
using Microsoft.AspNetCore.Mvc;
using NzbDrone.Common.Serializer;
using NzbDrone.Core.Localization;
using Radarr.Http;
namespace Radarr.Api.V3.Localization
{
[V3ApiController]
public class LocalizationController : Controller
{
private readonly ILocalizationService _localizationService;
private readonly JsonSerializerOptions _serializerSettings;
public LocalizationController(ILocalizationService localizationService)
{
_localizationService = localizationService;
_serializerSettings = STJson.GetSerializerSettings();
_serializerSettings.DictionaryKeyPolicy = null;
_serializerSettings.PropertyNamingPolicy = null;
}
[HttpGet]
public string GetLocalizationDictionary()
{
return JsonSerializer.Serialize(_localizationService.GetLocalizationDictionary().ToResource(), _serializerSettings);
}
[HttpGet("language")]
[Produces("application/json")]
public LocalizationLanguageResource GetLanguage()
{
var identifier = _localizationService.GetLanguageIdentifier();
return new LocalizationLanguageResource
{
Identifier = identifier
};
}
}
}