using EchoHub.Core.Contracts; using Microsoft.AspNetCore.Builder; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; namespace EchoHub.Server.Irc; public static class IrcServiceExtensions { public static WebApplicationBuilder AddIrcGateway(this WebApplicationBuilder builder) { builder.Services.Configure( builder.Configuration.GetSection(IrcOptions.SectionName)); if (builder.Configuration.GetValue("Irc:Enabled")) { builder.Services.AddSingleton(); builder.Services.AddSingleton(); builder.Services.AddHostedService(sp => sp.GetRequiredService()); } return builder; } }