Skip to main content

Asset Event Summary

Summary

The asset-service raises six domain events, each mapped to one integration contract, all carrying a single uniform payload type. Events are published through a transactional outbox with a hosted relay. Delivery is at-least-once with no ordering guarantee. This page summarizes the model; the authoritative event details live in the verified event catalog.

Audience

Developers building consumers, QA engineers validating event flow, and solution architects reasoning about delivery semantics.

Reference Content

Events and contracts

Domain eventIntegration contractEmitting transition
RequestedAssetRequestedCreateRequest
AssignedAssetAssignedAssign / compat approve
ReturnedAssetReturnedReturn
RejectedAssetRejectedReject / compat reject
LostOrDamagedAssetLostOrDamagedMarkDamaged / MarkLost
RetiredAssetRetiredRetire

Payload and versioning

  • One shared payload type (AssetLifecycleData / uniform Asset* payload).
  • SchemaVersion 1.

Delivery model

AspectBehavior
MechanismTransactional outbox + hosted relay.
Relay cadence10-second poll, batch of 50.
Delivery guaranteeAt-least-once.
OrderingNo ordering guarantee.
RetryUnbounded retry.
Dead-letter / cleanupNone.

Consumers

One confirmed downstream consumer: notification-service, with six Asset.* templates. The inbound consumer within the asset-service itself remains foundational and is not implemented.

Source References

  • microservices/src/asset-service/Domain/Asset/AssetDomainEvents.cs
  • microservices/src/contracts/Events/AssetLifecycleEvents.cs
  • microservices/src/asset-service/Infrastructure/AssetDbContext.cs

See Also

Keywords

asset events, outbox, delivery model, at-least-once, notification consumer

Revision Information

  • Status: Draft
  • Last reviewed: 2026-07-17
  • Review cycle: Quarterly