pub struct PermissionsServiceClient<T> { /* private fields */ }Expand description
PermissionsService implements a set of RPCs that perform operations on relationships and permissions.
Implementations§
source§impl<T> PermissionsServiceClient<T>where
T: GrpcService<BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
impl<T> PermissionsServiceClient<T>where
T: GrpcService<BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
pub fn new(inner: T) -> Self
pub fn with_origin(inner: T, origin: Uri) -> Self
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> PermissionsServiceClient<InterceptedService<T, F>>where
F: Interceptor,
T::ResponseBody: Default,
T: Service<Request<BoxBody>, Response = Response<<T as GrpcService<BoxBody>>::ResponseBody>>,
<T as Service<Request<BoxBody>>>::Error: Into<StdError> + Send + Sync,
sourcepub fn send_compressed(self, encoding: CompressionEncoding) -> Self
pub fn send_compressed(self, encoding: CompressionEncoding) -> Self
Compress requests with the given encoding.
This requires the server to support it otherwise it might respond with an error.
sourcepub fn accept_compressed(self, encoding: CompressionEncoding) -> Self
pub fn accept_compressed(self, encoding: CompressionEncoding) -> Self
Enable decompressing responses.
sourcepub fn max_decoding_message_size(self, limit: usize) -> Self
pub fn max_decoding_message_size(self, limit: usize) -> Self
Limits the maximum size of a decoded message.
Default: 4MB
sourcepub fn max_encoding_message_size(self, limit: usize) -> Self
pub fn max_encoding_message_size(self, limit: usize) -> Self
Limits the maximum size of an encoded message.
Default: usize::MAX
sourcepub async fn read_relationships(
&mut self,
request: impl IntoRequest<ReadRelationshipsRequest>,
) -> Result<Response<Streaming<ReadRelationshipsResponse>>, Status>
pub async fn read_relationships( &mut self, request: impl IntoRequest<ReadRelationshipsRequest>, ) -> Result<Response<Streaming<ReadRelationshipsResponse>>, Status>
ReadRelationships reads a set of the relationships matching one or more filters.
sourcepub async fn write_relationships(
&mut self,
request: impl IntoRequest<WriteRelationshipsRequest>,
) -> Result<Response<WriteRelationshipsResponse>, Status>
pub async fn write_relationships( &mut self, request: impl IntoRequest<WriteRelationshipsRequest>, ) -> Result<Response<WriteRelationshipsResponse>, Status>
WriteRelationships atomically writes and/or deletes a set of specified relationships. An optional set of preconditions can be provided that must be satisfied for the operation to commit.
sourcepub async fn delete_relationships(
&mut self,
request: impl IntoRequest<DeleteRelationshipsRequest>,
) -> Result<Response<DeleteRelationshipsResponse>, Status>
pub async fn delete_relationships( &mut self, request: impl IntoRequest<DeleteRelationshipsRequest>, ) -> Result<Response<DeleteRelationshipsResponse>, Status>
DeleteRelationships atomically bulk deletes all relationships matching the provided filter. If no relationships match, none will be deleted and the operation will succeed. An optional set of preconditions can be provided that must be satisfied for the operation to commit.
sourcepub async fn check_permission(
&mut self,
request: impl IntoRequest<CheckPermissionRequest>,
) -> Result<Response<CheckPermissionResponse>, Status>
pub async fn check_permission( &mut self, request: impl IntoRequest<CheckPermissionRequest>, ) -> Result<Response<CheckPermissionResponse>, Status>
CheckPermission determines for a given resource whether a subject computes to having a permission or is a direct member of a particular relation.
sourcepub async fn check_bulk_permissions(
&mut self,
request: impl IntoRequest<CheckBulkPermissionsRequest>,
) -> Result<Response<CheckBulkPermissionsResponse>, Status>
pub async fn check_bulk_permissions( &mut self, request: impl IntoRequest<CheckBulkPermissionsRequest>, ) -> Result<Response<CheckBulkPermissionsResponse>, Status>
CheckBulkPermissions evaluates the given list of permission checks and returns the list of results.
sourcepub async fn expand_permission_tree(
&mut self,
request: impl IntoRequest<ExpandPermissionTreeRequest>,
) -> Result<Response<ExpandPermissionTreeResponse>, Status>
pub async fn expand_permission_tree( &mut self, request: impl IntoRequest<ExpandPermissionTreeRequest>, ) -> Result<Response<ExpandPermissionTreeResponse>, Status>
ExpandPermissionTree reveals the graph structure for a resource’s permission or relation. This RPC does not recurse infinitely deep and may require multiple calls to fully unnest a deeply nested graph.
sourcepub async fn lookup_resources(
&mut self,
request: impl IntoRequest<LookupResourcesRequest>,
) -> Result<Response<Streaming<LookupResourcesResponse>>, Status>
pub async fn lookup_resources( &mut self, request: impl IntoRequest<LookupResourcesRequest>, ) -> Result<Response<Streaming<LookupResourcesResponse>>, Status>
LookupResources returns all the resources of a given type that a subject can access whether via a computed permission or relation membership.
sourcepub async fn lookup_subjects(
&mut self,
request: impl IntoRequest<LookupSubjectsRequest>,
) -> Result<Response<Streaming<LookupSubjectsResponse>>, Status>
pub async fn lookup_subjects( &mut self, request: impl IntoRequest<LookupSubjectsRequest>, ) -> Result<Response<Streaming<LookupSubjectsResponse>>, Status>
LookupSubjects returns all the subjects of a given type that have access whether via a computed permission or relation membership.
Trait Implementations§
source§impl<T: Clone> Clone for PermissionsServiceClient<T>
impl<T: Clone> Clone for PermissionsServiceClient<T>
source§fn clone(&self) -> PermissionsServiceClient<T>
fn clone(&self) -> PermissionsServiceClient<T>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl<T> !Freeze for PermissionsServiceClient<T>
impl<T> RefUnwindSafe for PermissionsServiceClient<T>where
T: RefUnwindSafe,
impl<T> Send for PermissionsServiceClient<T>where
T: Send,
impl<T> Sync for PermissionsServiceClient<T>where
T: Sync,
impl<T> Unpin for PermissionsServiceClient<T>where
T: Unpin,
impl<T> UnwindSafe for PermissionsServiceClient<T>where
T: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit)source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request