using System.Text.Json.Serialization; namespace SWAD.API.Models.JsonStructures.MusicAPI.Yandex; public class YandexTrackResponse { [JsonPropertyName("artists")] public List Artists { get; set; } [JsonPropertyName("track")] public Track Track { get; set; } [JsonPropertyName("lyric")] public List 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 Artists { get; set; } [JsonPropertyName("labels")] public List Labels { get; set; } [JsonPropertyName("available")] public bool Available { get; set; } [JsonPropertyName("availableForPremiumUsers")] public bool AvailableForPremiumUsers { get; set; } [JsonPropertyName("availableForOptions")] public List AvailableForOptions { get; set; } [JsonPropertyName("availableForMobile")] public bool AvailableForMobile { get; set; } [JsonPropertyName("availablePartially")] public bool AvailablePartially { get; set; } [JsonPropertyName("bests")] public List Bests { get; set; } [JsonPropertyName("disclaimers")] public List 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 AvailableForOptions { get; set; } [JsonPropertyName("disclaimers")] public List 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 Artists { get; set; } [JsonPropertyName("albums")] public List 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 { 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 AvailableForOptions { get; set; } [JsonPropertyName("disclaimers")] public List 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 Artists { get; set; } [JsonPropertyName("albums")] public List 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; } }