jellyfin/MediaBrowser.Api/LocalizationService.cs

112 lines
3.3 KiB
C#
Raw Normal View History

using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Net;
2013-02-21 02:33:05 +01:00
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Globalization;
2016-10-25 21:02:04 +02:00
using MediaBrowser.Model.Services;
using Microsoft.Extensions.Logging;
2013-02-21 02:33:05 +01:00
namespace MediaBrowser.Api
{
/// <summary>
/// Class GetCultures.
2013-02-21 02:33:05 +01:00
/// </summary>
2014-03-23 21:07:02 +01:00
[Route("/Localization/Cultures", "GET", Summary = "Gets known cultures")]
2017-08-19 21:43:35 +02:00
public class GetCultures : IReturn<CultureDto[]>
2013-02-21 02:33:05 +01:00
{
}
/// <summary>
/// Class GetCountries.
2013-02-21 02:33:05 +01:00
/// </summary>
2014-03-23 21:07:02 +01:00
[Route("/Localization/Countries", "GET", Summary = "Gets known countries")]
2017-08-19 21:43:35 +02:00
public class GetCountries : IReturn<CountryInfo[]>
2013-02-21 02:33:05 +01:00
{
}
/// <summary>
/// Class ParentalRatings.
2013-02-21 02:33:05 +01:00
/// </summary>
2014-03-23 21:07:02 +01:00
[Route("/Localization/ParentalRatings", "GET", Summary = "Gets known parental ratings")]
2017-08-19 21:43:35 +02:00
public class GetParentalRatings : IReturn<ParentalRating[]>
2013-02-21 02:33:05 +01:00
{
}
2014-03-31 03:00:47 +02:00
/// <summary>
/// Class ParentalRatings.
2014-03-31 03:00:47 +02:00
/// </summary>
[Route("/Localization/Options", "GET", Summary = "Gets localization options")]
2019-01-25 22:27:33 +01:00
public class GetLocalizationOptions : IReturn<LocalizationOption[]>
2014-03-31 03:00:47 +02:00
{
}
2013-02-21 02:33:05 +01:00
/// <summary>
/// Class CulturesService.
2013-02-21 02:33:05 +01:00
/// </summary>
2014-11-15 03:31:03 +01:00
[Authenticated(AllowBeforeStartupWizard = true)]
2013-03-16 06:52:33 +01:00
public class LocalizationService : BaseApiService
2013-02-21 02:33:05 +01:00
{
/// <summary>
/// The _localization.
/// </summary>
private readonly ILocalizationManager _localization;
/// <summary>
/// Initializes a new instance of the <see cref="LocalizationService"/> class.
/// </summary>
/// <param name="localization">The localization.</param>
public LocalizationService(
ILogger<LocalizationService> logger,
IServerConfigurationManager serverConfigurationManager,
IHttpResultFactory httpResultFactory,
ILocalizationManager localization)
: base(logger, serverConfigurationManager, httpResultFactory)
{
_localization = localization;
}
2013-02-21 02:33:05 +01:00
/// <summary>
/// Gets the specified request.
/// </summary>
/// <param name="request">The request.</param>
/// <returns>System.Object.</returns>
public object Get(GetParentalRatings request)
{
2017-08-19 21:43:35 +02:00
var result = _localization.GetParentalRatings();
2013-02-21 02:33:05 +01:00
2014-05-07 23:41:38 +02:00
return ToOptimizedResult(result);
2013-02-21 02:33:05 +01:00
}
2014-03-31 03:00:47 +02:00
public object Get(GetLocalizationOptions request)
{
2017-08-19 21:43:35 +02:00
var result = _localization.GetLocalizationOptions();
2014-03-31 03:00:47 +02:00
2014-05-07 23:41:38 +02:00
return ToOptimizedResult(result);
2014-03-31 03:00:47 +02:00
}
2013-02-21 02:33:05 +01:00
/// <summary>
/// Gets the specified request.
/// </summary>
/// <param name="request">The request.</param>
/// <returns>System.Object.</returns>
2019-08-16 17:31:47 +02:00
public object Get(GetCountries request)
2013-02-21 02:33:05 +01:00
{
2019-08-16 17:31:47 +02:00
var result = _localization.GetCountries();
2013-02-21 02:33:05 +01:00
2014-05-07 23:41:38 +02:00
return ToOptimizedResult(result);
2013-02-21 02:33:05 +01:00
}
/// <summary>
/// Gets the specified request.
/// </summary>
/// <param name="request">The request.</param>
/// <returns>System.Object.</returns>
public object Get(GetCultures request)
{
var result = _localization.GetCultures();
2013-02-21 02:33:05 +01:00
2014-05-07 23:41:38 +02:00
return ToOptimizedResult(result);
2013-02-21 02:33:05 +01:00
}
}
}