using System.Reflection; using Telegram.Bot.SpaceApi.Backend.Database; using Microsoft.EntityFrameworkCore; using Swashbuckle.AspNetCore.Filters; using Telegram.Bot.SpaceApi.Backend; new DatabaseContext().Database.Migrate(); Task.Run(BotOrchestrator.UpdateTask); var builder = WebApplication.CreateBuilder(args); if (Environment.GetCommandLineArgs().Contains("--razor-runtime-comp")) { builder.Services.AddRazorPages().AddRazorRuntimeCompilation(); builder.Services.AddControllers().AddRazorRuntimeCompilation(); } else { builder.Services.AddRazorPages(); builder.Services.AddControllers(); } builder.Services.AddSwaggerGen(options => { var xmlFilename = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml"; options.IncludeXmlComments(Path.Combine(AppContext.BaseDirectory, xmlFilename)); options.ExampleFilters(); }); builder.Services.AddSwaggerExamplesFromAssemblies(Assembly.GetEntryAssembly()); var app = builder.Build(); if (!app.Environment.IsDevelopment()) app.UseExceptionHandler("/Error"); app.UseStaticFiles(); app.UseRouting(); app.UseAuthorization(); app.MapRazorPages(); app.Run();