From e7abf3a6aaf039e5ce528fbeb468dc30d011b94c Mon Sep 17 00:00:00 2001 From: Will Vedder Date: Thu, 20 Jun 2024 14:24:22 -0400 Subject: [PATCH] Regenerating types after removing userOrUserset --- proto/openfga/v1/openfga.pb.go | 752 ++++++++++-------------- proto/openfga/v1/openfga.pb.validate.go | 187 ------ 2 files changed, 322 insertions(+), 617 deletions(-) diff --git a/proto/openfga/v1/openfga.pb.go b/proto/openfga/v1/openfga.pb.go index c0ff0e11..2f636756 100644 --- a/proto/openfga/v1/openfga.pb.go +++ b/proto/openfga/v1/openfga.pb.go @@ -235,87 +235,6 @@ func (*User_Userset) isUser_User() {} func (*User_Wildcard) isUser_User() {} -type ObjectOrUserset struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to User: - // - // *ObjectOrUserset_Object - // *ObjectOrUserset_Userset - User isObjectOrUserset_User `protobuf_oneof:"user"` -} - -func (x *ObjectOrUserset) Reset() { - *x = ObjectOrUserset{} - if protoimpl.UnsafeEnabled { - mi := &file_openfga_v1_openfga_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ObjectOrUserset) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ObjectOrUserset) ProtoMessage() {} - -func (x *ObjectOrUserset) ProtoReflect() protoreflect.Message { - mi := &file_openfga_v1_openfga_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ObjectOrUserset.ProtoReflect.Descriptor instead. -func (*ObjectOrUserset) Descriptor() ([]byte, []int) { - return file_openfga_v1_openfga_proto_rawDescGZIP(), []int{2} -} - -func (m *ObjectOrUserset) GetUser() isObjectOrUserset_User { - if m != nil { - return m.User - } - return nil -} - -func (x *ObjectOrUserset) GetObject() *Object { - if x, ok := x.GetUser().(*ObjectOrUserset_Object); ok { - return x.Object - } - return nil -} - -func (x *ObjectOrUserset) GetUserset() *UsersetUser { - if x, ok := x.GetUser().(*ObjectOrUserset_Userset); ok { - return x.Userset - } - return nil -} - -type isObjectOrUserset_User interface { - isObjectOrUserset_User() -} - -type ObjectOrUserset_Object struct { - Object *Object `protobuf:"bytes,1,opt,name=object,proto3,oneof"` -} - -type ObjectOrUserset_Userset struct { - Userset *UsersetUser `protobuf:"bytes,2,opt,name=userset,proto3,oneof"` -} - -func (*ObjectOrUserset_Object) isObjectOrUserset_User() {} - -func (*ObjectOrUserset_Userset) isObjectOrUserset_User() {} - // Userset. // // A set or group of users, represented in the `:#` format @@ -336,7 +255,7 @@ type UsersetUser struct { func (x *UsersetUser) Reset() { *x = UsersetUser{} if protoimpl.UnsafeEnabled { - mi := &file_openfga_v1_openfga_proto_msgTypes[3] + mi := &file_openfga_v1_openfga_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -349,7 +268,7 @@ func (x *UsersetUser) String() string { func (*UsersetUser) ProtoMessage() {} func (x *UsersetUser) ProtoReflect() protoreflect.Message { - mi := &file_openfga_v1_openfga_proto_msgTypes[3] + mi := &file_openfga_v1_openfga_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -362,7 +281,7 @@ func (x *UsersetUser) ProtoReflect() protoreflect.Message { // Deprecated: Use UsersetUser.ProtoReflect.Descriptor instead. func (*UsersetUser) Descriptor() ([]byte, []int) { - return file_openfga_v1_openfga_proto_rawDescGZIP(), []int{3} + return file_openfga_v1_openfga_proto_rawDescGZIP(), []int{2} } func (x *UsersetUser) GetType() string { @@ -402,7 +321,7 @@ type RelationshipCondition struct { func (x *RelationshipCondition) Reset() { *x = RelationshipCondition{} if protoimpl.UnsafeEnabled { - mi := &file_openfga_v1_openfga_proto_msgTypes[4] + mi := &file_openfga_v1_openfga_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -415,7 +334,7 @@ func (x *RelationshipCondition) String() string { func (*RelationshipCondition) ProtoMessage() {} func (x *RelationshipCondition) ProtoReflect() protoreflect.Message { - mi := &file_openfga_v1_openfga_proto_msgTypes[4] + mi := &file_openfga_v1_openfga_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -428,7 +347,7 @@ func (x *RelationshipCondition) ProtoReflect() protoreflect.Message { // Deprecated: Use RelationshipCondition.ProtoReflect.Descriptor instead. func (*RelationshipCondition) Descriptor() ([]byte, []int) { - return file_openfga_v1_openfga_proto_rawDescGZIP(), []int{4} + return file_openfga_v1_openfga_proto_rawDescGZIP(), []int{3} } func (x *RelationshipCondition) GetName() string { @@ -458,7 +377,7 @@ type TupleKeyWithoutCondition struct { func (x *TupleKeyWithoutCondition) Reset() { *x = TupleKeyWithoutCondition{} if protoimpl.UnsafeEnabled { - mi := &file_openfga_v1_openfga_proto_msgTypes[5] + mi := &file_openfga_v1_openfga_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -471,7 +390,7 @@ func (x *TupleKeyWithoutCondition) String() string { func (*TupleKeyWithoutCondition) ProtoMessage() {} func (x *TupleKeyWithoutCondition) ProtoReflect() protoreflect.Message { - mi := &file_openfga_v1_openfga_proto_msgTypes[5] + mi := &file_openfga_v1_openfga_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -484,7 +403,7 @@ func (x *TupleKeyWithoutCondition) ProtoReflect() protoreflect.Message { // Deprecated: Use TupleKeyWithoutCondition.ProtoReflect.Descriptor instead. func (*TupleKeyWithoutCondition) Descriptor() ([]byte, []int) { - return file_openfga_v1_openfga_proto_rawDescGZIP(), []int{5} + return file_openfga_v1_openfga_proto_rawDescGZIP(), []int{4} } func (x *TupleKeyWithoutCondition) GetUser() string { @@ -526,7 +445,7 @@ type TypedWildcard struct { func (x *TypedWildcard) Reset() { *x = TypedWildcard{} if protoimpl.UnsafeEnabled { - mi := &file_openfga_v1_openfga_proto_msgTypes[6] + mi := &file_openfga_v1_openfga_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -539,7 +458,7 @@ func (x *TypedWildcard) String() string { func (*TypedWildcard) ProtoMessage() {} func (x *TypedWildcard) ProtoReflect() protoreflect.Message { - mi := &file_openfga_v1_openfga_proto_msgTypes[6] + mi := &file_openfga_v1_openfga_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -552,7 +471,7 @@ func (x *TypedWildcard) ProtoReflect() protoreflect.Message { // Deprecated: Use TypedWildcard.ProtoReflect.Descriptor instead. func (*TypedWildcard) Descriptor() ([]byte, []int) { - return file_openfga_v1_openfga_proto_rawDescGZIP(), []int{6} + return file_openfga_v1_openfga_proto_rawDescGZIP(), []int{5} } func (x *TypedWildcard) GetType() string { @@ -576,7 +495,7 @@ type TupleKey struct { func (x *TupleKey) Reset() { *x = TupleKey{} if protoimpl.UnsafeEnabled { - mi := &file_openfga_v1_openfga_proto_msgTypes[7] + mi := &file_openfga_v1_openfga_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -589,7 +508,7 @@ func (x *TupleKey) String() string { func (*TupleKey) ProtoMessage() {} func (x *TupleKey) ProtoReflect() protoreflect.Message { - mi := &file_openfga_v1_openfga_proto_msgTypes[7] + mi := &file_openfga_v1_openfga_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -602,7 +521,7 @@ func (x *TupleKey) ProtoReflect() protoreflect.Message { // Deprecated: Use TupleKey.ProtoReflect.Descriptor instead. func (*TupleKey) Descriptor() ([]byte, []int) { - return file_openfga_v1_openfga_proto_rawDescGZIP(), []int{7} + return file_openfga_v1_openfga_proto_rawDescGZIP(), []int{6} } func (x *TupleKey) GetUser() string { @@ -645,7 +564,7 @@ type Tuple struct { func (x *Tuple) Reset() { *x = Tuple{} if protoimpl.UnsafeEnabled { - mi := &file_openfga_v1_openfga_proto_msgTypes[8] + mi := &file_openfga_v1_openfga_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -658,7 +577,7 @@ func (x *Tuple) String() string { func (*Tuple) ProtoMessage() {} func (x *Tuple) ProtoReflect() protoreflect.Message { - mi := &file_openfga_v1_openfga_proto_msgTypes[8] + mi := &file_openfga_v1_openfga_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -671,7 +590,7 @@ func (x *Tuple) ProtoReflect() protoreflect.Message { // Deprecated: Use Tuple.ProtoReflect.Descriptor instead. func (*Tuple) Descriptor() ([]byte, []int) { - return file_openfga_v1_openfga_proto_rawDescGZIP(), []int{8} + return file_openfga_v1_openfga_proto_rawDescGZIP(), []int{7} } func (x *Tuple) GetKey() *TupleKey { @@ -699,7 +618,7 @@ type TupleKeys struct { func (x *TupleKeys) Reset() { *x = TupleKeys{} if protoimpl.UnsafeEnabled { - mi := &file_openfga_v1_openfga_proto_msgTypes[9] + mi := &file_openfga_v1_openfga_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -712,7 +631,7 @@ func (x *TupleKeys) String() string { func (*TupleKeys) ProtoMessage() {} func (x *TupleKeys) ProtoReflect() protoreflect.Message { - mi := &file_openfga_v1_openfga_proto_msgTypes[9] + mi := &file_openfga_v1_openfga_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -725,7 +644,7 @@ func (x *TupleKeys) ProtoReflect() protoreflect.Message { // Deprecated: Use TupleKeys.ProtoReflect.Descriptor instead. func (*TupleKeys) Descriptor() ([]byte, []int) { - return file_openfga_v1_openfga_proto_rawDescGZIP(), []int{9} + return file_openfga_v1_openfga_proto_rawDescGZIP(), []int{8} } func (x *TupleKeys) GetTupleKeys() []*TupleKey { @@ -746,7 +665,7 @@ type ContextualTupleKeys struct { func (x *ContextualTupleKeys) Reset() { *x = ContextualTupleKeys{} if protoimpl.UnsafeEnabled { - mi := &file_openfga_v1_openfga_proto_msgTypes[10] + mi := &file_openfga_v1_openfga_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -759,7 +678,7 @@ func (x *ContextualTupleKeys) String() string { func (*ContextualTupleKeys) ProtoMessage() {} func (x *ContextualTupleKeys) ProtoReflect() protoreflect.Message { - mi := &file_openfga_v1_openfga_proto_msgTypes[10] + mi := &file_openfga_v1_openfga_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -772,7 +691,7 @@ func (x *ContextualTupleKeys) ProtoReflect() protoreflect.Message { // Deprecated: Use ContextualTupleKeys.ProtoReflect.Descriptor instead. func (*ContextualTupleKeys) Descriptor() ([]byte, []int) { - return file_openfga_v1_openfga_proto_rawDescGZIP(), []int{10} + return file_openfga_v1_openfga_proto_rawDescGZIP(), []int{9} } func (x *ContextualTupleKeys) GetTupleKeys() []*TupleKey { @@ -794,7 +713,7 @@ type UsersetTree struct { func (x *UsersetTree) Reset() { *x = UsersetTree{} if protoimpl.UnsafeEnabled { - mi := &file_openfga_v1_openfga_proto_msgTypes[11] + mi := &file_openfga_v1_openfga_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -807,7 +726,7 @@ func (x *UsersetTree) String() string { func (*UsersetTree) ProtoMessage() {} func (x *UsersetTree) ProtoReflect() protoreflect.Message { - mi := &file_openfga_v1_openfga_proto_msgTypes[11] + mi := &file_openfga_v1_openfga_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -820,7 +739,7 @@ func (x *UsersetTree) ProtoReflect() protoreflect.Message { // Deprecated: Use UsersetTree.ProtoReflect.Descriptor instead. func (*UsersetTree) Descriptor() ([]byte, []int) { - return file_openfga_v1_openfga_proto_rawDescGZIP(), []int{11} + return file_openfga_v1_openfga_proto_rawDescGZIP(), []int{10} } func (x *UsersetTree) GetRoot() *UsersetTree_Node { @@ -843,7 +762,7 @@ type TupleChange struct { func (x *TupleChange) Reset() { *x = TupleChange{} if protoimpl.UnsafeEnabled { - mi := &file_openfga_v1_openfga_proto_msgTypes[12] + mi := &file_openfga_v1_openfga_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -856,7 +775,7 @@ func (x *TupleChange) String() string { func (*TupleChange) ProtoMessage() {} func (x *TupleChange) ProtoReflect() protoreflect.Message { - mi := &file_openfga_v1_openfga_proto_msgTypes[12] + mi := &file_openfga_v1_openfga_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -869,7 +788,7 @@ func (x *TupleChange) ProtoReflect() protoreflect.Message { // Deprecated: Use TupleChange.ProtoReflect.Descriptor instead. func (*TupleChange) Descriptor() ([]byte, []int) { - return file_openfga_v1_openfga_proto_rawDescGZIP(), []int{12} + return file_openfga_v1_openfga_proto_rawDescGZIP(), []int{11} } func (x *TupleChange) GetTupleKey() *TupleKey { @@ -908,7 +827,7 @@ type Store struct { func (x *Store) Reset() { *x = Store{} if protoimpl.UnsafeEnabled { - mi := &file_openfga_v1_openfga_proto_msgTypes[13] + mi := &file_openfga_v1_openfga_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -921,7 +840,7 @@ func (x *Store) String() string { func (*Store) ProtoMessage() {} func (x *Store) ProtoReflect() protoreflect.Message { - mi := &file_openfga_v1_openfga_proto_msgTypes[13] + mi := &file_openfga_v1_openfga_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -934,7 +853,7 @@ func (x *Store) ProtoReflect() protoreflect.Message { // Deprecated: Use Store.ProtoReflect.Descriptor instead. func (*Store) Descriptor() ([]byte, []int) { - return file_openfga_v1_openfga_proto_rawDescGZIP(), []int{13} + return file_openfga_v1_openfga_proto_rawDescGZIP(), []int{12} } func (x *Store) GetId() string { @@ -984,7 +903,7 @@ type UserTypeFilter struct { func (x *UserTypeFilter) Reset() { *x = UserTypeFilter{} if protoimpl.UnsafeEnabled { - mi := &file_openfga_v1_openfga_proto_msgTypes[14] + mi := &file_openfga_v1_openfga_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -997,7 +916,7 @@ func (x *UserTypeFilter) String() string { func (*UserTypeFilter) ProtoMessage() {} func (x *UserTypeFilter) ProtoReflect() protoreflect.Message { - mi := &file_openfga_v1_openfga_proto_msgTypes[14] + mi := &file_openfga_v1_openfga_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1010,7 +929,7 @@ func (x *UserTypeFilter) ProtoReflect() protoreflect.Message { // Deprecated: Use UserTypeFilter.ProtoReflect.Descriptor instead. func (*UserTypeFilter) Descriptor() ([]byte, []int) { - return file_openfga_v1_openfga_proto_rawDescGZIP(), []int{14} + return file_openfga_v1_openfga_proto_rawDescGZIP(), []int{13} } func (x *UserTypeFilter) GetType() string { @@ -1050,7 +969,7 @@ type UsersetTree_Leaf struct { func (x *UsersetTree_Leaf) Reset() { *x = UsersetTree_Leaf{} if protoimpl.UnsafeEnabled { - mi := &file_openfga_v1_openfga_proto_msgTypes[15] + mi := &file_openfga_v1_openfga_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1063,7 +982,7 @@ func (x *UsersetTree_Leaf) String() string { func (*UsersetTree_Leaf) ProtoMessage() {} func (x *UsersetTree_Leaf) ProtoReflect() protoreflect.Message { - mi := &file_openfga_v1_openfga_proto_msgTypes[15] + mi := &file_openfga_v1_openfga_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1076,7 +995,7 @@ func (x *UsersetTree_Leaf) ProtoReflect() protoreflect.Message { // Deprecated: Use UsersetTree_Leaf.ProtoReflect.Descriptor instead. func (*UsersetTree_Leaf) Descriptor() ([]byte, []int) { - return file_openfga_v1_openfga_proto_rawDescGZIP(), []int{11, 0} + return file_openfga_v1_openfga_proto_rawDescGZIP(), []int{10, 0} } func (m *UsersetTree_Leaf) GetValue() isUsersetTree_Leaf_Value { @@ -1140,7 +1059,7 @@ type UsersetTree_Nodes struct { func (x *UsersetTree_Nodes) Reset() { *x = UsersetTree_Nodes{} if protoimpl.UnsafeEnabled { - mi := &file_openfga_v1_openfga_proto_msgTypes[16] + mi := &file_openfga_v1_openfga_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1153,7 +1072,7 @@ func (x *UsersetTree_Nodes) String() string { func (*UsersetTree_Nodes) ProtoMessage() {} func (x *UsersetTree_Nodes) ProtoReflect() protoreflect.Message { - mi := &file_openfga_v1_openfga_proto_msgTypes[16] + mi := &file_openfga_v1_openfga_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1166,7 +1085,7 @@ func (x *UsersetTree_Nodes) ProtoReflect() protoreflect.Message { // Deprecated: Use UsersetTree_Nodes.ProtoReflect.Descriptor instead. func (*UsersetTree_Nodes) Descriptor() ([]byte, []int) { - return file_openfga_v1_openfga_proto_rawDescGZIP(), []int{11, 1} + return file_openfga_v1_openfga_proto_rawDescGZIP(), []int{10, 1} } func (x *UsersetTree_Nodes) GetNodes() []*UsersetTree_Node { @@ -1187,7 +1106,7 @@ type UsersetTree_Users struct { func (x *UsersetTree_Users) Reset() { *x = UsersetTree_Users{} if protoimpl.UnsafeEnabled { - mi := &file_openfga_v1_openfga_proto_msgTypes[17] + mi := &file_openfga_v1_openfga_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1200,7 +1119,7 @@ func (x *UsersetTree_Users) String() string { func (*UsersetTree_Users) ProtoMessage() {} func (x *UsersetTree_Users) ProtoReflect() protoreflect.Message { - mi := &file_openfga_v1_openfga_proto_msgTypes[17] + mi := &file_openfga_v1_openfga_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1213,7 +1132,7 @@ func (x *UsersetTree_Users) ProtoReflect() protoreflect.Message { // Deprecated: Use UsersetTree_Users.ProtoReflect.Descriptor instead. func (*UsersetTree_Users) Descriptor() ([]byte, []int) { - return file_openfga_v1_openfga_proto_rawDescGZIP(), []int{11, 2} + return file_openfga_v1_openfga_proto_rawDescGZIP(), []int{10, 2} } func (x *UsersetTree_Users) GetUsers() []string { @@ -1234,7 +1153,7 @@ type UsersetTree_Computed struct { func (x *UsersetTree_Computed) Reset() { *x = UsersetTree_Computed{} if protoimpl.UnsafeEnabled { - mi := &file_openfga_v1_openfga_proto_msgTypes[18] + mi := &file_openfga_v1_openfga_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1247,7 +1166,7 @@ func (x *UsersetTree_Computed) String() string { func (*UsersetTree_Computed) ProtoMessage() {} func (x *UsersetTree_Computed) ProtoReflect() protoreflect.Message { - mi := &file_openfga_v1_openfga_proto_msgTypes[18] + mi := &file_openfga_v1_openfga_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1260,7 +1179,7 @@ func (x *UsersetTree_Computed) ProtoReflect() protoreflect.Message { // Deprecated: Use UsersetTree_Computed.ProtoReflect.Descriptor instead. func (*UsersetTree_Computed) Descriptor() ([]byte, []int) { - return file_openfga_v1_openfga_proto_rawDescGZIP(), []int{11, 3} + return file_openfga_v1_openfga_proto_rawDescGZIP(), []int{10, 3} } func (x *UsersetTree_Computed) GetUserset() string { @@ -1282,7 +1201,7 @@ type UsersetTree_TupleToUserset struct { func (x *UsersetTree_TupleToUserset) Reset() { *x = UsersetTree_TupleToUserset{} if protoimpl.UnsafeEnabled { - mi := &file_openfga_v1_openfga_proto_msgTypes[19] + mi := &file_openfga_v1_openfga_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1295,7 +1214,7 @@ func (x *UsersetTree_TupleToUserset) String() string { func (*UsersetTree_TupleToUserset) ProtoMessage() {} func (x *UsersetTree_TupleToUserset) ProtoReflect() protoreflect.Message { - mi := &file_openfga_v1_openfga_proto_msgTypes[19] + mi := &file_openfga_v1_openfga_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1308,7 +1227,7 @@ func (x *UsersetTree_TupleToUserset) ProtoReflect() protoreflect.Message { // Deprecated: Use UsersetTree_TupleToUserset.ProtoReflect.Descriptor instead. func (*UsersetTree_TupleToUserset) Descriptor() ([]byte, []int) { - return file_openfga_v1_openfga_proto_rawDescGZIP(), []int{11, 4} + return file_openfga_v1_openfga_proto_rawDescGZIP(), []int{10, 4} } func (x *UsersetTree_TupleToUserset) GetTupleset() string { @@ -1337,7 +1256,7 @@ type UsersetTree_Difference struct { func (x *UsersetTree_Difference) Reset() { *x = UsersetTree_Difference{} if protoimpl.UnsafeEnabled { - mi := &file_openfga_v1_openfga_proto_msgTypes[20] + mi := &file_openfga_v1_openfga_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1350,7 +1269,7 @@ func (x *UsersetTree_Difference) String() string { func (*UsersetTree_Difference) ProtoMessage() {} func (x *UsersetTree_Difference) ProtoReflect() protoreflect.Message { - mi := &file_openfga_v1_openfga_proto_msgTypes[20] + mi := &file_openfga_v1_openfga_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1363,7 +1282,7 @@ func (x *UsersetTree_Difference) ProtoReflect() protoreflect.Message { // Deprecated: Use UsersetTree_Difference.ProtoReflect.Descriptor instead. func (*UsersetTree_Difference) Descriptor() ([]byte, []int) { - return file_openfga_v1_openfga_proto_rawDescGZIP(), []int{11, 5} + return file_openfga_v1_openfga_proto_rawDescGZIP(), []int{10, 5} } func (x *UsersetTree_Difference) GetBase() *UsersetTree_Node { @@ -1398,7 +1317,7 @@ type UsersetTree_Node struct { func (x *UsersetTree_Node) Reset() { *x = UsersetTree_Node{} if protoimpl.UnsafeEnabled { - mi := &file_openfga_v1_openfga_proto_msgTypes[21] + mi := &file_openfga_v1_openfga_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1411,7 +1330,7 @@ func (x *UsersetTree_Node) String() string { func (*UsersetTree_Node) ProtoMessage() {} func (x *UsersetTree_Node) ProtoReflect() protoreflect.Message { - mi := &file_openfga_v1_openfga_proto_msgTypes[21] + mi := &file_openfga_v1_openfga_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1424,7 +1343,7 @@ func (x *UsersetTree_Node) ProtoReflect() protoreflect.Message { // Deprecated: Use UsersetTree_Node.ProtoReflect.Descriptor instead. func (*UsersetTree_Node) Descriptor() ([]byte, []int) { - return file_openfga_v1_openfga_proto_rawDescGZIP(), []int{11, 6} + return file_openfga_v1_openfga_proto_rawDescGZIP(), []int{10, 6} } func (x *UsersetTree_Node) GetName() string { @@ -1533,212 +1452,204 @@ var file_openfga_v1_openfga_proto_rawDesc = []byte{ 0x77, 0x69, 0x6c, 0x64, 0x63, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x66, 0x67, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x57, 0x69, 0x6c, 0x64, 0x63, 0x61, 0x72, 0x64, 0x48, 0x00, 0x52, 0x08, 0x77, 0x69, 0x6c, - 0x64, 0x63, 0x61, 0x72, 0x64, 0x42, 0x06, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, 0x7c, 0x0a, - 0x0f, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x72, 0x55, 0x73, 0x65, 0x72, 0x73, 0x65, 0x74, - 0x12, 0x2c, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x12, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x66, 0x67, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x33, - 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x17, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x66, 0x67, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, - 0x72, 0x73, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x48, 0x00, 0x52, 0x07, 0x75, 0x73, 0x65, 0x72, - 0x73, 0x65, 0x74, 0x42, 0x06, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, 0xc7, 0x01, 0x0a, 0x0b, - 0x55, 0x73, 0x65, 0x72, 0x73, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, 0x3e, 0x0a, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0x92, 0x41, 0x09, 0x4a, 0x07, - 0x22, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x22, 0xe0, 0x41, 0x02, 0xfa, 0x42, 0x18, 0x72, 0x16, 0x32, - 0x11, 0x5e, 0x5b, 0x5e, 0x3a, 0x23, 0x40, 0x5c, 0x73, 0x5d, 0x7b, 0x31, 0x2c, 0x32, 0x35, 0x34, - 0x7d, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x30, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x20, 0x92, 0x41, 0x07, 0x4a, 0x05, 0x22, 0x66, - 0x67, 0x61, 0x22, 0xe0, 0x41, 0x02, 0xfa, 0x42, 0x10, 0x72, 0x0e, 0x32, 0x09, 0x5b, 0x5e, 0x23, - 0x3a, 0x5c, 0x73, 0x5d, 0x2b, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x02, 0x69, 0x64, 0x12, 0x46, 0x0a, - 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x2a, 0x92, 0x41, 0x0a, 0x4a, 0x08, 0x22, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, 0xe0, 0x41, - 0x02, 0xfa, 0x42, 0x17, 0x72, 0x15, 0x32, 0x10, 0x5e, 0x5b, 0x5e, 0x3a, 0x23, 0x40, 0x5c, 0x73, - 0x5d, 0x7b, 0x31, 0x2c, 0x35, 0x30, 0x7d, 0x24, 0xd0, 0x01, 0x01, 0x52, 0x08, 0x72, 0x65, 0x6c, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8f, 0x01, 0x0a, 0x15, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x43, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2f, 0x92, - 0x41, 0x11, 0x4a, 0x0c, 0x22, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x22, - 0x78, 0x80, 0x02, 0xe0, 0x41, 0x02, 0xfa, 0x42, 0x15, 0x72, 0x13, 0x32, 0x0e, 0x5e, 0x5b, 0x5e, - 0x5c, 0x73, 0x5d, 0x7b, 0x32, 0x2c, 0x32, 0x35, 0x36, 0x7d, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x07, - 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0xeb, 0x01, 0x0a, 0x18, 0x54, 0x75, 0x70, 0x6c, - 0x65, 0x4b, 0x65, 0x79, 0x57, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x1e, 0x92, 0x41, 0x10, 0x4a, 0x0b, 0x22, 0x75, 0x73, 0x65, 0x72, 0x3a, 0x61, - 0x6e, 0x6e, 0x65, 0x22, 0x78, 0x80, 0x04, 0xe0, 0x41, 0x02, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x28, - 0x80, 0x04, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x48, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2c, 0x92, 0x41, 0x0c, 0x4a, - 0x08, 0x22, 0x72, 0x65, 0x61, 0x64, 0x65, 0x72, 0x22, 0x78, 0x32, 0xe0, 0x41, 0x02, 0xfa, 0x42, - 0x17, 0x72, 0x15, 0x32, 0x10, 0x5e, 0x5b, 0x5e, 0x3a, 0x23, 0x40, 0x5c, 0x73, 0x5d, 0x7b, 0x31, - 0x2c, 0x35, 0x30, 0x7d, 0x24, 0xd0, 0x01, 0x01, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x51, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x39, 0x92, 0x41, 0x1b, 0x4a, 0x16, 0x22, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, - 0x6e, 0x74, 0x3a, 0x32, 0x30, 0x32, 0x31, 0x2d, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x22, 0x78, - 0x80, 0x02, 0xe0, 0x41, 0x02, 0xfa, 0x42, 0x15, 0x72, 0x13, 0x32, 0x0e, 0x5e, 0x5b, 0x5e, 0x5c, - 0x73, 0x5d, 0x7b, 0x32, 0x2c, 0x32, 0x35, 0x36, 0x7d, 0x24, 0xd0, 0x01, 0x01, 0x52, 0x06, 0x6f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x52, 0x0a, 0x0d, 0x54, 0x79, 0x70, 0x65, 0x64, 0x57, 0x69, - 0x6c, 0x64, 0x63, 0x61, 0x72, 0x64, 0x12, 0x41, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0x92, 0x41, 0x0c, 0x4a, 0x0a, 0x22, 0x65, 0x6d, 0x70, 0x6c, - 0x6f, 0x79, 0x65, 0x65, 0x22, 0xe0, 0x41, 0x02, 0xfa, 0x42, 0x18, 0x72, 0x16, 0x32, 0x11, 0x5e, - 0x5b, 0x5e, 0x3a, 0x23, 0x40, 0x5c, 0x73, 0x5d, 0x7b, 0x31, 0x2c, 0x32, 0x35, 0x34, 0x7d, 0x24, - 0xd0, 0x01, 0x00, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x9f, 0x02, 0x0a, 0x08, 0x54, 0x75, - 0x70, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x35, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x21, 0x92, 0x41, 0x10, 0x4a, 0x0b, 0x22, 0x75, 0x73, 0x65, 0x72, - 0x3a, 0x61, 0x6e, 0x6e, 0x65, 0x22, 0x78, 0x80, 0x04, 0xe0, 0x41, 0x02, 0xfa, 0x42, 0x08, 0x72, - 0x06, 0x28, 0x80, 0x04, 0xd0, 0x01, 0x00, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x48, 0x0a, - 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x2c, 0x92, 0x41, 0x0c, 0x4a, 0x08, 0x22, 0x72, 0x65, 0x61, 0x64, 0x65, 0x72, 0x22, 0x78, 0x32, + 0x64, 0x63, 0x61, 0x72, 0x64, 0x42, 0x06, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, 0xc7, 0x01, + 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x72, 0x73, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, 0x3e, 0x0a, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0x92, 0x41, 0x09, + 0x4a, 0x07, 0x22, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x22, 0xe0, 0x41, 0x02, 0xfa, 0x42, 0x18, 0x72, + 0x16, 0x32, 0x11, 0x5e, 0x5b, 0x5e, 0x3a, 0x23, 0x40, 0x5c, 0x73, 0x5d, 0x7b, 0x31, 0x2c, 0x32, + 0x35, 0x34, 0x7d, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x30, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x20, 0x92, 0x41, 0x07, 0x4a, 0x05, + 0x22, 0x66, 0x67, 0x61, 0x22, 0xe0, 0x41, 0x02, 0xfa, 0x42, 0x10, 0x72, 0x0e, 0x32, 0x09, 0x5b, + 0x5e, 0x23, 0x3a, 0x5c, 0x73, 0x5d, 0x2b, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x46, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x2a, 0x92, 0x41, 0x0a, 0x4a, 0x08, 0x22, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, 0xe0, 0x41, 0x02, 0xfa, 0x42, 0x17, 0x72, 0x15, 0x32, 0x10, 0x5e, 0x5b, 0x5e, 0x3a, 0x23, 0x40, 0x5c, 0x73, 0x5d, 0x7b, 0x31, 0x2c, 0x35, 0x30, 0x7d, 0x24, 0xd0, 0x01, 0x01, 0x52, 0x08, 0x72, - 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x51, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x39, 0x92, 0x41, 0x1b, 0x4a, 0x16, 0x22, 0x64, - 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x3a, 0x32, 0x30, 0x32, 0x31, 0x2d, 0x62, 0x75, 0x64, - 0x67, 0x65, 0x74, 0x22, 0x78, 0x80, 0x02, 0xe0, 0x41, 0x02, 0xfa, 0x42, 0x15, 0x72, 0x13, 0x32, - 0x0e, 0x5e, 0x5b, 0x5e, 0x5c, 0x73, 0x5d, 0x7b, 0x32, 0x2c, 0x32, 0x35, 0x36, 0x7d, 0x24, 0xd0, - 0x01, 0x01, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3f, 0x0a, 0x09, 0x63, 0x6f, - 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, - 0x6f, 0x70, 0x65, 0x6e, 0x66, 0x67, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7b, 0x0a, 0x05, 0x54, - 0x75, 0x70, 0x6c, 0x65, 0x12, 0x33, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8f, 0x01, 0x0a, 0x15, 0x52, 0x65, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x43, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x2f, 0x92, 0x41, 0x11, 0x4a, 0x0c, 0x22, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x31, 0x22, 0x78, 0x80, 0x02, 0xe0, 0x41, 0x02, 0xfa, 0x42, 0x15, 0x72, 0x13, 0x32, 0x0e, 0x5e, + 0x5b, 0x5e, 0x5c, 0x73, 0x5d, 0x7b, 0x32, 0x2c, 0x32, 0x35, 0x36, 0x7d, 0x24, 0xd0, 0x01, 0x00, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0xeb, 0x01, 0x0a, 0x18, 0x54, 0x75, + 0x70, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x57, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x43, 0x6f, 0x6e, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x1e, 0x92, 0x41, 0x10, 0x4a, 0x0b, 0x22, 0x75, 0x73, 0x65, 0x72, + 0x3a, 0x61, 0x6e, 0x6e, 0x65, 0x22, 0x78, 0x80, 0x04, 0xe0, 0x41, 0x02, 0xfa, 0x42, 0x05, 0x72, + 0x03, 0x28, 0x80, 0x04, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x48, 0x0a, 0x08, 0x72, 0x65, + 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2c, 0x92, 0x41, + 0x0c, 0x4a, 0x08, 0x22, 0x72, 0x65, 0x61, 0x64, 0x65, 0x72, 0x22, 0x78, 0x32, 0xe0, 0x41, 0x02, + 0xfa, 0x42, 0x17, 0x72, 0x15, 0x32, 0x10, 0x5e, 0x5b, 0x5e, 0x3a, 0x23, 0x40, 0x5c, 0x73, 0x5d, + 0x7b, 0x31, 0x2c, 0x35, 0x30, 0x7d, 0x24, 0xd0, 0x01, 0x01, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x51, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x39, 0x92, 0x41, 0x1b, 0x4a, 0x16, 0x22, 0x64, 0x6f, 0x63, 0x75, + 0x6d, 0x65, 0x6e, 0x74, 0x3a, 0x32, 0x30, 0x32, 0x31, 0x2d, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, + 0x22, 0x78, 0x80, 0x02, 0xe0, 0x41, 0x02, 0xfa, 0x42, 0x15, 0x72, 0x13, 0x32, 0x0e, 0x5e, 0x5b, + 0x5e, 0x5c, 0x73, 0x5d, 0x7b, 0x32, 0x2c, 0x32, 0x35, 0x36, 0x7d, 0x24, 0xd0, 0x01, 0x01, 0x52, + 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x52, 0x0a, 0x0d, 0x54, 0x79, 0x70, 0x65, 0x64, + 0x57, 0x69, 0x6c, 0x64, 0x63, 0x61, 0x72, 0x64, 0x12, 0x41, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0x92, 0x41, 0x0c, 0x4a, 0x0a, 0x22, 0x65, 0x6d, + 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x22, 0xe0, 0x41, 0x02, 0xfa, 0x42, 0x18, 0x72, 0x16, 0x32, + 0x11, 0x5e, 0x5b, 0x5e, 0x3a, 0x23, 0x40, 0x5c, 0x73, 0x5d, 0x7b, 0x31, 0x2c, 0x32, 0x35, 0x34, + 0x7d, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x9f, 0x02, 0x0a, 0x08, + 0x54, 0x75, 0x70, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x35, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x21, 0x92, 0x41, 0x10, 0x4a, 0x0b, 0x22, 0x75, 0x73, + 0x65, 0x72, 0x3a, 0x61, 0x6e, 0x6e, 0x65, 0x22, 0x78, 0x80, 0x04, 0xe0, 0x41, 0x02, 0xfa, 0x42, + 0x08, 0x72, 0x06, 0x28, 0x80, 0x04, 0xd0, 0x01, 0x00, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, + 0x48, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x2c, 0x92, 0x41, 0x0c, 0x4a, 0x08, 0x22, 0x72, 0x65, 0x61, 0x64, 0x65, 0x72, 0x22, + 0x78, 0x32, 0xe0, 0x41, 0x02, 0xfa, 0x42, 0x17, 0x72, 0x15, 0x32, 0x10, 0x5e, 0x5b, 0x5e, 0x3a, + 0x23, 0x40, 0x5c, 0x73, 0x5d, 0x7b, 0x31, 0x2c, 0x35, 0x30, 0x7d, 0x24, 0xd0, 0x01, 0x01, 0x52, + 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x51, 0x0a, 0x06, 0x6f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x39, 0x92, 0x41, 0x1b, 0x4a, 0x16, + 0x22, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x3a, 0x32, 0x30, 0x32, 0x31, 0x2d, 0x62, + 0x75, 0x64, 0x67, 0x65, 0x74, 0x22, 0x78, 0x80, 0x02, 0xe0, 0x41, 0x02, 0xfa, 0x42, 0x15, 0x72, + 0x13, 0x32, 0x0e, 0x5e, 0x5b, 0x5e, 0x5c, 0x73, 0x5d, 0x7b, 0x32, 0x2c, 0x32, 0x35, 0x36, 0x7d, + 0x24, 0xd0, 0x01, 0x01, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3f, 0x0a, 0x09, + 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x21, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x66, 0x67, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7b, 0x0a, + 0x05, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x12, 0x33, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x66, 0x67, 0x61, 0x2e, 0x76, 0x31, + 0x2e, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xfa, 0x42, + 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3d, 0x0a, 0x09, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x5a, 0x0a, 0x09, 0x54, 0x75, + 0x70, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x4d, 0x0a, 0x0a, 0x74, 0x75, 0x70, 0x6c, 0x65, + 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6f, 0x70, + 0x65, 0x6e, 0x66, 0x67, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x4b, 0x65, + 0x79, 0x42, 0x17, 0x92, 0x41, 0x09, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x3f, 0xe0, + 0x41, 0x02, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x0a, 0x74, 0x75, 0x70, 0x6c, + 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x22, 0x64, 0x0a, 0x13, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, + 0x74, 0x75, 0x61, 0x6c, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x4d, 0x0a, + 0x0a, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x66, 0x67, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x54, - 0x75, 0x70, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xfa, 0x42, 0x05, 0x8a, - 0x01, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3d, 0x0a, 0x09, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x5a, 0x0a, 0x09, 0x54, 0x75, 0x70, 0x6c, - 0x65, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x4d, 0x0a, 0x0a, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x5f, 0x6b, - 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6f, 0x70, 0x65, 0x6e, - 0x66, 0x67, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x42, - 0x17, 0x92, 0x41, 0x09, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x3f, 0xe0, 0x41, 0x02, - 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x0a, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x5f, - 0x6b, 0x65, 0x79, 0x73, 0x22, 0x64, 0x0a, 0x13, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, - 0x61, 0x6c, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x4d, 0x0a, 0x0a, 0x74, - 0x75, 0x70, 0x6c, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x14, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x66, 0x67, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x75, 0x70, - 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x42, 0x17, 0x92, 0x41, 0x09, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x34, 0x40, 0xe0, 0x41, 0x02, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x10, 0x14, 0x52, 0x0a, - 0x74, 0x75, 0x70, 0x6c, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x22, 0xe9, 0x07, 0x0a, 0x0b, 0x55, - 0x73, 0x65, 0x72, 0x73, 0x65, 0x74, 0x54, 0x72, 0x65, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x72, 0x6f, - 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x66, - 0x67, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x73, 0x65, 0x74, 0x54, 0x72, 0x65, - 0x65, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x74, 0x1a, 0xda, 0x01, 0x0a, - 0x04, 0x4c, 0x65, 0x61, 0x66, 0x12, 0x35, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x66, 0x67, 0x61, 0x2e, 0x76, - 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x73, 0x65, 0x74, 0x54, 0x72, 0x65, 0x65, 0x2e, 0x55, 0x73, - 0x65, 0x72, 0x73, 0x48, 0x00, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x12, 0x3e, 0x0a, 0x08, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, - 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x66, 0x67, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, - 0x73, 0x65, 0x74, 0x54, 0x72, 0x65, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x64, - 0x48, 0x00, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x64, 0x12, 0x52, 0x0a, 0x10, - 0x74, 0x75, 0x70, 0x6c, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x65, 0x74, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x66, 0x67, 0x61, + 0x75, 0x70, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x42, 0x17, 0x92, 0x41, 0x09, 0x59, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x34, 0x40, 0xe0, 0x41, 0x02, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x10, 0x14, + 0x52, 0x0a, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x22, 0xe9, 0x07, 0x0a, + 0x0b, 0x55, 0x73, 0x65, 0x72, 0x73, 0x65, 0x74, 0x54, 0x72, 0x65, 0x65, 0x12, 0x30, 0x0a, 0x04, + 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x70, 0x65, + 0x6e, 0x66, 0x67, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x73, 0x65, 0x74, 0x54, + 0x72, 0x65, 0x65, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x74, 0x1a, 0xda, + 0x01, 0x0a, 0x04, 0x4c, 0x65, 0x61, 0x66, 0x12, 0x35, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x66, 0x67, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x73, 0x65, 0x74, 0x54, 0x72, 0x65, 0x65, 0x2e, - 0x54, 0x75, 0x70, 0x6c, 0x65, 0x54, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x73, 0x65, 0x74, 0x48, 0x00, - 0x52, 0x0e, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x54, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x73, 0x65, 0x74, - 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x40, 0x0a, 0x05, 0x4e, 0x6f, 0x64, - 0x65, 0x73, 0x12, 0x37, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x66, 0x67, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x55, - 0x73, 0x65, 0x72, 0x73, 0x65, 0x74, 0x54, 0x72, 0x65, 0x65, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x1a, 0x22, 0x0a, 0x05, 0x55, - 0x73, 0x65, 0x72, 0x73, 0x12, 0x19, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x1a, - 0x31, 0x0a, 0x08, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x07, 0x75, - 0x73, 0x65, 0x72, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, - 0x02, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x00, 0x52, 0x07, 0x75, 0x73, 0x65, 0x72, 0x73, - 0x65, 0x74, 0x1a, 0x7c, 0x0a, 0x0e, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x54, 0x6f, 0x55, 0x73, 0x65, - 0x72, 0x73, 0x65, 0x74, 0x12, 0x27, 0x0a, 0x08, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x73, 0x65, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xfa, 0x42, 0x05, 0x72, 0x03, - 0xd0, 0x01, 0x00, 0x52, 0x08, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x73, 0x65, 0x74, 0x12, 0x41, 0x0a, - 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x20, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x66, 0x67, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, - 0x72, 0x73, 0x65, 0x74, 0x54, 0x72, 0x65, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x64, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x64, - 0x1a, 0x92, 0x01, 0x0a, 0x0a, 0x44, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, - 0x3d, 0x0a, 0x04, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, - 0x6f, 0x70, 0x65, 0x6e, 0x66, 0x67, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x73, - 0x65, 0x74, 0x54, 0x72, 0x65, 0x65, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x42, 0x0b, 0xe0, 0x41, 0x02, - 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x04, 0x62, 0x61, 0x73, 0x65, 0x12, 0x45, - 0x0a, 0x08, 0x73, 0x75, 0x62, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x66, 0x67, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, - 0x65, 0x72, 0x73, 0x65, 0x74, 0x54, 0x72, 0x65, 0x65, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x42, 0x0b, - 0xe0, 0x41, 0x02, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x73, 0x75, 0x62, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x1a, 0x9e, 0x02, 0x0a, 0x04, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x17, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x04, 0x6c, 0x65, 0x61, 0x66, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x66, 0x67, 0x61, 0x2e, - 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x73, 0x65, 0x74, 0x54, 0x72, 0x65, 0x65, 0x2e, 0x4c, - 0x65, 0x61, 0x66, 0x48, 0x00, 0x52, 0x04, 0x6c, 0x65, 0x61, 0x66, 0x12, 0x44, 0x0a, 0x0a, 0x64, - 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x22, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x66, 0x67, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, - 0x72, 0x73, 0x65, 0x74, 0x54, 0x72, 0x65, 0x65, 0x2e, 0x44, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, - 0x6e, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, - 0x65, 0x12, 0x35, 0x0a, 0x05, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x55, 0x73, 0x65, 0x72, 0x73, 0x48, 0x00, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x12, 0x3e, + 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x20, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x66, 0x67, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, + 0x65, 0x72, 0x73, 0x65, 0x74, 0x54, 0x72, 0x65, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x64, 0x48, 0x00, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x64, 0x12, 0x52, + 0x0a, 0x10, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x73, + 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x66, + 0x67, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x73, 0x65, 0x74, 0x54, 0x72, 0x65, + 0x65, 0x2e, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x54, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x73, 0x65, 0x74, + 0x48, 0x00, 0x52, 0x0e, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x54, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x73, + 0x65, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x40, 0x0a, 0x05, 0x4e, + 0x6f, 0x64, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x66, 0x67, 0x61, 0x2e, 0x76, 0x31, + 0x2e, 0x55, 0x73, 0x65, 0x72, 0x73, 0x65, 0x74, 0x54, 0x72, 0x65, 0x65, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x1a, 0x22, 0x0a, + 0x05, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x19, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, + 0x73, 0x1a, 0x31, 0x0a, 0x08, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x64, 0x12, 0x25, 0x0a, + 0x07, 0x75, 0x73, 0x65, 0x72, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, + 0xe0, 0x41, 0x02, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x00, 0x52, 0x07, 0x75, 0x73, 0x65, + 0x72, 0x73, 0x65, 0x74, 0x1a, 0x7c, 0x0a, 0x0e, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x54, 0x6f, 0x55, + 0x73, 0x65, 0x72, 0x73, 0x65, 0x74, 0x12, 0x27, 0x0a, 0x08, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x73, + 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xfa, 0x42, 0x05, + 0x72, 0x03, 0xd0, 0x01, 0x00, 0x52, 0x08, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x73, 0x65, 0x74, 0x12, + 0x41, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x20, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x66, 0x67, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x55, + 0x73, 0x65, 0x72, 0x73, 0x65, 0x74, 0x54, 0x72, 0x65, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x64, 0x1a, 0x92, 0x01, 0x0a, 0x0a, 0x44, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x12, 0x3d, 0x0a, 0x04, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x66, 0x67, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, + 0x72, 0x73, 0x65, 0x74, 0x54, 0x72, 0x65, 0x65, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x42, 0x0b, 0xe0, + 0x41, 0x02, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x04, 0x62, 0x61, 0x73, 0x65, + 0x12, 0x45, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x66, 0x67, 0x61, 0x2e, 0x76, 0x31, 0x2e, + 0x55, 0x73, 0x65, 0x72, 0x73, 0x65, 0x74, 0x54, 0x72, 0x65, 0x65, 0x2e, 0x4e, 0x6f, 0x64, 0x65, + 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x73, + 0x75, 0x62, 0x74, 0x72, 0x61, 0x63, 0x74, 0x1a, 0x9e, 0x02, 0x0a, 0x04, 0x4e, 0x6f, 0x64, 0x65, + 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x04, 0x6c, 0x65, 0x61, + 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x66, 0x67, + 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x73, 0x65, 0x74, 0x54, 0x72, 0x65, 0x65, + 0x2e, 0x4c, 0x65, 0x61, 0x66, 0x48, 0x00, 0x52, 0x04, 0x6c, 0x65, 0x61, 0x66, 0x12, 0x44, 0x0a, + 0x0a, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x22, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x66, 0x67, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x55, + 0x73, 0x65, 0x72, 0x73, 0x65, 0x74, 0x54, 0x72, 0x65, 0x65, 0x2e, 0x44, 0x69, 0x66, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x12, 0x35, 0x0a, 0x05, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x66, 0x67, 0x61, 0x2e, 0x76, 0x31, 0x2e, + 0x55, 0x73, 0x65, 0x72, 0x73, 0x65, 0x74, 0x54, 0x72, 0x65, 0x65, 0x2e, 0x4e, 0x6f, 0x64, 0x65, + 0x73, 0x48, 0x00, 0x52, 0x05, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x0c, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x66, 0x67, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x73, 0x65, 0x74, 0x54, 0x72, 0x65, 0x65, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x48, - 0x00, 0x52, 0x05, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x65, - 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, - 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x66, 0x67, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, - 0x73, 0x65, 0x74, 0x54, 0x72, 0x65, 0x65, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x48, 0x00, 0x52, - 0x0c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x07, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xd4, 0x01, 0x0a, 0x0b, 0x54, 0x75, 0x70, 0x6c, 0x65, - 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x3f, 0x0a, 0x09, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x5f, - 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6f, 0x70, 0x65, 0x6e, - 0x66, 0x67, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x42, - 0x0b, 0xe0, 0x41, 0x02, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x09, 0x74, 0x75, - 0x70, 0x6c, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x12, 0x45, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x6f, 0x70, 0x65, - 0x6e, 0x66, 0x67, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xfa, 0x42, 0x05, 0x82, 0x01, - 0x02, 0x10, 0x01, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3d, - 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x83, 0x02, - 0x0a, 0x05, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x1b, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x00, - 0x52, 0x02, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x00, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x12, 0x3f, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x12, 0x3a, 0x0a, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x00, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, + 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xd4, 0x01, 0x0a, 0x0b, 0x54, 0x75, 0x70, + 0x6c, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x3f, 0x0a, 0x09, 0x74, 0x75, 0x70, 0x6c, + 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6f, 0x70, + 0x65, 0x6e, 0x66, 0x67, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x4b, 0x65, + 0x79, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x09, + 0x74, 0x75, 0x70, 0x6c, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x12, 0x45, 0x0a, 0x09, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x6f, + 0x70, 0x65, 0x6e, 0x66, 0x67, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xfa, 0x42, 0x05, + 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x3d, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, + 0x83, 0x02, 0x0a, 0x05, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x1b, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, + 0x01, 0x00, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, + 0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, - 0x5f, 0x61, 0x74, 0x22, 0x95, 0x01, 0x0a, 0x0e, 0x55, 0x73, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, - 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x3e, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0x92, 0x41, 0x09, 0x4a, 0x07, 0x22, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x22, 0xe0, 0x41, 0x02, 0xfa, 0x42, 0x18, 0x72, 0x16, 0x32, 0x11, 0x5e, 0x5b, 0x5e, 0x3a, - 0x23, 0x40, 0x5c, 0x73, 0x5d, 0x7b, 0x31, 0x2c, 0x32, 0x35, 0x34, 0x7d, 0x24, 0xd0, 0x01, 0x00, - 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x43, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0x92, 0x41, 0x0a, 0x4a, 0x08, 0x22, - 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, 0xfa, 0x42, 0x17, 0x72, 0x15, 0x32, 0x10, 0x5e, 0x5b, - 0x5e, 0x3a, 0x23, 0x40, 0x5c, 0x73, 0x5d, 0x7b, 0x31, 0x2c, 0x35, 0x30, 0x7d, 0x24, 0xd0, 0x01, - 0x01, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2a, 0x47, 0x0a, 0x0e, 0x54, - 0x75, 0x70, 0x6c, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, - 0x15, 0x54, 0x55, 0x50, 0x4c, 0x45, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, - 0x5f, 0x57, 0x52, 0x49, 0x54, 0x45, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x54, 0x55, 0x50, 0x4c, - 0x45, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4c, 0x45, - 0x54, 0x45, 0x10, 0x01, 0x42, 0x9a, 0x01, 0x0a, 0x0e, 0x63, 0x6f, 0x6d, 0x2e, 0x6f, 0x70, 0x65, - 0x6e, 0x66, 0x67, 0x61, 0x2e, 0x76, 0x31, 0x42, 0x0c, 0x4f, 0x70, 0x65, 0x6e, 0x66, 0x67, 0x61, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x31, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x66, 0x67, 0x61, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x66, 0x67, 0x61, 0x2f, 0x76, 0x31, - 0x3b, 0x6f, 0x70, 0x65, 0x6e, 0x66, 0x67, 0x61, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x4f, 0x58, 0x58, - 0xaa, 0x02, 0x0a, 0x4f, 0x70, 0x65, 0x6e, 0x66, 0x67, 0x61, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x0a, - 0x4f, 0x70, 0x65, 0x6e, 0x66, 0x67, 0x61, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x16, 0x4f, 0x70, 0x65, - 0x6e, 0x66, 0x67, 0x61, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0xea, 0x02, 0x0b, 0x4f, 0x70, 0x65, 0x6e, 0x66, 0x67, 0x61, 0x3a, 0x3a, 0x56, - 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x12, 0x3f, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x12, 0x3a, 0x0a, 0x0a, 0x64, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x64, 0x5f, 0x61, 0x74, 0x22, 0x95, 0x01, 0x0a, 0x0e, 0x55, 0x73, 0x65, 0x72, 0x54, 0x79, + 0x70, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x3e, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0x92, 0x41, 0x09, 0x4a, 0x07, 0x22, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x22, 0xe0, 0x41, 0x02, 0xfa, 0x42, 0x18, 0x72, 0x16, 0x32, 0x11, 0x5e, 0x5b, + 0x5e, 0x3a, 0x23, 0x40, 0x5c, 0x73, 0x5d, 0x7b, 0x31, 0x2c, 0x32, 0x35, 0x34, 0x7d, 0x24, 0xd0, + 0x01, 0x00, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x43, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0x92, 0x41, 0x0a, 0x4a, + 0x08, 0x22, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, 0xfa, 0x42, 0x17, 0x72, 0x15, 0x32, 0x10, + 0x5e, 0x5b, 0x5e, 0x3a, 0x23, 0x40, 0x5c, 0x73, 0x5d, 0x7b, 0x31, 0x2c, 0x35, 0x30, 0x7d, 0x24, + 0xd0, 0x01, 0x01, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2a, 0x47, 0x0a, + 0x0e, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x19, 0x0a, 0x15, 0x54, 0x55, 0x50, 0x4c, 0x45, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x57, 0x52, 0x49, 0x54, 0x45, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x54, 0x55, + 0x50, 0x4c, 0x45, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, + 0x4c, 0x45, 0x54, 0x45, 0x10, 0x01, 0x42, 0x9a, 0x01, 0x0a, 0x0e, 0x63, 0x6f, 0x6d, 0x2e, 0x6f, + 0x70, 0x65, 0x6e, 0x66, 0x67, 0x61, 0x2e, 0x76, 0x31, 0x42, 0x0c, 0x4f, 0x70, 0x65, 0x6e, 0x66, + 0x67, 0x61, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x31, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x66, 0x67, 0x61, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x66, 0x67, 0x61, 0x2f, + 0x76, 0x31, 0x3b, 0x6f, 0x70, 0x65, 0x6e, 0x66, 0x67, 0x61, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x4f, + 0x58, 0x58, 0xaa, 0x02, 0x0a, 0x4f, 0x70, 0x65, 0x6e, 0x66, 0x67, 0x61, 0x2e, 0x56, 0x31, 0xca, + 0x02, 0x0a, 0x4f, 0x70, 0x65, 0x6e, 0x66, 0x67, 0x61, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x16, 0x4f, + 0x70, 0x65, 0x6e, 0x66, 0x67, 0x61, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0b, 0x4f, 0x70, 0x65, 0x6e, 0x66, 0x67, 0x61, 0x3a, + 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1754,69 +1665,66 @@ func file_openfga_v1_openfga_proto_rawDescGZIP() []byte { } var file_openfga_v1_openfga_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_openfga_v1_openfga_proto_msgTypes = make([]protoimpl.MessageInfo, 22) +var file_openfga_v1_openfga_proto_msgTypes = make([]protoimpl.MessageInfo, 21) var file_openfga_v1_openfga_proto_goTypes = []interface{}{ (TupleOperation)(0), // 0: openfga.v1.TupleOperation (*Object)(nil), // 1: openfga.v1.Object (*User)(nil), // 2: openfga.v1.User - (*ObjectOrUserset)(nil), // 3: openfga.v1.ObjectOrUserset - (*UsersetUser)(nil), // 4: openfga.v1.UsersetUser - (*RelationshipCondition)(nil), // 5: openfga.v1.RelationshipCondition - (*TupleKeyWithoutCondition)(nil), // 6: openfga.v1.TupleKeyWithoutCondition - (*TypedWildcard)(nil), // 7: openfga.v1.TypedWildcard - (*TupleKey)(nil), // 8: openfga.v1.TupleKey - (*Tuple)(nil), // 9: openfga.v1.Tuple - (*TupleKeys)(nil), // 10: openfga.v1.TupleKeys - (*ContextualTupleKeys)(nil), // 11: openfga.v1.ContextualTupleKeys - (*UsersetTree)(nil), // 12: openfga.v1.UsersetTree - (*TupleChange)(nil), // 13: openfga.v1.TupleChange - (*Store)(nil), // 14: openfga.v1.Store - (*UserTypeFilter)(nil), // 15: openfga.v1.UserTypeFilter - (*UsersetTree_Leaf)(nil), // 16: openfga.v1.UsersetTree.Leaf - (*UsersetTree_Nodes)(nil), // 17: openfga.v1.UsersetTree.Nodes - (*UsersetTree_Users)(nil), // 18: openfga.v1.UsersetTree.Users - (*UsersetTree_Computed)(nil), // 19: openfga.v1.UsersetTree.Computed - (*UsersetTree_TupleToUserset)(nil), // 20: openfga.v1.UsersetTree.TupleToUserset - (*UsersetTree_Difference)(nil), // 21: openfga.v1.UsersetTree.Difference - (*UsersetTree_Node)(nil), // 22: openfga.v1.UsersetTree.Node - (*structpb.Struct)(nil), // 23: google.protobuf.Struct - (*timestamppb.Timestamp)(nil), // 24: google.protobuf.Timestamp + (*UsersetUser)(nil), // 3: openfga.v1.UsersetUser + (*RelationshipCondition)(nil), // 4: openfga.v1.RelationshipCondition + (*TupleKeyWithoutCondition)(nil), // 5: openfga.v1.TupleKeyWithoutCondition + (*TypedWildcard)(nil), // 6: openfga.v1.TypedWildcard + (*TupleKey)(nil), // 7: openfga.v1.TupleKey + (*Tuple)(nil), // 8: openfga.v1.Tuple + (*TupleKeys)(nil), // 9: openfga.v1.TupleKeys + (*ContextualTupleKeys)(nil), // 10: openfga.v1.ContextualTupleKeys + (*UsersetTree)(nil), // 11: openfga.v1.UsersetTree + (*TupleChange)(nil), // 12: openfga.v1.TupleChange + (*Store)(nil), // 13: openfga.v1.Store + (*UserTypeFilter)(nil), // 14: openfga.v1.UserTypeFilter + (*UsersetTree_Leaf)(nil), // 15: openfga.v1.UsersetTree.Leaf + (*UsersetTree_Nodes)(nil), // 16: openfga.v1.UsersetTree.Nodes + (*UsersetTree_Users)(nil), // 17: openfga.v1.UsersetTree.Users + (*UsersetTree_Computed)(nil), // 18: openfga.v1.UsersetTree.Computed + (*UsersetTree_TupleToUserset)(nil), // 19: openfga.v1.UsersetTree.TupleToUserset + (*UsersetTree_Difference)(nil), // 20: openfga.v1.UsersetTree.Difference + (*UsersetTree_Node)(nil), // 21: openfga.v1.UsersetTree.Node + (*structpb.Struct)(nil), // 22: google.protobuf.Struct + (*timestamppb.Timestamp)(nil), // 23: google.protobuf.Timestamp } var file_openfga_v1_openfga_proto_depIdxs = []int32{ 1, // 0: openfga.v1.User.object:type_name -> openfga.v1.Object - 4, // 1: openfga.v1.User.userset:type_name -> openfga.v1.UsersetUser - 7, // 2: openfga.v1.User.wildcard:type_name -> openfga.v1.TypedWildcard - 1, // 3: openfga.v1.ObjectOrUserset.object:type_name -> openfga.v1.Object - 4, // 4: openfga.v1.ObjectOrUserset.userset:type_name -> openfga.v1.UsersetUser - 23, // 5: openfga.v1.RelationshipCondition.context:type_name -> google.protobuf.Struct - 5, // 6: openfga.v1.TupleKey.condition:type_name -> openfga.v1.RelationshipCondition - 8, // 7: openfga.v1.Tuple.key:type_name -> openfga.v1.TupleKey - 24, // 8: openfga.v1.Tuple.timestamp:type_name -> google.protobuf.Timestamp - 8, // 9: openfga.v1.TupleKeys.tuple_keys:type_name -> openfga.v1.TupleKey - 8, // 10: openfga.v1.ContextualTupleKeys.tuple_keys:type_name -> openfga.v1.TupleKey - 22, // 11: openfga.v1.UsersetTree.root:type_name -> openfga.v1.UsersetTree.Node - 8, // 12: openfga.v1.TupleChange.tuple_key:type_name -> openfga.v1.TupleKey - 0, // 13: openfga.v1.TupleChange.operation:type_name -> openfga.v1.TupleOperation - 24, // 14: openfga.v1.TupleChange.timestamp:type_name -> google.protobuf.Timestamp - 24, // 15: openfga.v1.Store.created_at:type_name -> google.protobuf.Timestamp - 24, // 16: openfga.v1.Store.updated_at:type_name -> google.protobuf.Timestamp - 24, // 17: openfga.v1.Store.deleted_at:type_name -> google.protobuf.Timestamp - 18, // 18: openfga.v1.UsersetTree.Leaf.users:type_name -> openfga.v1.UsersetTree.Users - 19, // 19: openfga.v1.UsersetTree.Leaf.computed:type_name -> openfga.v1.UsersetTree.Computed - 20, // 20: openfga.v1.UsersetTree.Leaf.tuple_to_userset:type_name -> openfga.v1.UsersetTree.TupleToUserset - 22, // 21: openfga.v1.UsersetTree.Nodes.nodes:type_name -> openfga.v1.UsersetTree.Node - 19, // 22: openfga.v1.UsersetTree.TupleToUserset.computed:type_name -> openfga.v1.UsersetTree.Computed - 22, // 23: openfga.v1.UsersetTree.Difference.base:type_name -> openfga.v1.UsersetTree.Node - 22, // 24: openfga.v1.UsersetTree.Difference.subtract:type_name -> openfga.v1.UsersetTree.Node - 16, // 25: openfga.v1.UsersetTree.Node.leaf:type_name -> openfga.v1.UsersetTree.Leaf - 21, // 26: openfga.v1.UsersetTree.Node.difference:type_name -> openfga.v1.UsersetTree.Difference - 17, // 27: openfga.v1.UsersetTree.Node.union:type_name -> openfga.v1.UsersetTree.Nodes - 17, // 28: openfga.v1.UsersetTree.Node.intersection:type_name -> openfga.v1.UsersetTree.Nodes - 29, // [29:29] is the sub-list for method output_type - 29, // [29:29] is the sub-list for method input_type - 29, // [29:29] is the sub-list for extension type_name - 29, // [29:29] is the sub-list for extension extendee - 0, // [0:29] is the sub-list for field type_name + 3, // 1: openfga.v1.User.userset:type_name -> openfga.v1.UsersetUser + 6, // 2: openfga.v1.User.wildcard:type_name -> openfga.v1.TypedWildcard + 22, // 3: openfga.v1.RelationshipCondition.context:type_name -> google.protobuf.Struct + 4, // 4: openfga.v1.TupleKey.condition:type_name -> openfga.v1.RelationshipCondition + 7, // 5: openfga.v1.Tuple.key:type_name -> openfga.v1.TupleKey + 23, // 6: openfga.v1.Tuple.timestamp:type_name -> google.protobuf.Timestamp + 7, // 7: openfga.v1.TupleKeys.tuple_keys:type_name -> openfga.v1.TupleKey + 7, // 8: openfga.v1.ContextualTupleKeys.tuple_keys:type_name -> openfga.v1.TupleKey + 21, // 9: openfga.v1.UsersetTree.root:type_name -> openfga.v1.UsersetTree.Node + 7, // 10: openfga.v1.TupleChange.tuple_key:type_name -> openfga.v1.TupleKey + 0, // 11: openfga.v1.TupleChange.operation:type_name -> openfga.v1.TupleOperation + 23, // 12: openfga.v1.TupleChange.timestamp:type_name -> google.protobuf.Timestamp + 23, // 13: openfga.v1.Store.created_at:type_name -> google.protobuf.Timestamp + 23, // 14: openfga.v1.Store.updated_at:type_name -> google.protobuf.Timestamp + 23, // 15: openfga.v1.Store.deleted_at:type_name -> google.protobuf.Timestamp + 17, // 16: openfga.v1.UsersetTree.Leaf.users:type_name -> openfga.v1.UsersetTree.Users + 18, // 17: openfga.v1.UsersetTree.Leaf.computed:type_name -> openfga.v1.UsersetTree.Computed + 19, // 18: openfga.v1.UsersetTree.Leaf.tuple_to_userset:type_name -> openfga.v1.UsersetTree.TupleToUserset + 21, // 19: openfga.v1.UsersetTree.Nodes.nodes:type_name -> openfga.v1.UsersetTree.Node + 18, // 20: openfga.v1.UsersetTree.TupleToUserset.computed:type_name -> openfga.v1.UsersetTree.Computed + 21, // 21: openfga.v1.UsersetTree.Difference.base:type_name -> openfga.v1.UsersetTree.Node + 21, // 22: openfga.v1.UsersetTree.Difference.subtract:type_name -> openfga.v1.UsersetTree.Node + 15, // 23: openfga.v1.UsersetTree.Node.leaf:type_name -> openfga.v1.UsersetTree.Leaf + 20, // 24: openfga.v1.UsersetTree.Node.difference:type_name -> openfga.v1.UsersetTree.Difference + 16, // 25: openfga.v1.UsersetTree.Node.union:type_name -> openfga.v1.UsersetTree.Nodes + 16, // 26: openfga.v1.UsersetTree.Node.intersection:type_name -> openfga.v1.UsersetTree.Nodes + 27, // [27:27] is the sub-list for method output_type + 27, // [27:27] is the sub-list for method input_type + 27, // [27:27] is the sub-list for extension type_name + 27, // [27:27] is the sub-list for extension extendee + 0, // [0:27] is the sub-list for field type_name } func init() { file_openfga_v1_openfga_proto_init() } @@ -1850,18 +1758,6 @@ func file_openfga_v1_openfga_proto_init() { } } file_openfga_v1_openfga_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ObjectOrUserset); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_openfga_v1_openfga_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UsersetUser); i { case 0: return &v.state @@ -1873,7 +1769,7 @@ func file_openfga_v1_openfga_proto_init() { return nil } } - file_openfga_v1_openfga_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_openfga_v1_openfga_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RelationshipCondition); i { case 0: return &v.state @@ -1885,7 +1781,7 @@ func file_openfga_v1_openfga_proto_init() { return nil } } - file_openfga_v1_openfga_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_openfga_v1_openfga_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TupleKeyWithoutCondition); i { case 0: return &v.state @@ -1897,7 +1793,7 @@ func file_openfga_v1_openfga_proto_init() { return nil } } - file_openfga_v1_openfga_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_openfga_v1_openfga_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TypedWildcard); i { case 0: return &v.state @@ -1909,7 +1805,7 @@ func file_openfga_v1_openfga_proto_init() { return nil } } - file_openfga_v1_openfga_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_openfga_v1_openfga_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TupleKey); i { case 0: return &v.state @@ -1921,7 +1817,7 @@ func file_openfga_v1_openfga_proto_init() { return nil } } - file_openfga_v1_openfga_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_openfga_v1_openfga_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Tuple); i { case 0: return &v.state @@ -1933,7 +1829,7 @@ func file_openfga_v1_openfga_proto_init() { return nil } } - file_openfga_v1_openfga_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_openfga_v1_openfga_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TupleKeys); i { case 0: return &v.state @@ -1945,7 +1841,7 @@ func file_openfga_v1_openfga_proto_init() { return nil } } - file_openfga_v1_openfga_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_openfga_v1_openfga_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ContextualTupleKeys); i { case 0: return &v.state @@ -1957,7 +1853,7 @@ func file_openfga_v1_openfga_proto_init() { return nil } } - file_openfga_v1_openfga_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_openfga_v1_openfga_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UsersetTree); i { case 0: return &v.state @@ -1969,7 +1865,7 @@ func file_openfga_v1_openfga_proto_init() { return nil } } - file_openfga_v1_openfga_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + file_openfga_v1_openfga_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TupleChange); i { case 0: return &v.state @@ -1981,7 +1877,7 @@ func file_openfga_v1_openfga_proto_init() { return nil } } - file_openfga_v1_openfga_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + file_openfga_v1_openfga_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Store); i { case 0: return &v.state @@ -1993,7 +1889,7 @@ func file_openfga_v1_openfga_proto_init() { return nil } } - file_openfga_v1_openfga_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + file_openfga_v1_openfga_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserTypeFilter); i { case 0: return &v.state @@ -2005,7 +1901,7 @@ func file_openfga_v1_openfga_proto_init() { return nil } } - file_openfga_v1_openfga_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + file_openfga_v1_openfga_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UsersetTree_Leaf); i { case 0: return &v.state @@ -2017,7 +1913,7 @@ func file_openfga_v1_openfga_proto_init() { return nil } } - file_openfga_v1_openfga_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + file_openfga_v1_openfga_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UsersetTree_Nodes); i { case 0: return &v.state @@ -2029,7 +1925,7 @@ func file_openfga_v1_openfga_proto_init() { return nil } } - file_openfga_v1_openfga_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + file_openfga_v1_openfga_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UsersetTree_Users); i { case 0: return &v.state @@ -2041,7 +1937,7 @@ func file_openfga_v1_openfga_proto_init() { return nil } } - file_openfga_v1_openfga_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + file_openfga_v1_openfga_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UsersetTree_Computed); i { case 0: return &v.state @@ -2053,7 +1949,7 @@ func file_openfga_v1_openfga_proto_init() { return nil } } - file_openfga_v1_openfga_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + file_openfga_v1_openfga_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UsersetTree_TupleToUserset); i { case 0: return &v.state @@ -2065,7 +1961,7 @@ func file_openfga_v1_openfga_proto_init() { return nil } } - file_openfga_v1_openfga_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + file_openfga_v1_openfga_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UsersetTree_Difference); i { case 0: return &v.state @@ -2077,7 +1973,7 @@ func file_openfga_v1_openfga_proto_init() { return nil } } - file_openfga_v1_openfga_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + file_openfga_v1_openfga_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UsersetTree_Node); i { case 0: return &v.state @@ -2095,16 +1991,12 @@ func file_openfga_v1_openfga_proto_init() { (*User_Userset)(nil), (*User_Wildcard)(nil), } - file_openfga_v1_openfga_proto_msgTypes[2].OneofWrappers = []interface{}{ - (*ObjectOrUserset_Object)(nil), - (*ObjectOrUserset_Userset)(nil), - } - file_openfga_v1_openfga_proto_msgTypes[15].OneofWrappers = []interface{}{ + file_openfga_v1_openfga_proto_msgTypes[14].OneofWrappers = []interface{}{ (*UsersetTree_Leaf_Users)(nil), (*UsersetTree_Leaf_Computed)(nil), (*UsersetTree_Leaf_TupleToUserset)(nil), } - file_openfga_v1_openfga_proto_msgTypes[21].OneofWrappers = []interface{}{ + file_openfga_v1_openfga_proto_msgTypes[20].OneofWrappers = []interface{}{ (*UsersetTree_Node_Leaf)(nil), (*UsersetTree_Node_Difference)(nil), (*UsersetTree_Node_Union)(nil), @@ -2116,7 +2008,7 @@ func file_openfga_v1_openfga_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_openfga_v1_openfga_proto_rawDesc, NumEnums: 1, - NumMessages: 22, + NumMessages: 21, NumExtensions: 0, NumServices: 0, }, diff --git a/proto/openfga/v1/openfga.pb.validate.go b/proto/openfga/v1/openfga.pb.validate.go index 6f95ce03..6554a9ea 100644 --- a/proto/openfga/v1/openfga.pb.validate.go +++ b/proto/openfga/v1/openfga.pb.validate.go @@ -385,193 +385,6 @@ var _ interface { ErrorName() string } = UserValidationError{} -// Validate checks the field values on ObjectOrUserset with the rules defined -// in the proto definition for this message. If any rules are violated, the -// first error encountered is returned, or nil if there are no violations. -func (m *ObjectOrUserset) Validate() error { - return m.validate(false) -} - -// ValidateAll checks the field values on ObjectOrUserset with the rules -// defined in the proto definition for this message. If any rules are -// violated, the result is a list of violation errors wrapped in -// ObjectOrUsersetMultiError, or nil if none found. -func (m *ObjectOrUserset) ValidateAll() error { - return m.validate(true) -} - -func (m *ObjectOrUserset) validate(all bool) error { - if m == nil { - return nil - } - - var errors []error - - switch v := m.User.(type) { - case *ObjectOrUserset_Object: - if v == nil { - err := ObjectOrUsersetValidationError{ - field: "User", - reason: "oneof value cannot be a typed-nil", - } - if !all { - return err - } - errors = append(errors, err) - } - - if all { - switch v := interface{}(m.GetObject()).(type) { - case interface{ ValidateAll() error }: - if err := v.ValidateAll(); err != nil { - errors = append(errors, ObjectOrUsersetValidationError{ - field: "Object", - reason: "embedded message failed validation", - cause: err, - }) - } - case interface{ Validate() error }: - if err := v.Validate(); err != nil { - errors = append(errors, ObjectOrUsersetValidationError{ - field: "Object", - reason: "embedded message failed validation", - cause: err, - }) - } - } - } else if v, ok := interface{}(m.GetObject()).(interface{ Validate() error }); ok { - if err := v.Validate(); err != nil { - return ObjectOrUsersetValidationError{ - field: "Object", - reason: "embedded message failed validation", - cause: err, - } - } - } - - case *ObjectOrUserset_Userset: - if v == nil { - err := ObjectOrUsersetValidationError{ - field: "User", - reason: "oneof value cannot be a typed-nil", - } - if !all { - return err - } - errors = append(errors, err) - } - - if all { - switch v := interface{}(m.GetUserset()).(type) { - case interface{ ValidateAll() error }: - if err := v.ValidateAll(); err != nil { - errors = append(errors, ObjectOrUsersetValidationError{ - field: "Userset", - reason: "embedded message failed validation", - cause: err, - }) - } - case interface{ Validate() error }: - if err := v.Validate(); err != nil { - errors = append(errors, ObjectOrUsersetValidationError{ - field: "Userset", - reason: "embedded message failed validation", - cause: err, - }) - } - } - } else if v, ok := interface{}(m.GetUserset()).(interface{ Validate() error }); ok { - if err := v.Validate(); err != nil { - return ObjectOrUsersetValidationError{ - field: "Userset", - reason: "embedded message failed validation", - cause: err, - } - } - } - - default: - _ = v // ensures v is used - } - - if len(errors) > 0 { - return ObjectOrUsersetMultiError(errors) - } - - return nil -} - -// ObjectOrUsersetMultiError is an error wrapping multiple validation errors -// returned by ObjectOrUserset.ValidateAll() if the designated constraints -// aren't met. -type ObjectOrUsersetMultiError []error - -// Error returns a concatenation of all the error messages it wraps. -func (m ObjectOrUsersetMultiError) Error() string { - var msgs []string - for _, err := range m { - msgs = append(msgs, err.Error()) - } - return strings.Join(msgs, "; ") -} - -// AllErrors returns a list of validation violation errors. -func (m ObjectOrUsersetMultiError) AllErrors() []error { return m } - -// ObjectOrUsersetValidationError is the validation error returned by -// ObjectOrUserset.Validate if the designated constraints aren't met. -type ObjectOrUsersetValidationError struct { - field string - reason string - cause error - key bool -} - -// Field function returns field value. -func (e ObjectOrUsersetValidationError) Field() string { return e.field } - -// Reason function returns reason value. -func (e ObjectOrUsersetValidationError) Reason() string { return e.reason } - -// Cause function returns cause value. -func (e ObjectOrUsersetValidationError) Cause() error { return e.cause } - -// Key function returns key value. -func (e ObjectOrUsersetValidationError) Key() bool { return e.key } - -// ErrorName returns error name. -func (e ObjectOrUsersetValidationError) ErrorName() string { return "ObjectOrUsersetValidationError" } - -// Error satisfies the builtin error interface -func (e ObjectOrUsersetValidationError) Error() string { - cause := "" - if e.cause != nil { - cause = fmt.Sprintf(" | caused by: %v", e.cause) - } - - key := "" - if e.key { - key = "key for " - } - - return fmt.Sprintf( - "invalid %sObjectOrUserset.%s: %s%s", - key, - e.field, - e.reason, - cause) -} - -var _ error = ObjectOrUsersetValidationError{} - -var _ interface { - Field() string - Reason() string - Key() bool - Cause() error - ErrorName() string -} = ObjectOrUsersetValidationError{} - // Validate checks the field values on UsersetUser with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations.