using Api.Start; using Core.Db; using Microsoft.AspNetCore.Builder; using Microsoft.EntityFrameworkCore; using Microsoft.OpenApi.Models; using System.Reflection; using Microsoft.Extensions.DependencyInjection; using System.Collections.Generic; using Microsoft.Extensions.FileProviders; using System.IO; var builder = WebApplication.CreateBuilder(args); var Configuration = builder.Configuration; //MVC: builder.Services.AddControllersWithViews(); //Swagger: builder.Services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new OpenApiInfo { Title = "API", Version = "v1" }); c.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme { Description = @"JWT Authorization header using the bearer scheme. Enter 'Bearer' [space] and then your token in the text input below. Example: 'Bearer 12345abcdef'", Name = "Authorization", In = ParameterLocation.Header, Scheme = "Bearer", Type = SecuritySchemeType.Http }); c.AddSecurityRequirement(new OpenApiSecurityRequirement {{new OpenApiSecurityScheme { Reference = new OpenApiReference { Type = ReferenceType.SecurityScheme, Id = "Bearer" }, Name = "Bearer", In = ParameterLocation.Header, }, new List() }}); } ); #region Required Services & DI builder.Services.RegisterDependencies(Configuration); builder.Services.RegisterAuth(Configuration); #endregion builder.Services.AddCors(builder => { builder.AddPolicy("AllowAll", options => { options.AllowAnyHeader() .AllowAnyOrigin() .AllowAnyMethod() .AllowAnyHeader(); }); }); var app = builder.Build(); app.UseHttpsRedirection(); app.UseRouting(); app.UseCors("AllowAll"); app.ConfigureAuthentication(); app.UseSwagger(); app.UseSwaggerUI(); app.MapControllerRoute( name: "default", pattern: "{controller=Home}/{action=Index}/{id?}"); app.MapControllerRoute( name: "pages", pattern: "{controller=Home}/{pageName}"); app.UseDeveloperExceptionPage(); app.UseStaticFiles(); app.UseStaticFiles(new StaticFileOptions { FileProvider = new PhysicalFileProvider( Path.Combine(builder.Environment.ContentRootPath, "UploadedFiles")), RequestPath = "/UploadedFiles" }); app.Run();