using enums; using interfaces; using options; using services; var builder = WebApplication.CreateBuilder(args); builder.Services.AddHttpClient(); builder.Services.AddRedaction(); builder.Services.AddExtendedHttpClientLogging( builder.Configuration.GetSection("HttpClientLogging")); builder .Services.AddOptions() .Bind(builder.Configuration.GetSection(ChargerOptions.Name)) .ValidateDataAnnotations(); builder.Services.AddSingleton(); builder.Services.AddScoped(); var app = builder.Build(); app.MapPost( "/enable", async (IChargerService chargerService) => { await chargerService.ExecuteRequest(ChargerRequests.Enable); return; } ) .WithName("Enable"); app.MapPost( "/disable", async (IChargerService chargerService) => { await chargerService.ExecuteRequest(ChargerRequests.Disable); return; } ) .WithName("Disable"); app.Run();