unitycatalog_server/codegen/shares/
handler.rs1use crate::Result;
15use async_trait::async_trait;
16use unitycatalog_common::models::shares::v1::*;
17#[async_trait]
18pub trait ShareHandler<Cx = crate::api::RequestContext>: Send + Sync + 'static {
19 async fn list_shares(
21 &self,
22 request: ListSharesRequest,
23 context: Cx,
24 ) -> Result<ListSharesResponse>;
25 async fn create_share(&self, request: CreateShareRequest, context: Cx) -> Result<Share>;
27 async fn get_share(&self, request: GetShareRequest, context: Cx) -> Result<Share>;
29 async fn update_share(&self, request: UpdateShareRequest, context: Cx) -> Result<Share>;
31 async fn delete_share(&self, request: DeleteShareRequest, context: Cx) -> Result<()>;
33 async fn get_permissions(
35 &self,
36 request: GetPermissionsRequest,
37 context: Cx,
38 ) -> Result<GetPermissionsResponse>;
39 async fn update_permissions(
41 &self,
42 request: UpdatePermissionsRequest,
43 context: Cx,
44 ) -> Result<UpdatePermissionsResponse>;
45}