konnektoren_core/commands/
error.rs

1use thiserror::Error;
2
3#[derive(Error, Debug, PartialEq)]
4pub enum CommandError {
5    #[error("Invalid command: {0}")]
6    InvalidCommand(String),
7
8    #[error("Command execution failed: {0}")]
9    ExecutionFailed(String),
10
11    #[error("Game error: {0}")]
12    GameError(#[from] crate::game::GameError),
13
14    #[error("Challenge error: {0}")]
15    ChallengeError(#[from] crate::challenges::ChallengeError),
16
17    // Merge in the parse errors from errors.rs
18    #[error("Failed to parse command: {0}")]
19    ParseError(String),
20
21    #[error("Unknown command type: {0}")]
22    UnknownCommandType(String),
23
24    #[error("Missing command data")]
25    MissingData,
26
27    #[error("Invalid command data: {0}")]
28    InvalidData(String),
29
30    #[error("Failed to lock state: {0}")]
31    StateLock(String),
32}
33
34pub type Result<T> = std::result::Result<T, CommandError>;