using System;
using System.Collections.Generic;
using Jellyfin.Plugin.RecentlyAddedGuard.Core;
namespace Jellyfin.Plugin.RecentlyAddedGuard.Api;
///
/// Status shown on the configuration page.
///
public sealed class GuardStatus
{
///
/// Gets the number of ledger entries.
///
public int LedgerEntries { get; init; }
///
/// Gets the number of entries with at least one live item.
///
public int LiveEntries { get; init; }
///
/// Gets the number of entries whose items are gone (within the grace period).
///
public int RemovedEntries { get; init; }
///
/// Gets the number of corrections since the server started.
///
public long CorrectionsSinceStart { get; init; }
///
/// Gets the number of upgrades detected in dry-run mode since the server started.
///
public long DryRunDetectionsSinceStart { get; init; }
///
/// Gets a value indicating whether the initial seed has completed.
///
public bool SeedCompleted { get; init; }
///
/// Gets the time of the last seed or synchronization (UTC).
///
public DateTime? LastSyncUtc { get; init; }
///
/// Gets a value indicating whether dry-run mode is active.
///
public bool DryRun { get; init; }
///
/// Gets the most recent corrections, newest first.
///
public IReadOnlyList RecentCorrections { get; init; } = [];
}