Skip to main content

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}