BrandingService.cs 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. using MediaBrowser.Common.Configuration;
  2. using MediaBrowser.Model.Branding;
  3. using ServiceStack;
  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. public class GetBrandingCss
  12. {
  13. }
  14. public class BrandingService : BaseApiService
  15. {
  16. private readonly IConfigurationManager _config;
  17. public BrandingService(IConfigurationManager config)
  18. {
  19. _config = config;
  20. }
  21. public object Get(GetBrandingOptions request)
  22. {
  23. var result = _config.GetConfiguration<BrandingOptions>("branding");
  24. return ToOptimizedResult(result);
  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(result.CustomCss ?? string.Empty, "text/css");
  31. }
  32. }
  33. }