This commit is contained in:
skidoodle 2024-03-13 00:33:46 +01:00
commit e124a47765
19374 changed files with 9806149 additions and 0 deletions

View file

@ -0,0 +1,18 @@
using Kreta.Core.MessageBroker.Azure.EventHub.Client.Configuration;
using Microsoft.Azure.EventHubs;
namespace Kreta.MessageBroker.ClientFactory
{
/// <summary>
/// Event hub message client factory
/// </summary>
class AzureEventHubMessageClientFactory : Core.MessageBroker.Azure.EventHub.Client.AzureEventHubMessageClientFactory
{
/// <summary>
/// Constructor
/// </summary>
/// <param name="configuration">Configuration</param>
public AzureEventHubMessageClientFactory(IAzureEventHubClientsConfiguration configuration) : base(configuration, RetryPolicy.NoRetry)
{ }
}
}

View file

@ -0,0 +1,7 @@
using Kreta.Core.MessageBroker;
namespace Kreta.MessageBroker.ClientFactory
{
internal interface IJsonMessageClientFactory<T> : IMessageClientFactory<T> where T : class
{ }
}

View file

@ -0,0 +1,34 @@
using System;
using Kreta.Core.MessageBroker;
using Kreta.Core.MessageBroker.Client.Implementations;
namespace Kreta.MessageBroker.ClientFactory
{
internal abstract class JsonMessageClientFactory<T> : IJsonMessageClientFactory<T>
where T : class
{
#region [Properties]
private IMessageClientFactory<string> NativeMessageClientFactory { get; }
#endregion
#region [Public methods]
public IMessageClient<T> Create(string name)
{
return new JsonMessageClient<T>(this.NativeMessageClientFactory.Create(name));
}
#endregion
#region [Constructors]
public JsonMessageClientFactory(IMessageClientFactory<string> nativeMessageClientFactory)
{
this.NativeMessageClientFactory = nativeMessageClientFactory ?? throw new ArgumentNullException(nameof(nativeMessageClientFactory));
}
#endregion
}
}

View file

@ -0,0 +1,11 @@
using Kreta.Core.MessageBroker;
using Kreta.Core.MessageBroker.Contract.MobileNotification;
namespace Kreta.MessageBroker.ClientFactory
{
internal class MobileNotificationJsonMessageClientFactory : JsonMessageClientFactory<MobileNotificationMessage>
{
public MobileNotificationJsonMessageClientFactory(IMessageClientFactory<string> messageClientFactory) : base(messageClientFactory)
{ }
}
}