sprints work
This commit is contained in:
@@ -26,6 +26,7 @@ public sealed class PostgresFacetSealStore : IFacetSealStore
|
||||
{
|
||||
private readonly NpgsqlDataSource _dataSource;
|
||||
private readonly ILogger<PostgresFacetSealStore> _logger;
|
||||
private readonly TimeProvider _timeProvider;
|
||||
|
||||
private const string SelectColumns = """
|
||||
combined_merkle_root, image_digest, schema_version, created_at,
|
||||
@@ -96,12 +97,15 @@ public sealed class PostgresFacetSealStore : IFacetSealStore
|
||||
/// </summary>
|
||||
/// <param name="dataSource">The Npgsql data source.</param>
|
||||
/// <param name="logger">Logger instance.</param>
|
||||
/// <param name="timeProvider">Time provider for deterministic time.</param>
|
||||
public PostgresFacetSealStore(
|
||||
NpgsqlDataSource dataSource,
|
||||
ILogger<PostgresFacetSealStore>? logger = null)
|
||||
ILogger<PostgresFacetSealStore>? logger = null,
|
||||
TimeProvider? timeProvider = null)
|
||||
{
|
||||
_dataSource = dataSource ?? throw new ArgumentNullException(nameof(dataSource));
|
||||
_logger = logger ?? Microsoft.Extensions.Logging.Abstractions.NullLogger<PostgresFacetSealStore>.Instance;
|
||||
_timeProvider = timeProvider ?? TimeProvider.System;
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
@@ -241,7 +245,7 @@ public sealed class PostgresFacetSealStore : IFacetSealStore
|
||||
ct.ThrowIfCancellationRequested();
|
||||
ArgumentOutOfRangeException.ThrowIfNegativeOrZero(keepAtLeast);
|
||||
|
||||
var cutoff = DateTimeOffset.UtcNow - retentionPeriod;
|
||||
var cutoff = _timeProvider.GetUtcNow() - retentionPeriod;
|
||||
|
||||
await using var conn = await _dataSource.OpenConnectionAsync(ct).ConfigureAwait(false);
|
||||
await using var cmd = new NpgsqlCommand(PurgeSql, conn);
|
||||
|
||||
Reference in New Issue
Block a user