using NeonSprawl.Server.Game.PositionState;
namespace NeonSprawl.Server.Game.Contracts;
/// Registers contract instance + outcome persistence (NEO-146).
public static class ContractInstanceServiceCollectionExtensions
{
/// PostgreSQL when ConnectionStrings:NeonSprawl is set; otherwise in-memory fallback.
public static IServiceCollection AddContractInstanceStores(this IServiceCollection services, IConfiguration configuration)
{
var cs = configuration.GetConnectionString(PositionStateServiceCollectionExtensions.NeonSprawlConnectionStringName);
if (!string.IsNullOrWhiteSpace(cs))
{
services.AddSingleton();
services.AddSingleton();
}
else
{
services.AddSingleton();
services.AddSingleton();
}
return services;
}
}