63 lines
2.3 KiB
C#
63 lines
2.3 KiB
C#
using System.Text.Json.Serialization;
|
|
using Manager.YouTube.Models.Innertube;
|
|
|
|
namespace Manager.YouTube.Models;
|
|
|
|
public class YouTubeVideo
|
|
{
|
|
[JsonPropertyName("videoId")]
|
|
public required string VideoId { get; set; }
|
|
[JsonPropertyName("title")]
|
|
public string Title { get; set; } = "";
|
|
[JsonPropertyName("description")]
|
|
public string Description { get; set; } = "";
|
|
[JsonPropertyName("hashTags")]
|
|
public string[] HashTags { get; set; } = [];
|
|
[JsonPropertyName("viewCount")]
|
|
public long ViewCount { get; set; }
|
|
[JsonPropertyName("likeCount")]
|
|
public long LikeCount { get; set; }
|
|
[JsonPropertyName("channelId")]
|
|
public string ChannelId { get; set; } = "";
|
|
[JsonPropertyName("author")]
|
|
public string Author { get; set; } = "";
|
|
[JsonPropertyName("playabilityStatus")]
|
|
public string PlayabilityStatus { get; set; } = "";
|
|
[JsonPropertyName("lengthSeconds")]
|
|
public long LengthSeconds { get; set; }
|
|
[JsonPropertyName("isOwnerViewing")]
|
|
public bool IsOwnerViewing { get; set; }
|
|
[JsonPropertyName("allowRating")]
|
|
public bool AllowRating { get; set; }
|
|
[JsonPropertyName("isCrawlable")]
|
|
public bool IsCrawlable { get; set; }
|
|
[JsonPropertyName("isPrivate")]
|
|
public bool IsPrivate { get; set; }
|
|
[JsonPropertyName("isUnpluggedCorpus")]
|
|
public bool IsUnpluggedCorpus { get; set; }
|
|
[JsonPropertyName("isLive")]
|
|
public bool IsLive { get; set; }
|
|
[JsonPropertyName("isFamilySafe")]
|
|
public bool IsFamilySave { get; set; }
|
|
[JsonPropertyName("availableCountries")]
|
|
public string[] AvailableCountries { get; set; } = [];
|
|
[JsonPropertyName("isUnlisted")]
|
|
public bool IsUnlisted { get; set; }
|
|
[JsonPropertyName("hasYpcMetadata")]
|
|
public bool HasYpcMetadata { get; set; }
|
|
[JsonPropertyName("publishDate")]
|
|
public DateTime PublishDate { get; set; }
|
|
[JsonPropertyName("uploadDate")]
|
|
public DateTime UploadDate { get; set; }
|
|
[JsonPropertyName("isShortsEligible")]
|
|
public bool IsShortsEligible { get; set; }
|
|
[JsonPropertyName("category")]
|
|
public string Category { get; set; } = "";
|
|
|
|
public StreamingData StreamingData { get; set; } = new();
|
|
[JsonPropertyName("thumbnail")]
|
|
public List<WebImage> Thumbnails { get; set; } = [];
|
|
|
|
public PlayerConfig? PlayerConfig { get; set; }
|
|
public StoryBoard? StoryBoard { get; set; }
|
|
} |