From dc1938dbb98dc9edf16558e505b2961246c83e6e Mon Sep 17 00:00:00 2001 From: Luca Matei Pintilie Date: Wed, 30 Oct 2024 21:59:53 +0100 Subject: Add API and Test --- Api/Program.cs | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 Api/Program.cs (limited to 'Api/Program.cs') diff --git a/Api/Program.cs b/Api/Program.cs new file mode 100644 index 0000000..0fefe46 --- /dev/null +++ b/Api/Program.cs @@ -0,0 +1,38 @@ +using Microsoft.EntityFrameworkCore; +using WikiWaka.Api.Models; + +var builder = WebApplication.CreateBuilder(args); + +builder.Services.AddControllers(); +builder.Services.AddHealthChecks(); +builder.Services.AddEndpointsApiExplorer(); +builder.Services.AddSwaggerGen(); +builder.Services.AddDbContext(options => + options.UseSqlite(builder.Configuration.GetConnectionString("DbWikiWaka"))); + +var app = builder.Build(); + +if (app.Environment.IsDevelopment()) +{ + app.UseSwagger(); + app.UseSwaggerUI(); +} + +app.MapControllers(); +app.MapHealthChecks("/healthz"); + +using (var scope = app.Services.CreateScope()) +{ + await using DbWikiWakaContext db = scope.ServiceProvider.GetRequiredService(); + ILogger logger = scope.ServiceProvider.GetRequiredService>(); + bool isNewDatabase = await db.Database.EnsureCreatedAsync(); + if (isNewDatabase) + { + logger.LogInformation("Creating new database..."); + await DbInit.InitializeLanguages(db); + } + else + logger.LogInformation("Database existed before, not changing"); +} + +app.Run(); -- cgit v1.2.3