unitycatalog_client/codegen/catalogs/
resource.rs1#![allow(unused_imports)]
3use super::builders::*;
4use super::client::CatalogServiceClient;
5use unitycatalog_common::models::catalogs::v1::*;
6use unitycatalog_common::models::schemas::v1::*;
7#[derive(Clone)]
9pub struct CatalogClient {
10 pub(crate) catalog_name: String,
11 pub(crate) client: CatalogServiceClient,
12}
13impl CatalogClient {
14 pub fn new(catalog_name: impl Into<String>, client: CatalogServiceClient) -> Self {
16 Self {
17 catalog_name: catalog_name.into(),
18 client,
19 }
20 }
21 pub fn name(&self) -> &str {
23 &self.catalog_name
24 }
25 pub fn full_name(&self) -> String {
27 self.catalog_name.clone()
28 }
29 pub fn get(&self) -> GetCatalogBuilder {
34 GetCatalogBuilder::new(self.client.clone(), &self.catalog_name)
35 }
36 pub fn update(&self) -> UpdateCatalogBuilder {
41 UpdateCatalogBuilder::new(self.client.clone(), &self.catalog_name)
42 }
43 pub fn delete(&self) -> DeleteCatalogBuilder {
48 DeleteCatalogBuilder::new(self.client.clone(), &self.catalog_name)
49 }
50 pub fn schema(&self, schema_name: impl Into<String>) -> crate::codegen::schemas::SchemaClient {
52 crate::codegen::schemas::SchemaClient::new(
53 &self.catalog_name,
54 schema_name,
55 crate::codegen::schemas::SchemaServiceClient::new(
56 self.client.client.clone(),
57 self.client.base_url.clone(),
58 ),
59 )
60 }
61 pub fn create_schema(
63 &self,
64 name: impl Into<String>,
65 ) -> crate::codegen::schemas::CreateSchemaBuilder {
66 crate::codegen::schemas::CreateSchemaBuilder::new(
67 crate::codegen::schemas::SchemaServiceClient::new(
68 self.client.client.clone(),
69 self.client.base_url.clone(),
70 ),
71 name,
72 &self.catalog_name,
73 )
74 }
75 pub fn list_schemas(&self) -> crate::codegen::schemas::ListSchemasBuilder {
77 crate::codegen::schemas::ListSchemasBuilder::new(
78 crate::codegen::schemas::SchemaServiceClient::new(
79 self.client.client.clone(),
80 self.client.base_url.clone(),
81 ),
82 &self.catalog_name,
83 )
84 }
85}