use crate::prelude::*;

/// Release credits.
///
/// Artists, composers, etc.
#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct Credits {
    /// Arrangers.
    ///
    /// *OPS only*
    pub arranger: Option<Vec<Credit>>,
    /// Artists
    pub artists: Vec<Credit>,
    /// Composers.
    ///
    /// Typically present for classical works.
    pub composers: Vec<Credit>,
    /// Conductors.
    ///
    /// Typically present for classical works.
    pub conductor: Vec<Credit>,
    /// DJs
    pub dj: Vec<Credit>,
    /// Producers
    pub producer: Vec<Credit>,
    /// Remix artist
    pub remixed_by: Vec<Credit>,
    /// Featured artists
    pub with: Vec<Credit>,
}
