prawn 0.0.3

Rust Client for the Tidal API providing comprehensive API coverag, and easy OAuth management
Documentation
/*
 * TIDAL API
 *
 * The TIDAL API is a [JSON:API](https://jsonapi.org/)–compliant web API that exposes TIDAL’s music, metadata, and user-related functionality through a consistent, resource-oriented design. More information and API management are available at [developer.tidal.com](developer.tidal.com)
 *
 * The version of the OpenAPI document: 1.0.36
 * 
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
#[serde(default)]
pub struct TracksRelationships {
    #[serde(rename = "albums")]
    pub albums: Box<models::MultiRelationshipDataDocument>,
    #[serde(rename = "artists")]
    pub artists: Box<models::MultiRelationshipDataDocument>,
    #[serde(rename = "genres")]
    pub genres: Box<models::MultiRelationshipDataDocument>,
    #[serde(rename = "lyrics")]
    pub lyrics: Box<models::MultiRelationshipDataDocument>,
    #[serde(rename = "owners")]
    pub owners: Box<models::MultiRelationshipDataDocument>,
    #[serde(rename = "providers")]
    pub providers: Box<models::MultiRelationshipDataDocument>,
    #[serde(rename = "radio")]
    pub radio: Box<models::MultiRelationshipDataDocument>,
    #[serde(rename = "replacement")]
    pub replacement: Box<models::SingleRelationshipDataDocument>,
    #[serde(rename = "shares")]
    pub shares: Box<models::MultiRelationshipDataDocument>,
    #[serde(rename = "similarTracks")]
    pub similar_tracks: Box<models::MultiRelationshipDataDocument>,
    #[serde(rename = "sourceFile")]
    pub source_file: Box<models::SingleRelationshipDataDocument>,
    #[serde(rename = "trackStatistics")]
    pub track_statistics: Box<models::SingleRelationshipDataDocument>,
}

impl TracksRelationships {
    pub fn new(albums: models::MultiRelationshipDataDocument, artists: models::MultiRelationshipDataDocument, genres: models::MultiRelationshipDataDocument, lyrics: models::MultiRelationshipDataDocument, owners: models::MultiRelationshipDataDocument, providers: models::MultiRelationshipDataDocument, radio: models::MultiRelationshipDataDocument, replacement: models::SingleRelationshipDataDocument, shares: models::MultiRelationshipDataDocument, similar_tracks: models::MultiRelationshipDataDocument, source_file: models::SingleRelationshipDataDocument, track_statistics: models::SingleRelationshipDataDocument) -> TracksRelationships {
        TracksRelationships {
            albums: Box::new(albums),
            artists: Box::new(artists),
            genres: Box::new(genres),
            lyrics: Box::new(lyrics),
            owners: Box::new(owners),
            providers: Box::new(providers),
            radio: Box::new(radio),
            replacement: Box::new(replacement),
            shares: Box::new(shares),
            similar_tracks: Box::new(similar_tracks),
            source_file: Box::new(source_file),
            track_statistics: Box::new(track_statistics),
        }
    }
}