aws_utils_dynamodb/
error.rs1use thiserror::Error;
2
3#[derive(Error, Debug)]
4pub enum Error {
5 #[error(transparent)]
6 BuildError(#[from] aws_sdk_dynamodb::error::BuildError),
7
8 #[error(transparent)]
9 AwsSdk(#[from] Box<aws_sdk_dynamodb::Error>),
10
11 #[error("ValidationError: {0}")]
12 ValidationError(String),
13
14 #[error("NotFound")]
15 NotFound,
16
17 #[error("Invalid: {0}")]
18 Invalid(String),
19}
20
21pub(crate) fn from_aws_sdk_error(e: impl Into<aws_sdk_dynamodb::Error>) -> Error {
22 Error::AwsSdk(Box::new(e.into()))
23}
24
25impl Error {
26 pub fn is_conditional_check_failed_exception(&self) -> bool {
27 match self {
28 Error::AwsSdk(e) => {
29 match e.as_ref() {
30 aws_sdk_dynamodb::Error::ConditionalCheckFailedException(_) => true,
31 _ => false,
32 }
33 },
34 _ => false,
35 }
36 }
37}