A decentralized music tracking and discovery platform built on AT Protocol 🎵

fix(listenbrainz/types): add extra field to AdditionalInfo for flexible data handling

+5 -3
+5 -3
crates/scrobbler/src/listenbrainz/types.rs
··· 1 + use std::collections::HashMap; 2 + 1 3 use serde::Deserialize; 4 + use serde_json::Value; 2 5 3 6 #[derive(Deserialize, Debug, Clone)] 4 7 pub struct AdditionalInfo { ··· 8 11 pub duration_ms: Option<u64>, 9 12 pub media_player: Option<String>, 10 13 pub submission_client: Option<String>, 14 + #[serde(flatten)] 15 + pub extra: HashMap<String, Value>, 11 16 } 12 17 13 18 #[derive(Deserialize, Debug, Clone)] ··· 15 20 pub artist_name: String, 16 21 pub track_name: String, 17 22 pub release_name: Option<String>, 18 - pub recording_mbid: Option<String>, 19 - pub artist_mbid: Option<String>, 20 - pub release_mbid: Option<String>, 21 23 pub additional_info: Option<AdditionalInfo>, 22 24 } 23 25