use crate::apis;
use crate::apis::configuration::Configuration;
use crate::apis::Error;
use crate::models;
pub struct DatasetsApi<'a> {
config: &'a Configuration,
}
impl<'a> DatasetsApi<'a> {
pub(crate) fn new(config: &'a Configuration) -> Self {
Self { config }
}
pub async fn create(
&self,
request: models::CreateDatasetRequest,
x_database_id: Option<&str>,
) -> Result<models::CreateDatasetResponse, Error<apis::datasets_api::CreateDatasetError>> {
apis::datasets_api::create_dataset(self.config, request, x_database_id).await
}
pub async fn get(
&self,
id: &str,
) -> Result<models::GetDatasetResponse, Error<apis::datasets_api::GetDatasetError>> {
apis::datasets_api::get_dataset(self.config, id).await
}
pub async fn list(
&self,
limit: Option<i32>,
offset: Option<i32>,
) -> Result<models::ListDatasetsResponse, Error<apis::datasets_api::ListDatasetsError>> {
apis::datasets_api::list_datasets(self.config, limit, offset).await
}
pub async fn update(
&self,
id: &str,
request: models::UpdateDatasetRequest,
) -> Result<models::UpdateDatasetResponse, Error<apis::datasets_api::UpdateDatasetError>> {
apis::datasets_api::update_dataset(self.config, id, request).await
}
pub async fn delete(
&self,
id: &str,
) -> Result<(), Error<apis::datasets_api::DeleteDatasetError>> {
apis::datasets_api::delete_dataset(self.config, id).await
}
pub async fn list_versions(
&self,
id: &str,
limit: Option<i32>,
offset: Option<i32>,
) -> Result<
models::ListDatasetVersionsResponse,
Error<apis::datasets_api::ListDatasetVersionsError>,
> {
apis::datasets_api::list_dataset_versions(self.config, id, limit, offset).await
}
}
pub struct ConnectionsApi<'a> {
config: &'a Configuration,
}
impl<'a> ConnectionsApi<'a> {
pub(crate) fn new(config: &'a Configuration) -> Self {
Self { config }
}
pub async fn create(
&self,
request: models::CreateConnectionRequest,
) -> Result<models::CreateConnectionResponse, Error<apis::connections_api::CreateConnectionError>>
{
apis::connections_api::create_connection(self.config, request).await
}
pub async fn get(
&self,
connection_id: &str,
) -> Result<models::GetConnectionResponse, Error<apis::connections_api::GetConnectionError>>
{
apis::connections_api::get_connection(self.config, connection_id).await
}
pub async fn list(
&self,
) -> Result<models::ListConnectionsResponse, Error<apis::connections_api::ListConnectionsError>>
{
apis::connections_api::list_connections(self.config).await
}
pub async fn delete(
&self,
connection_id: &str,
) -> Result<(), Error<apis::connections_api::DeleteConnectionError>> {
apis::connections_api::delete_connection(self.config, connection_id).await
}
pub async fn check_health(
&self,
connection_id: &str,
) -> Result<
models::ConnectionHealthResponse,
Error<apis::connections_api::CheckConnectionHealthError>,
> {
apis::connections_api::check_connection_health(self.config, connection_id).await
}
pub async fn purge_cache(
&self,
connection_id: &str,
) -> Result<(), Error<apis::connections_api::PurgeConnectionCacheError>> {
apis::connections_api::purge_connection_cache(self.config, connection_id).await
}
pub async fn get_table_profile(
&self,
connection_id: &str,
schema: &str,
table: &str,
) -> Result<models::TableProfileResponse, Error<apis::connections_api::GetTableProfileError>>
{
apis::connections_api::get_table_profile(self.config, connection_id, schema, table).await
}
pub async fn load_managed_table(
&self,
connection_id: &str,
schema: &str,
table: &str,
request: models::LoadManagedTableRequest,
) -> Result<models::LoadManagedTableResponse, Error<apis::connections_api::LoadManagedTableError>>
{
apis::connections_api::load_managed_table(
self.config,
connection_id,
schema,
table,
request,
)
.await
}
pub async fn delete_managed_table(
&self,
connection_id: &str,
schema: &str,
table: &str,
) -> Result<(), Error<apis::connections_api::DeleteManagedTableError>> {
apis::connections_api::delete_managed_table(self.config, connection_id, schema, table).await
}
pub async fn purge_table_cache(
&self,
connection_id: &str,
schema: &str,
table: &str,
) -> Result<(), Error<apis::connections_api::PurgeTableCacheError>> {
apis::connections_api::purge_table_cache(self.config, connection_id, schema, table).await
}
}
pub struct ConnectionTypesApi<'a> {
config: &'a Configuration,
}
impl<'a> ConnectionTypesApi<'a> {
pub(crate) fn new(config: &'a Configuration) -> Self {
Self { config }
}
pub async fn get(
&self,
name: &str,
) -> Result<
models::ConnectionTypeDetail,
Error<apis::connection_types_api::GetConnectionTypeError>,
> {
apis::connection_types_api::get_connection_type(self.config, name).await
}
pub async fn list(
&self,
) -> Result<
models::ListConnectionTypesResponse,
Error<apis::connection_types_api::ListConnectionTypesError>,
> {
apis::connection_types_api::list_connection_types(self.config).await
}
}
pub struct DatabaseContextApi<'a> {
config: &'a Configuration,
}
impl<'a> DatabaseContextApi<'a> {
pub(crate) fn new(config: &'a Configuration) -> Self {
Self { config }
}
pub async fn get(
&self,
database_id: &str,
name: &str,
) -> Result<
models::GetDatabaseContextResponse,
Error<apis::database_context_api::GetDatabaseContextError>,
> {
apis::database_context_api::get_database_context(self.config, database_id, name).await
}
pub async fn list(
&self,
database_id: &str,
) -> Result<
models::ListDatabaseContextsResponse,
Error<apis::database_context_api::ListDatabaseContextsError>,
> {
apis::database_context_api::list_database_contexts(self.config, database_id).await
}
pub async fn upsert(
&self,
database_id: &str,
request: models::UpsertDatabaseContextRequest,
) -> Result<
models::UpsertDatabaseContextResponse,
Error<apis::database_context_api::UpsertDatabaseContextError>,
> {
apis::database_context_api::upsert_database_context(self.config, database_id, request).await
}
pub async fn delete(
&self,
database_id: &str,
name: &str,
) -> Result<(), Error<apis::database_context_api::DeleteDatabaseContextError>> {
apis::database_context_api::delete_database_context(self.config, database_id, name).await
}
}
pub struct DatabasesApi<'a> {
config: &'a Configuration,
}
impl<'a> DatabasesApi<'a> {
pub(crate) fn new(config: &'a Configuration) -> Self {
Self { config }
}
pub async fn create(
&self,
request: models::CreateDatabaseRequest,
) -> Result<models::CreateDatabaseResponse, Error<apis::databases_api::CreateDatabaseError>>
{
apis::databases_api::create_database(self.config, request).await
}
pub async fn get(
&self,
database_id: &str,
) -> Result<models::DatabaseDetailResponse, Error<apis::databases_api::GetDatabaseError>> {
apis::databases_api::get_database(self.config, database_id).await
}
pub async fn list(
&self,
) -> Result<models::ListDatabasesResponse, Error<apis::databases_api::ListDatabasesError>> {
apis::databases_api::list_databases(self.config).await
}
pub async fn delete(
&self,
database_id: &str,
) -> Result<(), Error<apis::databases_api::DeleteDatabaseError>> {
apis::databases_api::delete_database(self.config, database_id).await
}
pub async fn attach_catalog(
&self,
database_id: &str,
request: models::AttachDatabaseCatalogRequest,
) -> Result<(), Error<apis::databases_api::AttachDatabaseCatalogError>> {
apis::databases_api::attach_database_catalog(self.config, database_id, request).await
}
pub async fn detach_catalog(
&self,
database_id: &str,
connection_id: &str,
) -> Result<(), Error<apis::databases_api::DetachDatabaseCatalogError>> {
apis::databases_api::detach_database_catalog(self.config, database_id, connection_id).await
}
}
pub struct EmbeddingProvidersApi<'a> {
config: &'a Configuration,
}
impl<'a> EmbeddingProvidersApi<'a> {
pub(crate) fn new(config: &'a Configuration) -> Self {
Self { config }
}
pub async fn create(
&self,
request: models::CreateEmbeddingProviderRequest,
) -> Result<
models::CreateEmbeddingProviderResponse,
Error<apis::embedding_providers_api::CreateEmbeddingProviderError>,
> {
apis::embedding_providers_api::create_embedding_provider(self.config, request).await
}
pub async fn get(
&self,
id: &str,
) -> Result<
models::EmbeddingProviderResponse,
Error<apis::embedding_providers_api::GetEmbeddingProviderError>,
> {
apis::embedding_providers_api::get_embedding_provider(self.config, id).await
}
pub async fn list(
&self,
) -> Result<
models::ListEmbeddingProvidersResponse,
Error<apis::embedding_providers_api::ListEmbeddingProvidersError>,
> {
apis::embedding_providers_api::list_embedding_providers(self.config).await
}
pub async fn update(
&self,
id: &str,
request: models::UpdateEmbeddingProviderRequest,
) -> Result<
models::UpdateEmbeddingProviderResponse,
Error<apis::embedding_providers_api::UpdateEmbeddingProviderError>,
> {
apis::embedding_providers_api::update_embedding_provider(self.config, id, request).await
}
pub async fn delete(
&self,
id: &str,
) -> Result<(), Error<apis::embedding_providers_api::DeleteEmbeddingProviderError>> {
apis::embedding_providers_api::delete_embedding_provider(self.config, id).await
}
}
pub struct IndexesApi<'a> {
config: &'a Configuration,
}
impl<'a> IndexesApi<'a> {
pub(crate) fn new(config: &'a Configuration) -> Self {
Self { config }
}
pub async fn create_dataset_index(
&self,
dataset_id: &str,
request: models::CreateIndexRequest,
) -> Result<models::IndexInfoResponse, Error<apis::indexes_api::CreateDatasetIndexError>> {
apis::indexes_api::create_dataset_index(self.config, dataset_id, request).await
}
pub async fn list_dataset_indexes(
&self,
dataset_id: &str,
) -> Result<models::ListIndexesResponse, Error<apis::indexes_api::ListDatasetIndexesError>>
{
apis::indexes_api::list_dataset_indexes(self.config, dataset_id).await
}
pub async fn delete_dataset_index(
&self,
dataset_id: &str,
index_name: &str,
) -> Result<(), Error<apis::indexes_api::DeleteDatasetIndexError>> {
apis::indexes_api::delete_dataset_index(self.config, dataset_id, index_name).await
}
pub async fn create_index(
&self,
connection_id: &str,
schema: &str,
table: &str,
request: models::CreateIndexRequest,
) -> Result<models::IndexInfoResponse, Error<apis::indexes_api::CreateIndexError>> {
apis::indexes_api::create_index(self.config, connection_id, schema, table, request).await
}
pub async fn list_indexes(
&self,
connection_id: &str,
schema: &str,
table: &str,
) -> Result<models::ListIndexesResponse, Error<apis::indexes_api::ListIndexesError>> {
apis::indexes_api::list_indexes(self.config, connection_id, schema, table).await
}
pub async fn delete_index(
&self,
connection_id: &str,
schema: &str,
table: &str,
index_name: &str,
) -> Result<(), Error<apis::indexes_api::DeleteIndexError>> {
apis::indexes_api::delete_index(self.config, connection_id, schema, table, index_name).await
}
}
pub struct InformationSchemaApi<'a> {
config: &'a Configuration,
}
impl<'a> InformationSchemaApi<'a> {
pub(crate) fn new(config: &'a Configuration) -> Self {
Self { config }
}
#[allow(clippy::too_many_arguments)]
pub async fn get(
&self,
connection_id: Option<&str>,
schema: Option<&str>,
table: Option<&str>,
include_columns: Option<bool>,
limit: Option<i32>,
cursor: Option<&str>,
) -> Result<
models::InformationSchemaResponse,
Error<apis::information_schema_api::InformationSchemaError>,
> {
apis::information_schema_api::information_schema(
self.config,
connection_id,
schema,
table,
include_columns,
limit,
cursor,
)
.await
}
}
pub struct JobsApi<'a> {
config: &'a Configuration,
}
impl<'a> JobsApi<'a> {
pub(crate) fn new(config: &'a Configuration) -> Self {
Self { config }
}
pub async fn get(
&self,
id: &str,
) -> Result<models::JobStatusResponse, Error<apis::jobs_api::GetJobError>> {
apis::jobs_api::get_job(self.config, id).await
}
pub async fn list(
&self,
job_type: Option<models::JobType>,
status: Option<&str>,
limit: Option<i32>,
offset: Option<i32>,
) -> Result<models::ListJobsResponse, Error<apis::jobs_api::ListJobsError>> {
apis::jobs_api::list_jobs(self.config, job_type, status, limit, offset).await
}
}
pub struct QueryApi<'a> {
config: &'a Configuration,
}
impl<'a> QueryApi<'a> {
pub(crate) fn new(config: &'a Configuration) -> Self {
Self { config }
}
pub async fn execute(
&self,
request: models::QueryRequest,
x_database_id: Option<&str>,
) -> Result<models::QueryResponse, Error<apis::query_api::QueryError>> {
apis::query_api::query(self.config, request, x_database_id).await
}
}
pub struct QueryRunsApi<'a> {
config: &'a Configuration,
}
impl<'a> QueryRunsApi<'a> {
pub(crate) fn new(config: &'a Configuration) -> Self {
Self { config }
}
pub async fn get(
&self,
id: &str,
) -> Result<models::QueryRunInfo, Error<apis::query_runs_api::GetQueryRunError>> {
apis::query_runs_api::get_query_run(self.config, id).await
}
pub async fn list(
&self,
limit: Option<i32>,
cursor: Option<&str>,
status: Option<&str>,
saved_query_id: Option<&str>,
) -> Result<models::ListQueryRunsResponse, Error<apis::query_runs_api::ListQueryRunsError>>
{
apis::query_runs_api::list_query_runs(self.config, limit, cursor, status, saved_query_id)
.await
}
}
pub struct ResultsApi<'a> {
config: &'a Configuration,
}
impl<'a> ResultsApi<'a> {
pub(crate) fn new(config: &'a Configuration) -> Self {
Self { config }
}
pub async fn get(
&self,
id: &str,
offset: Option<i32>,
limit: Option<i32>,
format: Option<models::ResultsFormatQuery>,
) -> Result<models::GetResultResponse, Error<apis::results_api::GetResultError>> {
apis::results_api::get_result(self.config, id, offset, limit, format).await
}
pub async fn list(
&self,
limit: Option<i32>,
offset: Option<i32>,
) -> Result<models::ListResultsResponse, Error<apis::results_api::ListResultsError>> {
apis::results_api::list_results(self.config, limit, offset).await
}
}
pub struct RefreshApi<'a> {
config: &'a Configuration,
}
impl<'a> RefreshApi<'a> {
pub(crate) fn new(config: &'a Configuration) -> Self {
Self { config }
}
pub async fn refresh(
&self,
request: models::RefreshRequest,
) -> Result<models::RefreshResponse, Error<apis::refresh_api::RefreshError>> {
apis::refresh_api::refresh(self.config, request).await
}
}
pub struct SandboxesApi<'a> {
config: &'a Configuration,
}
impl<'a> SandboxesApi<'a> {
pub(crate) fn new(config: &'a Configuration) -> Self {
Self { config }
}
pub async fn create(
&self,
request: models::CreateSandboxRequest,
) -> Result<models::SandboxResponse, Error<apis::sandboxes_api::CreateSandboxError>> {
apis::sandboxes_api::create_sandbox(self.config, request).await
}
pub async fn get(
&self,
public_id: &str,
) -> Result<models::SandboxResponse, Error<apis::sandboxes_api::GetSandboxError>> {
apis::sandboxes_api::get_sandbox(self.config, public_id).await
}
pub async fn list(
&self,
) -> Result<models::ListSandboxesResponse, Error<apis::sandboxes_api::ListSandboxesError>> {
apis::sandboxes_api::list_sandboxes(self.config).await
}
pub async fn update(
&self,
public_id: &str,
request: models::UpdateSandboxRequest,
) -> Result<models::SandboxResponse, Error<apis::sandboxes_api::UpdateSandboxError>> {
apis::sandboxes_api::update_sandbox(self.config, public_id, request).await
}
pub async fn delete(
&self,
public_id: &str,
) -> Result<models::DeleteSandboxResponse, Error<apis::sandboxes_api::DeleteSandboxError>> {
apis::sandboxes_api::delete_sandbox(self.config, public_id).await
}
}
pub struct SavedQueriesApi<'a> {
config: &'a Configuration,
}
impl<'a> SavedQueriesApi<'a> {
pub(crate) fn new(config: &'a Configuration) -> Self {
Self { config }
}
pub async fn create(
&self,
request: models::CreateSavedQueryRequest,
) -> Result<models::SavedQueryDetail, Error<apis::saved_queries_api::CreateSavedQueryError>>
{
apis::saved_queries_api::create_saved_query(self.config, request).await
}
pub async fn get(
&self,
id: &str,
) -> Result<models::SavedQueryDetail, Error<apis::saved_queries_api::GetSavedQueryError>> {
apis::saved_queries_api::get_saved_query(self.config, id).await
}
pub async fn list(
&self,
limit: Option<i32>,
offset: Option<i32>,
) -> Result<
models::ListSavedQueriesResponse,
Error<apis::saved_queries_api::ListSavedQueriesError>,
> {
apis::saved_queries_api::list_saved_queries(self.config, limit, offset).await
}
pub async fn update(
&self,
id: &str,
request: models::UpdateSavedQueryRequest,
) -> Result<models::SavedQueryDetail, Error<apis::saved_queries_api::UpdateSavedQueryError>>
{
apis::saved_queries_api::update_saved_query(self.config, id, request).await
}
pub async fn delete(
&self,
id: &str,
) -> Result<(), Error<apis::saved_queries_api::DeleteSavedQueryError>> {
apis::saved_queries_api::delete_saved_query(self.config, id).await
}
pub async fn execute(
&self,
id: &str,
x_database_id: &str,
request: Option<models::ExecuteSavedQueryRequest>,
) -> Result<models::QueryResponse, Error<apis::saved_queries_api::ExecuteSavedQueryError>> {
apis::saved_queries_api::execute_saved_query(self.config, id, x_database_id, request).await
}
pub async fn list_versions(
&self,
id: &str,
limit: Option<i32>,
offset: Option<i32>,
) -> Result<
models::ListSavedQueryVersionsResponse,
Error<apis::saved_queries_api::ListSavedQueryVersionsError>,
> {
apis::saved_queries_api::list_saved_query_versions(self.config, id, limit, offset).await
}
}
pub struct SecretsApi<'a> {
config: &'a Configuration,
}
impl<'a> SecretsApi<'a> {
pub(crate) fn new(config: &'a Configuration) -> Self {
Self { config }
}
pub async fn create(
&self,
request: models::CreateSecretRequest,
) -> Result<models::CreateSecretResponse, Error<apis::secrets_api::CreateSecretError>> {
apis::secrets_api::create_secret(self.config, request).await
}
pub async fn get(
&self,
name: &str,
) -> Result<models::GetSecretResponse, Error<apis::secrets_api::GetSecretError>> {
apis::secrets_api::get_secret(self.config, name).await
}
pub async fn list(
&self,
) -> Result<models::ListSecretsResponse, Error<apis::secrets_api::ListSecretsError>> {
apis::secrets_api::list_secrets(self.config).await
}
pub async fn update(
&self,
name: &str,
request: models::UpdateSecretRequest,
) -> Result<models::UpdateSecretResponse, Error<apis::secrets_api::UpdateSecretError>> {
apis::secrets_api::update_secret(self.config, name, request).await
}
pub async fn delete(
&self,
name: &str,
) -> Result<(), Error<apis::secrets_api::DeleteSecretError>> {
apis::secrets_api::delete_secret(self.config, name).await
}
}
pub struct UploadsApi<'a> {
config: &'a Configuration,
}
impl<'a> UploadsApi<'a> {
pub(crate) fn new(config: &'a Configuration) -> Self {
Self { config }
}
pub async fn upload(
&self,
body: std::path::PathBuf,
) -> Result<models::UploadResponse, Error<apis::uploads_api::UploadFileError>> {
apis::uploads_api::upload_file(self.config, body).await
}
pub async fn list(
&self,
status: Option<&str>,
) -> Result<models::ListUploadsResponse, Error<apis::uploads_api::ListUploadsError>> {
apis::uploads_api::list_uploads(self.config, status).await
}
}
pub struct WorkspacesApi<'a> {
config: &'a Configuration,
}
impl<'a> WorkspacesApi<'a> {
pub(crate) fn new(config: &'a Configuration) -> Self {
Self { config }
}
pub async fn create(
&self,
request: models::CreateWorkspaceRequest,
) -> Result<models::CreateWorkspaceResponse, Error<apis::workspaces_api::CreateWorkspaceError>>
{
apis::workspaces_api::create_workspace(self.config, request).await
}
pub async fn list(
&self,
organization_public_id: Option<&str>,
) -> Result<models::ListWorkspacesResponse, Error<apis::workspaces_api::ListWorkspacesError>>
{
apis::workspaces_api::list_workspaces(self.config, organization_public_id).await
}
pub async fn delete(
&self,
public_id: &str,
) -> Result<(), Error<apis::workspaces_api::DeleteWorkspaceError>> {
apis::workspaces_api::delete_workspace(self.config, public_id).await
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn handle_borrows_provided_config() {
let config = Configuration::default();
let handle = DatasetsApi::new(&config);
assert!(std::ptr::eq(handle.config, &config));
}
#[test]
fn multiple_handles_share_one_config() {
let config = Configuration::default();
let datasets = DatasetsApi::new(&config);
let connections = ConnectionsApi::new(&config);
let queries = QueryApi::new(&config);
assert!(std::ptr::eq(datasets.config, &config));
assert!(std::ptr::eq(connections.config, &config));
assert!(std::ptr::eq(queries.config, &config));
}
#[test]
fn all_handles_constructible() {
let config = Configuration::default();
let _ = DatasetsApi::new(&config);
let _ = ConnectionsApi::new(&config);
let _ = ConnectionTypesApi::new(&config);
let _ = DatabaseContextApi::new(&config);
let _ = DatabasesApi::new(&config);
let _ = EmbeddingProvidersApi::new(&config);
let _ = IndexesApi::new(&config);
let _ = InformationSchemaApi::new(&config);
let _ = JobsApi::new(&config);
let _ = QueryApi::new(&config);
let _ = QueryRunsApi::new(&config);
let _ = ResultsApi::new(&config);
let _ = RefreshApi::new(&config);
let _ = SandboxesApi::new(&config);
let _ = SavedQueriesApi::new(&config);
let _ = SecretsApi::new(&config);
let _ = UploadsApi::new(&config);
let _ = WorkspacesApi::new(&config);
}
}