Search/AdvisoryAI and DAL conversion to EF finishes up. Preparation for microservices consolidation.

This commit is contained in:
master
2026-02-25 18:19:22 +02:00
parent 4db038123b
commit 63c70a6d37
447 changed files with 52257 additions and 2636 deletions

View File

@@ -11,13 +11,16 @@ public sealed class PostgresVerdictRepository : IVerdictRepository
{
private readonly string _connectionString;
private readonly ILogger<PostgresVerdictRepository> _logger;
private readonly TimeProvider _timeProvider;
public PostgresVerdictRepository(
string connectionString,
ILogger<PostgresVerdictRepository> logger)
ILogger<PostgresVerdictRepository> logger,
TimeProvider? timeProvider = null)
{
_connectionString = connectionString ?? throw new ArgumentNullException(nameof(connectionString));
_logger = logger ?? throw new ArgumentNullException(nameof(logger));
_timeProvider = timeProvider ?? TimeProvider.System;
}
public async Task<string> StoreVerdictAsync(
@@ -65,7 +68,7 @@ public sealed class PostgresVerdictRepository : IVerdictRepository
)
ON CONFLICT (verdict_id) DO UPDATE SET
envelope = EXCLUDED.envelope,
updated_at = NOW()
updated_at = @Now
RETURNING verdict_id;
";
@@ -74,6 +77,7 @@ public sealed class PostgresVerdictRepository : IVerdictRepository
await using var connection = new NpgsqlConnection(_connectionString);
await connection.OpenAsync(cancellationToken);
var now = _timeProvider.GetUtcNow();
var verdictId = await connection.ExecuteScalarAsync<string>(
new CommandDefinition(
sql,
@@ -93,7 +97,8 @@ public sealed class PostgresVerdictRepository : IVerdictRepository
record.PredicateDigest,
record.DeterminismHash,
record.RekorLogIndex,
record.CreatedAt
record.CreatedAt,
Now = now
},
cancellationToken: cancellationToken
)