feat: implement database integration for style and title repositories
This commit is contained in:
@@ -21,12 +21,6 @@ try
|
||||
// Necessite le package Nuget Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation.
|
||||
.AddRazorRuntimeCompilation();
|
||||
|
||||
builder.Services.AddScoped<ITitreRepository, LocalTitreRepository>();
|
||||
builder.Services.AddScoped<IStyleRepository, LocalStyleRepository>();
|
||||
|
||||
builder.Services.AddScoped<ITitreRepository, DbTitreRepository>();
|
||||
builder.Services.AddScoped<IStyleRepository, DbStyleRepository>();
|
||||
|
||||
builder.Services.AddDbContext<WebzineDbContext>(options =>
|
||||
options.UseSqlite(builder.Configuration.GetConnectionString("DefaultConnection")));
|
||||
|
||||
@@ -46,6 +40,19 @@ try
|
||||
db.Database.EnsureCreated();
|
||||
}
|
||||
|
||||
// En fonction de la configuration, utilise soit les repositories basés sur une base de données, soit les repositories basés sur des listes locales.
|
||||
bool useDatabase = builder.Configuration.GetValue<bool>("UseDatabase");
|
||||
if (useDatabase)
|
||||
{
|
||||
builder.Services.AddScoped<ITitreRepository, DbTitreRepository>();
|
||||
builder.Services.AddScoped<IStyleRepository, DbStyleRepository>();
|
||||
}
|
||||
else
|
||||
{
|
||||
builder.Services.AddScoped<ITitreRepository, LocalTitreRepository>();
|
||||
builder.Services.AddScoped<IStyleRepository, LocalStyleRepository>();
|
||||
}
|
||||
|
||||
// Active le middleware permettant le routage des requetes entrantes.
|
||||
app.UseRouting();
|
||||
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
"NombreDerniereChronique": 3,
|
||||
"NombreDeTopTitres": 3
|
||||
},
|
||||
"UseDatabase": true,
|
||||
"ConnectionStrings": {
|
||||
"DefaultConnection": "Data Source=Data/webzine.sqlite"
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user