Initial commit
This commit is contained in:
41
src/RolemasterDb.App/Program.cs
Normal file
41
src/RolemasterDb.App/Program.cs
Normal file
@@ -0,0 +1,41 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using RolemasterDb.App.Components;
|
||||
using RolemasterDb.App.Data;
|
||||
using RolemasterDb.App.Features;
|
||||
|
||||
var builder = WebApplication.CreateBuilder(args);
|
||||
var connectionString = builder.Configuration.GetConnectionString("RolemasterDb") ?? "Data Source=rolemaster.db";
|
||||
|
||||
builder.Services.AddRazorComponents()
|
||||
.AddInteractiveServerComponents();
|
||||
builder.Services.AddDbContextFactory<RolemasterDbContext>(options => options.UseSqlite(connectionString));
|
||||
builder.Services.AddScoped<LookupService>();
|
||||
|
||||
var app = builder.Build();
|
||||
await RolemasterDbInitializer.InitializeAsync(app.Services);
|
||||
|
||||
if (!app.Environment.IsDevelopment())
|
||||
{
|
||||
app.UseExceptionHandler("/Error", createScopeForErrors: true);
|
||||
}
|
||||
app.UseStatusCodePagesWithReExecute("/not-found", createScopeForStatusCodePages: true);
|
||||
app.UseAntiforgery();
|
||||
|
||||
app.MapStaticAssets();
|
||||
var api = app.MapGroup("/api");
|
||||
api.MapGet("/reference-data", async (LookupService lookupService, CancellationToken cancellationToken) =>
|
||||
Results.Ok(await lookupService.GetReferenceDataAsync(cancellationToken)));
|
||||
api.MapPost("/lookup/attack", async (AttackLookupRequest request, LookupService lookupService, CancellationToken cancellationToken) =>
|
||||
{
|
||||
var result = await lookupService.LookupAttackAsync(request, cancellationToken);
|
||||
return result is null ? Results.NotFound() : Results.Ok(result);
|
||||
});
|
||||
api.MapPost("/lookup/critical", async (CriticalLookupRequest request, LookupService lookupService, CancellationToken cancellationToken) =>
|
||||
{
|
||||
var result = await lookupService.LookupCriticalAsync(request, cancellationToken);
|
||||
return result is null ? Results.NotFound() : Results.Ok(result);
|
||||
});
|
||||
app.MapRazorComponents<App>()
|
||||
.AddInteractiveServerRenderMode();
|
||||
|
||||
app.Run();
|
||||
Reference in New Issue
Block a user