Fix build and code structure improvements. New but essential UI functionality. CI improvements. Documentation improvements. AI module improvements.
This commit is contained in:
@@ -9,10 +9,10 @@
|
||||
<RootNamespace>StellaOps.VexHub.Core</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="10.0.0" />
|
||||
<PackageReference Include="Microsoft.Extensions.Options" Version="10.0.0" />
|
||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="10.0.0" />
|
||||
<PackageReference Include="Microsoft.Extensions.Hosting.Abstractions" Version="10.0.0" />
|
||||
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" />
|
||||
<PackageReference Include="Microsoft.Extensions.Options" />
|
||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" />
|
||||
<PackageReference Include="Microsoft.Extensions.Hosting.Abstractions" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\Excititor\__Libraries\StellaOps.Excititor.Core\StellaOps.Excititor.Core.csproj" />
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace StellaOps.VexHub.Persistence.EfCore.Context;
|
||||
|
||||
/// <summary>
|
||||
/// EF Core DbContext for VexHub module.
|
||||
/// This is a stub that will be scaffolded from the PostgreSQL database.
|
||||
/// </summary>
|
||||
public class VexHubDbContext : DbContext
|
||||
{
|
||||
public VexHubDbContext(DbContextOptions<VexHubDbContext> options)
|
||||
: base(options)
|
||||
{
|
||||
}
|
||||
|
||||
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
||||
{
|
||||
modelBuilder.HasDefaultSchema("vexhub");
|
||||
base.OnModelCreating(modelBuilder);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using StellaOps.Infrastructure.Postgres.Options;
|
||||
using StellaOps.VexHub.Core;
|
||||
using StellaOps.VexHub.Persistence.Postgres;
|
||||
using StellaOps.VexHub.Persistence.Postgres.Repositories;
|
||||
|
||||
namespace StellaOps.VexHub.Persistence.Extensions;
|
||||
|
||||
/// <summary>
|
||||
/// Service collection extensions for VexHub persistence.
|
||||
/// </summary>
|
||||
public static class VexHubPersistenceExtensions
|
||||
{
|
||||
/// <summary>
|
||||
/// Adds VexHub PostgreSQL persistence services to the service collection.
|
||||
/// </summary>
|
||||
public static IServiceCollection AddVexHubPersistence(
|
||||
this IServiceCollection services,
|
||||
IConfiguration configuration)
|
||||
{
|
||||
services.Configure<PostgresOptions>(configuration.GetSection("Postgres"));
|
||||
|
||||
services.AddSingleton<VexHubDataSource>();
|
||||
services.AddScoped<IVexStatementRepository, PostgresVexStatementRepository>();
|
||||
services.AddScoped<IVexProvenanceRepository, PostgresVexProvenanceRepository>();
|
||||
|
||||
return services;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Adds VexHub PostgreSQL persistence services with explicit options.
|
||||
/// </summary>
|
||||
public static IServiceCollection AddVexHubPersistence(
|
||||
this IServiceCollection services,
|
||||
Action<PostgresOptions> configureOptions)
|
||||
{
|
||||
services.Configure(configureOptions);
|
||||
|
||||
services.AddSingleton<VexHubDataSource>();
|
||||
services.AddScoped<IVexStatementRepository, PostgresVexStatementRepository>();
|
||||
services.AddScoped<IVexProvenanceRepository, PostgresVexProvenanceRepository>();
|
||||
|
||||
return services;
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
namespace StellaOps.VexHub.Storage.Postgres.Models;
|
||||
namespace StellaOps.VexHub.Persistence.Postgres.Models;
|
||||
|
||||
/// <summary>
|
||||
/// Database entity for VEX conflicts.
|
||||
@@ -1,4 +1,4 @@
|
||||
namespace StellaOps.VexHub.Storage.Postgres.Models;
|
||||
namespace StellaOps.VexHub.Persistence.Postgres.Models;
|
||||
|
||||
/// <summary>
|
||||
/// Database entity for VEX ingestion jobs.
|
||||
@@ -1,4 +1,4 @@
|
||||
namespace StellaOps.VexHub.Storage.Postgres.Models;
|
||||
namespace StellaOps.VexHub.Persistence.Postgres.Models;
|
||||
|
||||
/// <summary>
|
||||
/// Database entity for VEX provenance.
|
||||
@@ -1,4 +1,4 @@
|
||||
namespace StellaOps.VexHub.Storage.Postgres.Models;
|
||||
namespace StellaOps.VexHub.Persistence.Postgres.Models;
|
||||
|
||||
/// <summary>
|
||||
/// Database entity for VEX sources.
|
||||
@@ -1,4 +1,4 @@
|
||||
namespace StellaOps.VexHub.Storage.Postgres.Models;
|
||||
namespace StellaOps.VexHub.Persistence.Postgres.Models;
|
||||
|
||||
/// <summary>
|
||||
/// Database entity for aggregated VEX statements.
|
||||
@@ -3,9 +3,9 @@ using Dapper;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using StellaOps.VexHub.Core;
|
||||
using StellaOps.VexHub.Core.Models;
|
||||
using StellaOps.VexHub.Storage.Postgres.Models;
|
||||
using StellaOps.VexHub.Persistence.Postgres.Models;
|
||||
|
||||
namespace StellaOps.VexHub.Storage.Postgres.Repositories;
|
||||
namespace StellaOps.VexHub.Persistence.Postgres.Repositories;
|
||||
|
||||
/// <summary>
|
||||
/// PostgreSQL implementation of the VEX provenance repository.
|
||||
@@ -3,10 +3,10 @@ using Dapper;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using StellaOps.VexHub.Core;
|
||||
using StellaOps.VexHub.Core.Models;
|
||||
using StellaOps.VexHub.Storage.Postgres.Models;
|
||||
using StellaOps.VexHub.Persistence.Postgres.Models;
|
||||
using StellaOps.VexLens.Models;
|
||||
|
||||
namespace StellaOps.VexHub.Storage.Postgres.Repositories;
|
||||
namespace StellaOps.VexHub.Persistence.Postgres.Repositories;
|
||||
|
||||
/// <summary>
|
||||
/// PostgreSQL implementation of the VEX statement repository.
|
||||
@@ -4,7 +4,7 @@ using Npgsql;
|
||||
using StellaOps.Infrastructure.Postgres.Connections;
|
||||
using StellaOps.Infrastructure.Postgres.Options;
|
||||
|
||||
namespace StellaOps.VexHub.Storage.Postgres;
|
||||
namespace StellaOps.VexHub.Persistence.Postgres;
|
||||
|
||||
/// <summary>
|
||||
/// PostgreSQL data source for the VexHub module.
|
||||
@@ -6,17 +6,29 @@
|
||||
<Nullable>enable</Nullable>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
||||
<RootNamespace>StellaOps.VexHub.Storage.Postgres</RootNamespace>
|
||||
<RootNamespace>StellaOps.VexHub.Persistence</RootNamespace>
|
||||
<AssemblyName>StellaOps.VexHub.Persistence</AssemblyName>
|
||||
<Description>Consolidated persistence layer for StellaOps VexHub module</Description>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Dapper" Version="2.1.35" />
|
||||
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="10.0.0" />
|
||||
<PackageReference Include="Dapper" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" PrivateAssets="all" />
|
||||
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" />
|
||||
<PackageReference Include="Npgsql" />
|
||||
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" />
|
||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" />
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Migrations\**\*.sql" LogicalName="%(RecursiveDir)%(Filename)%(Extension)" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\__Libraries\StellaOps.Infrastructure.Postgres\StellaOps.Infrastructure.Postgres.csproj" />
|
||||
<ProjectReference Include="..\..\..\__Libraries\StellaOps.Infrastructure.EfCore\StellaOps.Infrastructure.EfCore.csproj" />
|
||||
<ProjectReference Include="..\..\..\__Libraries\StellaOps.DependencyInjection\StellaOps.DependencyInjection.csproj" />
|
||||
<ProjectReference Include="..\StellaOps.VexHub.Core\StellaOps.VexHub.Core.csproj" />
|
||||
</ItemGroup>
|
||||
@@ -1,29 +0,0 @@
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using StellaOps.Infrastructure.Postgres.Options;
|
||||
using StellaOps.VexHub.Core;
|
||||
using StellaOps.VexHub.Storage.Postgres.Repositories;
|
||||
|
||||
namespace StellaOps.VexHub.Storage.Postgres.Extensions;
|
||||
|
||||
/// <summary>
|
||||
/// Service collection extensions for VexHub PostgreSQL storage.
|
||||
/// </summary>
|
||||
public static class VexHubPostgresServiceCollectionExtensions
|
||||
{
|
||||
/// <summary>
|
||||
/// Adds VexHub PostgreSQL storage services to the service collection.
|
||||
/// </summary>
|
||||
public static IServiceCollection AddVexHubPostgres(
|
||||
this IServiceCollection services,
|
||||
IConfiguration configuration)
|
||||
{
|
||||
services.Configure<PostgresOptions>(configuration.GetSection("Postgres"));
|
||||
|
||||
services.AddSingleton<VexHubDataSource>();
|
||||
services.AddScoped<IVexStatementRepository, PostgresVexStatementRepository>();
|
||||
services.AddScoped<IVexProvenanceRepository, PostgresVexProvenanceRepository>();
|
||||
|
||||
return services;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user