using Blazorise; using Blazorise.Bootstrap; using Blazorise.Icons.FontAwesome; using Gremlin_BlazorServer.Areas.Identity; using Gremlin_BlazorServer.Data; using Gremlin_BlazorServer.Data.DBClasses; using Gremlin_BlazorServer.Data.EntityClasses; using Gremlin_BlazorServer.Services; using Microsoft.AspNetCore.Components.Authorization; using Microsoft.AspNetCore.Identity; using Microsoft.EntityFrameworkCore; WebApplicationBuilder builder = WebApplication.CreateBuilder(args); // Add services to the container. builder.Services.AddRazorPages(); builder.Services.AddServerSideBlazor(); builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddBlazorise(options => { options.Immediate = true; }).AddBootstrapProviders().AddFontAwesomeIcons(); builder.Services.AddOptions(); //Auth string connection = "server0"; string connectionString = builder.Configuration.GetConnectionString(connection) ?? throw new InvalidOperationException($"Connection string '{connection}' not found."); ServerVersion serverVersion = ServerVersion.AutoDetect(connectionString); builder.Services.AddDbContext(options => options.UseMySql(connectionString, serverVersion)); builder.Services.AddDefaultIdentity(options => options.SignIn.RequireConfirmedAccount = true).AddEntityFrameworkStores(); builder.Services.AddScoped>(); builder.Services.AddControllersWithViews(); // builder.WebHost.UseWebRoot("wwwroot"); builder.WebHost.UseStaticWebAssets(); builder.WebHost.UseUrls("https://*:5000"); WebApplication app = builder.Build(); // Configure the HTTP request pipeline. if (!app.Environment.IsDevelopment()) { _ = app.UseExceptionHandler("/Error"); // 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.UseHttpsRedirection(); app.UseStaticFiles(); app.UseRouting(); //Auth app.UseAuthorization(); app.MapControllers(); app.MapBlazorHub(); app.MapFallbackToPage("/_Host"); app.Run();