Skip to main content

Asset Events Overview

Summary​

A verified, high-level orientation to the Asset Management event model: six domain events, six matching integration contracts, transactional outbox staging, a registered relay, and one confirmed consumer.

Audience​

Engineering, integration, QA, support, architecture, security, and product reviewers.

Reference Content​

Verified totals​

MeasureVerified total
Domain events6
Integration contracts (outbound)6
Inbound contracts consumed by asset-service0
Confirmed consumer services1 (Notification)
Outbox object sets1
Processed-event ledgers (asset-service)1 (foundation, unused)
Contract schema version1

What is an event here​

The Asset aggregate raises typed domain events during lifecycle transitions. On save, each domain event is translated into a shared integration contract and written to the transactional outbox in the same database transaction. A background relay later publishes staged rows through the shared event bus.

Three distinct concepts are kept separate throughout this documentation and must not be conflated:

  • Domain events — in-memory records raised by the aggregate (AssetService.Domain.Asset).
  • Integration contracts — the serialized, cross-service records defined in HrSuit.Contracts.Events.
  • HTTP integrations — request/response calls to workflow and document services. These are not events.

The six lifecycle events​

AssetRequested, AssetAssigned, AssetReturned, AssetRejected, AssetLostOrDamaged, and AssetRetired. Every event carries the same uniform payload so a single consumer can render all of them from one field set.

Producer and consumer at a glance​

Broker delivery from the event bus onward depends on broker availability and configuration and is not verified by this documentation task.

Source References​

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

See Also​

Keywords​

  • Asset events
  • Lifecycle events
  • Transactional outbox

Revision Information​

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