feat: add Qobuz playlist caching with versioning and infinite scroll UI
- Add qobuz_debug to .gitignore - Bump PMOMusic version to 0.3.26 - Add .cargo/ copy in Dockerfile for registry config - Implement infinite scroll in ServerDrawer.vue with IntersectionObserver and sentinel element - Add source/source_version fields to playlists for cache invalidation - Update pmocache and pmoplaylist DB schemas with versioning (SCHEMA_VERSION) - Add Qobuz API metadata fetching and pagination for playlist tracks - Implement album/playlist cache invalidation based on released_at/updated_at timestamps - Refactor adapt_playlist_items_to_qobuz → adapt_items_to_qobuz with cleaner logic - Add debug mode to save Qobuz API responses when QOBUZ_DEBUG_DIR is set
This commit is contained in:
@@ -54,6 +54,9 @@ pub struct Album {
|
||||
/// Date de sortie (format ISO 8601)
|
||||
#[serde(default)]
|
||||
pub release_date: Option<String>,
|
||||
/// Timestamp Unix de sortie (released_at)
|
||||
#[serde(default)]
|
||||
pub released_at: Option<i64>,
|
||||
/// URL de l'image de couverture
|
||||
#[serde(default)]
|
||||
pub image: Option<String>,
|
||||
@@ -141,6 +144,9 @@ pub struct Playlist {
|
||||
/// Indique si c'est une playlist publique
|
||||
#[serde(default)]
|
||||
pub is_public: bool,
|
||||
/// Timestamp de dernière modification (Unix epoch secondes)
|
||||
#[serde(default)]
|
||||
pub updated_at: Option<i64>,
|
||||
/// Propriétaire de la playlist
|
||||
#[serde(default)]
|
||||
pub owner: Option<PlaylistOwner>,
|
||||
|
||||
Reference in New Issue
Block a user