stabilizaiton work - projects rework for maintenanceability and ui livening

This commit is contained in:
master
2026-02-03 23:40:04 +02:00
parent 074ce117ba
commit 557feefdc3
3305 changed files with 186813 additions and 107843 deletions

View File

@@ -7,7 +7,7 @@ namespace StellaOps.Provcache;
/// <summary>
/// Extension methods for registering Provcache services.
/// </summary>
public static class ProvcacheServiceCollectionExtensions
public static partial class ProvcacheServiceCollectionExtensions
{
/// <summary>
/// Adds Provcache services to the service collection.
@@ -39,9 +39,8 @@ public static class ProvcacheServiceCollectionExtensions
services.AddSingleton<IProvcacheService, ProvcacheService>();
// Register write-behind queue as hosted service
services.AddSingleton<WriteBehindQueue>();
services.AddSingleton<IWriteBehindQueue>(sp => sp.GetRequiredService<WriteBehindQueue>());
services.AddHostedService(sp => sp.GetRequiredService<WriteBehindQueue>());
services.AddSingleton<IWriteBehindQueue, WriteBehindQueue>();
services.AddHostedService<WriteBehindQueueHostedService>();
services.AddHttpClient(HttpChunkFetcher.HttpClientName);
return services;
@@ -74,41 +73,11 @@ public static class ProvcacheServiceCollectionExtensions
services.AddSingleton<IProvcacheService, ProvcacheService>();
// Register write-behind queue as hosted service
services.AddSingleton<WriteBehindQueue>();
services.AddSingleton<IWriteBehindQueue>(sp => sp.GetRequiredService<WriteBehindQueue>());
services.AddHostedService(sp => sp.GetRequiredService<WriteBehindQueue>());
services.AddSingleton<IWriteBehindQueue, WriteBehindQueue>();
services.AddHostedService<WriteBehindQueueHostedService>();
services.AddHttpClient(HttpChunkFetcher.HttpClientName);
return services;
}
/// <summary>
/// Adds the Valkey-backed cache store implementation.
/// </summary>
/// <param name="services">The service collection.</param>
/// <returns>The service collection for chaining.</returns>
public static IServiceCollection AddProvcacheValkeyStore(this IServiceCollection services)
{
ArgumentNullException.ThrowIfNull(services);
// Note: Actual Valkey store implementation would be registered here
// services.AddSingleton<IProvcacheStore, ValkeyProvcacheStore>();
return services;
}
/// <summary>
/// Adds the Postgres repository implementation.
/// </summary>
/// <param name="services">The service collection.</param>
/// <returns>The service collection for chaining.</returns>
public static IServiceCollection AddProvcachePostgresRepository(this IServiceCollection services)
{
ArgumentNullException.ThrowIfNull(services);
// Note: Actual Postgres repository implementation would be registered here
// services.AddSingleton<IProvcacheRepository, PostgresProvcacheRepository>();
return services;
}
}