feat: register Discord session handlers and permission checker in DI
Task 5: DI wiring for DiscordNewSessionHandler, DiscordListSessionsHandler, DiscordPermissionChecker, and DiscordPlatformMessenger. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,8 @@
|
|||||||
using GmRelay.DiscordBot;
|
using GmRelay.DiscordBot;
|
||||||
|
using GmRelay.DiscordBot.Features.Sessions;
|
||||||
|
using GmRelay.DiscordBot.Infrastructure.Discord;
|
||||||
using GmRelay.DiscordBot.Infrastructure.Logging;
|
using GmRelay.DiscordBot.Infrastructure.Logging;
|
||||||
|
using GmRelay.Shared.Platform;
|
||||||
using Microsoft.Extensions.Configuration;
|
using Microsoft.Extensions.Configuration;
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
using NetCord;
|
using NetCord;
|
||||||
@@ -37,6 +40,11 @@ builder.Services.AddSingleton<NpgsqlDataSource>(sp =>
|
|||||||
return NpgsqlDataSource.Create(connectionString);
|
return NpgsqlDataSource.Create(connectionString);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
builder.Services.AddSingleton<DiscordPermissionChecker>();
|
||||||
|
builder.Services.AddSingleton<DiscordListSessionsHandler>();
|
||||||
|
builder.Services.AddSingleton<DiscordNewSessionHandler>();
|
||||||
|
builder.Services.AddSingleton<IPlatformMessenger, DiscordPlatformMessenger>();
|
||||||
|
|
||||||
builder.Services
|
builder.Services
|
||||||
.AddDiscordGateway(options =>
|
.AddDiscordGateway(options =>
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -71,6 +71,17 @@ public sealed class DiscordStartupTests
|
|||||||
Assert.DoesNotContain("Token", logger);
|
Assert.DoesNotContain("Token", logger);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public void Program_ShouldRegisterDiscordSessionHandlers()
|
||||||
|
{
|
||||||
|
var program = ReadProgram();
|
||||||
|
Assert.Contains("DiscordListSessionsHandler", program);
|
||||||
|
Assert.Contains("DiscordNewSessionHandler", program);
|
||||||
|
Assert.Contains("DiscordPermissionChecker", program);
|
||||||
|
Assert.Contains("DiscordPlatformMessenger", program);
|
||||||
|
Assert.Contains("IPlatformMessenger", program);
|
||||||
|
}
|
||||||
|
|
||||||
private static string ReadProgram()
|
private static string ReadProgram()
|
||||||
{
|
{
|
||||||
var repoRoot = GetRepoRoot();
|
var repoRoot = GetRepoRoot();
|
||||||
|
|||||||
Reference in New Issue
Block a user