BrandingService.cs 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. using MediaBrowser.Common.Configuration;
  2. using MediaBrowser.Model.Branding;
  3. using MediaBrowser.Model.Services;
  4. namespace MediaBrowser.Api
  5. {
  6. [Route("/Branding/Configuration", "GET", Summary = "Gets branding configuration")]
  7. public class GetBrandingOptions : IReturn<BrandingOptions>
  8. {
  9. }
  10. [Route("/Branding/Css", "GET", Summary = "Gets custom css")]
  11. [Route("/Branding/Css.css", "GET", Summary = "Gets custom css")]
  12. public class GetBrandingCss
  13. {
  14. }
  15. public class BrandingService : BaseApiService
  16. {
  17. private readonly IConfigurationManager _config;
  18. public BrandingService(IConfigurationManager config)
  19. {
  20. _config = config;
  21. }
  22. public object Get(GetBrandingOptions request)
  23. {
  24. return _config.GetConfiguration<BrandingOptions>("branding");
  25. }
  26. public object Get(GetBrandingCss request)
  27. {
  28. var result = _config.GetConfiguration<BrandingOptions>("branding");
  29. // When null this throws a 405 error under Mono OSX, so default to empty string
  30. return ResultFactory.GetResult(Request, result.CustomCss ?? string.Empty, "text/css");
  31. }
  32. }
  33. }