aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Api/Library/LibraryService.cs
diff options
context:
space:
mode:
author7illusions <z@7illusions.com>2014-08-30 19:06:58 +0200
committer7illusions <z@7illusions.com>2014-08-30 19:06:58 +0200
commit66ad1699e22029b605e17735e8d9450285d8748a (patch)
treeffc92c88d24850b2f82b6b3a8bdd904a2ccc77a5 /MediaBrowser.Api/Library/LibraryService.cs
parent34bc54263e886aae777a3537dc50a6535b51330a (diff)
parent9d36f518182bc075c19d78084870f5115fa62d1e (diff)
Merge pull request #1 from MediaBrowser/master
Update to latest
Diffstat (limited to 'MediaBrowser.Api/Library/LibraryService.cs')
-rw-r--r--MediaBrowser.Api/Library/LibraryService.cs36
1 files changed, 20 insertions, 16 deletions
diff --git a/MediaBrowser.Api/Library/LibraryService.cs b/MediaBrowser.Api/Library/LibraryService.cs
index 802df5cca..34b930a6a 100644
--- a/MediaBrowser.Api/Library/LibraryService.cs
+++ b/MediaBrowser.Api/Library/LibraryService.cs
@@ -5,6 +5,7 @@ using MediaBrowser.Controller.Entities.Audio;
using MediaBrowser.Controller.Entities.Movies;
using MediaBrowser.Controller.Entities.TV;
using MediaBrowser.Controller.Library;
+using MediaBrowser.Controller.Net;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Session;
using MediaBrowser.Model.Dto;
@@ -210,20 +211,23 @@ namespace MediaBrowser.Api.Library
[Api(Description = "Gets all user media folders.")]
public class GetMediaFolders : IReturn<ItemsResult>
{
-
+ [ApiMember(Name = "IsHidden", Description = "Optional. Filter by folders that are marked hidden, or not.", IsRequired = false, DataType = "boolean", ParameterType = "query", Verb = "GET")]
+ public bool? IsHidden { get; set; }
}
+ [Route("/Library/Series/Added", "POST")]
[Route("/Library/Series/Updated", "POST")]
[Api(Description = "Reports that new episodes of a series have been added by an external source")]
public class PostUpdatedSeries : IReturnVoid
{
- [ApiMember(Name = "TvdbId", Description = "Tvdb Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")]
+ [ApiMember(Name = "TvdbId", Description = "Tvdb Id", IsRequired = false, DataType = "string", ParameterType = "path", Verb = "GET")]
public string TvdbId { get; set; }
}
/// <summary>
/// Class LibraryService
/// </summary>
+ [Authenticated]
public class LibraryService : BaseApiService
{
/// <summary>
@@ -258,6 +262,13 @@ namespace MediaBrowser.Api.Library
{
var items = _libraryManager.GetUserRootFolder().Children.OrderBy(i => i.SortName).ToList();
+ if (request.IsHidden.HasValue)
+ {
+ var val = request.IsHidden.Value;
+
+ items = items.Where(i => i.IsHidden == val).ToList();
+ }
+
// Get everything
var fields = Enum.GetNames(typeof(ItemFields))
.Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true))
@@ -273,6 +284,11 @@ namespace MediaBrowser.Api.Library
return ToOptimizedResult(result);
}
+ public void Post(PostUpdatedSeries request)
+ {
+ Task.Run(() => _libraryManager.ValidateMediaLibrary(new Progress<double>(), CancellationToken.None));
+ }
+
public object Get(GetFile request)
{
var item = _libraryManager.GetItemById(request.Id);
@@ -452,23 +468,11 @@ namespace MediaBrowser.Api.Library
/// <param name="request">The request.</param>
public void Delete(DeleteItem request)
{
- var task = DeleteItem(request);
-
- Task.WaitAll(task);
- }
-
- private Task DeleteItem(DeleteItem request)
- {
var item = _libraryManager.GetItemById(request.Id);
- var session = GetSession(_sessionManager);
+ var task = _libraryManager.DeleteItem(item);
- if (!session.UserId.HasValue || !_userManager.GetUserById(session.UserId.Value).Configuration.EnableContentDeletion)
- {
- throw new UnauthorizedAccessException("This operation requires a logged in user with delete access.");
- }
-
- return _libraryManager.DeleteItem(item);
+ Task.WaitAll(task);
}
/// <summary>