UNPKG

@authzed/authzed-js-node

Version:
862 lines 123 kB
// @generated by protobuf-ts 2.9.1 with parameter generate_dependencies,long_type_string,client_grpc1 // @generated from protobuf file "authzed/api/v1/permission_service.proto" (package "authzed.api.v1", syntax proto3) // tslint:disable import { ServiceType } from "@protobuf-ts/runtime-rpc"; import { WireType } from "@protobuf-ts/runtime"; import { UnknownFieldHandler } from "@protobuf-ts/runtime"; import { reflectionMergePartial } from "@protobuf-ts/runtime"; import { MESSAGE_TYPE } from "@protobuf-ts/runtime"; import { MessageType } from "@protobuf-ts/runtime"; import { PermissionRelationshipTree } from "./core.js"; import { Status } from "../../../google/rpc/status.js"; import { Timestamp } from "../../../google/protobuf/timestamp.js"; import { DebugInformation } from "./debug.js"; import { PartialCaveatInfo } from "./core.js"; import { SubjectReference } from "./core.js"; import { ObjectReference } from "./core.js"; import { Struct } from "../../../google/protobuf/struct.js"; import { RelationshipUpdate } from "./core.js"; import { Relationship } from "./core.js"; import { Cursor } from "./core.js"; import { ZedToken } from "./core.js"; /** * @generated from protobuf enum authzed.api.v1.Precondition.Operation */ export var Precondition_Operation; (function (Precondition_Operation) { /** * @generated from protobuf enum value: OPERATION_UNSPECIFIED = 0; */ Precondition_Operation[Precondition_Operation["UNSPECIFIED"] = 0] = "UNSPECIFIED"; /** * @generated from protobuf enum value: OPERATION_MUST_NOT_MATCH = 1; */ Precondition_Operation[Precondition_Operation["MUST_NOT_MATCH"] = 1] = "MUST_NOT_MATCH"; /** * @generated from protobuf enum value: OPERATION_MUST_MATCH = 2; */ Precondition_Operation[Precondition_Operation["MUST_MATCH"] = 2] = "MUST_MATCH"; })(Precondition_Operation || (Precondition_Operation = {})); /** * @generated from protobuf enum authzed.api.v1.DeleteRelationshipsResponse.DeletionProgress */ export var DeleteRelationshipsResponse_DeletionProgress; (function (DeleteRelationshipsResponse_DeletionProgress) { /** * @generated from protobuf enum value: DELETION_PROGRESS_UNSPECIFIED = 0; */ DeleteRelationshipsResponse_DeletionProgress[DeleteRelationshipsResponse_DeletionProgress["UNSPECIFIED"] = 0] = "UNSPECIFIED"; /** * DELETION_PROGRESS_COMPLETE indicates that all remaining relationships matching the filter * were deleted. Will be returned even if no relationships were deleted. * * @generated from protobuf enum value: DELETION_PROGRESS_COMPLETE = 1; */ DeleteRelationshipsResponse_DeletionProgress[DeleteRelationshipsResponse_DeletionProgress["COMPLETE"] = 1] = "COMPLETE"; /** * DELETION_PROGRESS_PARTIAL indicates that a subset of the relationships matching the filter * were deleted. Only returned if optional_allow_partial_deletions was true, an optional_limit was * specified, and there existed more relationships matching the filter than optional_limit would allow. * Once all remaining relationships have been deleted, DELETION_PROGRESS_COMPLETE will be returned. * * @generated from protobuf enum value: DELETION_PROGRESS_PARTIAL = 2; */ DeleteRelationshipsResponse_DeletionProgress[DeleteRelationshipsResponse_DeletionProgress["PARTIAL"] = 2] = "PARTIAL"; })(DeleteRelationshipsResponse_DeletionProgress || (DeleteRelationshipsResponse_DeletionProgress = {})); /** * @generated from protobuf enum authzed.api.v1.CheckPermissionResponse.Permissionship */ export var CheckPermissionResponse_Permissionship; (function (CheckPermissionResponse_Permissionship) { /** * @generated from protobuf enum value: PERMISSIONSHIP_UNSPECIFIED = 0; */ CheckPermissionResponse_Permissionship[CheckPermissionResponse_Permissionship["UNSPECIFIED"] = 0] = "UNSPECIFIED"; /** * @generated from protobuf enum value: PERMISSIONSHIP_NO_PERMISSION = 1; */ CheckPermissionResponse_Permissionship[CheckPermissionResponse_Permissionship["NO_PERMISSION"] = 1] = "NO_PERMISSION"; /** * @generated from protobuf enum value: PERMISSIONSHIP_HAS_PERMISSION = 2; */ CheckPermissionResponse_Permissionship[CheckPermissionResponse_Permissionship["HAS_PERMISSION"] = 2] = "HAS_PERMISSION"; /** * @generated from protobuf enum value: PERMISSIONSHIP_CONDITIONAL_PERMISSION = 3; */ CheckPermissionResponse_Permissionship[CheckPermissionResponse_Permissionship["CONDITIONAL_PERMISSION"] = 3] = "CONDITIONAL_PERMISSION"; })(CheckPermissionResponse_Permissionship || (CheckPermissionResponse_Permissionship = {})); /** * @generated from protobuf enum authzed.api.v1.LookupSubjectsRequest.WildcardOption */ export var LookupSubjectsRequest_WildcardOption; (function (LookupSubjectsRequest_WildcardOption) { /** * @generated from protobuf enum value: WILDCARD_OPTION_UNSPECIFIED = 0; */ LookupSubjectsRequest_WildcardOption[LookupSubjectsRequest_WildcardOption["UNSPECIFIED"] = 0] = "UNSPECIFIED"; /** * @generated from protobuf enum value: WILDCARD_OPTION_INCLUDE_WILDCARDS = 1; */ LookupSubjectsRequest_WildcardOption[LookupSubjectsRequest_WildcardOption["INCLUDE_WILDCARDS"] = 1] = "INCLUDE_WILDCARDS"; /** * @generated from protobuf enum value: WILDCARD_OPTION_EXCLUDE_WILDCARDS = 2; */ LookupSubjectsRequest_WildcardOption[LookupSubjectsRequest_WildcardOption["EXCLUDE_WILDCARDS"] = 2] = "EXCLUDE_WILDCARDS"; })(LookupSubjectsRequest_WildcardOption || (LookupSubjectsRequest_WildcardOption = {})); /** * LookupPermissionship represents whether a Lookup response was partially evaluated or not * * @generated from protobuf enum authzed.api.v1.LookupPermissionship */ export var LookupPermissionship; (function (LookupPermissionship) { /** * @generated from protobuf enum value: LOOKUP_PERMISSIONSHIP_UNSPECIFIED = 0; */ LookupPermissionship[LookupPermissionship["UNSPECIFIED"] = 0] = "UNSPECIFIED"; /** * @generated from protobuf enum value: LOOKUP_PERMISSIONSHIP_HAS_PERMISSION = 1; */ LookupPermissionship[LookupPermissionship["HAS_PERMISSION"] = 1] = "HAS_PERMISSION"; /** * @generated from protobuf enum value: LOOKUP_PERMISSIONSHIP_CONDITIONAL_PERMISSION = 2; */ LookupPermissionship[LookupPermissionship["CONDITIONAL_PERMISSION"] = 2] = "CONDITIONAL_PERMISSION"; })(LookupPermissionship || (LookupPermissionship = {})); // @generated message type with reflection information, may provide speed optimized methods class Consistency$Type extends MessageType { constructor() { super("authzed.api.v1.Consistency", [ { no: 1, name: "minimize_latency", kind: "scalar", oneof: "requirement", T: 8 /*ScalarType.BOOL*/, options: { "buf.validate.field": { bool: { const: true } }, "validate.rules": { bool: { const: true } } } }, { no: 2, name: "at_least_as_fresh", kind: "message", oneof: "requirement", T: () => ZedToken }, { no: 3, name: "at_exact_snapshot", kind: "message", oneof: "requirement", T: () => ZedToken }, { no: 4, name: "fully_consistent", kind: "scalar", oneof: "requirement", T: 8 /*ScalarType.BOOL*/, options: { "buf.validate.field": { bool: { const: true } }, "validate.rules": { bool: { const: true } } } } ]); } create(value) { const message = { requirement: { oneofKind: undefined } }; globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this }); if (value !== undefined) reflectionMergePartial(this, message, value); return message; } internalBinaryRead(reader, length, options, target) { let message = target ?? this.create(), end = reader.pos + length; while (reader.pos < end) { let [fieldNo, wireType] = reader.tag(); switch (fieldNo) { case /* bool minimize_latency */ 1: message.requirement = { oneofKind: "minimizeLatency", minimizeLatency: reader.bool() }; break; case /* authzed.api.v1.ZedToken at_least_as_fresh */ 2: message.requirement = { oneofKind: "atLeastAsFresh", atLeastAsFresh: ZedToken.internalBinaryRead(reader, reader.uint32(), options, message.requirement.atLeastAsFresh) }; break; case /* authzed.api.v1.ZedToken at_exact_snapshot */ 3: message.requirement = { oneofKind: "atExactSnapshot", atExactSnapshot: ZedToken.internalBinaryRead(reader, reader.uint32(), options, message.requirement.atExactSnapshot) }; break; case /* bool fully_consistent */ 4: message.requirement = { oneofKind: "fullyConsistent", fullyConsistent: reader.bool() }; break; default: let u = options.readUnknownField; if (u === "throw") throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); let d = reader.skip(wireType); if (u !== false) (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); } } return message; } internalBinaryWrite(message, writer, options) { /* bool minimize_latency = 1; */ if (message.requirement.oneofKind === "minimizeLatency") writer.tag(1, WireType.Varint).bool(message.requirement.minimizeLatency); /* authzed.api.v1.ZedToken at_least_as_fresh = 2; */ if (message.requirement.oneofKind === "atLeastAsFresh") ZedToken.internalBinaryWrite(message.requirement.atLeastAsFresh, writer.tag(2, WireType.LengthDelimited).fork(), options).join(); /* authzed.api.v1.ZedToken at_exact_snapshot = 3; */ if (message.requirement.oneofKind === "atExactSnapshot") ZedToken.internalBinaryWrite(message.requirement.atExactSnapshot, writer.tag(3, WireType.LengthDelimited).fork(), options).join(); /* bool fully_consistent = 4; */ if (message.requirement.oneofKind === "fullyConsistent") writer.tag(4, WireType.Varint).bool(message.requirement.fullyConsistent); let u = options.writeUnknownFields; if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); return writer; } } /** * @generated MessageType for protobuf message authzed.api.v1.Consistency */ export const Consistency = new Consistency$Type(); // @generated message type with reflection information, may provide speed optimized methods class RelationshipFilter$Type extends MessageType { constructor() { super("authzed.api.v1.RelationshipFilter", [ { no: 1, name: "resource_type", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxBytes: "128", pattern: "^(([a-z][a-z0-9_]{1,61}[a-z0-9]/)*[a-z][a-z0-9_]{1,62}[a-z0-9])?$" } }, "validate.rules": { string: { maxBytes: "128", pattern: "^(([a-z][a-z0-9_]{1,61}[a-z0-9]/)*[a-z][a-z0-9_]{1,62}[a-z0-9])?$" } } } }, { no: 2, name: "optional_resource_id", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxBytes: "1024", pattern: "^([a-zA-Z0-9/_|\\-=+]{1,})?$" } }, "validate.rules": { string: { maxBytes: "1024", pattern: "^([a-zA-Z0-9/_|\\-=+]{1,})?$" } } } }, { no: 5, name: "optional_resource_id_prefix", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxBytes: "1024", pattern: "^([a-zA-Z0-9/_|\\-=+]{1,})?$" } }, "validate.rules": { string: { maxBytes: "1024", pattern: "^([a-zA-Z0-9/_|\\-=+]{1,})?$" } } } }, { no: 3, name: "optional_relation", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxBytes: "64", pattern: "^([a-z][a-z0-9_]{1,62}[a-z0-9])?$" } }, "validate.rules": { string: { maxBytes: "64", pattern: "^([a-z][a-z0-9_]{1,62}[a-z0-9])?$" } } } }, { no: 4, name: "optional_subject_filter", kind: "message", T: () => SubjectFilter } ]); } create(value) { const message = { resourceType: "", optionalResourceId: "", optionalResourceIdPrefix: "", optionalRelation: "" }; globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this }); if (value !== undefined) reflectionMergePartial(this, message, value); return message; } internalBinaryRead(reader, length, options, target) { let message = target ?? this.create(), end = reader.pos + length; while (reader.pos < end) { let [fieldNo, wireType] = reader.tag(); switch (fieldNo) { case /* string resource_type */ 1: message.resourceType = reader.string(); break; case /* string optional_resource_id */ 2: message.optionalResourceId = reader.string(); break; case /* string optional_resource_id_prefix */ 5: message.optionalResourceIdPrefix = reader.string(); break; case /* string optional_relation */ 3: message.optionalRelation = reader.string(); break; case /* authzed.api.v1.SubjectFilter optional_subject_filter */ 4: message.optionalSubjectFilter = SubjectFilter.internalBinaryRead(reader, reader.uint32(), options, message.optionalSubjectFilter); break; default: let u = options.readUnknownField; if (u === "throw") throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); let d = reader.skip(wireType); if (u !== false) (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); } } return message; } internalBinaryWrite(message, writer, options) { /* string resource_type = 1; */ if (message.resourceType !== "") writer.tag(1, WireType.LengthDelimited).string(message.resourceType); /* string optional_resource_id = 2; */ if (message.optionalResourceId !== "") writer.tag(2, WireType.LengthDelimited).string(message.optionalResourceId); /* string optional_resource_id_prefix = 5; */ if (message.optionalResourceIdPrefix !== "") writer.tag(5, WireType.LengthDelimited).string(message.optionalResourceIdPrefix); /* string optional_relation = 3; */ if (message.optionalRelation !== "") writer.tag(3, WireType.LengthDelimited).string(message.optionalRelation); /* authzed.api.v1.SubjectFilter optional_subject_filter = 4; */ if (message.optionalSubjectFilter) SubjectFilter.internalBinaryWrite(message.optionalSubjectFilter, writer.tag(4, WireType.LengthDelimited).fork(), options).join(); let u = options.writeUnknownFields; if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); return writer; } } /** * @generated MessageType for protobuf message authzed.api.v1.RelationshipFilter */ export const RelationshipFilter = new RelationshipFilter$Type(); // @generated message type with reflection information, may provide speed optimized methods class SubjectFilter$Type extends MessageType { constructor() { super("authzed.api.v1.SubjectFilter", [ { no: 1, name: "subject_type", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxBytes: "128", pattern: "^([a-z][a-z0-9_]{1,61}[a-z0-9]/)*[a-z][a-z0-9_]{1,62}[a-z0-9]$" } }, "validate.rules": { string: { maxBytes: "128", pattern: "^([a-z][a-z0-9_]{1,61}[a-z0-9]/)*[a-z][a-z0-9_]{1,62}[a-z0-9]$" } } } }, { no: 2, name: "optional_subject_id", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxBytes: "1024", pattern: "^(([a-zA-Z0-9/_|\\-=+]{1,})|\\*)?$" } }, "validate.rules": { string: { maxBytes: "1024", pattern: "^(([a-zA-Z0-9/_|\\-=+]{1,})|\\*)?$" } } } }, { no: 3, name: "optional_relation", kind: "message", T: () => SubjectFilter_RelationFilter } ]); } create(value) { const message = { subjectType: "", optionalSubjectId: "" }; globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this }); if (value !== undefined) reflectionMergePartial(this, message, value); return message; } internalBinaryRead(reader, length, options, target) { let message = target ?? this.create(), end = reader.pos + length; while (reader.pos < end) { let [fieldNo, wireType] = reader.tag(); switch (fieldNo) { case /* string subject_type */ 1: message.subjectType = reader.string(); break; case /* string optional_subject_id */ 2: message.optionalSubjectId = reader.string(); break; case /* authzed.api.v1.SubjectFilter.RelationFilter optional_relation */ 3: message.optionalRelation = SubjectFilter_RelationFilter.internalBinaryRead(reader, reader.uint32(), options, message.optionalRelation); break; default: let u = options.readUnknownField; if (u === "throw") throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); let d = reader.skip(wireType); if (u !== false) (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); } } return message; } internalBinaryWrite(message, writer, options) { /* string subject_type = 1; */ if (message.subjectType !== "") writer.tag(1, WireType.LengthDelimited).string(message.subjectType); /* string optional_subject_id = 2; */ if (message.optionalSubjectId !== "") writer.tag(2, WireType.LengthDelimited).string(message.optionalSubjectId); /* authzed.api.v1.SubjectFilter.RelationFilter optional_relation = 3; */ if (message.optionalRelation) SubjectFilter_RelationFilter.internalBinaryWrite(message.optionalRelation, writer.tag(3, WireType.LengthDelimited).fork(), options).join(); let u = options.writeUnknownFields; if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); return writer; } } /** * @generated MessageType for protobuf message authzed.api.v1.SubjectFilter */ export const SubjectFilter = new SubjectFilter$Type(); // @generated message type with reflection information, may provide speed optimized methods class SubjectFilter_RelationFilter$Type extends MessageType { constructor() { super("authzed.api.v1.SubjectFilter.RelationFilter", [ { no: 1, name: "relation", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxBytes: "64", pattern: "^([a-z][a-z0-9_]{1,62}[a-z0-9])?$" } }, "validate.rules": { string: { maxBytes: "64", pattern: "^([a-z][a-z0-9_]{1,62}[a-z0-9])?$" } } } } ]); } create(value) { const message = { relation: "" }; globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this }); if (value !== undefined) reflectionMergePartial(this, message, value); return message; } internalBinaryRead(reader, length, options, target) { let message = target ?? this.create(), end = reader.pos + length; while (reader.pos < end) { let [fieldNo, wireType] = reader.tag(); switch (fieldNo) { case /* string relation */ 1: message.relation = reader.string(); break; default: let u = options.readUnknownField; if (u === "throw") throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); let d = reader.skip(wireType); if (u !== false) (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); } } return message; } internalBinaryWrite(message, writer, options) { /* string relation = 1; */ if (message.relation !== "") writer.tag(1, WireType.LengthDelimited).string(message.relation); let u = options.writeUnknownFields; if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); return writer; } } /** * @generated MessageType for protobuf message authzed.api.v1.SubjectFilter.RelationFilter */ export const SubjectFilter_RelationFilter = new SubjectFilter_RelationFilter$Type(); // @generated message type with reflection information, may provide speed optimized methods class ReadRelationshipsRequest$Type extends MessageType { constructor() { super("authzed.api.v1.ReadRelationshipsRequest", [ { no: 1, name: "consistency", kind: "message", T: () => Consistency }, { no: 2, name: "relationship_filter", kind: "message", T: () => RelationshipFilter, options: { "buf.validate.field": { required: true }, "validate.rules": { message: { required: true } } } }, { no: 3, name: "optional_limit", kind: "scalar", T: 13 /*ScalarType.UINT32*/, options: { "buf.validate.field": { uint32: { gte: 0 } }, "validate.rules": { uint32: { gte: 0 } } } }, { no: 4, name: "optional_cursor", kind: "message", T: () => Cursor } ]); } create(value) { const message = { optionalLimit: 0 }; globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this }); if (value !== undefined) reflectionMergePartial(this, message, value); return message; } internalBinaryRead(reader, length, options, target) { let message = target ?? this.create(), end = reader.pos + length; while (reader.pos < end) { let [fieldNo, wireType] = reader.tag(); switch (fieldNo) { case /* authzed.api.v1.Consistency consistency */ 1: message.consistency = Consistency.internalBinaryRead(reader, reader.uint32(), options, message.consistency); break; case /* authzed.api.v1.RelationshipFilter relationship_filter */ 2: message.relationshipFilter = RelationshipFilter.internalBinaryRead(reader, reader.uint32(), options, message.relationshipFilter); break; case /* uint32 optional_limit */ 3: message.optionalLimit = reader.uint32(); break; case /* authzed.api.v1.Cursor optional_cursor */ 4: message.optionalCursor = Cursor.internalBinaryRead(reader, reader.uint32(), options, message.optionalCursor); break; default: let u = options.readUnknownField; if (u === "throw") throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); let d = reader.skip(wireType); if (u !== false) (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); } } return message; } internalBinaryWrite(message, writer, options) { /* authzed.api.v1.Consistency consistency = 1; */ if (message.consistency) Consistency.internalBinaryWrite(message.consistency, writer.tag(1, WireType.LengthDelimited).fork(), options).join(); /* authzed.api.v1.RelationshipFilter relationship_filter = 2; */ if (message.relationshipFilter) RelationshipFilter.internalBinaryWrite(message.relationshipFilter, writer.tag(2, WireType.LengthDelimited).fork(), options).join(); /* uint32 optional_limit = 3; */ if (message.optionalLimit !== 0) writer.tag(3, WireType.Varint).uint32(message.optionalLimit); /* authzed.api.v1.Cursor optional_cursor = 4; */ if (message.optionalCursor) Cursor.internalBinaryWrite(message.optionalCursor, writer.tag(4, WireType.LengthDelimited).fork(), options).join(); let u = options.writeUnknownFields; if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); return writer; } } /** * @generated MessageType for protobuf message authzed.api.v1.ReadRelationshipsRequest */ export const ReadRelationshipsRequest = new ReadRelationshipsRequest$Type(); // @generated message type with reflection information, may provide speed optimized methods class ReadRelationshipsResponse$Type extends MessageType { constructor() { super("authzed.api.v1.ReadRelationshipsResponse", [ { no: 1, name: "read_at", kind: "message", T: () => ZedToken, options: { "buf.validate.field": { required: true }, "validate.rules": { message: { required: true } } } }, { no: 2, name: "relationship", kind: "message", T: () => Relationship, options: { "buf.validate.field": { required: true }, "validate.rules": { message: { required: true } } } }, { no: 3, name: "after_result_cursor", kind: "message", T: () => Cursor } ]); } create(value) { const message = {}; globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this }); if (value !== undefined) reflectionMergePartial(this, message, value); return message; } internalBinaryRead(reader, length, options, target) { let message = target ?? this.create(), end = reader.pos + length; while (reader.pos < end) { let [fieldNo, wireType] = reader.tag(); switch (fieldNo) { case /* authzed.api.v1.ZedToken read_at */ 1: message.readAt = ZedToken.internalBinaryRead(reader, reader.uint32(), options, message.readAt); break; case /* authzed.api.v1.Relationship relationship */ 2: message.relationship = Relationship.internalBinaryRead(reader, reader.uint32(), options, message.relationship); break; case /* authzed.api.v1.Cursor after_result_cursor */ 3: message.afterResultCursor = Cursor.internalBinaryRead(reader, reader.uint32(), options, message.afterResultCursor); break; default: let u = options.readUnknownField; if (u === "throw") throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); let d = reader.skip(wireType); if (u !== false) (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); } } return message; } internalBinaryWrite(message, writer, options) { /* authzed.api.v1.ZedToken read_at = 1; */ if (message.readAt) ZedToken.internalBinaryWrite(message.readAt, writer.tag(1, WireType.LengthDelimited).fork(), options).join(); /* authzed.api.v1.Relationship relationship = 2; */ if (message.relationship) Relationship.internalBinaryWrite(message.relationship, writer.tag(2, WireType.LengthDelimited).fork(), options).join(); /* authzed.api.v1.Cursor after_result_cursor = 3; */ if (message.afterResultCursor) Cursor.internalBinaryWrite(message.afterResultCursor, writer.tag(3, WireType.LengthDelimited).fork(), options).join(); let u = options.writeUnknownFields; if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); return writer; } } /** * @generated MessageType for protobuf message authzed.api.v1.ReadRelationshipsResponse */ export const ReadRelationshipsResponse = new ReadRelationshipsResponse$Type(); // @generated message type with reflection information, may provide speed optimized methods class Precondition$Type extends MessageType { constructor() { super("authzed.api.v1.Precondition", [ { no: 1, name: "operation", kind: "enum", T: () => ["authzed.api.v1.Precondition.Operation", Precondition_Operation, "OPERATION_"], options: { "buf.validate.field": { enum: { definedOnly: true, notIn: [0] } }, "validate.rules": { enum: { definedOnly: true, notIn: [0] } } } }, { no: 2, name: "filter", kind: "message", T: () => RelationshipFilter, options: { "buf.validate.field": { required: true }, "validate.rules": { message: { required: true } } } } ]); } create(value) { const message = { operation: 0 }; globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this }); if (value !== undefined) reflectionMergePartial(this, message, value); return message; } internalBinaryRead(reader, length, options, target) { let message = target ?? this.create(), end = reader.pos + length; while (reader.pos < end) { let [fieldNo, wireType] = reader.tag(); switch (fieldNo) { case /* authzed.api.v1.Precondition.Operation operation */ 1: message.operation = reader.int32(); break; case /* authzed.api.v1.RelationshipFilter filter */ 2: message.filter = RelationshipFilter.internalBinaryRead(reader, reader.uint32(), options, message.filter); break; default: let u = options.readUnknownField; if (u === "throw") throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); let d = reader.skip(wireType); if (u !== false) (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); } } return message; } internalBinaryWrite(message, writer, options) { /* authzed.api.v1.Precondition.Operation operation = 1; */ if (message.operation !== 0) writer.tag(1, WireType.Varint).int32(message.operation); /* authzed.api.v1.RelationshipFilter filter = 2; */ if (message.filter) RelationshipFilter.internalBinaryWrite(message.filter, writer.tag(2, WireType.LengthDelimited).fork(), options).join(); let u = options.writeUnknownFields; if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); return writer; } } /** * @generated MessageType for protobuf message authzed.api.v1.Precondition */ export const Precondition = new Precondition$Type(); // @generated message type with reflection information, may provide speed optimized methods class WriteRelationshipsRequest$Type extends MessageType { constructor() { super("authzed.api.v1.WriteRelationshipsRequest", [ { no: 1, name: "updates", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => RelationshipUpdate, options: { "buf.validate.field": { repeated: { items: { required: true } } }, "validate.rules": { repeated: { items: { message: { required: true } } } } } }, { no: 2, name: "optional_preconditions", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => Precondition, options: { "buf.validate.field": { repeated: { items: { required: true } } }, "validate.rules": { repeated: { items: { message: { required: true } } } } } }, { no: 3, name: "optional_transaction_metadata", kind: "message", T: () => Struct, options: { "buf.validate.field": { required: false }, "validate.rules": { message: { required: false } } } } ]); } create(value) { const message = { updates: [], optionalPreconditions: [] }; globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this }); if (value !== undefined) reflectionMergePartial(this, message, value); return message; } internalBinaryRead(reader, length, options, target) { let message = target ?? this.create(), end = reader.pos + length; while (reader.pos < end) { let [fieldNo, wireType] = reader.tag(); switch (fieldNo) { case /* repeated authzed.api.v1.RelationshipUpdate updates */ 1: message.updates.push(RelationshipUpdate.internalBinaryRead(reader, reader.uint32(), options)); break; case /* repeated authzed.api.v1.Precondition optional_preconditions */ 2: message.optionalPreconditions.push(Precondition.internalBinaryRead(reader, reader.uint32(), options)); break; case /* google.protobuf.Struct optional_transaction_metadata */ 3: message.optionalTransactionMetadata = Struct.internalBinaryRead(reader, reader.uint32(), options, message.optionalTransactionMetadata); break; default: let u = options.readUnknownField; if (u === "throw") throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); let d = reader.skip(wireType); if (u !== false) (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); } } return message; } internalBinaryWrite(message, writer, options) { /* repeated authzed.api.v1.RelationshipUpdate updates = 1; */ for (let i = 0; i < message.updates.length; i++) RelationshipUpdate.internalBinaryWrite(message.updates[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join(); /* repeated authzed.api.v1.Precondition optional_preconditions = 2; */ for (let i = 0; i < message.optionalPreconditions.length; i++) Precondition.internalBinaryWrite(message.optionalPreconditions[i], writer.tag(2, WireType.LengthDelimited).fork(), options).join(); /* google.protobuf.Struct optional_transaction_metadata = 3; */ if (message.optionalTransactionMetadata) Struct.internalBinaryWrite(message.optionalTransactionMetadata, writer.tag(3, WireType.LengthDelimited).fork(), options).join(); let u = options.writeUnknownFields; if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); return writer; } } /** * @generated MessageType for protobuf message authzed.api.v1.WriteRelationshipsRequest */ export const WriteRelationshipsRequest = new WriteRelationshipsRequest$Type(); // @generated message type with reflection information, may provide speed optimized methods class WriteRelationshipsResponse$Type extends MessageType { constructor() { super("authzed.api.v1.WriteRelationshipsResponse", [ { no: 1, name: "written_at", kind: "message", T: () => ZedToken } ]); } create(value) { const message = {}; globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this }); if (value !== undefined) reflectionMergePartial(this, message, value); return message; } internalBinaryRead(reader, length, options, target) { let message = target ?? this.create(), end = reader.pos + length; while (reader.pos < end) { let [fieldNo, wireType] = reader.tag(); switch (fieldNo) { case /* authzed.api.v1.ZedToken written_at */ 1: message.writtenAt = ZedToken.internalBinaryRead(reader, reader.uint32(), options, message.writtenAt); break; default: let u = options.readUnknownField; if (u === "throw") throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); let d = reader.skip(wireType); if (u !== false) (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); } } return message; } internalBinaryWrite(message, writer, options) { /* authzed.api.v1.ZedToken written_at = 1; */ if (message.writtenAt) ZedToken.internalBinaryWrite(message.writtenAt, writer.tag(1, WireType.LengthDelimited).fork(), options).join(); let u = options.writeUnknownFields; if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); return writer; } } /** * @generated MessageType for protobuf message authzed.api.v1.WriteRelationshipsResponse */ export const WriteRelationshipsResponse = new WriteRelationshipsResponse$Type(); // @generated message type with reflection information, may provide speed optimized methods class DeleteRelationshipsRequest$Type extends MessageType { constructor() { super("authzed.api.v1.DeleteRelationshipsRequest", [ { no: 1, name: "relationship_filter", kind: "message", T: () => RelationshipFilter, options: { "buf.validate.field": { required: true }, "validate.rules": { message: { required: true } } } }, { no: 2, name: "optional_preconditions", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => Precondition, options: { "buf.validate.field": { repeated: { items: { required: true } } }, "validate.rules": { repeated: { items: { message: { required: true } } } } } }, { no: 3, name: "optional_limit", kind: "scalar", T: 13 /*ScalarType.UINT32*/, options: { "buf.validate.field": { uint32: { gte: 0 } }, "validate.rules": { uint32: { gte: 0 } } } }, { no: 4, name: "optional_allow_partial_deletions", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }, { no: 5, name: "optional_transaction_metadata", kind: "message", T: () => Struct, options: { "buf.validate.field": { required: false }, "validate.rules": { message: { required: false } } } } ]); } create(value) { const message = { optionalPreconditions: [], optionalLimit: 0, optionalAllowPartialDeletions: false }; globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this }); if (value !== undefined) reflectionMergePartial(this, message, value); return message; } internalBinaryRead(reader, length, options, target) { let message = target ?? this.create(), end = reader.pos + length; while (reader.pos < end) { let [fieldNo, wireType] = reader.tag(); switch (fieldNo) { case /* authzed.api.v1.RelationshipFilter relationship_filter */ 1: message.relationshipFilter = RelationshipFilter.internalBinaryRead(reader, reader.uint32(), options, message.relationshipFilter); break; case /* repeated authzed.api.v1.Precondition optional_preconditions */ 2: message.optionalPreconditions.push(Precondition.internalBinaryRead(reader, reader.uint32(), options)); break; case /* uint32 optional_limit */ 3: message.optionalLimit = reader.uint32(); break; case /* bool optional_allow_partial_deletions */ 4: message.optionalAllowPartialDeletions = reader.bool(); break; case /* google.protobuf.Struct optional_transaction_metadata */ 5: message.optionalTransactionMetadata = Struct.internalBinaryRead(reader, reader.uint32(), options, message.optionalTransactionMetadata); break; default: let u = options.readUnknownField; if (u === "throw") throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); let d = reader.skip(wireType); if (u !== false) (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); } } return message; } internalBinaryWrite(message, writer, options) { /* authzed.api.v1.RelationshipFilter relationship_filter = 1; */ if (message.relationshipFilter) RelationshipFilter.internalBinaryWrite(message.relationshipFilter, writer.tag(1, WireType.LengthDelimited).fork(), options).join(); /* repeated authzed.api.v1.Precondition optional_preconditions = 2; */ for (let i = 0; i < message.optionalPreconditions.length; i++) Precondition.internalBinaryWrite(message.optionalPreconditions[i], writer.tag(2, WireType.LengthDelimited).fork(), options).join(); /* uint32 optional_limit = 3; */ if (message.optionalLimit !== 0) writer.tag(3, WireType.Varint).uint32(message.optionalLimit); /* bool optional_allow_partial_deletions = 4; */ if (message.optionalAllowPartialDeletions !== false) writer.tag(4, WireType.Varint).bool(message.optionalAllowPartialDeletions); /* google.protobuf.Struct optional_transaction_metadata = 5; */ if (message.optionalTransactionMetadata) Struct.internalBinaryWrite(message.optionalTransactionMetadata, writer.tag(5, WireType.LengthDelimited).fork(), options).join(); let u = options.writeUnknownFields; if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); return writer; } } /** * @generated MessageType for protobuf message authzed.api.v1.DeleteRelationshipsRequest */ export const DeleteRelationshipsRequest = new DeleteRelationshipsRequest$Type(); // @generated message type with reflection information, may provide speed optimized methods class DeleteRelationshipsResponse$Type extends MessageType { constructor() { super("authzed.api.v1.DeleteRelationshipsResponse", [ { no: 1, name: "deleted_at", kind: "message", T: () => ZedToken }, { no: 2, name: "deletion_progress", kind: "enum", T: () => ["authzed.api.v1.DeleteRelationshipsResponse.DeletionProgress", DeleteRelationshipsResponse_DeletionProgress, "DELETION_PROGRESS_"] }, { no: 3, name: "relationships_deleted_count", kind: "scalar", T: 4 /*ScalarType.UINT64*/ } ]); } create(value) { const message = { deletionProgress: 0, relationshipsDeletedCount: "0" }; globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this }); if (value !== undefined) reflectionMergePartial(this, message, value); return message; } internalBinaryRead(reader, length, options, target) { let message = target ?? this.create(), end = reader.pos + length; while (reader.pos < end) { let [fieldNo, wireType] = reader.tag(); switch (fieldNo) { case /* authzed.api.v1.ZedToken deleted_at */ 1: message.deletedAt = ZedToken.internalBinaryRead(reader, reader.uint32(), options, message.deletedAt); break; case /* authzed.api.v1.DeleteRelationshipsResponse.DeletionProgress deletion_progress */ 2: message.deletionProgress = reader.int32(); break; case /* uint64 relationships_deleted_count */ 3: message.relationshipsDeletedCount = reader.uint64().toString(); break; default: let u = options.readUnknownField; if (u === "throw") throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); let d = reader.skip(wireType); if (u !== false) (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); } } return message; } internalBinaryWrite(message, writer, options) { /* authzed.api.v1.ZedToken deleted_at = 1; */ if (message.deletedAt) ZedToken.internalBinaryWrite(message.deletedAt, writer.tag(1, WireType.LengthDelimited).fork(), options).join(); /* authzed.api.v1.DeleteRelationshipsResponse.DeletionProgress deletion_progress = 2; */ if (message.deletionProgress !== 0) writer.tag(2, WireType.Varint).int32(message.deletionProgress); /* uint64 relationships_deleted_count = 3; */ if (message.relationshipsDeletedCount !== "0") writer.tag(3, WireType.Varint).uint64(message.relationshipsDeletedCount); let u = options.writeUnknownFields; if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); return writer; } } /** * @generated MessageType for protobuf message authzed.api.v1.DeleteRelationshipsResponse */ export const DeleteRelationshipsResponse = new DeleteRelationshipsResponse$Type(); // @generated message type with reflection information, may provide speed optimized methods class CheckPermissionRequest$Type extends MessageType { constructor() { super("authzed.api.v1.CheckPermissionRequest", [ { no: 1, name: "consistency", kind: "message", T: () => Consistency }, { no: 2, name: "resource", kind: "message", T: () => ObjectReference, options: { "buf.validate.field": { required: true }, "validate.rules": { message: { required: true } } } }, { no: 3, name: "permission", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxBytes: "64", pattern: "^([a-z][a-z0-9_]{1,62}[a-z0-9])?$" } }, "validate.rules": { string: { maxBytes: "64", pattern: "^([a-z][a-z0-9_]{1,62}[a-z0-9])?$" } } } }, { no: 4, name: "subject", kind: "message", T: () => SubjectReference, options: { "buf.validate.field": { required: true }, "validate.rules": { message: { required: true } } } }, { no: 5, name: "context", kind: "message", T: () => Struct, options: { "buf.validate.field": { required: false }, "validate.rules": { message: { required: false } } } }, { no: 6, name: "with_tracing", kind: "scalar", T: 8 /*ScalarType.BOOL*/ } ]); } create(value) { const message = { permission: "", withTracing: false }; globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this }); if (value !== undefined) reflectionMergePartial(this, message, value); return message; } internalBinaryRead(reader, length, options, target) { let message = target ?? this.create(), end = reader.pos + length; while (reader.pos < end) { let [fieldNo, wireType] = reader.tag(); switch (fieldNo) { case /* authzed.api.v1.Consistency consistency */ 1: message.consistency = Consistency.internalBinaryRead(reader, reader.uint32(), options, message.consistency); break; case /* authzed.api.v1.ObjectReference resource */ 2: message.resource = ObjectReference.internalBinaryRead(reader, reader.uint32(), options, message.resource); break; case /* string permission */ 3: message.permission = reader.string(); break; case /* authzed.api.v1.SubjectReference subject */ 4: message.subject = SubjectReference.internalBinaryRead(reader, reader.uint32(), options, message.subject); break; case /* google.protobuf.Struct context */ 5: message.context = Struct.internalBinaryRead(reader, reader.uint32(), options, message.context); break; case /* bool with_tracing */ 6: message.withTracing = reader.bool(); break; default: let u = options.readUnknownField; if (u === "throw") throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); let d = reader.s