store_sqlite/error.rs
1//! Store error type.
2
3use thiserror::Error;
4
5/// Errors produced by the SQLite mailbox store.
6#[derive(Debug, Error)]
7pub enum StoreError {
8 /// An underlying SQLite error.
9 #[error("sqlite: {0}")]
10 Sqlite(#[from] rusqlite::Error),
11 /// A JSON serialization/deserialization error.
12 #[error("json: {0}")]
13 Json(#[from] serde_json::Error),
14 /// Enqueue rejected: near-duplicate body.
15 #[error("duplicate work: {0}")]
16 Duplicate(String),
17 /// Event append rejected: expected sequence mismatch or duplicate seq.
18 #[error("duplicate event seq: aggregate {aggregate_id} expected {expected}")]
19 DuplicateEventSeq {
20 /// Aggregate id.
21 aggregate_id: String,
22 /// Sequence the caller expected.
23 expected: u64,
24 },
25}