mirror of
				https://github.com/Kareadita/Kavita.git
				synced 2025-10-30 18:22:29 -04:00 
			
		
		
		
	* Fixed up a localization lookup test case * Refactored some webp to a unified method * Cleaned up some code * Expanded webp conversion for covers to all entities * Code cleanup * Prompt the user when they are about to delete multiple series via bulk actions * Aligned Kavita to OPDS-PS 1.2. * Fixed a bug where clearing metadata filter of series name didn't clear the actual field. * Added some documentation * Refactored how covert covers to webp works. Now we will handle all custom covers for all entities. Volumes and Series will not be touched but instead be updated via a RefreshCovers call. This will fix up the references much faster. * Fixed up the OPDS-PS 1.2 attributes to only show on PS links
		
			
				
	
	
		
			64 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| using System;
 | |
| using System.Xml.Serialization;
 | |
| 
 | |
| namespace API.DTOs.OPDS;
 | |
| 
 | |
| public class FeedLink
 | |
| {
 | |
|     [XmlIgnore]
 | |
|     public bool IsPageStream { get; set; }
 | |
|     /// <summary>
 | |
|     /// Relation on the Link
 | |
|     /// </summary>
 | |
|     [XmlAttribute("rel")]
 | |
|     public string Rel { get; set; }
 | |
| 
 | |
|     /// <summary>
 | |
|     /// Should be any of the types here <see cref="FeedLinkType"/>
 | |
|     /// </summary>
 | |
|     [XmlAttribute("type")]
 | |
|     public string Type { get; set; }
 | |
| 
 | |
|     [XmlAttribute("href")]
 | |
|     public string Href { get; set; }
 | |
| 
 | |
|     [XmlAttribute("title")]
 | |
|     public string Title { get; set; }
 | |
| 
 | |
|     [XmlAttribute("count", Namespace = "http://vaemendis.net/opds-pse/ns")]
 | |
|     public int TotalPages { get; set; }
 | |
| 
 | |
|     /// <summary>
 | |
|     /// lastRead MUST provide the last page read for this document. The numbering starts at 1.
 | |
|     /// </summary>
 | |
|     [XmlAttribute("lastRead", Namespace = "http://vaemendis.net/opds-pse/ns")]
 | |
|     public int LastRead { get; set; } = -1;
 | |
| 
 | |
|     /// <summary>
 | |
|     /// lastReadDate MAY provide the date of when the lastRead attribute was last updated.
 | |
|     /// </summary>
 | |
|     /// <remarks>Attribute MUST conform Atom's Date construct</remarks>
 | |
|     [XmlAttribute("lastReadDate", Namespace = "http://vaemendis.net/opds-pse/ns")]
 | |
|     public DateTime LastReadDate { get; set; }
 | |
| 
 | |
|     public bool ShouldSerializeLastReadDate()
 | |
|     {
 | |
|         return IsPageStream;
 | |
|     }
 | |
| 
 | |
|     public bool ShouldSerializeLastRead()
 | |
|     {
 | |
|         return LastRead >= 0;
 | |
|     }
 | |
| 
 | |
|     public bool ShouldSerializeTitle()
 | |
|     {
 | |
|         return !string.IsNullOrEmpty(Title);
 | |
|     }
 | |
| 
 | |
|     public bool ShouldSerializeTotalPages()
 | |
|     {
 | |
|         return TotalPages > 0;
 | |
|     }
 | |
| }
 |