mirror of
https://github.com/Kareadita/Kavita.git
synced 2025-06-16 03:54:16 -04:00
* Use Reading Order to count epub pages rather than raw HTML files. * Send email on background thread for initial invite flow. * Reorder default writing style for new users so Horizontal is default * Changed reading activity to use average hours read rather than events to bring more meaningful data. * added ability to start reading incognito from the top of series detail, needs a bit of styling help though. * Refactored extensions out into their own package, added new fields for reading list to cover total run, cbl import now takes those dates and overrides on import. Replaced many instances of numbers to be comma separated. * Added ability to edit reading list run start and end year/month. Refactored some code for valid month/year into a helper method. * Added a way to see the reading list's release years. * Added some merged image code, but had to remove due to cover dimensions not fixed. * tweaked style for accessibility mode on reading list items * Tweaked css for non virtualized and virtualized containers * Fixed release updates failing * Commented out the merge code. * Typo on words read per year * Fixed unit tests * Fixed virtualized scroll * Cleanup CSS
64 lines
2.1 KiB
C#
64 lines
2.1 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using API.Entities.Enums;
|
|
using API.Entities.Interfaces;
|
|
|
|
namespace API.Entities;
|
|
|
|
/// <summary>
|
|
/// This is a collection of <see cref="ReadingListItem"/> which represent individual chapters and an order.
|
|
/// </summary>
|
|
public class ReadingList : IEntityDate
|
|
{
|
|
public int Id { get; init; }
|
|
public required string Title { get; set; }
|
|
/// <summary>
|
|
/// A normalized string used to check if the reading list already exists in the DB
|
|
/// </summary>
|
|
public required string NormalizedTitle { get; set; }
|
|
public string? Summary { get; set; }
|
|
/// <summary>
|
|
/// Reading lists that are promoted are only done by admins
|
|
/// </summary>
|
|
public bool Promoted { get; set; }
|
|
/// <summary>
|
|
/// Absolute path to the (managed) image file
|
|
/// </summary>
|
|
/// <remarks>The file is managed internally to Kavita's APPDIR</remarks>
|
|
public string? CoverImage { get; set; }
|
|
public bool CoverImageLocked { get; set; }
|
|
|
|
/// <summary>
|
|
/// The highest age rating from all Series within the reading list
|
|
/// </summary>
|
|
/// <remarks>Introduced in v0.6</remarks>
|
|
public required AgeRating AgeRating { get; set; } = AgeRating.Unknown;
|
|
|
|
public ICollection<ReadingListItem> Items { get; set; } = null!;
|
|
public DateTime Created { get; set; }
|
|
public DateTime LastModified { get; set; }
|
|
public DateTime CreatedUtc { get; set; }
|
|
public DateTime LastModifiedUtc { get; set; }
|
|
/// <summary>
|
|
/// Minimum Year the Reading List starts
|
|
/// </summary>
|
|
public int StartingYear { get; set; }
|
|
/// <summary>
|
|
/// Minimum Month the Reading List starts
|
|
/// </summary>
|
|
public int StartingMonth { get; set; }
|
|
/// <summary>
|
|
/// Maximum Year the Reading List starts
|
|
/// </summary>
|
|
public int EndingYear { get; set; }
|
|
/// <summary>
|
|
/// Maximum Month the Reading List starts
|
|
/// </summary>
|
|
public int EndingMonth { get; set; }
|
|
|
|
// Relationships
|
|
public int AppUserId { get; set; }
|
|
public AppUser AppUser { get; set; } = null!;
|
|
|
|
}
|