34 lines
1.2 KiB
C#
34 lines
1.2 KiB
C#
using Microsoft.Extensions.DependencyInjection;
|
|
using Microsoft.Extensions.DependencyInjection.Extensions;
|
|
using StellaOps.Symbols.Core.Abstractions;
|
|
using StellaOps.Symbols.Infrastructure.Resolution;
|
|
using StellaOps.Symbols.Infrastructure.Storage;
|
|
|
|
namespace StellaOps.Symbols.Infrastructure;
|
|
|
|
/// <summary>
|
|
/// Service collection extensions for Symbols infrastructure.
|
|
/// </summary>
|
|
public static class ServiceCollectionExtensions
|
|
{
|
|
/// <summary>
|
|
/// Adds in-memory symbol services for development and testing.
|
|
/// </summary>
|
|
public static IServiceCollection AddSymbolsInMemory(this IServiceCollection services)
|
|
{
|
|
services.TryAddSingleton<ISymbolRepository, InMemorySymbolRepository>();
|
|
services.TryAddSingleton<ISymbolBlobStore, InMemorySymbolBlobStore>();
|
|
services.TryAddSingleton<ISymbolResolver, DefaultSymbolResolver>();
|
|
return services;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Adds the default symbol resolver.
|
|
/// </summary>
|
|
public static IServiceCollection AddSymbolResolver(this IServiceCollection services)
|
|
{
|
|
services.TryAddSingleton<ISymbolResolver, DefaultSymbolResolver>();
|
|
return services;
|
|
}
|
|
}
|