bark/movement/
error.rs

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