Kavita/Kavita.Models/Entities/Progress/AppUserReadingSession.cs
Fesaa c62b20f54b
BE Tech Debt (#4497)
Co-authored-by: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Co-authored-by: Joe Milazzo <josephmajora@gmail.com>
2026-03-07 10:04:08 -08:00

34 lines
1.1 KiB
C#

using System;
using System.Collections.Generic;
using Kavita.Models.Entities.Interfaces;
using Kavita.Models.Entities.User;
using Microsoft.EntityFrameworkCore;
namespace Kavita.Models.Entities.Progress;
/// <summary>
/// Represents a reading session for a user. See <see cref="ReadingSessionService"/>
/// </summary>
[Index(nameof(IsActive), IsUnique = false)]
public class AppUserReadingSession : IEntityDate
{
public int Id { get; set; }
public DateTime StartTime { get; set; }
public DateTime StartTimeUtc { get; set; }
public DateTime? EndTime { get; set; }
public DateTime? EndTimeUtc { get; set; }
public bool IsActive { get; set; } = true;
/// <summary>
/// Actual activity data recorded during the session
/// </summary>
public IList<AppUserReadingSessionActivityData> ActivityData { get; set; }
public DateTime Created { get; set; }
public DateTime CreatedUtc { get; set; }
public DateTime LastModified { get; set; }
public DateTime LastModifiedUtc { get; set; }
public int AppUserId { get; set; }
public virtual AppUser AppUser { get; set; }
}