using Newtonsoft.Json;
using OF_DL.Models.Dtos.Common;

namespace OF_DL.Models.Dtos.Streams;

public class MediumDto
{
    [JsonProperty("id")] public long Id { get; set; }

    [JsonProperty("type")] public string Type { get; set; } = "";

    [JsonProperty("convertedToVideo")] public bool ConvertedToVideo { get; set; }

    [JsonProperty("canView")] public bool CanView { get; set; }

    [JsonProperty("hasError")] public bool HasError { get; set; }

    [JsonProperty("createdAt")] public DateTime? CreatedAt { get; set; }

    [JsonProperty("info")] public InfoDto Info { get; set; } = new();

    [JsonProperty("source")] public SourceDto Source { get; set; } = new();

    [JsonProperty("squarePreview")] public string SquarePreview { get; set; } = "";

    [JsonProperty("full")] public string Full { get; set; } = "";

    [JsonProperty("preview")] public string Preview { get; set; } = "";

    [JsonProperty("thumb")] public string Thumb { get; set; } = "";

    [JsonProperty("hasCustomPreview")] public bool HasCustomPreview { get; set; }

    [JsonProperty("files")] public FilesDto Files { get; set; } = new();

    [JsonProperty("videoSources")] public VideoSourcesDto VideoSources { get; set; } = new();
}
