#[async_trait::async_trait]
pub trait AccountsService: std::fmt::Debug + Send + Sync {
async fn list_child_accounts(
&self,
req: crate::model::ListChildAccountsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListChildAccountsResponse>>;
async fn get_account(
&self,
req: crate::model::GetAccountRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Account>>;
async fn update_labels(
&self,
req: crate::model::UpdateAccountLabelsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Account>>;
}
#[async_trait::async_trait]
impl<T: super::AccountsService> AccountsService for T {
async fn list_child_accounts(
&self,
req: crate::model::ListChildAccountsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListChildAccountsResponse>> {
T::list_child_accounts(self, req, options).await
}
async fn get_account(
&self,
req: crate::model::GetAccountRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Account>> {
T::get_account(self, req, options).await
}
async fn update_labels(
&self,
req: crate::model::UpdateAccountLabelsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Account>> {
T::update_labels(self, req, options).await
}
}
#[async_trait::async_trait]
pub trait AccountLabelsService: std::fmt::Debug + Send + Sync {
async fn list_account_labels(
&self,
req: crate::model::ListAccountLabelsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListAccountLabelsResponse>>;
async fn create_account_label(
&self,
req: crate::model::CreateAccountLabelRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::AccountLabel>>;
async fn update_account_label(
&self,
req: crate::model::UpdateAccountLabelRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::AccountLabel>>;
async fn delete_account_label(
&self,
req: crate::model::DeleteAccountLabelRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<()>>;
}
#[async_trait::async_trait]
impl<T: super::AccountLabelsService> AccountLabelsService for T {
async fn list_account_labels(
&self,
req: crate::model::ListAccountLabelsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListAccountLabelsResponse>> {
T::list_account_labels(self, req, options).await
}
async fn create_account_label(
&self,
req: crate::model::CreateAccountLabelRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::AccountLabel>> {
T::create_account_label(self, req, options).await
}
async fn update_account_label(
&self,
req: crate::model::UpdateAccountLabelRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::AccountLabel>> {
T::update_account_label(self, req, options).await
}
async fn delete_account_label(
&self,
req: crate::model::DeleteAccountLabelRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<()>> {
T::delete_account_label(self, req, options).await
}
}
#[async_trait::async_trait]
pub trait CssProductInputsService: std::fmt::Debug + Send + Sync {
async fn insert_css_product_input(
&self,
req: crate::model::InsertCssProductInputRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::CssProductInput>>;
async fn update_css_product_input(
&self,
req: crate::model::UpdateCssProductInputRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::CssProductInput>>;
async fn delete_css_product_input(
&self,
req: crate::model::DeleteCssProductInputRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<()>>;
}
#[async_trait::async_trait]
impl<T: super::CssProductInputsService> CssProductInputsService for T {
async fn insert_css_product_input(
&self,
req: crate::model::InsertCssProductInputRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::CssProductInput>> {
T::insert_css_product_input(self, req, options).await
}
async fn update_css_product_input(
&self,
req: crate::model::UpdateCssProductInputRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::CssProductInput>> {
T::update_css_product_input(self, req, options).await
}
async fn delete_css_product_input(
&self,
req: crate::model::DeleteCssProductInputRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<()>> {
T::delete_css_product_input(self, req, options).await
}
}
#[async_trait::async_trait]
pub trait CssProductsService: std::fmt::Debug + Send + Sync {
async fn get_css_product(
&self,
req: crate::model::GetCssProductRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::CssProduct>>;
async fn list_css_products(
&self,
req: crate::model::ListCssProductsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListCssProductsResponse>>;
}
#[async_trait::async_trait]
impl<T: super::CssProductsService> CssProductsService for T {
async fn get_css_product(
&self,
req: crate::model::GetCssProductRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::CssProduct>> {
T::get_css_product(self, req, options).await
}
async fn list_css_products(
&self,
req: crate::model::ListCssProductsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListCssProductsResponse>> {
T::list_css_products(self, req, options).await
}
}
#[async_trait::async_trait]
pub trait QuotaService: std::fmt::Debug + Send + Sync {
async fn list_quota_groups(
&self,
req: crate::model::ListQuotaGroupsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListQuotaGroupsResponse>>;
}
#[async_trait::async_trait]
impl<T: super::QuotaService> QuotaService for T {
async fn list_quota_groups(
&self,
req: crate::model::ListQuotaGroupsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListQuotaGroupsResponse>> {
T::list_quota_groups(self, req, options).await
}
}