1use apalis_core::error::BoxDynError;
2use async_nats::{
3 client::{FlushErrorKind, PublishErrorKind},
4 error::Error,
5 jetstream::{consumer::StreamError, context::CreateStreamError, stream::ConsumerError},
6};
7
8pub type AckError = Error<PublishErrorKind>;
9
10#[derive(Debug, thiserror::Error)]
11pub enum JetStreamError<PollErr> {
12 #[error("PollError: {0}")]
13 PollError(PollErr),
14
15 #[error("ConsumerError: {0}")]
16 ConsumerError(ConsumerError),
17
18 #[error("StreamError: {0}")]
19 StreamError(StreamError),
20
21 #[error("CreateStreamError: {0}")]
22 CreateStreamError(CreateStreamError),
23
24 #[error("ParseError: {0}")]
25 ParseError(BoxDynError),
26
27 #[error("AckError: {0}")]
28 AckError(AckError),
29
30 #[error("SinkError: {0}")]
31 SinkError(BoxDynError),
32
33 #[error("FlushError: {0}")]
34 FlushError(Error<FlushErrorKind>),
35}