namespace StellaOps.Findings.Ledger.Infrastructure.AirGap;
///
/// Repository for managing evidence snapshot links.
///
public interface IEvidenceSnapshotRepository
{
///
/// Inserts a new evidence snapshot record.
///
Task InsertAsync(EvidenceSnapshotRecord record, CancellationToken cancellationToken);
///
/// Gets evidence snapshots for a finding.
///
Task> GetByFindingIdAsync(
string tenantId,
string findingId,
CancellationToken cancellationToken);
///
/// Gets the latest evidence snapshot for a finding.
///
Task GetLatestByFindingIdAsync(
string tenantId,
string findingId,
CancellationToken cancellationToken);
///
/// Gets all evidence snapshots for a bundle.
///
Task> GetByBundleUriAsync(
string tenantId,
string bundleUri,
CancellationToken cancellationToken);
///
/// Checks if an evidence snapshot exists and is not expired.
///
Task ExistsValidAsync(
string tenantId,
string findingId,
string dsseDigest,
CancellationToken cancellationToken);
}