#[async_trait::async_trait]
pub trait CompanyService: std::fmt::Debug + Send + Sync {
async fn create_company(
&self,
req: crate::model::CreateCompanyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Company>>;
async fn get_company(
&self,
req: crate::model::GetCompanyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Company>>;
async fn update_company(
&self,
req: crate::model::UpdateCompanyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Company>>;
async fn delete_company(
&self,
req: crate::model::DeleteCompanyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<()>>;
async fn list_companies(
&self,
req: crate::model::ListCompaniesRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListCompaniesResponse>>;
async fn get_operation(
&self,
req: google_cloud_longrunning::model::GetOperationRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;
}
#[async_trait::async_trait]
impl<T: super::CompanyService> CompanyService for T {
async fn create_company(
&self,
req: crate::model::CreateCompanyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Company>> {
T::create_company(self, req, options).await
}
async fn get_company(
&self,
req: crate::model::GetCompanyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Company>> {
T::get_company(self, req, options).await
}
async fn update_company(
&self,
req: crate::model::UpdateCompanyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Company>> {
T::update_company(self, req, options).await
}
async fn delete_company(
&self,
req: crate::model::DeleteCompanyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<()>> {
T::delete_company(self, req, options).await
}
async fn list_companies(
&self,
req: crate::model::ListCompaniesRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListCompaniesResponse>> {
T::list_companies(self, req, options).await
}
async fn get_operation(
&self,
req: google_cloud_longrunning::model::GetOperationRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
T::get_operation(self, req, options).await
}
}
#[async_trait::async_trait]
pub trait Completion: std::fmt::Debug + Send + Sync {
async fn complete_query(
&self,
req: crate::model::CompleteQueryRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::CompleteQueryResponse>>;
async fn get_operation(
&self,
req: google_cloud_longrunning::model::GetOperationRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;
}
#[async_trait::async_trait]
impl<T: super::Completion> Completion for T {
async fn complete_query(
&self,
req: crate::model::CompleteQueryRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::CompleteQueryResponse>> {
T::complete_query(self, req, options).await
}
async fn get_operation(
&self,
req: google_cloud_longrunning::model::GetOperationRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
T::get_operation(self, req, options).await
}
}
#[async_trait::async_trait]
pub trait EventService: std::fmt::Debug + Send + Sync {
async fn create_client_event(
&self,
req: crate::model::CreateClientEventRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ClientEvent>>;
async fn get_operation(
&self,
req: google_cloud_longrunning::model::GetOperationRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;
}
#[async_trait::async_trait]
impl<T: super::EventService> EventService for T {
async fn create_client_event(
&self,
req: crate::model::CreateClientEventRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ClientEvent>> {
T::create_client_event(self, req, options).await
}
async fn get_operation(
&self,
req: google_cloud_longrunning::model::GetOperationRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
T::get_operation(self, req, options).await
}
}
#[async_trait::async_trait]
pub trait JobService: std::fmt::Debug + Send + Sync {
async fn create_job(
&self,
req: crate::model::CreateJobRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Job>>;
async fn batch_create_jobs(
&self,
req: crate::model::BatchCreateJobsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;
async fn get_job(
&self,
req: crate::model::GetJobRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Job>>;
async fn update_job(
&self,
req: crate::model::UpdateJobRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Job>>;
async fn batch_update_jobs(
&self,
req: crate::model::BatchUpdateJobsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;
async fn delete_job(
&self,
req: crate::model::DeleteJobRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<()>>;
async fn batch_delete_jobs(
&self,
req: crate::model::BatchDeleteJobsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;
async fn list_jobs(
&self,
req: crate::model::ListJobsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListJobsResponse>>;
async fn search_jobs(
&self,
req: crate::model::SearchJobsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::SearchJobsResponse>>;
async fn search_jobs_for_alert(
&self,
req: crate::model::SearchJobsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::SearchJobsResponse>>;
async fn get_operation(
&self,
req: google_cloud_longrunning::model::GetOperationRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;
fn get_polling_error_policy(
&self,
options: &crate::RequestOptions,
) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy>;
fn get_polling_backoff_policy(
&self,
options: &crate::RequestOptions,
) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy>;
}
#[async_trait::async_trait]
impl<T: super::JobService> JobService for T {
async fn create_job(
&self,
req: crate::model::CreateJobRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Job>> {
T::create_job(self, req, options).await
}
async fn batch_create_jobs(
&self,
req: crate::model::BatchCreateJobsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
T::batch_create_jobs(self, req, options).await
}
async fn get_job(
&self,
req: crate::model::GetJobRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Job>> {
T::get_job(self, req, options).await
}
async fn update_job(
&self,
req: crate::model::UpdateJobRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Job>> {
T::update_job(self, req, options).await
}
async fn batch_update_jobs(
&self,
req: crate::model::BatchUpdateJobsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
T::batch_update_jobs(self, req, options).await
}
async fn delete_job(
&self,
req: crate::model::DeleteJobRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<()>> {
T::delete_job(self, req, options).await
}
async fn batch_delete_jobs(
&self,
req: crate::model::BatchDeleteJobsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
T::batch_delete_jobs(self, req, options).await
}
async fn list_jobs(
&self,
req: crate::model::ListJobsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListJobsResponse>> {
T::list_jobs(self, req, options).await
}
async fn search_jobs(
&self,
req: crate::model::SearchJobsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::SearchJobsResponse>> {
T::search_jobs(self, req, options).await
}
async fn search_jobs_for_alert(
&self,
req: crate::model::SearchJobsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::SearchJobsResponse>> {
T::search_jobs_for_alert(self, req, options).await
}
async fn get_operation(
&self,
req: google_cloud_longrunning::model::GetOperationRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
T::get_operation(self, req, options).await
}
fn get_polling_error_policy(
&self,
options: &crate::RequestOptions,
) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
T::get_polling_error_policy(self, options)
}
fn get_polling_backoff_policy(
&self,
options: &crate::RequestOptions,
) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
T::get_polling_backoff_policy(self, options)
}
}
#[async_trait::async_trait]
pub trait TenantService: std::fmt::Debug + Send + Sync {
async fn create_tenant(
&self,
req: crate::model::CreateTenantRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Tenant>>;
async fn get_tenant(
&self,
req: crate::model::GetTenantRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Tenant>>;
async fn update_tenant(
&self,
req: crate::model::UpdateTenantRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Tenant>>;
async fn delete_tenant(
&self,
req: crate::model::DeleteTenantRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<()>>;
async fn list_tenants(
&self,
req: crate::model::ListTenantsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListTenantsResponse>>;
async fn get_operation(
&self,
req: google_cloud_longrunning::model::GetOperationRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;
}
#[async_trait::async_trait]
impl<T: super::TenantService> TenantService for T {
async fn create_tenant(
&self,
req: crate::model::CreateTenantRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Tenant>> {
T::create_tenant(self, req, options).await
}
async fn get_tenant(
&self,
req: crate::model::GetTenantRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Tenant>> {
T::get_tenant(self, req, options).await
}
async fn update_tenant(
&self,
req: crate::model::UpdateTenantRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Tenant>> {
T::update_tenant(self, req, options).await
}
async fn delete_tenant(
&self,
req: crate::model::DeleteTenantRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<()>> {
T::delete_tenant(self, req, options).await
}
async fn list_tenants(
&self,
req: crate::model::ListTenantsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListTenantsResponse>> {
T::list_tenants(self, req, options).await
}
async fn get_operation(
&self,
req: google_cloud_longrunning::model::GetOperationRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
T::get_operation(self, req, options).await
}
}