auth_policy/
error.rs

1use std::fmt;
2
3#[derive(Debug, Clone, PartialEq, Eq)]
4pub enum Error {
5    InvalidTarget(String),
6    InvalidCondition(String),
7    InvalidPolicy(String),
8    MissingAttribute(String),
9}
10
11impl fmt::Display for Error {
12    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
13        match self {
14            Error::InvalidTarget(msg) => write!(f, "invalid target: {msg}"),
15            Error::InvalidCondition(msg) => write!(f, "invalid condition: {msg}"),
16            Error::InvalidPolicy(msg) => write!(f, "invalid policy: {msg}"),
17            Error::MissingAttribute(msg) => write!(f, "missing attribute: {msg}"),
18        }
19    }
20}
21
22impl std::error::Error for Error {}
23
24pub type Result<T> = std::result::Result<T, Error>;