pub struct HistoryEntry {
pub occurred_at: String,
pub action: String,
pub actor: String,
pub changed: Value,
pub reason: Option<String>,
pub correlation_id: Option<String>,
}Expand description
Parse the reserved fields key (comma-separated) into trimmed field names.
Absent/empty → empty vec, meaning “no projection — return every field”.
One recorded change to a record.
changed is the capture layer’s diff shape, carried through verbatim:
{field: {"from": old, "to": new}} for an update, and the full image as
{field: {"to": v}} / {field: {"from": v}} for an insert / delete. The
trail is DIFF-ONLY, so an update entry names only the fields that actually
changed — a consumer wanting the record’s state at a point in time must
re-anchor on the nearest full image and replay forward, which is what the
insert/delete images exist for.
Fields§
§occurred_at: String§action: Stringinsert | update | delete, or a verb-emitted action.
actor: String§changed: Value§reason: Option<String>§correlation_id: Option<String>Trait Implementations§
Source§impl Clone for HistoryEntry
impl Clone for HistoryEntry
Source§impl Debug for HistoryEntry
impl Debug for HistoryEntry
Source§impl<'de> Deserialize<'de> for HistoryEntry
impl<'de> Deserialize<'de> for HistoryEntry
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for HistoryEntry
impl RefUnwindSafe for HistoryEntry
impl Send for HistoryEntry
impl Sync for HistoryEntry
impl Unpin for HistoryEntry
impl UnsafeUnpin for HistoryEntry
impl UnwindSafe for HistoryEntry
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more