diff options
| author | Luke <luke.pulverenti@gmail.com> | 2015-04-03 21:30:23 -0400 |
|---|---|---|
| committer | Luke <luke.pulverenti@gmail.com> | 2015-04-03 21:30:23 -0400 |
| commit | 142dad5d836c976cfa199a63f42febb4960b47af (patch) | |
| tree | 4540743959bf7515314a340df7c82db3cd25f42a /MediaBrowser.Api/Sync/SyncService.cs | |
| parent | 7bafdfadb9b395568d67bafb2ceeb02f1c203aab (diff) | |
| parent | 7c17c5182f4f4de8c5755eb92e803c0be20d667f (diff) | |
Merge pull request #1067 from MediaBrowser/master
add bulk sync remove
Diffstat (limited to 'MediaBrowser.Api/Sync/SyncService.cs')
| -rw-r--r-- | MediaBrowser.Api/Sync/SyncService.cs | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/MediaBrowser.Api/Sync/SyncService.cs b/MediaBrowser.Api/Sync/SyncService.cs index bcadb4c08..b9dbf5946 100644 --- a/MediaBrowser.Api/Sync/SyncService.cs +++ b/MediaBrowser.Api/Sync/SyncService.cs @@ -65,6 +65,16 @@ namespace MediaBrowser.Api.Sync public string Id { get; set; } } + [Route("/Sync/{TargetId}/Items", "DELETE", Summary = "Cancels items from a sync target")] + public class CancelItems : IReturnVoid + { + [ApiMember(Name = "TargetId", Description = "TargetId", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "Items")] + public string TargetId { get; set; } + + [ApiMember(Name = "ItemIds", Description = "ItemIds", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "Items")] + public string ItemIds { get; set; } + } + [Route("/Sync/Jobs", "GET", Summary = "Gets sync jobs.")] public class GetSyncJobs : SyncJobQuery, IReturn<QueryResult<SyncJob>> { @@ -200,6 +210,15 @@ namespace MediaBrowser.Api.Sync return ToOptimizedResult(result); } + public void Delete(CancelItems request) + { + var itemIds = request.ItemIds.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries); + + var task = _syncManager.CancelItems(request.TargetId, itemIds); + + Task.WaitAll(task); + } + public void Post(ReportSyncJobItemTransferred request) { var task = _syncManager.ReportSyncJobItemTransferred(request.Id); @@ -261,7 +280,7 @@ namespace MediaBrowser.Api.Sync var auth = AuthorizationContext.GetAuthorizationInfo(Request); var authenticatedUser = _userManager.GetUserById(auth.UserId); - + var items = request.ItemIds.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries) .Select(_libraryManager.GetItemById) .Where(i => i != null); |
