|
- 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<string>()
- }});
-
-
-
-
- }
- );
-
- #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();
|