use thiserror::Error;
#[derive(Debug, Error)]
pub enum AclError {
#[error("{0}")]
Acl(String),
#[error("{message}")]
Parsing {
message: String,
filename: String,
line: i32,
},
#[error("{0}")]
Password(String),
#[error("Unknown operation '{0}'")]
UnknownOperation(String),
#[error("ACL Category '{0}' does not exist")]
CategoryDoesNotExist(String),
#[error("A user with name '{0}' does not exist")]
UserDoesNotExist(String),
#[error("A user with name '{0}' already exists.")]
UserAlreadyExists(String),
#[error("Command '{0}' does not exist")]
CommandDoesNotExist(String),
}
impl AclError {
pub fn parsing_wrap(message: &str, filename: &str, line: i32) -> Self {
Self::Acl(format!(
"Unable to parse ACL rule {filename}:{line}: {message}"
))
}
}