scuffle_cedar_policy/
action_request_error.rs

1use cedar_policy::{ContextJsonError, RequestValidationError};
2
3/// An error that can occur when building a requst from a CedarAction.
4#[derive(thiserror::Error, Debug)]
5pub enum CedarActionRequestError {
6    /// Error due to request validation
7    #[error(transparent)]
8    RequestValidationError(Box<RequestValidationError>),
9    /// Error due to context parsing
10    #[error(transparent)]
11    ContextJsonError(Box<ContextJsonError>),
12    /// Error from serde json
13    #[error(transparent)]
14    SerdeJson(#[from] serde_json::Error),
15}
16
17impl From<RequestValidationError> for CedarActionRequestError {
18    fn from(value: RequestValidationError) -> Self {
19        Self::RequestValidationError(Box::new(value))
20    }
21}
22
23impl From<ContextJsonError> for CedarActionRequestError {
24    fn from(value: ContextJsonError) -> Self {
25        Self::ContextJsonError(Box::new(value))
26    }
27}