using System;
using System.Text.Json.Serialization;
using API.Entities.Interfaces;
namespace API.Entities;
///
/// Represents a saved page in a Chapter entity for a given user.
///
public class AppUserBookmark : IEntityDate
{
public int Id { get; set; }
public int Page { get; set; }
public int SeriesId { get; set; }
public int VolumeId { get; set; }
public int ChapterId { get; set; }
///
/// Filename in the Bookmark Directory
///
public string FileName { get; set; } = string.Empty;
///
/// Only applicable for Epubs - handles multiple images on one page
///
/// 0-based index of the image position on page
public int ImageOffset { get; set; }
///
/// Only applicable for Epubs
///
public string? XPath { get; set; }
///
/// Chapter name (from ToC) or Title (from ComicInfo/PDF)
///
public string? ChapterTitle { get; set; }
// Relationships
[JsonIgnore]
public AppUser AppUser { get; set; } = null!;
public int AppUserId { get; set; }
public DateTime Created { get; set; }
public DateTime LastModified { get; set; }
public DateTime CreatedUtc { get; set; }
public DateTime LastModifiedUtc { get; set; }
}