Skip to main content

Module model

Module model 

Source
Expand description

The common record envelope.

A Record is the current-state projection of a record’s event history (see crate::event and crate::projection). Applications never mutate a Record directly; they append events through the crate::repository::Repository.

Structs§

ActorRole
An actor with an explicit role on a record.
Attribution
ExtensionData
Namespaced, typed extension fields attached to a record. Validated against an crate::extension::ExtensionSchema registered for the namespace.
Record
The common record envelope (current state).
RecordDraft
Input for creating a record. The repository assigns the id, version and recorded time; clients cannot supply them.
RecordTimes
The distinct times a record can carry. These are never conflated: recorded_at is when this system first recorded it (ingestion time), the others are claims about the world and are optional.

Enums§

ActorRef
Who did or said something.
ActorRoleKind
The role an actor plays with respect to a record.
Disclosure
Whether the identity of an attributed actor may be shown to viewers who are neither the actor nor privileged. Withholding is not anonymity: the attribution is retained for accountability and moderation.
Lifecycle
Generic lifecycle of a record. Application workflow states (for example an issue’s triage status) do not belong here; they live in extensions.
RecordKind
The type of a record. The core kinds are deliberately broader than any one application: issues are only one of them.
Visibility
Who may see a record, an event or a source.

Type Aliases§

Timestamp