]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - client/src/app/shared/video-playlist/video-playlist.service.ts
Playlist reorder support
[github/Chocobozzz/PeerTube.git] / client / src / app / shared / video-playlist / video-playlist.service.ts
index f7b37f83aabc4491bb7d1cad9da2f2746ae8dd7e..da7437507b5c048dc780c2b63c78ebe5243cf8c1 100644 (file)
@@ -17,6 +17,7 @@ import { AccountService } from '@app/shared/account/account.service'
 import { Account } from '@app/shared/account/account.model'
 import { RestService } from '@app/shared/rest'
 import { VideoExistInPlaylist } from '@shared/models/videos/playlist/video-exist-in-playlist.model'
+import { VideoPlaylistReorder } from '@shared/models/videos/playlist/video-playlist-reorder.model'
 
 @Injectable()
 export class VideoPlaylistService {
@@ -125,6 +126,19 @@ export class VideoPlaylistService {
                )
   }
 
+  reorderPlaylist (playlistId: number, oldPosition: number, newPosition: number) {
+    const body: VideoPlaylistReorder = {
+      startPosition: oldPosition,
+      insertAfterPosition: newPosition
+    }
+
+    return this.authHttp.post(VideoPlaylistService.BASE_VIDEO_PLAYLIST_URL + playlistId + '/videos/reorder', body)
+               .pipe(
+                 map(this.restExtractor.extractDataBool),
+                 catchError(err => this.restExtractor.handleError(err))
+               )
+  }
+
   doesVideoExistInPlaylist (videoId: number) {
     this.videoExistsInPlaylistSubject.next(videoId)