bark/error/
movement.rs

1use thiserror::Error;
2
3use crate::movement::MovementId;
4use crate::subsystem::SubsystemId;
5
6#[derive(Debug, Error)]
7pub enum MovementError {
8	#[error("Movement Cache Error: Movement missing from cache ({id})")]
9	CacheError { id: MovementId },
10
11	#[error("Movement Creation Error: {e}")]
12	CreationError { e: anyhow::Error },
13
14	#[error("Incorrect Status Error: Attempt to incorrectly set movement to {status}")]
15	IncorrectStatus { status: String },
16
17	#[error("Invalid Subsystem ID: {id} does not exist")]
18	InvalidSubsystemId { id: SubsystemId },
19
20	#[error("Invalid Movement ID: {id} does not exist")]
21	InvalidMovementId { id: MovementId },
22
23	#[error("Movement Load Error: Unable to load movement ({id}) from persister: {e}")]
24	LoadError { id: MovementId, e: anyhow::Error },
25
26	#[error("Persist Movement Failed: Unable to persist changes to movement ({id}): {e}")]
27	PersisterError { id: MovementId, e: anyhow::Error },
28
29	#[error("Subsystem Error ({name}): {error}")]
30	SubsystemError { name: String, error: String },
31}