diff --git a/Cargo.lock b/Cargo.lock index d607e35..180493c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -967,7 +967,7 @@ dependencies = [ [[package]] name = "ndc-sdk" -version = "0.2.0" +version = "0.2.1" dependencies = [ "async-trait", "axum", diff --git a/Cargo.toml b/Cargo.toml index 00d879f..ed995f2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [workspace] resolver = "2" -package.version = "0.2.0" +package.version = "0.2.1" package.edition = "2021" package.license = "Apache-2.0" diff --git a/crates/sdk/src/connector/error.rs b/crates/sdk/src/connector/error.rs index 7d4944d..ccebee0 100644 --- a/crates/sdk/src/connector/error.rs +++ b/crates/sdk/src/connector/error.rs @@ -118,11 +118,11 @@ pub enum InitializationError { #[derive(Debug, Error)] pub enum FetchMetricsError { #[error("error fetching metrics: {0}")] - Other(Box, serde_json::Value), + Other(Box, serde_json::Value), } impl FetchMetricsError { - pub fn new>>(err: E) -> Self { + pub fn new>>(err: E) -> Self { Self::Other(err.into(), serde_json::Value::Null) } #[must_use] @@ -154,11 +154,11 @@ impl IntoResponse for FetchMetricsError { #[derive(Debug, Error)] pub enum HealthError { #[error("error checking health status: {0}")] - Other(Box, serde_json::Value), + Other(Box, serde_json::Value), } impl HealthError { - pub fn new>>(err: E) -> Self { + pub fn new>>(err: E) -> Self { Self::Other(err.into(), serde_json::Value::Null) } #[must_use] @@ -190,11 +190,11 @@ impl IntoResponse for HealthError { #[derive(Debug, Error)] pub enum SchemaError { #[error("error retrieving the schema: {0}")] - Other(Box, serde_json::Value), + Other(Box, serde_json::Value), } impl SchemaError { - pub fn new>>(err: E) -> Self { + pub fn new>>(err: E) -> Self { Self::Other(err.into(), serde_json::Value::Null) } #[must_use] @@ -205,8 +205,8 @@ impl SchemaError { } } -impl From> for SchemaError { - fn from(value: Box) -> Self { +impl From> for SchemaError { + fn from(value: Box) -> Self { Self::new(value) } } @@ -247,11 +247,11 @@ pub enum QueryError { #[error("unsupported operation: {}", .0.message)] UnsupportedOperation(models::ErrorResponse), #[error("error executing query: {0}")] - Other(Box, serde_json::Value), + Other(Box, serde_json::Value), } impl QueryError { - pub fn new>>(err: E) -> Self { + pub fn new>>(err: E) -> Self { Self::Other(err.into(), serde_json::Value::Null) } pub fn new_invalid_request(message: &T) -> Self { @@ -289,8 +289,8 @@ impl QueryError { } } -impl From> for QueryError { - fn from(value: Box) -> Self { +impl From> for QueryError { + fn from(value: Box) -> Self { Self::new(value) } } @@ -334,11 +334,11 @@ pub enum ExplainError { #[error("unsupported operation: {}", .0.message)] UnsupportedOperation(models::ErrorResponse), #[error("explain error: {0}")] - Other(Box, serde_json::Value), + Other(Box, serde_json::Value), } impl ExplainError { - pub fn new>>(err: E) -> Self { + pub fn new>>(err: E) -> Self { Self::Other(err.into(), serde_json::Value::Null) } pub fn new_invalid_request(message: &T) -> Self { @@ -376,8 +376,8 @@ impl ExplainError { } } -impl From> for ExplainError { - fn from(value: Box) -> Self { +impl From> for ExplainError { + fn from(value: Box) -> Self { Self::new(value) } } @@ -429,11 +429,11 @@ pub enum MutationError { #[error("mutation violates constraint: {}", .0.message)] ConstraintNotMet(models::ErrorResponse), #[error("error executing mutation: {0}")] - Other(Box, serde_json::Value), + Other(Box, serde_json::Value), } impl MutationError { - pub fn new>>(err: E) -> Self { + pub fn new>>(err: E) -> Self { Self::Other(err.into(), serde_json::Value::Null) } pub fn new_invalid_request(message: &T) -> Self { @@ -489,8 +489,8 @@ impl MutationError { } } -impl From> for MutationError { - fn from(value: Box) -> Self { +impl From> for MutationError { + fn from(value: Box) -> Self { Self::new(value) } } diff --git a/crates/sdk/src/default_main.rs b/crates/sdk/src/default_main.rs index 6c926d3..07b5b26 100644 --- a/crates/sdk/src/default_main.rs +++ b/crates/sdk/src/default_main.rs @@ -448,15 +448,15 @@ mod ndc_test_commands { ) -> Result { super::get_capabilities::() .await - .into_value::>() - .map_err(ndc_test::error::Error::OtherError) + .into_value::>() + .map_err(|e| ndc_test::error::Error::OtherError(e)) } async fn get_schema(&self) -> Result { match C::get_schema(&self.configuration).await { Ok(response) => response - .into_value::>() - .map_err(ndc_test::error::Error::OtherError), + .into_value::>() + .map_err(|e| ndc_test::error::Error::OtherError(e)), Err(err) => Err(ndc_test::error::Error::OtherError(err.into())), } } diff --git a/crates/sdk/src/json_response.rs b/crates/sdk/src/json_response.rs index 4789177..85be6e8 100644 --- a/crates/sdk/src/json_response.rs +++ b/crates/sdk/src/json_response.rs @@ -27,7 +27,9 @@ impl serde::Deserialize<'de>)> JsonResponse { /// /// This is only intended for testing and compatibility. If it lives on a /// critical path, we recommend you avoid it. - pub(crate) fn into_value>>(self) -> Result { + pub(crate) fn into_value>>( + self, + ) -> Result { match self { Self::Value(value) => Ok(value), Self::Serialized(bytes) => {