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

namespace OF_DL.Models.Dtos.Messages;

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

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

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

    [JsonProperty("src")] public string Src { get; set; } = "";

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

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

    [JsonProperty("locked")] public object Locked { get; set; } = new();

    [JsonProperty("duration")] public int? Duration { get; set; }

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

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

    [JsonProperty("video")] public VideoDto Video { get; set; } = new();

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

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

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

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