diff --git a/MediaBrowser.Api/PlaylistService.cs b/MediaBrowser.Api/PlaylistService.cs
index e16ca1ee8f..3dafd0eebc 100644
--- a/MediaBrowser.Api/PlaylistService.cs
+++ b/MediaBrowser.Api/PlaylistService.cs
@@ -40,10 +40,27 @@ namespace MediaBrowser.Api
/// Gets or sets the user id.
///
/// The user id.
- [ApiMember(Name = "UserId", Description = "User Id", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")]
+ [ApiMember(Name = "UserId", Description = "User Id", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "POST")]
public string UserId { get; set; }
}
+ [Route("/Playlists/{Id}/Items/{ItemId}/Move/{NewIndex}", "POST", Summary = "Moves a playlist item")]
+ public class MoveItem : IReturnVoid
+ {
+ [ApiMember(Name = "ItemId", Description = "ItemId", IsRequired = true, DataType = "string", ParameterType = "query", Verb = "POST")]
+ public string ItemId { get; set; }
+
+ [ApiMember(Name = "Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "POST")]
+ public string Id { get; set; }
+
+ ///
+ /// Gets or sets the user id.
+ ///
+ /// The user id.
+ [ApiMember(Name = "NewIndex", Description = "NewIndex", IsRequired = true, DataType = "string", ParameterType = "query", Verb = "POST")]
+ public int NewIndex { get; set; }
+ }
+
[Route("/Playlists/{Id}/Items", "DELETE", Summary = "Removes items from a playlist")]
public class RemoveFromPlaylist : IReturnVoid
{
@@ -105,6 +122,13 @@ namespace MediaBrowser.Api
_libraryManager = libraryManager;
}
+ public void Post(MoveItem request)
+ {
+ var task = _playlistManager.MoveItem(request.Id, request.ItemId, request.NewIndex);
+
+ Task.WaitAll(task);
+ }
+
public async Task