using Newtonsoft.Json; using ProtoBuf; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace GrpcShared.DTO.Track { [ProtoContract] public class CurrentTrackResponse : StatusCodeMessage { [ProtoMember(1)] [JsonProperty("timestamp")] public string? Timestamp{ get; set; } [ProtoMember(2)] [JsonProperty("progress_ms")] public int? ProgressMs { get; set; } [ProtoMember(3)] [JsonProperty("is_playing")] public bool? IsPlaying { get; set; } [ProtoMember(4)] [JsonProperty("item")] public Item? Item { get; set; } } [ProtoContract] public class Item { [ProtoMember(1)] [JsonProperty("album")] public Album? Album { get; set; } [ProtoMember(2)] [JsonProperty("artists")] public Artist[]? Artists { get; set; } [ProtoMember(3)] [JsonProperty("id")] public string? Id { get; set; } [ProtoMember(4)] [JsonProperty("name")] public string? Name { get; set; } [ProtoMember(5)] [JsonProperty("href")] public string? Href { get; set; } } [ProtoContract] public class Album { [ProtoMember(1)] [JsonProperty("id")] public string? Id { get; set; } [ProtoMember(2)] [JsonProperty("name")] public string? Name { get; set; } [ProtoMember(3)] [JsonProperty("images")] public Image[]? Images { get; set; } [ProtoMember(4)] [JsonProperty("href")] public string? Href { get; set; } } [ProtoContract] public class Artist { [ProtoMember(1)] [JsonProperty("id")] public string? Id { get; set; } [ProtoMember(2)] [JsonProperty("name")] public string? Name { get; set; } [ProtoMember(3)] [JsonProperty("href")] public string? Href { get; set; } } [ProtoContract] public class Image { [ProtoMember(1)] [JsonProperty("height")] public int? Height{ get; set; } [ProtoMember(2)] [JsonProperty("url")] public string? Url { get; set; } [ProtoMember(3)] [JsonProperty("width")] public int? Width { get; set; } } }