Upgrade to .NET 10 and finalize foundation scaffold
This commit is contained in:
45
Program.cs
Normal file
45
Program.cs
Normal file
@@ -0,0 +1,45 @@
|
||||
using GameList.Data;
|
||||
using Microsoft.Data.Sqlite;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
var builder = WebApplication.CreateBuilder(args);
|
||||
|
||||
var dataDirectory = Path.Combine(builder.Environment.ContentRootPath, "App_Data");
|
||||
Directory.CreateDirectory(dataDirectory);
|
||||
|
||||
var configuredConnection = builder.Configuration.GetConnectionString("Default");
|
||||
var dbPath = Path.Combine(dataDirectory, "gamelist.db");
|
||||
var connectionBuilder = new SqliteConnectionStringBuilder();
|
||||
|
||||
if (string.IsNullOrWhiteSpace(configuredConnection))
|
||||
{
|
||||
connectionBuilder.DataSource = dbPath;
|
||||
}
|
||||
else
|
||||
{
|
||||
connectionBuilder = new SqliteConnectionStringBuilder(configuredConnection);
|
||||
|
||||
if (connectionBuilder.DataSource.Contains("App_Data", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
var fileName = Path.GetFileName(connectionBuilder.DataSource);
|
||||
connectionBuilder.DataSource = Path.Combine(dataDirectory, fileName);
|
||||
}
|
||||
else if (!Path.IsPathRooted(connectionBuilder.DataSource))
|
||||
{
|
||||
connectionBuilder.DataSource = Path.GetFullPath(connectionBuilder.DataSource, dataDirectory);
|
||||
}
|
||||
}
|
||||
|
||||
var connectionString = connectionBuilder.ToString();
|
||||
|
||||
builder.Services.AddDbContext<AppDbContext>(options =>
|
||||
options.UseSqlite(connectionString));
|
||||
|
||||
var app = builder.Build();
|
||||
|
||||
app.UseDefaultFiles();
|
||||
app.UseStaticFiles();
|
||||
|
||||
app.MapGet("/health", () => Results.Ok(new { status = "ok" }));
|
||||
|
||||
app.Run();
|
||||
Reference in New Issue
Block a user