V13-FE-011: finalize search list layout slice
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
namespace Kbx.Shared.Integrations;
|
||||
|
||||
public enum KbxIntegrationDeliveryState { Queued, Delivering, Retrying, Delivered, Failed, Suspended }
|
||||
public enum KbxIntegrationFailureKind { Transient, Permanent }
|
||||
|
||||
public sealed record KbxIntegrationMessage(
|
||||
Guid MessageId,
|
||||
Guid TenantId,
|
||||
string IntegrationId,
|
||||
string AggregateType,
|
||||
string AggregateId,
|
||||
long? AggregateVersion,
|
||||
string Payload,
|
||||
string CorrelationId,
|
||||
DateTimeOffset CreatedAt);
|
||||
|
||||
public sealed record KbxIntegrationAttemptResult(
|
||||
bool Succeeded,
|
||||
KbxIntegrationFailureKind? FailureKind = null,
|
||||
string? Code = null,
|
||||
string? Detail = null,
|
||||
int? HttpStatus = null,
|
||||
string? ExternalReference = null);
|
||||
|
||||
public interface IKbxIntegrationAdapter
|
||||
{
|
||||
string IntegrationId { get; }
|
||||
ValueTask<KbxIntegrationAttemptResult> SendAsync(KbxIntegrationMessage message, CancellationToken cancellationToken);
|
||||
}
|
||||
|
||||
public interface IKbxIntegrationAdapterRegistry
|
||||
{
|
||||
IKbxIntegrationAdapter GetRequired(string integrationId);
|
||||
}
|
||||
Reference in New Issue
Block a user