diff --git a/DigitalData.Auth.Abstractions/IAuthClient.cs b/DigitalData.Auth.Abstractions/IAuthClient.cs index cf9f6ff..526496a 100644 --- a/DigitalData.Auth.Abstractions/IAuthClient.cs +++ b/DigitalData.Auth.Abstractions/IAuthClient.cs @@ -1,6 +1,6 @@ namespace DigitalData.Auth.Abstractions; -public interface IAuthClient : IAuthClientHandler +public interface IAuthClient : IAuthClientHandler, ISenderHandler { bool IsConnected { get; } diff --git a/DigitalData.Auth.Abstractions/ISenderHandler.cs b/DigitalData.Auth.Abstractions/ISenderHandler.cs new file mode 100644 index 0000000..da455ab --- /dev/null +++ b/DigitalData.Auth.Abstractions/ISenderHandler.cs @@ -0,0 +1,6 @@ +namespace DigitalData.Auth.Abstractions; + +public interface ISenderHandler +{ + Task SendMessageAsync(string user, string message); +} \ No newline at end of file diff --git a/DigitalData.Auth.Client/AuthClient.cs b/DigitalData.Auth.Client/AuthClient.cs index ccedada..9f272f0 100644 --- a/DigitalData.Auth.Client/AuthClient.cs +++ b/DigitalData.Auth.Client/AuthClient.cs @@ -62,4 +62,6 @@ public class AuthClient : IAuthClient } public Task ReceiveMessageAsync(string user, string message) => Task.Run(() => _params.Events.OnMessageReceived(user, message, _logger)); + + public Task SendMessageAsync(string user, string message) => _connection.InvokeAsync(nameof(SendMessageAsync), user, message); } \ No newline at end of file diff --git a/src/DigitalData.Auth.API/Hubs/AuthHub.cs b/src/DigitalData.Auth.API/Hubs/AuthHub.cs index 10583bc..c10eaa5 100644 --- a/src/DigitalData.Auth.API/Hubs/AuthHub.cs +++ b/src/DigitalData.Auth.API/Hubs/AuthHub.cs @@ -3,9 +3,9 @@ using Microsoft.AspNetCore.SignalR; namespace DigitalData.Auth.API.Hubs; -public class AuthHub : Hub +public class AuthHub : Hub, ISenderHandler { - public async Task SendMessage(string user, string message) + public async Task SendMessageAsync(string user, string message) => await Clients.All.ReceiveMessageAsync(user, message); public async Task SendMessageToCaller(string user, string message)