mochow_sdk_rust/
error.rs

1use std::{error::Error, fmt::Display};
2
3use crate::mochow::{api::*, client::*, config::*};
4
5#[derive(Debug)]
6pub enum SdkError {
7    /// Request error.
8    RequestError(reqwest::Error),
9
10    /// Request middleware error.
11    RequestMiddlewareError(reqwest_middleware::Error),
12
13    /// Mochow service error. with service code, message and http status code.
14    ServiceError(ServiceError),
15
16    /// Mochow SDK param error.
17    ParamsError(String),
18
19    /// Other error.
20    OtherError(anyhow::Error),
21}
22
23impl Error for SdkError {}
24
25impl Display for SdkError {
26    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
27        match self {
28            SdkError::ServiceError(e) => write!(f, "service Error: {}", e),
29            SdkError::OtherError(e) => write!(f, "other error: {}. \ndetail {:?}", e, e),
30            SdkError::ParamsError(e) => write!(f, "params error: {}", e),
31            SdkError::RequestError(e) => {
32                write!(f, "request error: {}. \ndetail {:?}", e, e)
33            }
34            SdkError::RequestMiddlewareError(e) => {
35                write!(f, "request middleware error: {}. \ndetail {:?}", e, e)
36            }
37        }
38    }
39}
40
41impl From<reqwest::Error> for SdkError {
42    fn from(value: reqwest::Error) -> Self {
43        SdkError::OtherError(value.into())
44    }
45}
46
47impl From<reqwest_middleware::Error> for SdkError {
48    fn from(value: reqwest_middleware::Error) -> Self {
49        SdkError::RequestMiddlewareError(value)
50    }
51}
52
53impl From<ClientConfigurationBuilderError> for SdkError {
54    fn from(value: ClientConfigurationBuilderError) -> Self {
55        SdkError::OtherError(value.into())
56    }
57}
58
59impl From<MochowClientBuilderError> for SdkError {
60    fn from(value: MochowClientBuilderError) -> Self {
61        SdkError::OtherError(value.into())
62    }
63}
64
65impl From<CreateDatabaseArgsBuilderError> for SdkError {
66    fn from(value: CreateDatabaseArgsBuilderError) -> Self {
67        SdkError::OtherError(value.into())
68    }
69}
70
71impl From<DropDatabaseArgsBuilderError> for SdkError {
72    fn from(value: DropDatabaseArgsBuilderError) -> Self {
73        SdkError::OtherError(value.into())
74    }
75}
76
77impl From<ListDatabaseArgsBuilderError> for SdkError {
78    fn from(value: ListDatabaseArgsBuilderError) -> Self {
79        SdkError::OtherError(value.into())
80    }
81}
82
83impl From<DropTableArgsBuilderError> for SdkError {
84    fn from(value: DropTableArgsBuilderError) -> Self {
85        SdkError::OtherError(value.into())
86    }
87}
88
89impl From<ListTableArgsBuilderError> for SdkError {
90    fn from(value: ListTableArgsBuilderError) -> Self {
91        SdkError::OtherError(value.into())
92    }
93}
94
95impl From<DescriptTableArgsBuilderError> for SdkError {
96    fn from(value: DescriptTableArgsBuilderError) -> Self {
97        SdkError::OtherError(value.into())
98    }
99}
100
101impl From<StatsTableArgsBuilderError> for SdkError {
102    fn from(value: StatsTableArgsBuilderError) -> Self {
103        SdkError::OtherError(value.into())
104    }
105}
106
107impl From<AliasTableArgsBuilderError> for SdkError {
108    fn from(value: AliasTableArgsBuilderError) -> Self {
109        SdkError::OtherError(value.into())
110    }
111}
112
113impl From<UnaliasTableArgsBuilderError> for SdkError {
114    fn from(value: UnaliasTableArgsBuilderError) -> Self {
115        SdkError::OtherError(value.into())
116    }
117}
118
119impl From<DescriptIndexArgsBuilderError> for SdkError {
120    fn from(value: DescriptIndexArgsBuilderError) -> Self {
121        SdkError::OtherError(value.into())
122    }
123}
124
125impl From<RebuildIndexArgsBuilderError> for SdkError {
126    fn from(value: RebuildIndexArgsBuilderError) -> Self {
127        SdkError::OtherError(value.into())
128    }
129}
130
131impl From<DeleteIndexArgsBuilderError> for SdkError {
132    fn from(value: DeleteIndexArgsBuilderError) -> Self {
133        SdkError::OtherError(value.into())
134    }
135}