BrandingService.cs 1.4 KB

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