aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Api/AppThemeService.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Api/AppThemeService.cs')
-rw-r--r--MediaBrowser.Api/AppThemeService.cs100
1 files changed, 0 insertions, 100 deletions
diff --git a/MediaBrowser.Api/AppThemeService.cs b/MediaBrowser.Api/AppThemeService.cs
deleted file mode 100644
index 87084e415..000000000
--- a/MediaBrowser.Api/AppThemeService.cs
+++ /dev/null
@@ -1,100 +0,0 @@
-using MediaBrowser.Common.IO;
-using MediaBrowser.Controller.Net;
-using MediaBrowser.Controller.Themes;
-using MediaBrowser.Model.Themes;
-using ServiceStack;
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Linq;
-
-namespace MediaBrowser.Api
-{
- [Route("/Themes", "GET", Summary = "Gets a list of available themes for an app")]
- public class GetAppThemes : IReturn<List<AppThemeInfo>>
- {
- [ApiMember(Name = "App", IsRequired = true, DataType = "string", ParameterType = "query", Verb = "GET")]
- public string App { get; set; }
- }
-
- [Route("/Themes/Info", "GET", Summary = "Gets an app theme")]
- public class GetAppTheme : IReturn<AppTheme>
- {
- [ApiMember(Name = "App", IsRequired = true, DataType = "string", ParameterType = "query", Verb = "GET")]
- public string App { get; set; }
-
- [ApiMember(Name = "Name", IsRequired = true, DataType = "string", ParameterType = "query", Verb = "GET")]
- public string Name { get; set; }
- }
-
- [Route("/Themes/Images", "GET", Summary = "Gets an app theme")]
- public class GetAppThemeImage
- {
- [ApiMember(Name = "App", IsRequired = true, DataType = "string", ParameterType = "query", Verb = "GET")]
- public string App { get; set; }
-
- [ApiMember(Name = "Theme", IsRequired = true, DataType = "string", ParameterType = "query", Verb = "GET")]
- public string Theme { get; set; }
-
- [ApiMember(Name = "Name", IsRequired = true, DataType = "string", ParameterType = "query", Verb = "GET")]
- public string Name { get; set; }
-
- [ApiMember(Name = "CacheTag", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")]
- public string CacheTag { get; set; }
- }
-
- [Route("/Themes", "POST", Summary = "Saves a theme")]
- public class SaveTheme : AppTheme, IReturnVoid
- {
- }
-
- [Authenticated]
- public class AppThemeService : BaseApiService
- {
- private readonly IAppThemeManager _themeManager;
- private readonly IFileSystem _fileSystem;
-
- public AppThemeService(IAppThemeManager themeManager, IFileSystem fileSystem)
- {
- _themeManager = themeManager;
- _fileSystem = fileSystem;
- }
-
- public object Get(GetAppThemes request)
- {
- var result = _themeManager.GetThemes(request.App).ToList();
-
- return ToOptimizedResult(result);
- }
-
- public object Get(GetAppTheme request)
- {
- var result = _themeManager.GetTheme(request.App, request.Name);
-
- return ToOptimizedResult(result);
- }
-
- public void Post(SaveTheme request)
- {
- _themeManager.SaveTheme(request);
- }
-
- public object Get(GetAppThemeImage request)
- {
- var info = _themeManager.GetImageImageInfo(request.App, request.Theme, request.Name);
-
- var cacheGuid = new Guid(info.CacheTag);
-
- TimeSpan? cacheDuration = null;
-
- if (!string.IsNullOrEmpty(request.CacheTag) && cacheGuid == new Guid(request.CacheTag))
- {
- cacheDuration = TimeSpan.FromDays(365);
- }
-
- var contentType = MimeTypes.GetMimeType(info.Path);
-
- return ResultFactory.GetCachedResult(Request, cacheGuid, null, cacheDuration, () => _fileSystem.GetFileStream(info.Path, FileMode.Open, FileAccess.Read, FileShare.Read), contentType);
- }
- }
-}