feat: implement database integration for style and title repositories

This commit is contained in:
mirage
2026-03-25 14:21:53 +01:00
parent 9f9a9d51ad
commit fa1639e3b5
2 changed files with 14 additions and 6 deletions

View File

@@ -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();

View File

@@ -9,6 +9,7 @@
"NombreDerniereChronique": 3,
"NombreDeTopTitres": 3
},
"UseDatabase": true,
"ConnectionStrings": {
"DefaultConnection": "Data Source=Data/webzine.sqlite"
},