using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Routing; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection.Extensions; using PowCapServer; using PowCapServer.Abstractions; namespace zero.Security; internal class ZeroSecurityModule : ZeroModule { public override void ConfigureServices(IServiceCollection services, IConfiguration configuration) { IConfigurationSection captchaSection = configuration.GetSection("Zero:Captcha"); services.TryAddSingleton(); services.TryAddSingleton(); services.TryAddTransient(); services.Configure(opts => opts.Default = captchaSection.Get() ?? new CaptchaOptions()); services.AddOptions().Bind(captchaSection); } public override void Configure(IApplicationBuilder app, IEndpointRouteBuilder routes, IServiceProvider serviceProvider) { // if (app is WebApplication webApp) // { // webApp.MapGet("/teamup/sync", async (ISchedulerFactory scheduler) => // { // await SyncTeamUpDataJob.RunNow(scheduler); // return "done"; // }); // } StaticCaptchaService.Configure(serviceProvider); } }