@authzed/authzed-node
Version:
authzed client for nodejs
224 lines (223 loc) • 19.3 kB
TypeScript
import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
import type { BinaryReadOptions } from "@protobuf-ts/runtime";
import type { ExportBulkRelationshipsResponse } from "./permission_service.js";
import type { ExportBulkRelationshipsRequest } from "./permission_service.js";
import type { ImportBulkRelationshipsRequest } from "./permission_service.js";
import type { ImportBulkRelationshipsResponse } from "./permission_service.js";
import type { LookupSubjectsResponse } from "./permission_service.js";
import type { LookupSubjectsRequest } from "./permission_service.js";
import type { LookupResourcesResponse } from "./permission_service.js";
import type { LookupResourcesRequest } from "./permission_service.js";
import type { ExpandPermissionTreeResponse } from "./permission_service.js";
import type { ExpandPermissionTreeRequest } from "./permission_service.js";
import type { CheckBulkPermissionsResponse } from "./permission_service.js";
import type { CheckBulkPermissionsRequest } from "./permission_service.js";
import type { CheckPermissionResponse } from "./permission_service.js";
import type { CheckPermissionRequest } from "./permission_service.js";
import type { DeleteRelationshipsResponse } from "./permission_service.js";
import type { DeleteRelationshipsRequest } from "./permission_service.js";
import type { WriteRelationshipsResponse } from "./permission_service.js";
import type { WriteRelationshipsRequest } from "./permission_service.js";
import type { ReadRelationshipsResponse } from "./permission_service.js";
import type { ReadRelationshipsRequest } from "./permission_service.js";
import * as grpc from "@grpc/grpc-js";
/**
* PermissionsService implements a set of RPCs that perform operations on
* relationships and permissions.
*
* @generated from protobuf service authzed.api.v1.PermissionsService
*/
export interface IPermissionsServiceClient {
/**
* ReadRelationships reads a set of the relationships matching one or more
* filters.
*
* @generated from protobuf rpc: ReadRelationships(authzed.api.v1.ReadRelationshipsRequest) returns (stream authzed.api.v1.ReadRelationshipsResponse);
*/
readRelationships(input: ReadRelationshipsRequest, metadata?: grpc.Metadata, options?: grpc.CallOptions): grpc.ClientReadableStream<ReadRelationshipsResponse>;
readRelationships(input: ReadRelationshipsRequest, options?: grpc.CallOptions): grpc.ClientReadableStream<ReadRelationshipsResponse>;
/**
* 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.
*
* @generated from protobuf rpc: WriteRelationships(authzed.api.v1.WriteRelationshipsRequest) returns (authzed.api.v1.WriteRelationshipsResponse);
*/
writeRelationships(input: WriteRelationshipsRequest, metadata: grpc.Metadata, options: grpc.CallOptions, callback: (err: grpc.ServiceError | null, value?: WriteRelationshipsResponse) => void): grpc.ClientUnaryCall;
writeRelationships(input: WriteRelationshipsRequest, metadata: grpc.Metadata, callback: (err: grpc.ServiceError | null, value?: WriteRelationshipsResponse) => void): grpc.ClientUnaryCall;
writeRelationships(input: WriteRelationshipsRequest, options: grpc.CallOptions, callback: (err: grpc.ServiceError | null, value?: WriteRelationshipsResponse) => void): grpc.ClientUnaryCall;
writeRelationships(input: WriteRelationshipsRequest, callback: (err: grpc.ServiceError | null, value?: WriteRelationshipsResponse) => void): grpc.ClientUnaryCall;
/**
* 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.
*
* @generated from protobuf rpc: DeleteRelationships(authzed.api.v1.DeleteRelationshipsRequest) returns (authzed.api.v1.DeleteRelationshipsResponse);
*/
deleteRelationships(input: DeleteRelationshipsRequest, metadata: grpc.Metadata, options: grpc.CallOptions, callback: (err: grpc.ServiceError | null, value?: DeleteRelationshipsResponse) => void): grpc.ClientUnaryCall;
deleteRelationships(input: DeleteRelationshipsRequest, metadata: grpc.Metadata, callback: (err: grpc.ServiceError | null, value?: DeleteRelationshipsResponse) => void): grpc.ClientUnaryCall;
deleteRelationships(input: DeleteRelationshipsRequest, options: grpc.CallOptions, callback: (err: grpc.ServiceError | null, value?: DeleteRelationshipsResponse) => void): grpc.ClientUnaryCall;
deleteRelationships(input: DeleteRelationshipsRequest, callback: (err: grpc.ServiceError | null, value?: DeleteRelationshipsResponse) => void): grpc.ClientUnaryCall;
/**
* CheckPermission determines for a given resource whether a subject computes
* to having a permission or is a direct member of a particular relation.
*
* @generated from protobuf rpc: CheckPermission(authzed.api.v1.CheckPermissionRequest) returns (authzed.api.v1.CheckPermissionResponse);
*/
checkPermission(input: CheckPermissionRequest, metadata: grpc.Metadata, options: grpc.CallOptions, callback: (err: grpc.ServiceError | null, value?: CheckPermissionResponse) => void): grpc.ClientUnaryCall;
checkPermission(input: CheckPermissionRequest, metadata: grpc.Metadata, callback: (err: grpc.ServiceError | null, value?: CheckPermissionResponse) => void): grpc.ClientUnaryCall;
checkPermission(input: CheckPermissionRequest, options: grpc.CallOptions, callback: (err: grpc.ServiceError | null, value?: CheckPermissionResponse) => void): grpc.ClientUnaryCall;
checkPermission(input: CheckPermissionRequest, callback: (err: grpc.ServiceError | null, value?: CheckPermissionResponse) => void): grpc.ClientUnaryCall;
/**
* CheckBulkPermissions evaluates the given list of permission checks
* and returns the list of results.
*
* @generated from protobuf rpc: CheckBulkPermissions(authzed.api.v1.CheckBulkPermissionsRequest) returns (authzed.api.v1.CheckBulkPermissionsResponse);
*/
checkBulkPermissions(input: CheckBulkPermissionsRequest, metadata: grpc.Metadata, options: grpc.CallOptions, callback: (err: grpc.ServiceError | null, value?: CheckBulkPermissionsResponse) => void): grpc.ClientUnaryCall;
checkBulkPermissions(input: CheckBulkPermissionsRequest, metadata: grpc.Metadata, callback: (err: grpc.ServiceError | null, value?: CheckBulkPermissionsResponse) => void): grpc.ClientUnaryCall;
checkBulkPermissions(input: CheckBulkPermissionsRequest, options: grpc.CallOptions, callback: (err: grpc.ServiceError | null, value?: CheckBulkPermissionsResponse) => void): grpc.ClientUnaryCall;
checkBulkPermissions(input: CheckBulkPermissionsRequest, callback: (err: grpc.ServiceError | null, value?: CheckBulkPermissionsResponse) => void): grpc.ClientUnaryCall;
/**
* 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.
*
* @generated from protobuf rpc: ExpandPermissionTree(authzed.api.v1.ExpandPermissionTreeRequest) returns (authzed.api.v1.ExpandPermissionTreeResponse);
*/
expandPermissionTree(input: ExpandPermissionTreeRequest, metadata: grpc.Metadata, options: grpc.CallOptions, callback: (err: grpc.ServiceError | null, value?: ExpandPermissionTreeResponse) => void): grpc.ClientUnaryCall;
expandPermissionTree(input: ExpandPermissionTreeRequest, metadata: grpc.Metadata, callback: (err: grpc.ServiceError | null, value?: ExpandPermissionTreeResponse) => void): grpc.ClientUnaryCall;
expandPermissionTree(input: ExpandPermissionTreeRequest, options: grpc.CallOptions, callback: (err: grpc.ServiceError | null, value?: ExpandPermissionTreeResponse) => void): grpc.ClientUnaryCall;
expandPermissionTree(input: ExpandPermissionTreeRequest, callback: (err: grpc.ServiceError | null, value?: ExpandPermissionTreeResponse) => void): grpc.ClientUnaryCall;
/**
* LookupResources returns all the resources of a given type that a subject
* can access whether via a computed permission or relation membership.
*
* @generated from protobuf rpc: LookupResources(authzed.api.v1.LookupResourcesRequest) returns (stream authzed.api.v1.LookupResourcesResponse);
*/
lookupResources(input: LookupResourcesRequest, metadata?: grpc.Metadata, options?: grpc.CallOptions): grpc.ClientReadableStream<LookupResourcesResponse>;
lookupResources(input: LookupResourcesRequest, options?: grpc.CallOptions): grpc.ClientReadableStream<LookupResourcesResponse>;
/**
* LookupSubjects returns all the subjects of a given type that
* have access whether via a computed permission or relation membership.
*
* @generated from protobuf rpc: LookupSubjects(authzed.api.v1.LookupSubjectsRequest) returns (stream authzed.api.v1.LookupSubjectsResponse);
*/
lookupSubjects(input: LookupSubjectsRequest, metadata?: grpc.Metadata, options?: grpc.CallOptions): grpc.ClientReadableStream<LookupSubjectsResponse>;
lookupSubjects(input: LookupSubjectsRequest, options?: grpc.CallOptions): grpc.ClientReadableStream<LookupSubjectsResponse>;
/**
* 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.
*
* @generated from protobuf rpc: ImportBulkRelationships(stream authzed.api.v1.ImportBulkRelationshipsRequest) returns (authzed.api.v1.ImportBulkRelationshipsResponse);
*/
importBulkRelationships(metadata: grpc.Metadata, options: grpc.CallOptions, callback: (err: grpc.ServiceError | null, value?: ImportBulkRelationshipsResponse) => void): grpc.ClientWritableStream<ImportBulkRelationshipsRequest>;
importBulkRelationships(metadata: grpc.Metadata, callback: (err: grpc.ServiceError | null, value?: ImportBulkRelationshipsResponse) => void): grpc.ClientWritableStream<ImportBulkRelationshipsRequest>;
importBulkRelationships(options: grpc.CallOptions, callback: (err: grpc.ServiceError | null, value?: ImportBulkRelationshipsResponse) => void): grpc.ClientWritableStream<ImportBulkRelationshipsRequest>;
importBulkRelationships(callback: (err: grpc.ServiceError | null, value?: ImportBulkRelationshipsResponse) => void): grpc.ClientWritableStream<ImportBulkRelationshipsRequest>;
/**
* 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.
*
* @generated from protobuf rpc: ExportBulkRelationships(authzed.api.v1.ExportBulkRelationshipsRequest) returns (stream authzed.api.v1.ExportBulkRelationshipsResponse);
*/
exportBulkRelationships(input: ExportBulkRelationshipsRequest, metadata?: grpc.Metadata, options?: grpc.CallOptions): grpc.ClientReadableStream<ExportBulkRelationshipsResponse>;
exportBulkRelationships(input: ExportBulkRelationshipsRequest, options?: grpc.CallOptions): grpc.ClientReadableStream<ExportBulkRelationshipsResponse>;
}
/**
* PermissionsService implements a set of RPCs that perform operations on
* relationships and permissions.
*
* @generated from protobuf service authzed.api.v1.PermissionsService
*/
export declare class PermissionsServiceClient extends grpc.Client implements IPermissionsServiceClient {
private readonly _binaryOptions;
constructor(address: string, credentials: grpc.ChannelCredentials, options?: grpc.ClientOptions, binaryOptions?: Partial<BinaryReadOptions & BinaryWriteOptions>);
/**
* ReadRelationships reads a set of the relationships matching one or more
* filters.
*
* @generated from protobuf rpc: ReadRelationships(authzed.api.v1.ReadRelationshipsRequest) returns (stream authzed.api.v1.ReadRelationshipsResponse);
*/
readRelationships(input: ReadRelationshipsRequest, metadata?: grpc.Metadata | grpc.CallOptions, options?: grpc.CallOptions): grpc.ClientReadableStream<ReadRelationshipsResponse>;
/**
* 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.
*
* @generated from protobuf rpc: WriteRelationships(authzed.api.v1.WriteRelationshipsRequest) returns (authzed.api.v1.WriteRelationshipsResponse);
*/
writeRelationships(input: WriteRelationshipsRequest, metadata: grpc.Metadata | grpc.CallOptions | ((err: grpc.ServiceError | null, value?: WriteRelationshipsResponse) => void), options?: grpc.CallOptions | ((err: grpc.ServiceError | null, value?: WriteRelationshipsResponse) => void), callback?: ((err: grpc.ServiceError | null, value?: WriteRelationshipsResponse) => void)): grpc.ClientUnaryCall;
/**
* 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.
*
* @generated from protobuf rpc: DeleteRelationships(authzed.api.v1.DeleteRelationshipsRequest) returns (authzed.api.v1.DeleteRelationshipsResponse);
*/
deleteRelationships(input: DeleteRelationshipsRequest, metadata: grpc.Metadata | grpc.CallOptions | ((err: grpc.ServiceError | null, value?: DeleteRelationshipsResponse) => void), options?: grpc.CallOptions | ((err: grpc.ServiceError | null, value?: DeleteRelationshipsResponse) => void), callback?: ((err: grpc.ServiceError | null, value?: DeleteRelationshipsResponse) => void)): grpc.ClientUnaryCall;
/**
* CheckPermission determines for a given resource whether a subject computes
* to having a permission or is a direct member of a particular relation.
*
* @generated from protobuf rpc: CheckPermission(authzed.api.v1.CheckPermissionRequest) returns (authzed.api.v1.CheckPermissionResponse);
*/
checkPermission(input: CheckPermissionRequest, metadata: grpc.Metadata | grpc.CallOptions | ((err: grpc.ServiceError | null, value?: CheckPermissionResponse) => void), options?: grpc.CallOptions | ((err: grpc.ServiceError | null, value?: CheckPermissionResponse) => void), callback?: ((err: grpc.ServiceError | null, value?: CheckPermissionResponse) => void)): grpc.ClientUnaryCall;
/**
* CheckBulkPermissions evaluates the given list of permission checks
* and returns the list of results.
*
* @generated from protobuf rpc: CheckBulkPermissions(authzed.api.v1.CheckBulkPermissionsRequest) returns (authzed.api.v1.CheckBulkPermissionsResponse);
*/
checkBulkPermissions(input: CheckBulkPermissionsRequest, metadata: grpc.Metadata | grpc.CallOptions | ((err: grpc.ServiceError | null, value?: CheckBulkPermissionsResponse) => void), options?: grpc.CallOptions | ((err: grpc.ServiceError | null, value?: CheckBulkPermissionsResponse) => void), callback?: ((err: grpc.ServiceError | null, value?: CheckBulkPermissionsResponse) => void)): grpc.ClientUnaryCall;
/**
* 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.
*
* @generated from protobuf rpc: ExpandPermissionTree(authzed.api.v1.ExpandPermissionTreeRequest) returns (authzed.api.v1.ExpandPermissionTreeResponse);
*/
expandPermissionTree(input: ExpandPermissionTreeRequest, metadata: grpc.Metadata | grpc.CallOptions | ((err: grpc.ServiceError | null, value?: ExpandPermissionTreeResponse) => void), options?: grpc.CallOptions | ((err: grpc.ServiceError | null, value?: ExpandPermissionTreeResponse) => void), callback?: ((err: grpc.ServiceError | null, value?: ExpandPermissionTreeResponse) => void)): grpc.ClientUnaryCall;
/**
* LookupResources returns all the resources of a given type that a subject
* can access whether via a computed permission or relation membership.
*
* @generated from protobuf rpc: LookupResources(authzed.api.v1.LookupResourcesRequest) returns (stream authzed.api.v1.LookupResourcesResponse);
*/
lookupResources(input: LookupResourcesRequest, metadata?: grpc.Metadata | grpc.CallOptions, options?: grpc.CallOptions): grpc.ClientReadableStream<LookupResourcesResponse>;
/**
* LookupSubjects returns all the subjects of a given type that
* have access whether via a computed permission or relation membership.
*
* @generated from protobuf rpc: LookupSubjects(authzed.api.v1.LookupSubjectsRequest) returns (stream authzed.api.v1.LookupSubjectsResponse);
*/
lookupSubjects(input: LookupSubjectsRequest, metadata?: grpc.Metadata | grpc.CallOptions, options?: grpc.CallOptions): grpc.ClientReadableStream<LookupSubjectsResponse>;
/**
* 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.
*
* @generated from protobuf rpc: ImportBulkRelationships(stream authzed.api.v1.ImportBulkRelationshipsRequest) returns (authzed.api.v1.ImportBulkRelationshipsResponse);
*/
importBulkRelationships(metadata: grpc.Metadata | grpc.CallOptions | ((err: grpc.ServiceError | null, value?: ImportBulkRelationshipsResponse) => void), options?: grpc.CallOptions | ((err: grpc.ServiceError | null, value?: ImportBulkRelationshipsResponse) => void), callback?: ((err: grpc.ServiceError | null, value?: ImportBulkRelationshipsResponse) => void)): grpc.ClientWritableStream<ImportBulkRelationshipsRequest>;
/**
* 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.
*
* @generated from protobuf rpc: ExportBulkRelationships(authzed.api.v1.ExportBulkRelationshipsRequest) returns (stream authzed.api.v1.ExportBulkRelationshipsResponse);
*/
exportBulkRelationships(input: ExportBulkRelationshipsRequest, metadata?: grpc.Metadata | grpc.CallOptions, options?: grpc.CallOptions): grpc.ClientReadableStream<ExportBulkRelationshipsResponse>;
}