using System; using System.Collections.Generic; using System.Xml.Serialization; namespace API.DTOs.OPDS; #nullable enable public class FeedEntry { [XmlElement("updated")] public string Updated { get; init; } = DateTime.UtcNow.ToString("s"); [XmlElement("id")] public required string Id { get; set; } [XmlElement("title")] public required string Title { get; set; } [XmlElement("summary")] public string? Summary { get; set; } /// /// Represents Size of the Entry /// Tag: , ElementName = "dcterms:extent" /// 2 MB /// [XmlElement("extent", Namespace = "http://purl.org/dc/terms/")] public string? Extent { get; set; } /// /// Format of the file /// https://dublincore.org/specifications/dublin-core/dcmi-terms/ /// [XmlElement("format", Namespace = "http://purl.org/dc/terms/format")] public string? Format { get; set; } [XmlElement("language", Namespace = "http://purl.org/dc/terms/")] public string? Language { get; set; } [XmlElement("content")] public FeedEntryContent? Content { get; set; } [XmlElement("link")] public List Links { get; set; } = new List(); [XmlElement("author")] public List Authors { get; set; } = new List(); [XmlElement("category")] public List Categories { get; set; } = new List(); }