Skip to main content

heeranjid_sqlx/
error.rs

1use thiserror::Error;
2
3#[derive(Debug, Error)]
4pub enum GenerateError {
5    #[error("database returned invalid HeerId: {0}")]
6    InvalidHeerId(#[source] heeranjid::Error),
7    #[error("database returned invalid RanjId: {0}")]
8    InvalidRanjId(#[source] heeranjid::Error),
9    #[error("logical future drift (batch-induced): {message}")]
10    LogicalDrift { message: String },
11    #[error("clock rollback: {message}")]
12    ClockRollback { message: String },
13    #[error("hard clock rollback: {message}")]
14    HardClockRollback { message: String },
15    #[error("database error: {0}")]
16    Database(#[from] sqlx::Error),
17}
18
19#[derive(Debug, Error)]
20pub enum StartupError {
21    #[error("node {0} is not registered or not active")]
22    NodeNotActive(u16),
23    #[error("heer_config epoch is not configured")]
24    MissingEpoch,
25    #[error("database error: {0}")]
26    Database(#[from] sqlx::Error),
27}