using System.Reflection; using FluentValidation; using Mizuki.Database; using Mizuki.Services; var builder = WebApplication.CreateBuilder(args); builder.Services.AddRazorPages(); builder.Services.AddControllers(); builder.Services.AddValidatorsFromAssembly( Assembly.GetCallingAssembly()); builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddDbContext(); builder.Services.AddHttpContextAccessor(); builder.Services.AddAuthentication("MizukiAuth") .AddCookie("MizukiAuth", options => { options.LoginPath = "/login"; options.LogoutPath = "/api/user/logout"; options.AccessDeniedPath = "/"; }); var app = builder.Build(); app.MapControllers(); app.MapFallbackToFile("index.html"); app.UseStaticFiles(); app.UseAuthentication(); app.UseAuthorization(); app.MapRazorPages(); app.MapControllers(); app.Run();