mirror of
https://github.com/ZuneDev/ZuneNetApi.git
synced 2026-07-27 13:13:20 -07:00
247 lines
5.3 KiB
C#
247 lines
5.3 KiB
C#
using Newtonsoft.Json;
|
|
|
|
namespace AppleMusicSharp.Models;
|
|
|
|
public class Root<TData>
|
|
{
|
|
[JsonProperty("data")]
|
|
public List<TData> Data { get; set; }
|
|
}
|
|
|
|
public class Room
|
|
{
|
|
[JsonProperty("id")]
|
|
public string Id { get; set; }
|
|
|
|
[JsonProperty("type")]
|
|
public string Type { get; set; }
|
|
|
|
[JsonProperty("href")]
|
|
public string Href { get; set; }
|
|
|
|
[JsonProperty("attributes")]
|
|
public RoomAttributes Attributes { get; set; }
|
|
|
|
[JsonProperty("relationships")]
|
|
public RoomRelationships Relationships { get; set; }
|
|
}
|
|
|
|
public class RoomAttributes
|
|
{
|
|
[JsonProperty("defaultSort")]
|
|
public string DefaultSort { get; set; }
|
|
|
|
[JsonProperty("doNotFilter")]
|
|
public bool DoNotFilter { get; set; }
|
|
|
|
[JsonProperty("editorialElementKind")]
|
|
public string EditorialElementKind { get; set; }
|
|
|
|
[JsonProperty("lastModifiedDate")]
|
|
public DateTime LastModifiedDate { get; set; }
|
|
|
|
[JsonProperty("resourceTypes")]
|
|
public List<string> ResourceTypes { get; set; }
|
|
|
|
[JsonProperty("sorts")]
|
|
public List<string> Sorts { get; set; }
|
|
|
|
[JsonProperty("title")]
|
|
public string Title { get; set; }
|
|
}
|
|
|
|
public class RoomRelationships
|
|
{
|
|
[JsonProperty("contents")]
|
|
public Contents<Album> Contents { get; set; }
|
|
}
|
|
|
|
public class Contents<T>
|
|
{
|
|
[JsonProperty("href")]
|
|
public string Href { get; set; }
|
|
|
|
[JsonProperty("next")]
|
|
public string Next { get; set; }
|
|
|
|
[JsonProperty("data")]
|
|
public List<T> Data { get; set; }
|
|
}
|
|
|
|
public class DataReference
|
|
{
|
|
[JsonProperty("id")]
|
|
public string Id { get; set; }
|
|
|
|
[JsonProperty("type")]
|
|
public string Type { get; set; }
|
|
|
|
[JsonProperty("href")]
|
|
public string Href { get; set; }
|
|
}
|
|
|
|
public class Album
|
|
{
|
|
[JsonProperty("id")]
|
|
public string Id { get; set; }
|
|
|
|
[JsonProperty("type")]
|
|
public string Type { get; set; }
|
|
|
|
[JsonProperty("href")]
|
|
public string Href { get; set; }
|
|
|
|
[JsonProperty("attributes")]
|
|
public AlbumAttributes Attributes { get; set; }
|
|
|
|
[JsonProperty("meta")]
|
|
public AlbumMeta Meta { get; set; }
|
|
}
|
|
|
|
public class AlbumAttributes
|
|
{
|
|
[JsonProperty("artistName")]
|
|
public string ArtistName { get; set; }
|
|
|
|
[JsonProperty("artistUrl")]
|
|
public string ArtistUrl { get; set; }
|
|
|
|
[JsonProperty("editorialArtwork")]
|
|
public EditorialArtwork EditorialArtwork { get; set; }
|
|
|
|
[JsonProperty("plainEditorialNotes")]
|
|
public EditorialNotes PlainEditorialNotes { get; set; }
|
|
|
|
[JsonProperty("artwork")]
|
|
public Artwork Artwork { get; set; }
|
|
|
|
[JsonProperty("audioTraits")]
|
|
public List<string> AudioTraits { get; set; }
|
|
|
|
[JsonProperty("contentRating")]
|
|
public string ContentRating { get; set; }
|
|
|
|
[JsonProperty("copyright")]
|
|
public string Copyright { get; set; }
|
|
|
|
[JsonProperty("editorialNotes")]
|
|
public EditorialNotes EditorialNotes { get; set; }
|
|
|
|
[JsonProperty("genreNames")]
|
|
public List<string> GenreNames { get; set; }
|
|
|
|
[JsonProperty("isCompilation")]
|
|
public bool IsCompilation { get; set; }
|
|
|
|
[JsonProperty("isComplete")]
|
|
public bool IsComplete { get; set; }
|
|
|
|
[JsonProperty("isMasteredForItunes")]
|
|
public bool IsMasteredForItunes { get; set; }
|
|
|
|
[JsonProperty("isPrerelease")]
|
|
public bool IsPrerelease { get; set; }
|
|
|
|
[JsonProperty("isSingle")]
|
|
public bool IsSingle { get; set; }
|
|
|
|
[JsonProperty("name")]
|
|
public string Name { get; set; }
|
|
|
|
[JsonProperty("playParams")]
|
|
public PlayParams PlayParams { get; set; }
|
|
|
|
[JsonProperty("recordLabel")]
|
|
public string RecordLabel { get; set; }
|
|
|
|
[JsonProperty("releaseDate")]
|
|
public string ReleaseDate { get; set; }
|
|
|
|
[JsonProperty("trackCount")]
|
|
public int TrackCount { get; set; }
|
|
|
|
[JsonProperty("upc")]
|
|
public string Upc { get; set; }
|
|
|
|
[JsonProperty("url")]
|
|
public string Url { get; set; }
|
|
}
|
|
|
|
public class Artwork
|
|
{
|
|
[JsonProperty("bgColor")]
|
|
public string BgColor { get; set; }
|
|
|
|
[JsonProperty("hasP3")]
|
|
public bool HasP3 { get; set; }
|
|
|
|
[JsonProperty("height")]
|
|
public int Height { get; set; }
|
|
|
|
[JsonProperty("textColor1")]
|
|
public string TextColor1 { get; set; }
|
|
|
|
[JsonProperty("textColor2")]
|
|
public string TextColor2 { get; set; }
|
|
|
|
[JsonProperty("textColor3")]
|
|
public string TextColor3 { get; set; }
|
|
|
|
[JsonProperty("textColor4")]
|
|
public string TextColor4 { get; set; }
|
|
|
|
[JsonProperty("url")]
|
|
public string Url { get; set; }
|
|
|
|
[JsonProperty("width")]
|
|
public int Width { get; set; }
|
|
}
|
|
|
|
public class EditorialNotes
|
|
{
|
|
[JsonProperty("short")]
|
|
public string Short { get; set; }
|
|
|
|
[JsonProperty("standard")]
|
|
public string Standard { get; set; }
|
|
|
|
[JsonProperty("tagline")]
|
|
public string Tagline { get; set; }
|
|
}
|
|
|
|
public class PlayParams
|
|
{
|
|
[JsonProperty("id")]
|
|
public string Id { get; set; }
|
|
|
|
[JsonProperty("kind")]
|
|
public string Kind { get; set; }
|
|
}
|
|
|
|
public class Preview
|
|
{
|
|
[JsonProperty("artwork")]
|
|
public Artwork Artwork { get; set; }
|
|
|
|
[JsonProperty("hlsUrl")]
|
|
public string HlsUrl { get; set; }
|
|
|
|
[JsonProperty("url")]
|
|
public string Url { get; set; }
|
|
}
|
|
|
|
public class AlbumMeta
|
|
{
|
|
[JsonProperty("contentVersion")]
|
|
public ContentVersion ContentVersion { get; set; }
|
|
}
|
|
|
|
public class ContentVersion
|
|
{
|
|
[JsonProperty("MZ_INDEXER")]
|
|
public long MzIndexer { get; set; }
|
|
|
|
[JsonProperty("RTCI")]
|
|
public int Rtci { get; set; }
|
|
}
|