using API.Entities.Enums; namespace API.DTOs.Reader; public sealed record RereadDto { /// /// Should the prompt be shown /// public required bool ShouldPrompt { get; init; } /// /// If the prompt is triggered because of time, false when triggered because of fully read /// public bool TimePrompt { get; init; } = false; /// /// True if the entity is not atomic and will be fully reread on reread (I.e. rereading a series on volume) /// public bool FullReread { get; init; } = false; /// /// Days elapsed since was last read /// public int DaysSinceLastRead { get; init; } /// /// The chapter to open if continue is selected /// public RereadChapterDto ChapterOnContinue { get; init; } /// /// The chapter to open if reread is selected, this may be equal to /// public RereadChapterDto ChapterOnReread { get; init; } public static RereadDto Dont() { return new RereadDto { ShouldPrompt = false }; } } public sealed record RereadChapterDto(int LibraryId, int SeriesId, int VolumeId, int ChapterId, string Label, MangaFormat? Format);