#[async_trait::async_trait]
pub trait DatasetService: std::fmt::Debug + Send + Sync {
async fn get_dataset(
&self,
req: crate::model::GetDatasetRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Dataset>>;
async fn insert_dataset(
&self,
req: crate::model::InsertDatasetRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Dataset>>;
async fn patch_dataset(
&self,
req: crate::model::UpdateOrPatchDatasetRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Dataset>>;
async fn update_dataset(
&self,
req: crate::model::UpdateOrPatchDatasetRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Dataset>>;
async fn delete_dataset(
&self,
req: crate::model::DeleteDatasetRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<()>>;
async fn list_datasets(
&self,
req: crate::model::ListDatasetsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::DatasetList>>;
async fn undelete_dataset(
&self,
req: crate::model::UndeleteDatasetRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Dataset>>;
}
#[async_trait::async_trait]
impl<T: super::DatasetService> DatasetService for T {
async fn get_dataset(
&self,
req: crate::model::GetDatasetRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Dataset>> {
T::get_dataset(self, req, options).await
}
async fn insert_dataset(
&self,
req: crate::model::InsertDatasetRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Dataset>> {
T::insert_dataset(self, req, options).await
}
async fn patch_dataset(
&self,
req: crate::model::UpdateOrPatchDatasetRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Dataset>> {
T::patch_dataset(self, req, options).await
}
async fn update_dataset(
&self,
req: crate::model::UpdateOrPatchDatasetRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Dataset>> {
T::update_dataset(self, req, options).await
}
async fn delete_dataset(
&self,
req: crate::model::DeleteDatasetRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<()>> {
T::delete_dataset(self, req, options).await
}
async fn list_datasets(
&self,
req: crate::model::ListDatasetsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::DatasetList>> {
T::list_datasets(self, req, options).await
}
async fn undelete_dataset(
&self,
req: crate::model::UndeleteDatasetRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Dataset>> {
T::undelete_dataset(self, req, options).await
}
}
#[async_trait::async_trait]
pub trait JobService: std::fmt::Debug + Send + Sync {
async fn cancel_job(
&self,
req: crate::model::CancelJobRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::JobCancelResponse>>;
async fn get_job(
&self,
req: crate::model::GetJobRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Job>>;
async fn insert_job(
&self,
req: crate::model::InsertJobRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Job>>;
async fn delete_job(
&self,
req: crate::model::DeleteJobRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<()>>;
async fn list_jobs(
&self,
req: crate::model::ListJobsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::JobList>>;
async fn get_query_results(
&self,
req: crate::model::GetQueryResultsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::GetQueryResultsResponse>>;
async fn query(
&self,
req: crate::model::PostQueryRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::QueryResponse>>;
}
#[async_trait::async_trait]
impl<T: super::JobService> JobService for T {
async fn cancel_job(
&self,
req: crate::model::CancelJobRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::JobCancelResponse>> {
T::cancel_job(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 insert_job(
&self,
req: crate::model::InsertJobRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Job>> {
T::insert_job(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 list_jobs(
&self,
req: crate::model::ListJobsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::JobList>> {
T::list_jobs(self, req, options).await
}
async fn get_query_results(
&self,
req: crate::model::GetQueryResultsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::GetQueryResultsResponse>> {
T::get_query_results(self, req, options).await
}
async fn query(
&self,
req: crate::model::PostQueryRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::QueryResponse>> {
T::query(self, req, options).await
}
}
#[async_trait::async_trait]
pub trait ModelService: std::fmt::Debug + Send + Sync {
async fn get_model(
&self,
req: crate::model::GetModelRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Model>>;
async fn list_models(
&self,
req: crate::model::ListModelsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListModelsResponse>>;
async fn patch_model(
&self,
req: crate::model::PatchModelRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Model>>;
async fn delete_model(
&self,
req: crate::model::DeleteModelRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<()>>;
}
#[async_trait::async_trait]
impl<T: super::ModelService> ModelService for T {
async fn get_model(
&self,
req: crate::model::GetModelRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Model>> {
T::get_model(self, req, options).await
}
async fn list_models(
&self,
req: crate::model::ListModelsRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListModelsResponse>> {
T::list_models(self, req, options).await
}
async fn patch_model(
&self,
req: crate::model::PatchModelRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Model>> {
T::patch_model(self, req, options).await
}
async fn delete_model(
&self,
req: crate::model::DeleteModelRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<()>> {
T::delete_model(self, req, options).await
}
}
#[async_trait::async_trait]
pub trait ProjectService: std::fmt::Debug + Send + Sync {
async fn get_service_account(
&self,
req: crate::model::GetServiceAccountRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::GetServiceAccountResponse>>;
}
#[async_trait::async_trait]
impl<T: super::ProjectService> ProjectService for T {
async fn get_service_account(
&self,
req: crate::model::GetServiceAccountRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::GetServiceAccountResponse>> {
T::get_service_account(self, req, options).await
}
}
#[async_trait::async_trait]
pub trait RoutineService: std::fmt::Debug + Send + Sync {
async fn get_routine(
&self,
req: crate::model::GetRoutineRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Routine>>;
async fn insert_routine(
&self,
req: crate::model::InsertRoutineRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Routine>>;
async fn update_routine(
&self,
req: crate::model::UpdateRoutineRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Routine>>;
async fn delete_routine(
&self,
req: crate::model::DeleteRoutineRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<()>>;
async fn list_routines(
&self,
req: crate::model::ListRoutinesRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListRoutinesResponse>>;
}
#[async_trait::async_trait]
impl<T: super::RoutineService> RoutineService for T {
async fn get_routine(
&self,
req: crate::model::GetRoutineRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Routine>> {
T::get_routine(self, req, options).await
}
async fn insert_routine(
&self,
req: crate::model::InsertRoutineRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Routine>> {
T::insert_routine(self, req, options).await
}
async fn update_routine(
&self,
req: crate::model::UpdateRoutineRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Routine>> {
T::update_routine(self, req, options).await
}
async fn delete_routine(
&self,
req: crate::model::DeleteRoutineRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<()>> {
T::delete_routine(self, req, options).await
}
async fn list_routines(
&self,
req: crate::model::ListRoutinesRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListRoutinesResponse>> {
T::list_routines(self, req, options).await
}
}
#[async_trait::async_trait]
pub trait RowAccessPolicyService: std::fmt::Debug + Send + Sync {
async fn list_row_access_policies(
&self,
req: crate::model::ListRowAccessPoliciesRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListRowAccessPoliciesResponse>>;
async fn get_row_access_policy(
&self,
req: crate::model::GetRowAccessPolicyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::RowAccessPolicy>>;
async fn create_row_access_policy(
&self,
req: crate::model::CreateRowAccessPolicyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::RowAccessPolicy>>;
async fn update_row_access_policy(
&self,
req: crate::model::UpdateRowAccessPolicyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::RowAccessPolicy>>;
async fn delete_row_access_policy(
&self,
req: crate::model::DeleteRowAccessPolicyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<()>>;
async fn batch_delete_row_access_policies(
&self,
req: crate::model::BatchDeleteRowAccessPoliciesRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<()>>;
}
#[async_trait::async_trait]
impl<T: super::RowAccessPolicyService> RowAccessPolicyService for T {
async fn list_row_access_policies(
&self,
req: crate::model::ListRowAccessPoliciesRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::ListRowAccessPoliciesResponse>> {
T::list_row_access_policies(self, req, options).await
}
async fn get_row_access_policy(
&self,
req: crate::model::GetRowAccessPolicyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::RowAccessPolicy>> {
T::get_row_access_policy(self, req, options).await
}
async fn create_row_access_policy(
&self,
req: crate::model::CreateRowAccessPolicyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::RowAccessPolicy>> {
T::create_row_access_policy(self, req, options).await
}
async fn update_row_access_policy(
&self,
req: crate::model::UpdateRowAccessPolicyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::RowAccessPolicy>> {
T::update_row_access_policy(self, req, options).await
}
async fn delete_row_access_policy(
&self,
req: crate::model::DeleteRowAccessPolicyRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<()>> {
T::delete_row_access_policy(self, req, options).await
}
async fn batch_delete_row_access_policies(
&self,
req: crate::model::BatchDeleteRowAccessPoliciesRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<()>> {
T::batch_delete_row_access_policies(self, req, options).await
}
}
#[async_trait::async_trait]
pub trait TableService: std::fmt::Debug + Send + Sync {
async fn get_table(
&self,
req: crate::model::GetTableRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Table>>;
async fn insert_table(
&self,
req: crate::model::InsertTableRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Table>>;
async fn patch_table(
&self,
req: crate::model::UpdateOrPatchTableRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Table>>;
async fn update_table(
&self,
req: crate::model::UpdateOrPatchTableRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Table>>;
async fn delete_table(
&self,
req: crate::model::DeleteTableRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<()>>;
async fn list_tables(
&self,
req: crate::model::ListTablesRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::TableList>>;
}
#[async_trait::async_trait]
impl<T: super::TableService> TableService for T {
async fn get_table(
&self,
req: crate::model::GetTableRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Table>> {
T::get_table(self, req, options).await
}
async fn insert_table(
&self,
req: crate::model::InsertTableRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Table>> {
T::insert_table(self, req, options).await
}
async fn patch_table(
&self,
req: crate::model::UpdateOrPatchTableRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Table>> {
T::patch_table(self, req, options).await
}
async fn update_table(
&self,
req: crate::model::UpdateOrPatchTableRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::Table>> {
T::update_table(self, req, options).await
}
async fn delete_table(
&self,
req: crate::model::DeleteTableRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<()>> {
T::delete_table(self, req, options).await
}
async fn list_tables(
&self,
req: crate::model::ListTablesRequest,
options: crate::RequestOptions,
) -> crate::Result<crate::Response<crate::model::TableList>> {
T::list_tables(self, req, options).await
}
}