pub struct SpiceDBClient { /* private fields */ }
Implementations§
Source§impl SpiceDBClient
impl SpiceDBClient
Sourcepub async fn from_env() -> Result<Self>
pub async fn from_env() -> Result<Self>
Reads the following env variables:
ZED_TOKEN
ZED_ENDPOINT
pub async fn new( addr: impl Into<String>, token: impl AsRef<str>, ) -> Result<Self>
pub fn leak(self) -> &'static Self
pub fn schema_service_client( &self, ) -> SchemaServiceClient<InterceptedService<Channel, BearerTokenInterceptor>>
pub fn permission_service_client( &self, ) -> PermissionsServiceClient<InterceptedService<Channel, BearerTokenInterceptor>>
pub fn create_relationships_request(&self) -> WriteRelationshipsRequest
pub fn delete_relationships_request<R>(&self) -> DeleteRelationshipsRequest<R>where
R: Resource,
pub fn read_relationships_request(&self) -> ReadRelationshipsRequest
pub fn check_permission_request<R>(&self) -> CheckPermissionRequest<R>where
R: Resource,
pub fn lookup_resources_request<R>(&self) -> LookupResourcesRequest<R>where
R: Resource,
pub fn lookup_subjects_request<S, R>(&self) -> LookupSubjectsRequest<S, R>
pub async fn delete_relationships<R>(
&self,
id: Option<R::Id>,
relation: Option<R::Relations>,
subject_filter: Option<SubjectFilter>,
) -> Result<ZedToken, Status>where
R: Resource,
pub async fn create_relationships<R, P>( &self, relationships: R, preconditions: P, ) -> Result<ZedToken, Status>
Sourcepub async fn lookup_resources<R>(
&self,
actor: &impl Actor,
permission: R::Permissions,
) -> Result<Vec<R::Id>, Status>where
R: Resource,
pub async fn lookup_resources<R>(
&self,
actor: &impl Actor,
permission: R::Permissions,
) -> Result<Vec<R::Id>, Status>where
R: Resource,
Shortcut for the most common use case of looking up resources, to quickly collect all ID’s returned in one call.
pub async fn lookup_resources_at<R>(
&self,
actor: &impl Actor,
permission: R::Permissions,
token: ZedToken,
) -> Result<Vec<R::Id>, Status>where
R: Resource,
pub async fn lookup_subjects<S, R>( &self, id: impl Into<R::Id>, permission: R::Permissions, ) -> Result<Vec<S::Id>, Status>
pub async fn lookup_subjects_at<S, R>( &self, id: impl Into<R::Id>, permission: R::Permissions, token: ZedToken, ) -> Result<Vec<S::Id>, Status>
Sourcepub async fn check_permission<R>(
&self,
actor: &impl Actor,
resource_id: impl Into<R::Id>,
permission: R::Permissions,
) -> Result<bool, Status>where
R: Resource,
pub async fn check_permission<R>(
&self,
actor: &impl Actor,
resource_id: impl Into<R::Id>,
permission: R::Permissions,
) -> Result<bool, Status>where
R: Resource,
Shortcut for the most common use case of checking a permission for an actor in the system
on a specific resource R
with default consistency.
pub async fn check_permission_at<R>(
&self,
actor: &impl Actor,
resource_id: impl Into<R::Id>,
permission: R::Permissions,
token: ZedToken,
) -> Result<bool, Status>where
R: Resource,
pub async fn write_schema(&self, schema: String) -> Result<ZedToken, Status>
pub async fn read_schema(&self) -> Result<ReadSchemaResponse, Status>
Trait Implementations§
Source§impl Clone for SpiceDBClient
impl Clone for SpiceDBClient
Source§fn clone(&self) -> SpiceDBClient
fn clone(&self) -> SpiceDBClient
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreAuto Trait Implementations§
impl !Freeze for SpiceDBClient
impl !RefUnwindSafe for SpiceDBClient
impl Send for SpiceDBClient
impl Sync for SpiceDBClient
impl Unpin for SpiceDBClient
impl !UnwindSafe for SpiceDBClient
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
Wrap the input message
T
in a tonic::Request