Interface SchemaServiceGrpc.AsyncService

All Known Implementing Classes:
SchemaServiceGrpc.SchemaServiceImplBase
Enclosing class:
SchemaServiceGrpc

public static interface SchemaServiceGrpc.AsyncService
 SchemaService implements operations on a Permissions System's Schema.
 
  • Method Details

    • readSchema

      default void readSchema(ReadSchemaRequest request, io.grpc.stub.StreamObserver<ReadSchemaResponse> responseObserver)
       Read returns the current Object Definitions for a Permissions System.
       Errors include:
       - INVALID_ARGUMENT: a provided value has failed to semantically validate
       - NOT_FOUND: no schema has been defined
       
    • writeSchema

      default void writeSchema(WriteSchemaRequest request, io.grpc.stub.StreamObserver<WriteSchemaResponse> responseObserver)
       Write overwrites the current Object Definitions for a Permissions System.
       
    • reflectSchema

      default void reflectSchema(ReflectSchemaRequest request, io.grpc.stub.StreamObserver<ReflectSchemaResponse> responseObserver)
       ReflectSchema reflects the current schema stored in SpiceDB, returning a structural
       form of the schema for use by client tooling.
       
    • computablePermissions

      default void computablePermissions(ComputablePermissionsRequest request, io.grpc.stub.StreamObserver<ComputablePermissionsResponse> responseObserver)
       ComputablePermissions returns the set of permissions that compute based off a relation
       in the current schema. For example, if the schema has a relation `viewer` and a permission
       `view` defined as `permission view = viewer + editor`, then the
       computable permissions for the relation `viewer` will include `view`.
       
    • dependentRelations

      default void dependentRelations(DependentRelationsRequest request, io.grpc.stub.StreamObserver<DependentRelationsResponse> responseObserver)
       DependentRelations returns the set of relations and permissions that used
       to compute a permission, recursively, in the current schema. It is the
       inverse of the ComputablePermissions API.
       
    • diffSchema

      default void diffSchema(DiffSchemaRequest request, io.grpc.stub.StreamObserver<DiffSchemaResponse> responseObserver)
       DiffSchema returns the difference between the specified schema and the current
       schema stored in SpiceDB.