#![allow(unused_imports)]
use super::builders::*;
use super::client::ShareServiceClient;
use unitycatalog_common::models::shares::v1::*;
#[derive(Clone)]
pub struct ShareClient {
pub(crate) share_name: String,
pub(crate) client: ShareServiceClient,
}
impl ShareClient {
pub fn new(share_name: impl Into<String>, client: ShareServiceClient) -> Self {
Self {
share_name: share_name.into(),
client,
}
}
pub fn name(&self) -> &str {
&self.share_name
}
pub fn full_name(&self) -> String {
self.share_name.clone()
}
pub fn get(&self) -> GetShareBuilder {
GetShareBuilder::new(self.client.clone(), &self.share_name)
}
pub fn update(&self) -> UpdateShareBuilder {
UpdateShareBuilder::new(self.client.clone(), &self.share_name)
}
pub fn delete(&self) -> DeleteShareBuilder {
DeleteShareBuilder::new(self.client.clone(), &self.share_name)
}
pub fn get_permissions(&self) -> GetPermissionsBuilder {
GetPermissionsBuilder::new(self.client.clone(), &self.share_name)
}
pub fn update_permissions(&self) -> UpdatePermissionsBuilder {
UpdatePermissionsBuilder::new(self.client.clone(), &self.share_name)
}
}