using Data; using Microsoft.EntityFrameworkCore; using MudBlazor.Services; using WebApp; using WebApp.Components; var builder = WebApplication.CreateBuilder(args); // Add services to the container. builder.Services.AddControllersWithViews(); builder.Services.AddRazorComponents() .AddInteractiveServerComponents(); builder.Services.AddMudServices(); // Configure SQLite var connectionString = builder.Configuration.GetConnectionString("SQLiteDefault"); builder.Services.AddDbContext(options => options.UseSqlite(connectionString)); builder.Services.AddQuickGridEntityFrameworkAdapter(); builder.Services.AddDatabaseDeveloperPageExceptionFilter(); builder.Services.AddScoped(); builder.Services.AddScoped(); // Server-side builder.Services.AddSingleton();//Client-side // Add authentication options builder.Services.AddAuthentication("Auth") .AddCookie("Auth", options => { options.ExpireTimeSpan = TimeSpan.FromMinutes(20); options.SlidingExpiration = true; options.LoginPath = "/login"; }); builder.Services.AddCascadingAuthenticationState(); var app = builder.Build(); // Configure the HTTP request pipeline. if (!app.Environment.IsDevelopment()) { app.UseExceptionHandler("/Error", createScopeForErrors: true); // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts. app.UseHsts(); app.UseMigrationsEndPoint(); } //app.UseHttpsRedirection(); app.UseRouting(); app.UseAuthentication(); app.UseAuthorization(); app.UseStaticFiles(); app.UseAntiforgery(); app.MapRazorComponents() .AddInteractiveServerRenderMode(); // Used for AuthController app.MapControllerRoute("default", "{controller}/{action}"); app.Run();