using System; using System.Text.Json.Serialization; namespace Wabbajack.Networking.NexusApi.DTOs; public class ModFile { [JsonPropertyName("id")] public int[] Id { get; set; } = Array.Empty(); [JsonPropertyName("uid")] public object Uid { get; set; } = ""; [JsonPropertyName("file_id")] public int FileId { get; set; } [JsonPropertyName("name")] public string Name { get; set; } = ""; [JsonPropertyName("version")] public string Version { get; set; } = ""; [JsonPropertyName("category_id")] public int CategoryId { get; set; } [JsonPropertyName("category_name")] public string? CategoryName { get; set; } = null; [JsonPropertyName("is_primary")] public bool IsPrimary { get; set; } [JsonPropertyName("size")] public int Size { get; set; } [JsonPropertyName("file_name")] public string FileName { get; set; } = ""; [JsonPropertyName("uploaded_timestamp")] public int UploadedTimestamp { get; set; } [JsonPropertyName("uploaded_time")] public DateTime UploadedTime { get; set; } [JsonPropertyName("mod_version")] public string ModVersion { get; set; } = ""; [JsonPropertyName("external_virus_scan_url")] public string ExternalVirusScanUrl { get; set; } = ""; [JsonPropertyName("description")] public string Description { get; set; } = ""; [JsonPropertyName("size_kb")] public int SizeKb { get; set; } [JsonPropertyName("size_in_bytes")] public long? SizeInBytes { get; set; } [JsonPropertyName("changelog_html")] public string ChangelogHtml { get; set; } = ""; [JsonPropertyName("content_preview_link")] public string ContentPreviewLink { get; set; } = ""; } public class ModFiles { [JsonPropertyName("files")] public ModFile[] Files { get; set; } = Array.Empty(); }