Files
Khwezi Mngoma 902942eee6
continuous-integration/drone/pr Build is passing
Completed initial database design
Sealed qualifying public classes
Migrated database changes
2026-05-27 09:12:04 +02:00

24 lines
691 B
C#

using LiteCharms.Features.Abstractions;
using LiteCharms.Features.ServiceBus.Abstractions;
using LiteCharms.Features.ServiceBus.Queues;
namespace LiteCharms.Features.ServiceBus;
public sealed class GeneralServiceBus(GeneralQueue messages) : IEventBus
{
public async Task<Result> PublishAsync<TEvent>(TEvent notification, CancellationToken cancellationToken = default)
where TEvent : class, IEvent
{
try
{
await messages.Outgoing.WriteAsync(notification, cancellationToken);
return Result.Ok();
}
catch (Exception ex)
{
return Result.Fail(new Error(ex.Message).CausedBy(ex));
}
}
}