Skip to main content

appletheia_application/projection/
projector_rebuilder_error.rs

1use thiserror::Error;
2
3use crate::event::EventFeedReaderError;
4use crate::unit_of_work::{UnitOfWorkError, UnitOfWorkFactoryError};
5
6use super::{ProjectionCheckpointStoreError, ProjectorProcessedEventStoreError};
7
8#[derive(Debug, Error)]
9pub enum ProjectorRebuilderError {
10    #[error("event feed reader failed: {0}")]
11    EventFeedReader(#[from] EventFeedReaderError),
12
13    #[error("checkpoint store failed: {0}")]
14    CheckpointStore(#[from] ProjectionCheckpointStoreError),
15
16    #[error("processed event store failed: {0}")]
17    ProcessedEventStore(#[from] ProjectorProcessedEventStoreError),
18
19    #[error("unit of work error: {0}")]
20    UnitOfWork(#[from] UnitOfWorkError),
21
22    #[error("unit of work factory error: {0}")]
23    UnitOfWorkFactory(#[from] UnitOfWorkFactoryError),
24
25    #[error("projector definition failed")]
26    Definition(#[source] Box<dyn std::error::Error + Send + Sync>),
27}