Split software arch desc for easier manintenance. Many fixes related to next video playing and remote playback
This commit is contained in:
@@ -191,4 +191,68 @@ pub trait MediaRepository: Send + Sync {
|
||||
item_id: &str,
|
||||
limit: Option<usize>,
|
||||
) -> Result<SearchResult, RepoError>;
|
||||
|
||||
// ===== Playlist Methods =====
|
||||
|
||||
/// Create a new playlist on the server
|
||||
///
|
||||
/// @req: UR-014 - Make and edit playlists of music that sync back to Jellyfin
|
||||
/// @req: JA-019 - Get/create/update playlists
|
||||
async fn create_playlist(
|
||||
&self,
|
||||
name: &str,
|
||||
item_ids: &[String],
|
||||
) -> Result<PlaylistCreatedResult, RepoError>;
|
||||
|
||||
/// Delete a playlist
|
||||
///
|
||||
/// @req: UR-014 - Make and edit playlists of music that sync back to Jellyfin
|
||||
/// @req: JA-019 - Get/create/update playlists
|
||||
async fn delete_playlist(&self, playlist_id: &str) -> Result<(), RepoError>;
|
||||
|
||||
/// Rename a playlist
|
||||
///
|
||||
/// @req: UR-014 - Make and edit playlists of music that sync back to Jellyfin
|
||||
/// @req: JA-019 - Get/create/update playlists
|
||||
async fn rename_playlist(&self, playlist_id: &str, name: &str) -> Result<(), RepoError>;
|
||||
|
||||
/// Get playlist items with PlaylistItemId (needed for remove/reorder)
|
||||
///
|
||||
/// @req: UR-014 - Make and edit playlists of music that sync back to Jellyfin
|
||||
/// @req: JA-019 - Get/create/update playlists
|
||||
async fn get_playlist_items(
|
||||
&self,
|
||||
playlist_id: &str,
|
||||
) -> Result<Vec<PlaylistEntry>, RepoError>;
|
||||
|
||||
/// Add items to a playlist
|
||||
///
|
||||
/// @req: UR-014 - Make and edit playlists of music that sync back to Jellyfin
|
||||
/// @req: JA-020 - Add/remove items from playlist
|
||||
async fn add_to_playlist(
|
||||
&self,
|
||||
playlist_id: &str,
|
||||
item_ids: &[String],
|
||||
) -> Result<(), RepoError>;
|
||||
|
||||
/// Remove items from a playlist using entry IDs (PlaylistItemId, NOT media item IDs)
|
||||
///
|
||||
/// @req: UR-014 - Make and edit playlists of music that sync back to Jellyfin
|
||||
/// @req: JA-020 - Add/remove items from playlist
|
||||
async fn remove_from_playlist(
|
||||
&self,
|
||||
playlist_id: &str,
|
||||
entry_ids: &[String],
|
||||
) -> Result<(), RepoError>;
|
||||
|
||||
/// Move a playlist item to a new position
|
||||
///
|
||||
/// @req: UR-014 - Make and edit playlists of music that sync back to Jellyfin
|
||||
/// @req: JA-020 - Add/remove items from playlist
|
||||
async fn move_playlist_item(
|
||||
&self,
|
||||
playlist_id: &str,
|
||||
item_id: &str,
|
||||
new_index: u32,
|
||||
) -> Result<(), RepoError>;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user