Skip to main content
Table of Contents

Class EventBundle

Namespace
Stratara.Contracts.Messages
Assembly
Stratara.Contracts.dll

Wire-level bundle of events emitted by a single command. Travels through the outbox + message bus as one unit so projections and sagas see a transactionally-consistent slice.

[ExcludeFromCodeCoverage]
public sealed record EventBundle : IEquatable<EventBundle>
Inheritance
EventBundle
Implements
Inherited Members
Extension Methods

Remarks

Property names are pinned via JsonPropertyNameAttribute so the wire format is independent of any consumer-side JsonSerializerOptions.PropertyNamingPolicy.

Constructors

EventBundle(IReadOnlyList<EventMessage>, string, string?)

Wire-level bundle of events emitted by a single command. Travels through the outbox + message bus as one unit so projections and sagas see a transactionally-consistent slice.

public EventBundle(IReadOnlyList<EventMessage> Events, string SessionContextJson, string? Signature = null)

Parameters

Events IReadOnlyList<EventMessage>

Ordered list of events in the bundle.

SessionContextJson string

JSON serialization of the originating SessionContext.

Signature string

Optional opaque signature produced by IBusEnvelopeSigner when bus integrity is enabled. Defaults to null for backwards compatibility with hosts that have not opted in.

Remarks

Property names are pinned via JsonPropertyNameAttribute so the wire format is independent of any consumer-side JsonSerializerOptions.PropertyNamingPolicy.

Properties

Events

Ordered list of events in the bundle.

[JsonPropertyName("Events")]
public IReadOnlyList<EventMessage> Events { get; init; }

Property Value

IReadOnlyList<EventMessage>

SessionContextJson

JSON serialization of the originating SessionContext.

[JsonPropertyName("SessionContextJson")]
public string SessionContextJson { get; init; }

Property Value

string

Signature

Optional opaque signature produced by IBusEnvelopeSigner when bus integrity is enabled. Defaults to null for backwards compatibility with hosts that have not opted in.

[JsonPropertyName("Signature")]
public string? Signature { get; init; }

Property Value

string