Class PermissionsServiceGrpc.PermissionsServiceBlockingV2Stub

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

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

    • build

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

      @ExperimentalApi("https://github.com/grpc/grpc-java/issues/10918") public io.grpc.stub.BlockingClientCall<?,ReadRelationshipsResponse> readRelationships(ReadRelationshipsRequest request)
       ReadRelationships reads a set of the relationships matching one or more
       filters.
       
    • writeRelationships

      public WriteRelationshipsResponse writeRelationships(WriteRelationshipsRequest request)
       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 DeleteRelationshipsResponse deleteRelationships(DeleteRelationshipsRequest request)
       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 CheckPermissionResponse checkPermission(CheckPermissionRequest request)
       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 CheckBulkPermissionsResponse checkBulkPermissions(CheckBulkPermissionsRequest request)
       CheckBulkPermissions evaluates the given list of permission checks
       and returns the list of results.
       
    • expandPermissionTree

      public ExpandPermissionTreeResponse expandPermissionTree(ExpandPermissionTreeRequest request)
       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

      @ExperimentalApi("https://github.com/grpc/grpc-java/issues/10918") public io.grpc.stub.BlockingClientCall<?,LookupResourcesResponse> lookupResources(LookupResourcesRequest request)
       LookupResources returns all the resources of a given type that a subject
       can access whether via a computed permission or relation membership.
       
    • lookupSubjects

      @ExperimentalApi("https://github.com/grpc/grpc-java/issues/10918") public io.grpc.stub.BlockingClientCall<?,LookupSubjectsResponse> lookupSubjects(LookupSubjectsRequest request)
       LookupSubjects returns all the subjects of a given type that
       have access whether via a computed permission or relation membership.
       
    • importBulkRelationships

      @ExperimentalApi("https://github.com/grpc/grpc-java/issues/10918") public io.grpc.stub.BlockingClientCall<ImportBulkRelationshipsRequest,ImportBulkRelationshipsResponse> importBulkRelationships()
       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

      @ExperimentalApi("https://github.com/grpc/grpc-java/issues/10918") public io.grpc.stub.BlockingClientCall<?,ExportBulkRelationshipsResponse> exportBulkRelationships(ExportBulkRelationshipsRequest request)
       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.