From 123528327974d9291f5868bb87a0d63437fa1ae5 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Tue, 21 Jan 2014 01:10:58 -0500 Subject: #680 - added auto organize page --- .../Library/FileOrganizationService.cs | 43 +++++++++++++++++++++- 1 file changed, 41 insertions(+), 2 deletions(-) (limited to 'MediaBrowser.Api/Library/FileOrganizationService.cs') diff --git a/MediaBrowser.Api/Library/FileOrganizationService.cs b/MediaBrowser.Api/Library/FileOrganizationService.cs index 529a755061..1244a16f1b 100644 --- a/MediaBrowser.Api/Library/FileOrganizationService.cs +++ b/MediaBrowser.Api/Library/FileOrganizationService.cs @@ -2,10 +2,11 @@ using MediaBrowser.Model.FileOrganization; using MediaBrowser.Model.Querying; using ServiceStack; +using System.Threading.Tasks; namespace MediaBrowser.Api.Library { - [Route("/Library/FileOrganization/Results", "GET")] + [Route("/Library/FileOrganization", "GET")] [Api(Description = "Gets file organization results")] public class GetFileOrganizationActivity : IReturn> { @@ -24,6 +25,30 @@ namespace MediaBrowser.Api.Library public int? Limit { get; set; } } + [Route("/Library/FileOrganizations/{Id}/File", "DELETE")] + [Api(Description = "Deletes the original file of a organizer result")] + public class DeleteOriginalFile : IReturn> + { + /// + /// Gets or sets the id. + /// + /// The id. + [ApiMember(Name = "Id", Description = "Result Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "DELETE")] + public string Id { get; set; } + } + + [Route("/Library/FileOrganizations/{Id}/Organize", "POST")] + [Api(Description = "Performs an organization")] + public class PerformOrganization : IReturn> + { + /// + /// Gets or sets the id. + /// + /// The id. + [ApiMember(Name = "Id", Description = "Result Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "POST")] + public string Id { get; set; } + } + public class FileOrganizationService : BaseApiService { private readonly IFileOrganizationService _iFileOrganizationService; @@ -38,10 +63,24 @@ namespace MediaBrowser.Api.Library var result = _iFileOrganizationService.GetResults(new FileOrganizationResultQuery { Limit = request.Limit, - StartIndex = request.Limit + StartIndex = request.StartIndex }); return ToOptimizedResult(result); } + + public void Delete(DeleteOriginalFile request) + { + var task = _iFileOrganizationService.DeleteOriginalFile(request.Id); + + Task.WaitAll(task); + } + + public void Post(PerformOrganization request) + { + var task = _iFileOrganizationService.PerformOrganization(request.Id); + + Task.WaitAll(task); + } } } -- cgit v1.2.3