Skip to main content

server/
error.rs

1use finance::error::FinanceError;
2use scripting::error::HookError;
3use sqlx::types::uuid::Error as UuidError;
4use thiserror::Error;
5
6use crate::db::DBError;
7
8#[derive(Debug, Error)]
9pub enum ServerError {
10    #[error("Can't create and entity")]
11    Creation,
12    #[error("Hook")]
13    Hook(#[from] HookError),
14    #[error("Finance")]
15    Finance(#[from] FinanceError),
16    #[error("Database")]
17    DB(#[from] DBError),
18    #[error("Uuid conversion")]
19    Uuid(#[from] UuidError),
20    #[error("Mutex")]
21    Lock,
22    /// Script-runner orchestration failure (transaction read, script
23    /// execution, or output application). Distinct from `Hook` which
24    /// wraps the in-script executor error type; this variant covers
25    /// the surrounding command-loop bookkeeping.
26    #[error("Script: {0}")]
27    Script(String),
28}