1use super::base36::DecodeError;
4use thiserror::Error;
5
6#[derive(Debug, Error)]
8pub enum SidError {
9 #[error("contributor id {0} exceeds maximum 998")]
11 ContributorIdTooLarge(u16),
12
13 #[error("space has reached maximum contributors (999)")]
15 MaxContributorsReached,
16
17 #[error("invalid sid format: {0}")]
19 InvalidFormat(String),
20
21 #[error("base36 decode error: {0}")]
23 DecodeError(#[from] DecodeError),
24
25 #[error("global id overflow: value {0} exceeds 6-char capacity")]
27 GlobalIdOverflow(u64),
28
29 #[error("contributor {0} not registered - call register_contributor first")]
31 ContributorNotRegistered(u16),
32
33 #[error("invalid counter file for contributor {0}")]
35 InvalidCounterFile(u16),
36
37 #[error("invalid config file: {0}")]
39 InvalidConfigFile(String),
40
41 #[error("invalid name format: {0}")]
43 InvalidName(String),
44
45 #[error("io error: {0}")]
47 IoError(#[from] std::io::Error),
48
49 #[error("serialization error: {0}")]
51 SerializationError(String),
52
53 #[error("object not found: {0}")]
55 NotFound(String),
56
57 #[error("storage error: {0}")]
59 StorageError(String),
60}
61
62pub type Result<T> = std::result::Result<T, SidError>;