use serde::{Deserialize, Serialize};
use super::common::{AlbumId3, Artist, ArtistId3, Child};
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct SearchResult {
#[serde(default, rename = "match")]
pub matches: Vec<Child>,
#[serde(skip_serializing_if = "Option::is_none")]
pub offset: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub total_hits: Option<i64>,
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct SearchResult2 {
#[serde(default)]
pub artist: Vec<Artist>,
#[serde(default)]
pub album: Vec<Child>,
#[serde(default)]
pub song: Vec<Child>,
}
#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct SearchResult3 {
#[serde(default)]
pub artist: Vec<ArtistId3>,
#[serde(default)]
pub album: Vec<AlbumId3>,
#[serde(default)]
pub song: Vec<Child>,
}