using System; using System.Collections.Generic; using API.Entities; using API.Entities.Enums; namespace API.DTOs.Reader; /// /// Represents an annotation on a book /// public sealed record AnnotationDto { public int Id { get; set; } /// /// Starting point of the Highlight /// public required string XPath { get; set; } /// /// Ending point of the Highlight. Can be the same as /// public string EndingXPath { get; set; } /// /// The text selected. /// public string SelectedText { get; set; } /// /// Rich text Comment /// public string? Comment { get; set; } /// /// Title of the TOC Chapter within Epub (not Chapter Entity) /// public string? ChapterTitle { get; set; } /// /// A calculated selection of the surrounding text. This does not update after creation. /// public string? Context { get; set; } /// /// The number of characters selected /// public int HighlightCount { get; set; } public bool ContainsSpoiler { get; set; } public int PageNumber { get; set; } /// /// Selected Highlight Slot Index [0-4] /// public int SelectedSlotIndex { get; set; } public required int ChapterId { get; set; } public required int VolumeId { get; set; } public required int SeriesId { get; set; } public required int LibraryId { get; set; } public required int OwnerUserId { get; set; } public string OwnerUsername { get; set; } public DateTime CreatedUtc { get; set; } public DateTime LastModifiedUtc { get; set; } }