222 lines
7.3 KiB
C#
222 lines
7.3 KiB
C#
using System.Text.Json.Serialization;
|
|
|
|
namespace SWAD.API.Models.JsonStructures.MusicAPI.Yandex;
|
|
|
|
public class YandexTrackResponse
|
|
{
|
|
[JsonPropertyName("artists")]
|
|
public List<Artist> Artists { get; set; }
|
|
|
|
[JsonPropertyName("track")] public Track Track { get; set; }
|
|
|
|
[JsonPropertyName("lyric")] public List<Lyric> Lyric { get; set; }
|
|
}
|
|
|
|
public class AlsoInAlbum
|
|
{
|
|
[JsonPropertyName("id")] public int Id { get; set; }
|
|
|
|
[JsonPropertyName("title")] public string Title { get; set; }
|
|
|
|
[JsonPropertyName("metaType")] public string MetaType { get; set; }
|
|
|
|
[JsonPropertyName("contentWarning")] public string ContentWarning { get; set; }
|
|
|
|
[JsonPropertyName("year")] public int Year { get; set; }
|
|
|
|
[JsonPropertyName("releaseDate")] public DateTime ReleaseDate { get; set; }
|
|
|
|
[JsonPropertyName("coverUri")] public string CoverUri { get; set; }
|
|
|
|
[JsonPropertyName("ogImage")] public string OgImage { get; set; }
|
|
|
|
[JsonPropertyName("genre")] public string Genre { get; set; }
|
|
|
|
[JsonPropertyName("trackCount")] public int TrackCount { get; set; }
|
|
|
|
[JsonPropertyName("likesCount")] public int LikesCount { get; set; }
|
|
|
|
[JsonPropertyName("recent")] public bool Recent { get; set; }
|
|
|
|
[JsonPropertyName("veryImportant")] public bool VeryImportant { get; set; }
|
|
|
|
[JsonPropertyName("artists")] public List<Artist> Artists { get; set; }
|
|
|
|
[JsonPropertyName("labels")] public List<System.Reflection.Emit.Label> Labels { get; set; }
|
|
|
|
[JsonPropertyName("available")] public bool Available { get; set; }
|
|
|
|
[JsonPropertyName("availableForPremiumUsers")]
|
|
public bool AvailableForPremiumUsers { get; set; }
|
|
|
|
[JsonPropertyName("availableForOptions")]
|
|
public List<string> AvailableForOptions { get; set; }
|
|
|
|
[JsonPropertyName("availableForMobile")]
|
|
public bool AvailableForMobile { get; set; }
|
|
|
|
[JsonPropertyName("availablePartially")]
|
|
public bool AvailablePartially { get; set; }
|
|
|
|
[JsonPropertyName("bests")] public List<int> Bests { get; set; }
|
|
|
|
[JsonPropertyName("disclaimers")] public List<object> Disclaimers { get; set; }
|
|
|
|
[JsonPropertyName("trackPosition")] public TrackPosition TrackPosition { get; set; }
|
|
}
|
|
|
|
public class Credit
|
|
{
|
|
[JsonPropertyName("title")] public string Title { get; set; }
|
|
|
|
[JsonPropertyName("value")] public string Value { get; set; }
|
|
}
|
|
|
|
public class Link
|
|
{
|
|
[JsonPropertyName("title")] public string Title { get; set; }
|
|
|
|
[JsonPropertyName("href")] public string Href { get; set; }
|
|
|
|
[JsonPropertyName("type")] public string Type { get; set; }
|
|
|
|
[JsonPropertyName("socialNetwork")] public string SocialNetwork { get; set; }
|
|
}
|
|
|
|
public class Live
|
|
{
|
|
[JsonPropertyName("id")] public string Id { get; set; }
|
|
|
|
[JsonPropertyName("realId")] public string RealId { get; set; }
|
|
|
|
[JsonPropertyName("title")] public string Title { get; set; }
|
|
|
|
[JsonPropertyName("version")] public string Version { get; set; }
|
|
|
|
[JsonPropertyName("contentWarning")] public string ContentWarning { get; set; }
|
|
|
|
[JsonPropertyName("major")] public Major Major { get; set; }
|
|
|
|
[JsonPropertyName("available")] public bool Available { get; set; }
|
|
|
|
[JsonPropertyName("availableForPremiumUsers")]
|
|
public bool AvailableForPremiumUsers { get; set; }
|
|
|
|
[JsonPropertyName("availableFullWithoutPermission")]
|
|
public bool AvailableFullWithoutPermission { get; set; }
|
|
|
|
[JsonPropertyName("availableForOptions")]
|
|
public List<string> AvailableForOptions { get; set; }
|
|
|
|
[JsonPropertyName("disclaimers")] public List<object> Disclaimers { get; set; }
|
|
|
|
[JsonPropertyName("storageDir")] public string StorageDir { get; set; }
|
|
|
|
[JsonPropertyName("durationMs")] public int DurationMs { get; set; }
|
|
|
|
[JsonPropertyName("fileSize")] public int FileSize { get; set; }
|
|
|
|
[JsonPropertyName("r128")] public R128 R128 { get; set; }
|
|
|
|
[JsonPropertyName("fade")] public Fade Fade { get; set; }
|
|
|
|
[JsonPropertyName("previewDurationMs")]
|
|
public int PreviewDurationMs { get; set; }
|
|
|
|
[JsonPropertyName("artists")] public List<Artist> Artists { get; set; }
|
|
|
|
[JsonPropertyName("albums")] public List<Album> Albums { get; set; }
|
|
|
|
[JsonPropertyName("coverUri")] public string CoverUri { get; set; }
|
|
|
|
[JsonPropertyName("derivedColors")] public DerivedColors DerivedColors { get; set; }
|
|
|
|
[JsonPropertyName("ogImage")] public string OgImage { get; set; }
|
|
|
|
[JsonPropertyName("lyricsAvailable")] public bool LyricsAvailable { get; set; }
|
|
|
|
[JsonPropertyName("type")] public string Type { get; set; }
|
|
|
|
[JsonPropertyName("rememberPosition")] public bool RememberPosition { get; set; }
|
|
|
|
[JsonPropertyName("trackSharingFlag")] public string TrackSharingFlag { get; set; }
|
|
|
|
[JsonPropertyName("lyricsInfo")] public LyricsInfo LyricsInfo { get; set; }
|
|
|
|
[JsonPropertyName("trackSource")] public string TrackSource { get; set; }
|
|
}
|
|
|
|
public class Lyric
|
|
{
|
|
[JsonPropertyName("lyricsAvailable")] public bool LyricsAvailable { get; set; }
|
|
|
|
[JsonPropertyName("fullLyrics")] public string FullLyrics { get; set; }
|
|
|
|
[JsonPropertyName("lyrics")] public string Lyrics { get; set; }
|
|
}
|
|
|
|
public class OtherVersions
|
|
{
|
|
[JsonPropertyName("live")] public List<Live> Live { get; set; }
|
|
}
|
|
|
|
public class SimilarTrack
|
|
{
|
|
[JsonPropertyName("id")] public string Id { get; set; }
|
|
|
|
[JsonPropertyName("realId")] public string RealId { get; set; }
|
|
|
|
[JsonPropertyName("title")] public string Title { get; set; }
|
|
|
|
[JsonPropertyName("major")] public Major Major { get; set; }
|
|
|
|
[JsonPropertyName("available")] public bool Available { get; set; }
|
|
|
|
[JsonPropertyName("availableForPremiumUsers")]
|
|
public bool AvailableForPremiumUsers { get; set; }
|
|
|
|
[JsonPropertyName("availableFullWithoutPermission")]
|
|
public bool AvailableFullWithoutPermission { get; set; }
|
|
|
|
[JsonPropertyName("availableForOptions")]
|
|
public List<string> AvailableForOptions { get; set; }
|
|
|
|
[JsonPropertyName("disclaimers")] public List<object> Disclaimers { get; set; }
|
|
|
|
[JsonPropertyName("storageDir")] public string StorageDir { get; set; }
|
|
|
|
[JsonPropertyName("durationMs")] public int DurationMs { get; set; }
|
|
|
|
[JsonPropertyName("fileSize")] public int FileSize { get; set; }
|
|
|
|
[JsonPropertyName("r128")] public R128 R128 { get; set; }
|
|
|
|
[JsonPropertyName("fade")] public Fade Fade { get; set; }
|
|
|
|
[JsonPropertyName("previewDurationMs")]
|
|
public int PreviewDurationMs { get; set; }
|
|
|
|
[JsonPropertyName("artists")] public List<Artist> Artists { get; set; }
|
|
|
|
[JsonPropertyName("albums")] public List<Album> Albums { get; set; }
|
|
|
|
[JsonPropertyName("coverUri")] public string CoverUri { get; set; }
|
|
|
|
[JsonPropertyName("derivedColors")] public DerivedColors DerivedColors { get; set; }
|
|
|
|
[JsonPropertyName("ogImage")] public string OgImage { get; set; }
|
|
|
|
[JsonPropertyName("lyricsAvailable")] public bool LyricsAvailable { get; set; }
|
|
|
|
[JsonPropertyName("type")] public string Type { get; set; }
|
|
|
|
[JsonPropertyName("rememberPosition")] public bool RememberPosition { get; set; }
|
|
|
|
[JsonPropertyName("trackSharingFlag")] public string TrackSharingFlag { get; set; }
|
|
|
|
[JsonPropertyName("lyricsInfo")] public LyricsInfo LyricsInfo { get; set; }
|
|
|
|
[JsonPropertyName("trackSource")] public string TrackSource { get; set; }
|
|
|
|
[JsonPropertyName("contentWarning")] public string ContentWarning { get; set; }
|
|
} |