feat: add support for broadcasting and handling channel deletions across clients

This commit is contained in:
Stone_Red
2026-07-17 16:35:59 +02:00
committed by HueByte
parent 4d25458717
commit a9519a52cc
11 changed files with 39 additions and 0 deletions
@@ -12,6 +12,7 @@ public interface IChatBroadcaster
Task SendUserKickedAsync(string channelName, string username, string? reason);
Task SendUserBannedAsync(string username, string? reason);
Task SendMessageDeletedAsync(string channelName, Guid messageId);
Task SendChannelDeletedAsync(string channelName);
Task SendChannelNukedAsync(string channelName);
Task SendErrorAsync(string connectionId, string message);
Task ForceDisconnectUserAsync(List<string> connectionIds, string reason);
@@ -24,6 +24,7 @@ public interface IChatService
// Broadcasting (used by controllers and IRC gateway)
Task BroadcastMessageAsync(string channelName, MessageDto message);
Task BroadcastChannelUpdatedAsync(ChannelDto channel, string? channelName = null);
Task BroadcastChannelDeletedAsync(string channelName);
// Query operations (used by IRC gateway for WHOIS)
Task<List<string>> GetChannelsForUserAsync(string username);
@@ -15,6 +15,7 @@ public interface IEchoHubClient
Task UserKicked(string channelName, string username, string? reason);
Task UserBanned(string username, string? reason);
Task MessageDeleted(string channelName, Guid messageId);
Task ChannelDeleted(string channelName);
Task ChannelNuked(string channelName);
Task ForceDisconnect(string reason);
Task Error(string message);