sprints work

This commit is contained in:
master
2026-01-11 11:19:40 +02:00
parent f6ef1ef337
commit 582a41d7a9
72 changed files with 2680 additions and 390 deletions

View File

@@ -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);