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

@@ -13,11 +13,15 @@ namespace StellaOps.SbomService.Lineage.Repositories;
/// </summary>
public sealed class SbomVerdictLinkRepository : RepositoryBase<LineageDataSource>, ISbomVerdictLinkRepository
{
private readonly TimeProvider _timeProvider;
public SbomVerdictLinkRepository(
LineageDataSource dataSource,
ILogger<SbomVerdictLinkRepository> logger)
ILogger<SbomVerdictLinkRepository> logger,
TimeProvider? timeProvider = null)
: base(dataSource, logger)
{
_timeProvider = timeProvider ?? TimeProvider.System;
}
public async ValueTask<SbomVerdictLink> AddAsync(SbomVerdictLink link, CancellationToken ct = default)
@@ -30,6 +34,7 @@ public sealed class SbomVerdictLinkRepository : RepositoryBase<LineageDataSource
var schemaName = GetSchemaName();
var statusStr = MapStatusToString(link.VerdictStatus);
var now = _timeProvider.GetUtcNow();
var sql = $"""
INSERT INTO {schemaName}.sbom_verdict_links (
sbom_version_id, cve, consensus_projection_id,
@@ -41,7 +46,7 @@ public sealed class SbomVerdictLinkRepository : RepositoryBase<LineageDataSource
consensus_projection_id = EXCLUDED.consensus_projection_id,
verdict_status = EXCLUDED.verdict_status,
confidence_score = EXCLUDED.confidence_score,
linked_at = NOW()
linked_at = {"{6}"}
RETURNING sbom_version_id, cve, consensus_projection_id,
verdict_status, confidence_score, tenant_id, linked_at
""";
@@ -49,7 +54,7 @@ public sealed class SbomVerdictLinkRepository : RepositoryBase<LineageDataSource
var result = await dbContext.SbomVerdictLinks
.FromSqlRaw(sql,
link.SbomVersionId, link.Cve, link.ConsensusProjectionId,
statusStr, link.ConfidenceScore, link.TenantId)
statusStr, link.ConfidenceScore, link.TenantId, now)
.AsNoTracking()
.FirstOrDefaultAsync(ct)
.ConfigureAwait(false);

View File

@@ -1,21 +0,0 @@
using Microsoft.EntityFrameworkCore;
namespace StellaOps.SbomService.Persistence.EfCore.Context;
/// <summary>
/// EF Core DbContext for SbomService module.
/// This is a stub that will be scaffolded from the PostgreSQL database.
/// </summary>
public class SbomServiceDbContext : DbContext
{
public SbomServiceDbContext(DbContextOptions<SbomServiceDbContext> options)
: base(options)
{
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.HasDefaultSchema("sbom");
base.OnModelCreating(modelBuilder);
}
}

View File

@@ -11,10 +11,7 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" PrivateAssets="all" />
<PackageReference Include="Npgsql" />
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" />
<PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" />
</ItemGroup>
@@ -22,6 +19,5 @@
<ItemGroup>
<ProjectReference Include="..\..\StellaOps.SbomService\StellaOps.SbomService.csproj" />
<ProjectReference Include="..\..\..\__Libraries\StellaOps.Infrastructure.Postgres\StellaOps.Infrastructure.Postgres.csproj" />
<ProjectReference Include="..\..\..\__Libraries\StellaOps.Infrastructure.EfCore\StellaOps.Infrastructure.EfCore.csproj" />
</ItemGroup>
</Project>