#[async_trait::async_trait]
pub trait Executions: std::fmt::Debug + Send + Sync {
async fn list_executions(
&self,
req: crate::model::ListExecutionsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListExecutionsResponse>>;
async fn create_execution(
&self,
req: crate::model::CreateExecutionRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Execution>>;
async fn get_execution(
&self,
req: crate::model::GetExecutionRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Execution>>;
async fn cancel_execution(
&self,
req: crate::model::CancelExecutionRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Execution>>;
}
#[async_trait::async_trait]
impl<T: super::Executions> Executions for T {
async fn list_executions(
&self,
req: crate::model::ListExecutionsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListExecutionsResponse>> {
T::list_executions(self, req, options).await
}
async fn create_execution(
&self,
req: crate::model::CreateExecutionRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Execution>> {
T::create_execution(self, req, options).await
}
async fn get_execution(
&self,
req: crate::model::GetExecutionRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Execution>> {
T::get_execution(self, req, options).await
}
async fn cancel_execution(
&self,
req: crate::model::CancelExecutionRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Execution>> {
T::cancel_execution(self, req, options).await
}
}