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}