aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Api/LibraryService.cs
diff options
context:
space:
mode:
authorLukePulverenti <luke.pulverenti@gmail.com>2013-02-24 22:56:00 -0500
committerLukePulverenti <luke.pulverenti@gmail.com>2013-02-24 22:56:00 -0500
commitadd43baffef74fcd34cfc6ef02d36777be05b274 (patch)
treed099801de1b457e3193f5b29b68337ff50649cd8 /MediaBrowser.Api/LibraryService.cs
parent2d342c02ef55e2ba8796d95888274356aaadbe5c (diff)
convert media library url's to rest
Diffstat (limited to 'MediaBrowser.Api/LibraryService.cs')
-rw-r--r--MediaBrowser.Api/LibraryService.cs268
1 files changed, 0 insertions, 268 deletions
diff --git a/MediaBrowser.Api/LibraryService.cs b/MediaBrowser.Api/LibraryService.cs
deleted file mode 100644
index 434b04eff..000000000
--- a/MediaBrowser.Api/LibraryService.cs
+++ /dev/null
@@ -1,268 +0,0 @@
-using MediaBrowser.Common.Kernel;
-using MediaBrowser.Common.Net;
-using MediaBrowser.Controller;
-using MediaBrowser.Controller.Entities;
-using MediaBrowser.Controller.Library;
-using MediaBrowser.Model.Dto;
-using MediaBrowser.Model.Entities;
-using ServiceStack.ServiceHost;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-
-namespace MediaBrowser.Api
-{
- /// <summary>
- /// Class GetPhyscialPaths
- /// </summary>
- [Route("/Library/PhysicalPaths", "GET")]
- public class GetPhyscialPaths : IReturn<List<string>>
- {
- }
-
- /// <summary>
- /// Class GetItemTypes
- /// </summary>
- [Route("/Library/ItemTypes", "GET")]
- public class GetItemTypes : IReturn<List<string>>
- {
- /// <summary>
- /// Gets or sets a value indicating whether this instance has internet provider.
- /// </summary>
- /// <value><c>true</c> if this instance has internet provider; otherwise, <c>false</c>.</value>
- public bool HasInternetProvider { get; set; }
- }
-
- /// <summary>
- /// Class GetPerson
- /// </summary>
- [Route("/Library/Persons/{Name}", "GET")]
- public class GetPerson : IReturn<BaseItemDto>
- {
- /// <summary>
- /// Gets or sets the name.
- /// </summary>
- /// <value>The name.</value>
- public string Name { get; set; }
- }
-
- /// <summary>
- /// Class GetStudio
- /// </summary>
- [Route("/Library/Studios/{Name}", "GET")]
- public class GetStudio : IReturn<BaseItemDto>
- {
- /// <summary>
- /// Gets or sets the name.
- /// </summary>
- /// <value>The name.</value>
- public string Name { get; set; }
- }
-
- /// <summary>
- /// Class GetGenre
- /// </summary>
- [Route("/Library/Genres/{Name}", "GET")]
- public class GetGenre : IReturn<BaseItemDto>
- {
- /// <summary>
- /// Gets or sets the name.
- /// </summary>
- /// <value>The name.</value>
- public string Name { get; set; }
- }
-
- /// <summary>
- /// Class GetYear
- /// </summary>
- [Route("/Library/Years/{Year}", "GET")]
- public class GetYear : IReturn<BaseItemDto>
- {
- /// <summary>
- /// Gets or sets the year.
- /// </summary>
- /// <value>The year.</value>
- public int Year { get; set; }
- }
-
- /// <summary>
- /// Class GetDefaultVirtualFolders
- /// </summary>
- [Route("/Library/DefaultVirtualFolders", "GET")]
- public class GetDefaultVirtualFolders : IReturn<List<VirtualFolderInfo>>
- {
- }
-
- /// <summary>
- /// Class LibraryService
- /// </summary>
- public class LibraryService : BaseRestService
- {
- /// <summary>
- /// The _app host
- /// </summary>
- private readonly IApplicationHost _appHost;
-
- /// <summary>
- /// Initializes a new instance of the <see cref="LibraryService" /> class.
- /// </summary>
- /// <param name="appHost">The app host.</param>
- /// <exception cref="System.ArgumentNullException">appHost</exception>
- public LibraryService(IApplicationHost appHost)
- {
- if (appHost == null)
- {
- throw new ArgumentNullException("appHost");
- }
-
- _appHost = appHost;
- }
-
- /// <summary>
- /// Gets the specified request.
- /// </summary>
- /// <param name="request">The request.</param>
- /// <returns>System.Object.</returns>
- public object Get(GetDefaultVirtualFolders request)
- {
- var kernel = (Kernel)Kernel;
-
- var result = kernel.LibraryManager.GetDefaultVirtualFolders().ToList();
-
- return ToOptimizedResult(result);
- }
-
- /// <summary>
- /// Gets the specified request.
- /// </summary>
- /// <param name="request">The request.</param>
- /// <returns>System.Object.</returns>
- public object Get(GetPerson request)
- {
- var kernel = (Kernel)Kernel;
-
- var item = kernel.LibraryManager.GetPerson(request.Name).Result;
-
- // Get everything
- var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true));
-
- var result = new DtoBuilder(Logger).GetDtoBaseItem(item, fields.ToList()).Result;
-
- return ToOptimizedResult(result);
- }
-
- /// <summary>
- /// Gets the specified request.
- /// </summary>
- /// <param name="request">The request.</param>
- /// <returns>System.Object.</returns>
- public object Get(GetGenre request)
- {
- var kernel = (Kernel)Kernel;
-
- var item = kernel.LibraryManager.GetGenre(request.Name).Result;
-
- // Get everything
- var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true));
-
- var result = new DtoBuilder(Logger).GetDtoBaseItem(item, fields.ToList()).Result;
-
- return ToOptimizedResult(result);
- }
-
- /// <summary>
- /// Gets the specified request.
- /// </summary>
- /// <param name="request">The request.</param>
- /// <returns>System.Object.</returns>
- public object Get(GetStudio request)
- {
- var kernel = (Kernel)Kernel;
-
- var item = kernel.LibraryManager.GetStudio(request.Name).Result;
-
- // Get everything
- var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true));
-
- var result = new DtoBuilder(Logger).GetDtoBaseItem(item, fields.ToList()).Result;
-
- return ToOptimizedResult(result);
- }
-
- /// <summary>
- /// Gets the specified request.
- /// </summary>
- /// <param name="request">The request.</param>
- /// <returns>System.Object.</returns>
- public object Get(GetYear request)
- {
- var kernel = (Kernel)Kernel;
-
- var item = kernel.LibraryManager.GetYear(request.Year).Result;
-
- // Get everything
- var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true));
-
- var result = new DtoBuilder(Logger).GetDtoBaseItem(item, fields.ToList()).Result;
-
- return ToOptimizedResult(result);
- }
-
- /// <summary>
- /// Gets the specified request.
- /// </summary>
- /// <param name="request">The request.</param>
- /// <returns>System.Object.</returns>
- public object Get(GetPhyscialPaths request)
- {
- var kernel = (Kernel)Kernel;
-
- var result = kernel.RootFolder.Children.SelectMany(c => c.ResolveArgs.PhysicalLocations).ToList();
-
- return ToOptimizedResult(result);
- }
-
- /// <summary>
- /// Gets the specified request.
- /// </summary>
- /// <param name="request">The request.</param>
- /// <returns>System.Object.</returns>
- public object Get(GetItemTypes request)
- {
- var kernel = (Kernel)Kernel;
-
- var allTypes = _appHost.AllConcreteTypes.Where(t => t.IsSubclassOf(typeof(BaseItem)));
-
- if (request.HasInternetProvider)
- {
- allTypes = allTypes.Where(t =>
- {
- if (t == typeof(UserRootFolder) || t == typeof(AggregateFolder) || t == typeof(Folder) || t == typeof(IndexFolder) || t == typeof(CollectionFolder) || t == typeof(Year))
- {
- return false;
- }
-
- if (t == typeof(User))
- {
- return false;
- }
-
- // For now it seems internet providers generally only deal with video subclasses
- if (t == typeof(Video))
- {
- return false;
- }
-
- if (t.IsSubclassOf(typeof(BasePluginFolder)))
- {
- return false;
- }
-
- return true;
- });
- }
-
- return allTypes.Select(t => t.Name).OrderBy(s => s).ToList();
- }
- }
-}