Something went wrong. Try again.
Test web dev.
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687using Microsoft.OpenApi.Models;using TestWeb.Core.Jobs;using TestWeb.Core.Users;using TestWeb.Core.Vehicles;using TestWeb.Core.WeatherForecasts;using TestWeb.Infra;using TestWeb.Utils;
namespace TestWeb;
public class Program{ public static void Main(string[] args) { var builder = WebApplication.CreateBuilder(args); AddServices(builder);
var app = builder.Build(); Configure(app);
app.Run(); }
public static void AddServices(WebApplicationBuilder builder) { builder.Services.AddDbContext<AppDbContext>( options => options.UseSqlite("DataSource=app.db"));
builder.Services.AddOpenApi(); builder.Services.AddEndpointsApiExplorer(); builder.Services.AddSwaggerGen();
builder.Services.AddCors(options => { options.AddPolicy( "CorsPolicy", builder => builder .AllowAnyOrigin() .AllowAnyHeader() .AllowAnyMethod() ); });
builder.Services.AddValidatorsFromAssembly(typeof(Program).Assembly); }
public static void Configure(WebApplication app) { app.MapOpenApi();
app.UseSwagger(); app.UseSwaggerUI(); app.UseDeveloperExceptionPage(); app.UseCors("CorsPolicy"); app.UseHttpsRedirection(); app.UseRouting();
var endpoints = app.MapGroup("") .AddEndpointFilter<RequestLoggingFilter>();
var securityScheme = new OpenApiSecurityScheme() { Type = SecuritySchemeType.Http, Name = JwtBearerDefaults.AuthenticationScheme, Scheme = JwtBearerDefaults.AuthenticationScheme, Reference = new() { Type = ReferenceType.SecurityScheme, Id = JwtBearerDefaults.AuthenticationScheme } }; endpoints.WithOpenApi(x => new() { Security = [new() { [securityScheme] = [] }] });
JobsModule.MapEndpoints(endpoints); UsersModule.MapEndpoints(endpoints); VehiclesModule.MapEndpoints(endpoints); WeatherForecastsModule.MapEndpoints(endpoints);
using var scope = app.Services.CreateScope(); var db = scope.ServiceProvider.GetRequiredService<AppDbContext>(); db.Database.EnsureCreated(); }}