chronix_security/authz/
error.rs1use thiserror::Error;
4
5#[derive(Debug, Error)]
7pub enum AuthzError {
8 #[error("Policy parse error: {0}")]
10 PolicyParse(String),
11 #[error("Schema parse error: {0}")]
13 SchemaParse(String),
14 #[error("Policy validation error: {0}")]
16 PolicyValidation(String),
17 #[error("I/O error: {0}")]
19 Io(#[from] std::io::Error),
20 #[error("Internal authorization error: {0}")]
22 Internal(String),
23}
24
25pub type Result<T> = std::result::Result<T, AuthzError>;
27
28#[cfg(test)]
29mod tests {
30 use super::*;
31
32 #[test]
33 fn error_display() {
34 let e = AuthzError::PolicyParse("bad syntax".into());
35 assert!(e.to_string().contains("bad syntax"));
36 }
37}