feat(Auth.Client): Erstellt, um Client (Consumer) Ereignisse von SignalR zu behandeln.
- Erstellt ClientParams um AuthClient zu konfigurieren. - Erstellt ClientEvents, um Ereignisse im Client zu konfigurieren.
This commit is contained in:
32
DigitalData.Auth.Client/AuthClient.cs
Normal file
32
DigitalData.Auth.Client/AuthClient.cs
Normal file
@@ -0,0 +1,32 @@
|
||||
using DigitalData.Auth.Abstractions;
|
||||
using Microsoft.AspNetCore.SignalR.Client;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Microsoft.Extensions.Options;
|
||||
|
||||
namespace DigitalData.Auth.Client;
|
||||
|
||||
public class AuthClient : IAuthClient
|
||||
{
|
||||
private readonly HubConnection _connection;
|
||||
|
||||
private readonly ILogger? _logger;
|
||||
|
||||
private readonly ClientParams _params;
|
||||
|
||||
public AuthClient(IOptions<ClientParams> paramsOptions, HubConnectionBuilder connectionBuilder, ILogger<AuthClient>? logger = null)
|
||||
{
|
||||
_connection = connectionBuilder
|
||||
.WithUrl(paramsOptions.Value.Url)
|
||||
.Build();
|
||||
|
||||
_connection.On<string, string>(nameof(ReceiveMessage), ReceiveMessage);
|
||||
|
||||
_logger = logger;
|
||||
|
||||
_params = paramsOptions.Value;
|
||||
}
|
||||
|
||||
public async Task StartAsync() => await _connection.StartAsync();
|
||||
|
||||
public Task ReceiveMessage(string user, string message) => _params.Events.OnMessageReceived(user, message, _logger);
|
||||
}
|
||||
Reference in New Issue
Block a user