Class PermissionsServiceGrpc.PermissionsServiceStub

java.lang.Object
io.grpc.stub.AbstractStub<S>
io.grpc.stub.AbstractAsyncStub<PermissionsServiceGrpc.PermissionsServiceStub>
com.authzed.api.v1.PermissionsServiceGrpc.PermissionsServiceStub
Enclosing class:
PermissionsServiceGrpc

public static final class PermissionsServiceGrpc.PermissionsServiceStub extends io.grpc.stub.AbstractAsyncStub<PermissionsServiceGrpc.PermissionsServiceStub>
A stub to allow clients to do asynchronous rpc calls to service PermissionsService.
 PermissionsService implements a set of RPCs that perform operations on
 relationships and permissions.
 
  • Method Details

    • build

      protected PermissionsServiceGrpc.PermissionsServiceStub build(io.grpc.Channel channel, io.grpc.CallOptions callOptions)
      Specified by:
      build in class io.grpc.stub.AbstractStub<PermissionsServiceGrpc.PermissionsServiceStub>
    • readRelationships

      public void readRelationships(ReadRelationshipsRequest request, io.grpc.stub.StreamObserver<ReadRelationshipsResponse> responseObserver)
       ReadRelationships reads a set of the relationships matching one or more
       filters.
       
    • writeRelationships

      public void writeRelationships(WriteRelationshipsRequest request, io.grpc.stub.StreamObserver<WriteRelationshipsResponse> responseObserver)
       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.
       
    • deleteRelationships

      public void deleteRelationships(DeleteRelationshipsRequest request, io.grpc.stub.StreamObserver<DeleteRelationshipsResponse> responseObserver)
       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.
       
    • checkPermission

      public void checkPermission(CheckPermissionRequest request, io.grpc.stub.StreamObserver<CheckPermissionResponse> responseObserver)
       CheckPermission determines for a given resource whether a subject computes
       to having a permission or is a direct member of a particular relation.
       
    • checkBulkPermissions

      public void checkBulkPermissions(CheckBulkPermissionsRequest request, io.grpc.stub.StreamObserver<CheckBulkPermissionsResponse> responseObserver)
       CheckBulkPermissions evaluates the given list of permission checks
       and returns the list of results.
       
    • expandPermissionTree

      public void expandPermissionTree(ExpandPermissionTreeRequest request, io.grpc.stub.StreamObserver<ExpandPermissionTreeResponse> responseObserver)
       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.
       
    • lookupResources

      public void lookupResources(LookupResourcesRequest request, io.grpc.stub.StreamObserver<LookupResourcesResponse> responseObserver)
       LookupResources returns all the resources of a given type that a subject
       can access whether via a computed permission or relation membership.
       
    • lookupSubjects

      public void lookupSubjects(LookupSubjectsRequest request, io.grpc.stub.StreamObserver<LookupSubjectsResponse> responseObserver)
       LookupSubjects returns all the subjects of a given type that
       have access whether via a computed permission or relation membership.
       
    • importBulkRelationships

      public io.grpc.stub.StreamObserver<ImportBulkRelationshipsRequest> importBulkRelationships(io.grpc.stub.StreamObserver<ImportBulkRelationshipsResponse> responseObserver)
       ImportBulkRelationships is a faster path to writing a large number of
       relationships at once. It is both batched and streaming. For maximum
       performance, the caller should attempt to write relationships in as close
       to relationship sort order as possible: (resource.object_type,
       resource.object_id, relation, subject.object.object_type,
       subject.object.object_id, subject.optional_relation). All relationships
       written are done so under a single transaction.
       
    • exportBulkRelationships

      public void exportBulkRelationships(ExportBulkRelationshipsRequest request, io.grpc.stub.StreamObserver<ExportBulkRelationshipsResponse> responseObserver)
       ExportBulkRelationships is the fastest path available to exporting
       relationships from the server. It is resumable, and will return results
       in an order determined by the server.