Pack logic cleanup
This commit is contained in:
@@ -63,8 +63,14 @@ public class Program
|
||||
builder.Services.AddTransient<IGlobalsRepository, GlobalsRepository>();
|
||||
builder.Services.AddTransient<IDeckRepository, DeckRepository>();
|
||||
builder.Services.AddTransient<IPackRepository, PackRepository>();
|
||||
// Scoped (not Singleton) to avoid the singleton-depends-on-scoped-DbContext lifecycle
|
||||
// pitfall. Cost: one indexed single-row query per request — trivial. Restart still picks
|
||||
// up DB-edit changes since each new request rebuilds the scope.
|
||||
builder.Services.AddScoped<SVSim.Database.Models.GameConfigRoot>(sp =>
|
||||
sp.GetRequiredService<SVSim.Database.Repositories.Globals.IGlobalsRepository>()
|
||||
.GetGameConfiguration("default").GetAwaiter().GetResult().Config);
|
||||
builder.Services.AddScoped<ICardPoolProvider, DbCardPoolProvider>();
|
||||
builder.Services.AddSingleton<PackOpenService>();
|
||||
builder.Services.AddScoped<PackOpenService>();
|
||||
builder.Services.AddSingleton<IRandom, SystemRandom>();
|
||||
|
||||
#endregion
|
||||
@@ -93,6 +99,7 @@ public class Program
|
||||
if (dbContext.Database.IsRelational() && !app.Environment.IsEnvironment("Testing"))
|
||||
{
|
||||
dbContext.UpdateDatabase();
|
||||
dbContext.EnsureSeedDataAsync().GetAwaiter().GetResult();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user