Interface PermissionsServiceGrpc.AsyncService

All Known Implementing Classes:
PermissionsServiceGrpc.PermissionsServiceImplBase
Enclosing class:
PermissionsServiceGrpc

public static interface PermissionsServiceGrpc.AsyncService
 PermissionsService implements a set of RPCs that perform operations on
 relationships and permissions.
 
  • Method Details

    • readRelationships

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

      default 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

      default 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

      default 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

      default 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

      default 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

      default 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

      default 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

      default 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)
       
    • exportBulkRelationships

      default 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.