Telegram.Bot.SpaceApi/Backend/Startup.cs

43 lines
1.1 KiB
C#

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();