diff --git a/crates/lib/api_clients/runwayml_client/src/error/api_error.rs b/crates/lib/api_clients/runwayml_client/src/error/api_error.rs new file mode 100644 index 0000000000..deb1021fe1 --- /dev/null +++ b/crates/lib/api_clients/runwayml_client/src/error/api_error.rs @@ -0,0 +1,14 @@ +use std::error::Error; +use std::fmt::{Display, Formatter}; + +#[derive(Debug)] +pub enum ApiError { +} + +impl Display for ApiError { + fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { + todo!() + } +} + +impl Error for ApiError {} diff --git a/crates/lib/api_clients/runwayml_client/src/error/client_error.rs b/crates/lib/api_clients/runwayml_client/src/error/client_error.rs new file mode 100644 index 0000000000..d54209e6f2 --- /dev/null +++ b/crates/lib/api_clients/runwayml_client/src/error/client_error.rs @@ -0,0 +1,14 @@ +use std::error::Error; +use std::fmt::{Display, Formatter}; + +#[derive(Debug)] +pub enum ClientError { +} + +impl Display for ClientError { + fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { + todo!() + } +} + +impl Error for ClientError {} diff --git a/crates/lib/api_clients/runwayml_client/src/error/mod.rs b/crates/lib/api_clients/runwayml_client/src/error/mod.rs new file mode 100644 index 0000000000..971c344288 --- /dev/null +++ b/crates/lib/api_clients/runwayml_client/src/error/mod.rs @@ -0,0 +1,3 @@ +pub mod client_error; +pub mod api_error; +pub mod runwayml_error; \ No newline at end of file diff --git a/crates/lib/api_clients/runwayml_client/src/error/runwayml_error.rs b/crates/lib/api_clients/runwayml_client/src/error/runwayml_error.rs new file mode 100644 index 0000000000..71d9cff801 --- /dev/null +++ b/crates/lib/api_clients/runwayml_client/src/error/runwayml_error.rs @@ -0,0 +1,33 @@ +use crate::error::api_error::ApiError; +use crate::error::client_error::ClientError; +use std::error::Error; +use std::fmt::{Display, Formatter}; + +#[derive(Debug)] +pub enum RunwayMlError { + Api(ApiError), + Client(ClientError), +} + +impl Display for RunwayMlError{ + fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { + match self { + Self::Api(err) => write!(f, "ApiError: {}", err), + Self::Client(err) => write!(f, "ClientError: {}", err), + } + } +} + +impl Error for RunwayMlError {} + +impl From for RunwayMlError { + fn from(err: ApiError) -> Self { + RunwayMlError::Api(err) + } +} + +impl From for RunwayMlError { + fn from(err: ClientError) -> Self { + RunwayMlError::Client(err) + } +} diff --git a/crates/lib/api_clients/runwayml_client/src/lib.rs b/crates/lib/api_clients/runwayml_client/src/lib.rs index f61789f48d..e20ccef46f 100644 --- a/crates/lib/api_clients/runwayml_client/src/lib.rs +++ b/crates/lib/api_clients/runwayml_client/src/lib.rs @@ -1 +1,3 @@ /// TODO DOCS + +pub mod error; \ No newline at end of file