Struct cala_ledger::entity::EntityEvents
source · pub struct EntityEvents<T: EntityEvent> {
pub entity_first_persisted_at: Option<DateTime<Utc>>,
pub latest_event_persisted_at: Option<DateTime<Utc>>,
/* private fields */
}Fields§
§entity_first_persisted_at: Option<DateTime<Utc>>§latest_event_persisted_at: Option<DateTime<Utc>>Implementations§
source§impl<T> EntityEvents<T>
impl<T> EntityEvents<T>
pub fn init( id: <T as EntityEvent>::EntityId, initial_events: impl IntoIterator<Item = T>, ) -> Self
pub fn push(&mut self, event: T)
pub async fn persist( &mut self, db: &mut Transaction<'_, Postgres>, ) -> Result<usize, Error>
pub async fn persisted_at( &mut self, db: &mut Transaction<'_, Postgres>, data_source: DataSourceId, recorded_at: DateTime<Utc>, ) -> Result<usize, Error>
pub async fn batch_persist( db: &mut Transaction<'_, Postgres>, entities: impl IntoIterator<Item = Self>, ) -> Result<(), Error>
pub fn load_first<E: Entity<Event = T>>( events: impl IntoIterator<Item = GenericEvent>, ) -> Result<E, EntityError>
pub fn load_n<E: Entity<Event = T>>( events: impl IntoIterator<Item = GenericEvent>, n: usize, ) -> Result<(Vec<E>, bool), EntityError>
pub fn last_persisted(&self) -> impl Iterator<Item = &T>
pub fn iter(&self) -> impl DoubleEndedIterator<Item = &T>
Trait Implementations§
source§impl<T> IntoIterator for EntityEvents<T>
impl<T> IntoIterator for EntityEvents<T>
source§impl TryFrom<EntityEvents<AccountEvent>> for Account
impl TryFrom<EntityEvents<AccountEvent>> for Account
§type Error = EntityError
type Error = EntityError
The type returned in the event of a conversion error.
source§fn try_from(events: EntityEvents<AccountEvent>) -> Result<Self, Self::Error>
fn try_from(events: EntityEvents<AccountEvent>) -> Result<Self, Self::Error>
Performs the conversion.
source§impl TryFrom<EntityEvents<AccountSetEvent>> for AccountSet
impl TryFrom<EntityEvents<AccountSetEvent>> for AccountSet
§type Error = EntityError
type Error = EntityError
The type returned in the event of a conversion error.
source§fn try_from(events: EntityEvents<AccountSetEvent>) -> Result<Self, Self::Error>
fn try_from(events: EntityEvents<AccountSetEvent>) -> Result<Self, Self::Error>
Performs the conversion.
source§impl TryFrom<EntityEvents<EntryEvent>> for Entry
impl TryFrom<EntityEvents<EntryEvent>> for Entry
§type Error = EntityError
type Error = EntityError
The type returned in the event of a conversion error.
source§fn try_from(events: EntityEvents<EntryEvent>) -> Result<Self, Self::Error>
fn try_from(events: EntityEvents<EntryEvent>) -> Result<Self, Self::Error>
Performs the conversion.
source§impl TryFrom<EntityEvents<JournalEvent>> for Journal
impl TryFrom<EntityEvents<JournalEvent>> for Journal
§type Error = EntityError
type Error = EntityError
The type returned in the event of a conversion error.
source§fn try_from(events: EntityEvents<JournalEvent>) -> Result<Self, Self::Error>
fn try_from(events: EntityEvents<JournalEvent>) -> Result<Self, Self::Error>
Performs the conversion.
source§impl TryFrom<EntityEvents<TransactionEvent>> for Transaction
impl TryFrom<EntityEvents<TransactionEvent>> for Transaction
§type Error = EntityError
type Error = EntityError
The type returned in the event of a conversion error.
source§fn try_from(events: EntityEvents<TransactionEvent>) -> Result<Self, Self::Error>
fn try_from(events: EntityEvents<TransactionEvent>) -> Result<Self, Self::Error>
Performs the conversion.
source§impl TryFrom<EntityEvents<TxTemplateEvent>> for TxTemplate
impl TryFrom<EntityEvents<TxTemplateEvent>> for TxTemplate
§type Error = EntityError
type Error = EntityError
The type returned in the event of a conversion error.
source§fn try_from(events: EntityEvents<TxTemplateEvent>) -> Result<Self, Self::Error>
fn try_from(events: EntityEvents<TxTemplateEvent>) -> Result<Self, Self::Error>
Performs the conversion.
Auto Trait Implementations§
impl<T> Freeze for EntityEvents<T>
impl<T> RefUnwindSafe for EntityEvents<T>
impl<T> Send for EntityEvents<T>
impl<T> Sync for EntityEvents<T>
impl<T> Unpin for EntityEvents<T>
impl<T> UnwindSafe for EntityEvents<T>
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
source§impl<T> FutureExt for T
impl<T> FutureExt for T
source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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 moresource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request