using Core.Blueprint.Common.DependencyInjection;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions;
using Thalos.DAL.Adapters;
using Thalos.DAL.Health;
using Thalos.DAL.Providers;
using Thalos.DAL.Providers.InMemory;
using Thalos.DAL.Repositories;
namespace Thalos.DAL.DependencyInjection;
///
/// Registers thalos dal runtime provider, repository, and adapter implementations.
///
public static class ThalosDalServiceCollectionExtensions
{
///
/// Adds thalos dal runtime implementations aligned with blueprint runtime core.
///
/// Service collection.
/// Service collection for fluent chaining.
public static IServiceCollection AddThalosDalRuntime(this IServiceCollection services)
{
services.AddBlueprintRuntimeCore();
services.TryAddSingleton();
services.TryAddSingleton();
services.TryAddSingleton();
services.TryAddSingleton();
services.TryAddSingleton();
services.TryAddSingleton();
services.TryAddSingleton();
services.TryAddSingleton();
services.TryAddSingleton();
services.TryAddSingleton();
services.TryAddSingleton();
services.TryAddSingleton();
services.TryAddSingleton();
services.TryAddSingleton();
return services;
}
}