1// Copyright 2019 Google LLC. 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14// 15 16// Code generated by protoc-gen-go. DO NOT EDIT. 17// versions: 18// protoc-gen-go v1.22.0 19// protoc v3.11.2 20// source: google/firestore/v1beta1/query.proto 21 22package firestore 23 24import ( 25 reflect "reflect" 26 sync "sync" 27 28 proto "github.com/golang/protobuf/proto" 29 wrappers "github.com/golang/protobuf/ptypes/wrappers" 30 _ "google.golang.org/genproto/googleapis/api/annotations" 31 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 32 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 33) 34 35const ( 36 // Verify that this generated code is sufficiently up-to-date. 37 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 38 // Verify that runtime/protoimpl is sufficiently up-to-date. 39 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 40) 41 42// This is a compile-time assertion that a sufficiently up-to-date version 43// of the legacy proto package is being used. 44const _ = proto.ProtoPackageIsVersion4 45 46// A sort direction. 47type StructuredQuery_Direction int32 48 49const ( 50 // Unspecified. 51 StructuredQuery_DIRECTION_UNSPECIFIED StructuredQuery_Direction = 0 52 // Ascending. 53 StructuredQuery_ASCENDING StructuredQuery_Direction = 1 54 // Descending. 55 StructuredQuery_DESCENDING StructuredQuery_Direction = 2 56) 57 58// Enum value maps for StructuredQuery_Direction. 59var ( 60 StructuredQuery_Direction_name = map[int32]string{ 61 0: "DIRECTION_UNSPECIFIED", 62 1: "ASCENDING", 63 2: "DESCENDING", 64 } 65 StructuredQuery_Direction_value = map[string]int32{ 66 "DIRECTION_UNSPECIFIED": 0, 67 "ASCENDING": 1, 68 "DESCENDING": 2, 69 } 70) 71 72func (x StructuredQuery_Direction) Enum() *StructuredQuery_Direction { 73 p := new(StructuredQuery_Direction) 74 *p = x 75 return p 76} 77 78func (x StructuredQuery_Direction) String() string { 79 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 80} 81 82func (StructuredQuery_Direction) Descriptor() protoreflect.EnumDescriptor { 83 return file_google_firestore_v1beta1_query_proto_enumTypes[0].Descriptor() 84} 85 86func (StructuredQuery_Direction) Type() protoreflect.EnumType { 87 return &file_google_firestore_v1beta1_query_proto_enumTypes[0] 88} 89 90func (x StructuredQuery_Direction) Number() protoreflect.EnumNumber { 91 return protoreflect.EnumNumber(x) 92} 93 94// Deprecated: Use StructuredQuery_Direction.Descriptor instead. 95func (StructuredQuery_Direction) EnumDescriptor() ([]byte, []int) { 96 return file_google_firestore_v1beta1_query_proto_rawDescGZIP(), []int{0, 0} 97} 98 99// A composite filter operator. 100type StructuredQuery_CompositeFilter_Operator int32 101 102const ( 103 // Unspecified. This value must not be used. 104 StructuredQuery_CompositeFilter_OPERATOR_UNSPECIFIED StructuredQuery_CompositeFilter_Operator = 0 105 // The results are required to satisfy each of the combined filters. 106 StructuredQuery_CompositeFilter_AND StructuredQuery_CompositeFilter_Operator = 1 107) 108 109// Enum value maps for StructuredQuery_CompositeFilter_Operator. 110var ( 111 StructuredQuery_CompositeFilter_Operator_name = map[int32]string{ 112 0: "OPERATOR_UNSPECIFIED", 113 1: "AND", 114 } 115 StructuredQuery_CompositeFilter_Operator_value = map[string]int32{ 116 "OPERATOR_UNSPECIFIED": 0, 117 "AND": 1, 118 } 119) 120 121func (x StructuredQuery_CompositeFilter_Operator) Enum() *StructuredQuery_CompositeFilter_Operator { 122 p := new(StructuredQuery_CompositeFilter_Operator) 123 *p = x 124 return p 125} 126 127func (x StructuredQuery_CompositeFilter_Operator) String() string { 128 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 129} 130 131func (StructuredQuery_CompositeFilter_Operator) Descriptor() protoreflect.EnumDescriptor { 132 return file_google_firestore_v1beta1_query_proto_enumTypes[1].Descriptor() 133} 134 135func (StructuredQuery_CompositeFilter_Operator) Type() protoreflect.EnumType { 136 return &file_google_firestore_v1beta1_query_proto_enumTypes[1] 137} 138 139func (x StructuredQuery_CompositeFilter_Operator) Number() protoreflect.EnumNumber { 140 return protoreflect.EnumNumber(x) 141} 142 143// Deprecated: Use StructuredQuery_CompositeFilter_Operator.Descriptor instead. 144func (StructuredQuery_CompositeFilter_Operator) EnumDescriptor() ([]byte, []int) { 145 return file_google_firestore_v1beta1_query_proto_rawDescGZIP(), []int{0, 2, 0} 146} 147 148// A field filter operator. 149type StructuredQuery_FieldFilter_Operator int32 150 151const ( 152 // Unspecified. This value must not be used. 153 StructuredQuery_FieldFilter_OPERATOR_UNSPECIFIED StructuredQuery_FieldFilter_Operator = 0 154 // Less than. Requires that the field come first in `order_by`. 155 StructuredQuery_FieldFilter_LESS_THAN StructuredQuery_FieldFilter_Operator = 1 156 // Less than or equal. Requires that the field come first in `order_by`. 157 StructuredQuery_FieldFilter_LESS_THAN_OR_EQUAL StructuredQuery_FieldFilter_Operator = 2 158 // Greater than. Requires that the field come first in `order_by`. 159 StructuredQuery_FieldFilter_GREATER_THAN StructuredQuery_FieldFilter_Operator = 3 160 // Greater than or equal. Requires that the field come first in 161 // `order_by`. 162 StructuredQuery_FieldFilter_GREATER_THAN_OR_EQUAL StructuredQuery_FieldFilter_Operator = 4 163 // Equal. 164 StructuredQuery_FieldFilter_EQUAL StructuredQuery_FieldFilter_Operator = 5 165 // Contains. Requires that the field is an array. 166 StructuredQuery_FieldFilter_ARRAY_CONTAINS StructuredQuery_FieldFilter_Operator = 7 167 // In. Requires that `value` is a non-empty ArrayValue with at most 10 168 // values. 169 StructuredQuery_FieldFilter_IN StructuredQuery_FieldFilter_Operator = 8 170 // Contains any. Requires that the field is an array and 171 // `value` is a non-empty ArrayValue with at most 10 values. 172 StructuredQuery_FieldFilter_ARRAY_CONTAINS_ANY StructuredQuery_FieldFilter_Operator = 9 173) 174 175// Enum value maps for StructuredQuery_FieldFilter_Operator. 176var ( 177 StructuredQuery_FieldFilter_Operator_name = map[int32]string{ 178 0: "OPERATOR_UNSPECIFIED", 179 1: "LESS_THAN", 180 2: "LESS_THAN_OR_EQUAL", 181 3: "GREATER_THAN", 182 4: "GREATER_THAN_OR_EQUAL", 183 5: "EQUAL", 184 7: "ARRAY_CONTAINS", 185 8: "IN", 186 9: "ARRAY_CONTAINS_ANY", 187 } 188 StructuredQuery_FieldFilter_Operator_value = map[string]int32{ 189 "OPERATOR_UNSPECIFIED": 0, 190 "LESS_THAN": 1, 191 "LESS_THAN_OR_EQUAL": 2, 192 "GREATER_THAN": 3, 193 "GREATER_THAN_OR_EQUAL": 4, 194 "EQUAL": 5, 195 "ARRAY_CONTAINS": 7, 196 "IN": 8, 197 "ARRAY_CONTAINS_ANY": 9, 198 } 199) 200 201func (x StructuredQuery_FieldFilter_Operator) Enum() *StructuredQuery_FieldFilter_Operator { 202 p := new(StructuredQuery_FieldFilter_Operator) 203 *p = x 204 return p 205} 206 207func (x StructuredQuery_FieldFilter_Operator) String() string { 208 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 209} 210 211func (StructuredQuery_FieldFilter_Operator) Descriptor() protoreflect.EnumDescriptor { 212 return file_google_firestore_v1beta1_query_proto_enumTypes[2].Descriptor() 213} 214 215func (StructuredQuery_FieldFilter_Operator) Type() protoreflect.EnumType { 216 return &file_google_firestore_v1beta1_query_proto_enumTypes[2] 217} 218 219func (x StructuredQuery_FieldFilter_Operator) Number() protoreflect.EnumNumber { 220 return protoreflect.EnumNumber(x) 221} 222 223// Deprecated: Use StructuredQuery_FieldFilter_Operator.Descriptor instead. 224func (StructuredQuery_FieldFilter_Operator) EnumDescriptor() ([]byte, []int) { 225 return file_google_firestore_v1beta1_query_proto_rawDescGZIP(), []int{0, 3, 0} 226} 227 228// A unary operator. 229type StructuredQuery_UnaryFilter_Operator int32 230 231const ( 232 // Unspecified. This value must not be used. 233 StructuredQuery_UnaryFilter_OPERATOR_UNSPECIFIED StructuredQuery_UnaryFilter_Operator = 0 234 // Test if a field is equal to NaN. 235 StructuredQuery_UnaryFilter_IS_NAN StructuredQuery_UnaryFilter_Operator = 2 236 // Test if an expression evaluates to Null. 237 StructuredQuery_UnaryFilter_IS_NULL StructuredQuery_UnaryFilter_Operator = 3 238) 239 240// Enum value maps for StructuredQuery_UnaryFilter_Operator. 241var ( 242 StructuredQuery_UnaryFilter_Operator_name = map[int32]string{ 243 0: "OPERATOR_UNSPECIFIED", 244 2: "IS_NAN", 245 3: "IS_NULL", 246 } 247 StructuredQuery_UnaryFilter_Operator_value = map[string]int32{ 248 "OPERATOR_UNSPECIFIED": 0, 249 "IS_NAN": 2, 250 "IS_NULL": 3, 251 } 252) 253 254func (x StructuredQuery_UnaryFilter_Operator) Enum() *StructuredQuery_UnaryFilter_Operator { 255 p := new(StructuredQuery_UnaryFilter_Operator) 256 *p = x 257 return p 258} 259 260func (x StructuredQuery_UnaryFilter_Operator) String() string { 261 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 262} 263 264func (StructuredQuery_UnaryFilter_Operator) Descriptor() protoreflect.EnumDescriptor { 265 return file_google_firestore_v1beta1_query_proto_enumTypes[3].Descriptor() 266} 267 268func (StructuredQuery_UnaryFilter_Operator) Type() protoreflect.EnumType { 269 return &file_google_firestore_v1beta1_query_proto_enumTypes[3] 270} 271 272func (x StructuredQuery_UnaryFilter_Operator) Number() protoreflect.EnumNumber { 273 return protoreflect.EnumNumber(x) 274} 275 276// Deprecated: Use StructuredQuery_UnaryFilter_Operator.Descriptor instead. 277func (StructuredQuery_UnaryFilter_Operator) EnumDescriptor() ([]byte, []int) { 278 return file_google_firestore_v1beta1_query_proto_rawDescGZIP(), []int{0, 4, 0} 279} 280 281// A Firestore query. 282type StructuredQuery struct { 283 state protoimpl.MessageState 284 sizeCache protoimpl.SizeCache 285 unknownFields protoimpl.UnknownFields 286 287 // The projection to return. 288 Select *StructuredQuery_Projection `protobuf:"bytes,1,opt,name=select,proto3" json:"select,omitempty"` 289 // The collections to query. 290 From []*StructuredQuery_CollectionSelector `protobuf:"bytes,2,rep,name=from,proto3" json:"from,omitempty"` 291 // The filter to apply. 292 Where *StructuredQuery_Filter `protobuf:"bytes,3,opt,name=where,proto3" json:"where,omitempty"` 293 // The order to apply to the query results. 294 // 295 // Firestore guarantees a stable ordering through the following rules: 296 // 297 // * Any field required to appear in `order_by`, that is not already 298 // specified in `order_by`, is appended to the order in field name order 299 // by default. 300 // * If an order on `__name__` is not specified, it is appended by default. 301 // 302 // Fields are appended with the same sort direction as the last order 303 // specified, or 'ASCENDING' if no order was specified. For example: 304 // 305 // * `SELECT * FROM Foo ORDER BY A` becomes 306 // `SELECT * FROM Foo ORDER BY A, __name__` 307 // * `SELECT * FROM Foo ORDER BY A DESC` becomes 308 // `SELECT * FROM Foo ORDER BY A DESC, __name__ DESC` 309 // * `SELECT * FROM Foo WHERE A > 1` becomes 310 // `SELECT * FROM Foo WHERE A > 1 ORDER BY A, __name__` 311 OrderBy []*StructuredQuery_Order `protobuf:"bytes,4,rep,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` 312 // A starting point for the query results. 313 StartAt *Cursor `protobuf:"bytes,7,opt,name=start_at,json=startAt,proto3" json:"start_at,omitempty"` 314 // A end point for the query results. 315 EndAt *Cursor `protobuf:"bytes,8,opt,name=end_at,json=endAt,proto3" json:"end_at,omitempty"` 316 // The number of results to skip. 317 // 318 // Applies before limit, but after all other constraints. Must be >= 0 if 319 // specified. 320 Offset int32 `protobuf:"varint,6,opt,name=offset,proto3" json:"offset,omitempty"` 321 // The maximum number of results to return. 322 // 323 // Applies after all other constraints. 324 // Must be >= 0 if specified. 325 Limit *wrappers.Int32Value `protobuf:"bytes,5,opt,name=limit,proto3" json:"limit,omitempty"` 326} 327 328func (x *StructuredQuery) Reset() { 329 *x = StructuredQuery{} 330 if protoimpl.UnsafeEnabled { 331 mi := &file_google_firestore_v1beta1_query_proto_msgTypes[0] 332 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 333 ms.StoreMessageInfo(mi) 334 } 335} 336 337func (x *StructuredQuery) String() string { 338 return protoimpl.X.MessageStringOf(x) 339} 340 341func (*StructuredQuery) ProtoMessage() {} 342 343func (x *StructuredQuery) ProtoReflect() protoreflect.Message { 344 mi := &file_google_firestore_v1beta1_query_proto_msgTypes[0] 345 if protoimpl.UnsafeEnabled && x != nil { 346 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 347 if ms.LoadMessageInfo() == nil { 348 ms.StoreMessageInfo(mi) 349 } 350 return ms 351 } 352 return mi.MessageOf(x) 353} 354 355// Deprecated: Use StructuredQuery.ProtoReflect.Descriptor instead. 356func (*StructuredQuery) Descriptor() ([]byte, []int) { 357 return file_google_firestore_v1beta1_query_proto_rawDescGZIP(), []int{0} 358} 359 360func (x *StructuredQuery) GetSelect() *StructuredQuery_Projection { 361 if x != nil { 362 return x.Select 363 } 364 return nil 365} 366 367func (x *StructuredQuery) GetFrom() []*StructuredQuery_CollectionSelector { 368 if x != nil { 369 return x.From 370 } 371 return nil 372} 373 374func (x *StructuredQuery) GetWhere() *StructuredQuery_Filter { 375 if x != nil { 376 return x.Where 377 } 378 return nil 379} 380 381func (x *StructuredQuery) GetOrderBy() []*StructuredQuery_Order { 382 if x != nil { 383 return x.OrderBy 384 } 385 return nil 386} 387 388func (x *StructuredQuery) GetStartAt() *Cursor { 389 if x != nil { 390 return x.StartAt 391 } 392 return nil 393} 394 395func (x *StructuredQuery) GetEndAt() *Cursor { 396 if x != nil { 397 return x.EndAt 398 } 399 return nil 400} 401 402func (x *StructuredQuery) GetOffset() int32 { 403 if x != nil { 404 return x.Offset 405 } 406 return 0 407} 408 409func (x *StructuredQuery) GetLimit() *wrappers.Int32Value { 410 if x != nil { 411 return x.Limit 412 } 413 return nil 414} 415 416// A position in a query result set. 417type Cursor struct { 418 state protoimpl.MessageState 419 sizeCache protoimpl.SizeCache 420 unknownFields protoimpl.UnknownFields 421 422 // The values that represent a position, in the order they appear in 423 // the order by clause of a query. 424 // 425 // Can contain fewer values than specified in the order by clause. 426 Values []*Value `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"` 427 // If the position is just before or just after the given values, relative 428 // to the sort order defined by the query. 429 Before bool `protobuf:"varint,2,opt,name=before,proto3" json:"before,omitempty"` 430} 431 432func (x *Cursor) Reset() { 433 *x = Cursor{} 434 if protoimpl.UnsafeEnabled { 435 mi := &file_google_firestore_v1beta1_query_proto_msgTypes[1] 436 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 437 ms.StoreMessageInfo(mi) 438 } 439} 440 441func (x *Cursor) String() string { 442 return protoimpl.X.MessageStringOf(x) 443} 444 445func (*Cursor) ProtoMessage() {} 446 447func (x *Cursor) ProtoReflect() protoreflect.Message { 448 mi := &file_google_firestore_v1beta1_query_proto_msgTypes[1] 449 if protoimpl.UnsafeEnabled && x != nil { 450 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 451 if ms.LoadMessageInfo() == nil { 452 ms.StoreMessageInfo(mi) 453 } 454 return ms 455 } 456 return mi.MessageOf(x) 457} 458 459// Deprecated: Use Cursor.ProtoReflect.Descriptor instead. 460func (*Cursor) Descriptor() ([]byte, []int) { 461 return file_google_firestore_v1beta1_query_proto_rawDescGZIP(), []int{1} 462} 463 464func (x *Cursor) GetValues() []*Value { 465 if x != nil { 466 return x.Values 467 } 468 return nil 469} 470 471func (x *Cursor) GetBefore() bool { 472 if x != nil { 473 return x.Before 474 } 475 return false 476} 477 478// A selection of a collection, such as `messages as m1`. 479type StructuredQuery_CollectionSelector struct { 480 state protoimpl.MessageState 481 sizeCache protoimpl.SizeCache 482 unknownFields protoimpl.UnknownFields 483 484 // The collection ID. 485 // When set, selects only collections with this ID. 486 CollectionId string `protobuf:"bytes,2,opt,name=collection_id,json=collectionId,proto3" json:"collection_id,omitempty"` 487 // When false, selects only collections that are immediate children of 488 // the `parent` specified in the containing `RunQueryRequest`. 489 // When true, selects all descendant collections. 490 AllDescendants bool `protobuf:"varint,3,opt,name=all_descendants,json=allDescendants,proto3" json:"all_descendants,omitempty"` 491} 492 493func (x *StructuredQuery_CollectionSelector) Reset() { 494 *x = StructuredQuery_CollectionSelector{} 495 if protoimpl.UnsafeEnabled { 496 mi := &file_google_firestore_v1beta1_query_proto_msgTypes[2] 497 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 498 ms.StoreMessageInfo(mi) 499 } 500} 501 502func (x *StructuredQuery_CollectionSelector) String() string { 503 return protoimpl.X.MessageStringOf(x) 504} 505 506func (*StructuredQuery_CollectionSelector) ProtoMessage() {} 507 508func (x *StructuredQuery_CollectionSelector) ProtoReflect() protoreflect.Message { 509 mi := &file_google_firestore_v1beta1_query_proto_msgTypes[2] 510 if protoimpl.UnsafeEnabled && x != nil { 511 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 512 if ms.LoadMessageInfo() == nil { 513 ms.StoreMessageInfo(mi) 514 } 515 return ms 516 } 517 return mi.MessageOf(x) 518} 519 520// Deprecated: Use StructuredQuery_CollectionSelector.ProtoReflect.Descriptor instead. 521func (*StructuredQuery_CollectionSelector) Descriptor() ([]byte, []int) { 522 return file_google_firestore_v1beta1_query_proto_rawDescGZIP(), []int{0, 0} 523} 524 525func (x *StructuredQuery_CollectionSelector) GetCollectionId() string { 526 if x != nil { 527 return x.CollectionId 528 } 529 return "" 530} 531 532func (x *StructuredQuery_CollectionSelector) GetAllDescendants() bool { 533 if x != nil { 534 return x.AllDescendants 535 } 536 return false 537} 538 539// A filter. 540type StructuredQuery_Filter struct { 541 state protoimpl.MessageState 542 sizeCache protoimpl.SizeCache 543 unknownFields protoimpl.UnknownFields 544 545 // The type of filter. 546 // 547 // Types that are assignable to FilterType: 548 // *StructuredQuery_Filter_CompositeFilter 549 // *StructuredQuery_Filter_FieldFilter 550 // *StructuredQuery_Filter_UnaryFilter 551 FilterType isStructuredQuery_Filter_FilterType `protobuf_oneof:"filter_type"` 552} 553 554func (x *StructuredQuery_Filter) Reset() { 555 *x = StructuredQuery_Filter{} 556 if protoimpl.UnsafeEnabled { 557 mi := &file_google_firestore_v1beta1_query_proto_msgTypes[3] 558 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 559 ms.StoreMessageInfo(mi) 560 } 561} 562 563func (x *StructuredQuery_Filter) String() string { 564 return protoimpl.X.MessageStringOf(x) 565} 566 567func (*StructuredQuery_Filter) ProtoMessage() {} 568 569func (x *StructuredQuery_Filter) ProtoReflect() protoreflect.Message { 570 mi := &file_google_firestore_v1beta1_query_proto_msgTypes[3] 571 if protoimpl.UnsafeEnabled && x != nil { 572 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 573 if ms.LoadMessageInfo() == nil { 574 ms.StoreMessageInfo(mi) 575 } 576 return ms 577 } 578 return mi.MessageOf(x) 579} 580 581// Deprecated: Use StructuredQuery_Filter.ProtoReflect.Descriptor instead. 582func (*StructuredQuery_Filter) Descriptor() ([]byte, []int) { 583 return file_google_firestore_v1beta1_query_proto_rawDescGZIP(), []int{0, 1} 584} 585 586func (m *StructuredQuery_Filter) GetFilterType() isStructuredQuery_Filter_FilterType { 587 if m != nil { 588 return m.FilterType 589 } 590 return nil 591} 592 593func (x *StructuredQuery_Filter) GetCompositeFilter() *StructuredQuery_CompositeFilter { 594 if x, ok := x.GetFilterType().(*StructuredQuery_Filter_CompositeFilter); ok { 595 return x.CompositeFilter 596 } 597 return nil 598} 599 600func (x *StructuredQuery_Filter) GetFieldFilter() *StructuredQuery_FieldFilter { 601 if x, ok := x.GetFilterType().(*StructuredQuery_Filter_FieldFilter); ok { 602 return x.FieldFilter 603 } 604 return nil 605} 606 607func (x *StructuredQuery_Filter) GetUnaryFilter() *StructuredQuery_UnaryFilter { 608 if x, ok := x.GetFilterType().(*StructuredQuery_Filter_UnaryFilter); ok { 609 return x.UnaryFilter 610 } 611 return nil 612} 613 614type isStructuredQuery_Filter_FilterType interface { 615 isStructuredQuery_Filter_FilterType() 616} 617 618type StructuredQuery_Filter_CompositeFilter struct { 619 // A composite filter. 620 CompositeFilter *StructuredQuery_CompositeFilter `protobuf:"bytes,1,opt,name=composite_filter,json=compositeFilter,proto3,oneof"` 621} 622 623type StructuredQuery_Filter_FieldFilter struct { 624 // A filter on a document field. 625 FieldFilter *StructuredQuery_FieldFilter `protobuf:"bytes,2,opt,name=field_filter,json=fieldFilter,proto3,oneof"` 626} 627 628type StructuredQuery_Filter_UnaryFilter struct { 629 // A filter that takes exactly one argument. 630 UnaryFilter *StructuredQuery_UnaryFilter `protobuf:"bytes,3,opt,name=unary_filter,json=unaryFilter,proto3,oneof"` 631} 632 633func (*StructuredQuery_Filter_CompositeFilter) isStructuredQuery_Filter_FilterType() {} 634 635func (*StructuredQuery_Filter_FieldFilter) isStructuredQuery_Filter_FilterType() {} 636 637func (*StructuredQuery_Filter_UnaryFilter) isStructuredQuery_Filter_FilterType() {} 638 639// A filter that merges multiple other filters using the given operator. 640type StructuredQuery_CompositeFilter struct { 641 state protoimpl.MessageState 642 sizeCache protoimpl.SizeCache 643 unknownFields protoimpl.UnknownFields 644 645 // The operator for combining multiple filters. 646 Op StructuredQuery_CompositeFilter_Operator `protobuf:"varint,1,opt,name=op,proto3,enum=google.firestore.v1beta1.StructuredQuery_CompositeFilter_Operator" json:"op,omitempty"` 647 // The list of filters to combine. 648 // Must contain at least one filter. 649 Filters []*StructuredQuery_Filter `protobuf:"bytes,2,rep,name=filters,proto3" json:"filters,omitempty"` 650} 651 652func (x *StructuredQuery_CompositeFilter) Reset() { 653 *x = StructuredQuery_CompositeFilter{} 654 if protoimpl.UnsafeEnabled { 655 mi := &file_google_firestore_v1beta1_query_proto_msgTypes[4] 656 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 657 ms.StoreMessageInfo(mi) 658 } 659} 660 661func (x *StructuredQuery_CompositeFilter) String() string { 662 return protoimpl.X.MessageStringOf(x) 663} 664 665func (*StructuredQuery_CompositeFilter) ProtoMessage() {} 666 667func (x *StructuredQuery_CompositeFilter) ProtoReflect() protoreflect.Message { 668 mi := &file_google_firestore_v1beta1_query_proto_msgTypes[4] 669 if protoimpl.UnsafeEnabled && x != nil { 670 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 671 if ms.LoadMessageInfo() == nil { 672 ms.StoreMessageInfo(mi) 673 } 674 return ms 675 } 676 return mi.MessageOf(x) 677} 678 679// Deprecated: Use StructuredQuery_CompositeFilter.ProtoReflect.Descriptor instead. 680func (*StructuredQuery_CompositeFilter) Descriptor() ([]byte, []int) { 681 return file_google_firestore_v1beta1_query_proto_rawDescGZIP(), []int{0, 2} 682} 683 684func (x *StructuredQuery_CompositeFilter) GetOp() StructuredQuery_CompositeFilter_Operator { 685 if x != nil { 686 return x.Op 687 } 688 return StructuredQuery_CompositeFilter_OPERATOR_UNSPECIFIED 689} 690 691func (x *StructuredQuery_CompositeFilter) GetFilters() []*StructuredQuery_Filter { 692 if x != nil { 693 return x.Filters 694 } 695 return nil 696} 697 698// A filter on a specific field. 699type StructuredQuery_FieldFilter struct { 700 state protoimpl.MessageState 701 sizeCache protoimpl.SizeCache 702 unknownFields protoimpl.UnknownFields 703 704 // The field to filter by. 705 Field *StructuredQuery_FieldReference `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"` 706 // The operator to filter by. 707 Op StructuredQuery_FieldFilter_Operator `protobuf:"varint,2,opt,name=op,proto3,enum=google.firestore.v1beta1.StructuredQuery_FieldFilter_Operator" json:"op,omitempty"` 708 // The value to compare to. 709 Value *Value `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` 710} 711 712func (x *StructuredQuery_FieldFilter) Reset() { 713 *x = StructuredQuery_FieldFilter{} 714 if protoimpl.UnsafeEnabled { 715 mi := &file_google_firestore_v1beta1_query_proto_msgTypes[5] 716 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 717 ms.StoreMessageInfo(mi) 718 } 719} 720 721func (x *StructuredQuery_FieldFilter) String() string { 722 return protoimpl.X.MessageStringOf(x) 723} 724 725func (*StructuredQuery_FieldFilter) ProtoMessage() {} 726 727func (x *StructuredQuery_FieldFilter) ProtoReflect() protoreflect.Message { 728 mi := &file_google_firestore_v1beta1_query_proto_msgTypes[5] 729 if protoimpl.UnsafeEnabled && x != nil { 730 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 731 if ms.LoadMessageInfo() == nil { 732 ms.StoreMessageInfo(mi) 733 } 734 return ms 735 } 736 return mi.MessageOf(x) 737} 738 739// Deprecated: Use StructuredQuery_FieldFilter.ProtoReflect.Descriptor instead. 740func (*StructuredQuery_FieldFilter) Descriptor() ([]byte, []int) { 741 return file_google_firestore_v1beta1_query_proto_rawDescGZIP(), []int{0, 3} 742} 743 744func (x *StructuredQuery_FieldFilter) GetField() *StructuredQuery_FieldReference { 745 if x != nil { 746 return x.Field 747 } 748 return nil 749} 750 751func (x *StructuredQuery_FieldFilter) GetOp() StructuredQuery_FieldFilter_Operator { 752 if x != nil { 753 return x.Op 754 } 755 return StructuredQuery_FieldFilter_OPERATOR_UNSPECIFIED 756} 757 758func (x *StructuredQuery_FieldFilter) GetValue() *Value { 759 if x != nil { 760 return x.Value 761 } 762 return nil 763} 764 765// A filter with a single operand. 766type StructuredQuery_UnaryFilter struct { 767 state protoimpl.MessageState 768 sizeCache protoimpl.SizeCache 769 unknownFields protoimpl.UnknownFields 770 771 // The unary operator to apply. 772 Op StructuredQuery_UnaryFilter_Operator `protobuf:"varint,1,opt,name=op,proto3,enum=google.firestore.v1beta1.StructuredQuery_UnaryFilter_Operator" json:"op,omitempty"` 773 // The argument to the filter. 774 // 775 // Types that are assignable to OperandType: 776 // *StructuredQuery_UnaryFilter_Field 777 OperandType isStructuredQuery_UnaryFilter_OperandType `protobuf_oneof:"operand_type"` 778} 779 780func (x *StructuredQuery_UnaryFilter) Reset() { 781 *x = StructuredQuery_UnaryFilter{} 782 if protoimpl.UnsafeEnabled { 783 mi := &file_google_firestore_v1beta1_query_proto_msgTypes[6] 784 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 785 ms.StoreMessageInfo(mi) 786 } 787} 788 789func (x *StructuredQuery_UnaryFilter) String() string { 790 return protoimpl.X.MessageStringOf(x) 791} 792 793func (*StructuredQuery_UnaryFilter) ProtoMessage() {} 794 795func (x *StructuredQuery_UnaryFilter) ProtoReflect() protoreflect.Message { 796 mi := &file_google_firestore_v1beta1_query_proto_msgTypes[6] 797 if protoimpl.UnsafeEnabled && x != nil { 798 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 799 if ms.LoadMessageInfo() == nil { 800 ms.StoreMessageInfo(mi) 801 } 802 return ms 803 } 804 return mi.MessageOf(x) 805} 806 807// Deprecated: Use StructuredQuery_UnaryFilter.ProtoReflect.Descriptor instead. 808func (*StructuredQuery_UnaryFilter) Descriptor() ([]byte, []int) { 809 return file_google_firestore_v1beta1_query_proto_rawDescGZIP(), []int{0, 4} 810} 811 812func (x *StructuredQuery_UnaryFilter) GetOp() StructuredQuery_UnaryFilter_Operator { 813 if x != nil { 814 return x.Op 815 } 816 return StructuredQuery_UnaryFilter_OPERATOR_UNSPECIFIED 817} 818 819func (m *StructuredQuery_UnaryFilter) GetOperandType() isStructuredQuery_UnaryFilter_OperandType { 820 if m != nil { 821 return m.OperandType 822 } 823 return nil 824} 825 826func (x *StructuredQuery_UnaryFilter) GetField() *StructuredQuery_FieldReference { 827 if x, ok := x.GetOperandType().(*StructuredQuery_UnaryFilter_Field); ok { 828 return x.Field 829 } 830 return nil 831} 832 833type isStructuredQuery_UnaryFilter_OperandType interface { 834 isStructuredQuery_UnaryFilter_OperandType() 835} 836 837type StructuredQuery_UnaryFilter_Field struct { 838 // The field to which to apply the operator. 839 Field *StructuredQuery_FieldReference `protobuf:"bytes,2,opt,name=field,proto3,oneof"` 840} 841 842func (*StructuredQuery_UnaryFilter_Field) isStructuredQuery_UnaryFilter_OperandType() {} 843 844// An order on a field. 845type StructuredQuery_Order struct { 846 state protoimpl.MessageState 847 sizeCache protoimpl.SizeCache 848 unknownFields protoimpl.UnknownFields 849 850 // The field to order by. 851 Field *StructuredQuery_FieldReference `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"` 852 // The direction to order by. Defaults to `ASCENDING`. 853 Direction StructuredQuery_Direction `protobuf:"varint,2,opt,name=direction,proto3,enum=google.firestore.v1beta1.StructuredQuery_Direction" json:"direction,omitempty"` 854} 855 856func (x *StructuredQuery_Order) Reset() { 857 *x = StructuredQuery_Order{} 858 if protoimpl.UnsafeEnabled { 859 mi := &file_google_firestore_v1beta1_query_proto_msgTypes[7] 860 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 861 ms.StoreMessageInfo(mi) 862 } 863} 864 865func (x *StructuredQuery_Order) String() string { 866 return protoimpl.X.MessageStringOf(x) 867} 868 869func (*StructuredQuery_Order) ProtoMessage() {} 870 871func (x *StructuredQuery_Order) ProtoReflect() protoreflect.Message { 872 mi := &file_google_firestore_v1beta1_query_proto_msgTypes[7] 873 if protoimpl.UnsafeEnabled && x != nil { 874 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 875 if ms.LoadMessageInfo() == nil { 876 ms.StoreMessageInfo(mi) 877 } 878 return ms 879 } 880 return mi.MessageOf(x) 881} 882 883// Deprecated: Use StructuredQuery_Order.ProtoReflect.Descriptor instead. 884func (*StructuredQuery_Order) Descriptor() ([]byte, []int) { 885 return file_google_firestore_v1beta1_query_proto_rawDescGZIP(), []int{0, 5} 886} 887 888func (x *StructuredQuery_Order) GetField() *StructuredQuery_FieldReference { 889 if x != nil { 890 return x.Field 891 } 892 return nil 893} 894 895func (x *StructuredQuery_Order) GetDirection() StructuredQuery_Direction { 896 if x != nil { 897 return x.Direction 898 } 899 return StructuredQuery_DIRECTION_UNSPECIFIED 900} 901 902// A reference to a field, such as `max(messages.time) as max_time`. 903type StructuredQuery_FieldReference struct { 904 state protoimpl.MessageState 905 sizeCache protoimpl.SizeCache 906 unknownFields protoimpl.UnknownFields 907 908 FieldPath string `protobuf:"bytes,2,opt,name=field_path,json=fieldPath,proto3" json:"field_path,omitempty"` 909} 910 911func (x *StructuredQuery_FieldReference) Reset() { 912 *x = StructuredQuery_FieldReference{} 913 if protoimpl.UnsafeEnabled { 914 mi := &file_google_firestore_v1beta1_query_proto_msgTypes[8] 915 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 916 ms.StoreMessageInfo(mi) 917 } 918} 919 920func (x *StructuredQuery_FieldReference) String() string { 921 return protoimpl.X.MessageStringOf(x) 922} 923 924func (*StructuredQuery_FieldReference) ProtoMessage() {} 925 926func (x *StructuredQuery_FieldReference) ProtoReflect() protoreflect.Message { 927 mi := &file_google_firestore_v1beta1_query_proto_msgTypes[8] 928 if protoimpl.UnsafeEnabled && x != nil { 929 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 930 if ms.LoadMessageInfo() == nil { 931 ms.StoreMessageInfo(mi) 932 } 933 return ms 934 } 935 return mi.MessageOf(x) 936} 937 938// Deprecated: Use StructuredQuery_FieldReference.ProtoReflect.Descriptor instead. 939func (*StructuredQuery_FieldReference) Descriptor() ([]byte, []int) { 940 return file_google_firestore_v1beta1_query_proto_rawDescGZIP(), []int{0, 6} 941} 942 943func (x *StructuredQuery_FieldReference) GetFieldPath() string { 944 if x != nil { 945 return x.FieldPath 946 } 947 return "" 948} 949 950// The projection of document's fields to return. 951type StructuredQuery_Projection struct { 952 state protoimpl.MessageState 953 sizeCache protoimpl.SizeCache 954 unknownFields protoimpl.UnknownFields 955 956 // The fields to return. 957 // 958 // If empty, all fields are returned. To only return the name 959 // of the document, use `['__name__']`. 960 Fields []*StructuredQuery_FieldReference `protobuf:"bytes,2,rep,name=fields,proto3" json:"fields,omitempty"` 961} 962 963func (x *StructuredQuery_Projection) Reset() { 964 *x = StructuredQuery_Projection{} 965 if protoimpl.UnsafeEnabled { 966 mi := &file_google_firestore_v1beta1_query_proto_msgTypes[9] 967 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 968 ms.StoreMessageInfo(mi) 969 } 970} 971 972func (x *StructuredQuery_Projection) String() string { 973 return protoimpl.X.MessageStringOf(x) 974} 975 976func (*StructuredQuery_Projection) ProtoMessage() {} 977 978func (x *StructuredQuery_Projection) ProtoReflect() protoreflect.Message { 979 mi := &file_google_firestore_v1beta1_query_proto_msgTypes[9] 980 if protoimpl.UnsafeEnabled && x != nil { 981 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 982 if ms.LoadMessageInfo() == nil { 983 ms.StoreMessageInfo(mi) 984 } 985 return ms 986 } 987 return mi.MessageOf(x) 988} 989 990// Deprecated: Use StructuredQuery_Projection.ProtoReflect.Descriptor instead. 991func (*StructuredQuery_Projection) Descriptor() ([]byte, []int) { 992 return file_google_firestore_v1beta1_query_proto_rawDescGZIP(), []int{0, 7} 993} 994 995func (x *StructuredQuery_Projection) GetFields() []*StructuredQuery_FieldReference { 996 if x != nil { 997 return x.Fields 998 } 999 return nil 1000} 1001 1002var File_google_firestore_v1beta1_query_proto protoreflect.FileDescriptor 1003 1004var file_google_firestore_v1beta1_query_proto_rawDesc = []byte{ 1005 0x0a, 0x24, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 1006 0x72, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x71, 0x75, 0x65, 0x72, 0x79, 1007 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 1008 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 1009 0x1a, 0x27, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 1010 0x72, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 1011 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1012 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 1013 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1014 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 1015 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xae, 0x11, 0x0a, 0x0f, 0x53, 0x74, 0x72, 0x75, 1016 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x4c, 0x0a, 0x06, 0x73, 1017 0x65, 0x6c, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 1018 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 1019 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 1020 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 1021 0x6e, 0x52, 0x06, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x50, 0x0a, 0x04, 0x66, 0x72, 0x6f, 1022 0x6d, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1023 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 1024 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x51, 0x75, 0x65, 1025 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x6c, 1026 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x46, 0x0a, 0x05, 0x77, 1027 0x68, 0x65, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 1028 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 1029 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 1030 0x51, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x05, 0x77, 0x68, 1031 0x65, 0x72, 0x65, 0x12, 0x4a, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 1032 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 1033 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 1034 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 1035 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 1036 0x3b, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 1037 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 1038 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x75, 0x72, 1039 0x73, 0x6f, 0x72, 0x52, 0x07, 0x73, 0x74, 0x61, 0x72, 0x74, 0x41, 0x74, 0x12, 0x37, 0x0a, 0x06, 1040 0x65, 0x6e, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 1041 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 1042 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x52, 0x05, 1043 0x65, 0x6e, 0x64, 0x41, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 1044 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x31, 0x0a, 1045 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 1046 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 1047 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 1048 0x1a, 0x62, 0x0a, 0x12, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 1049 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 1050 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 1051 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 1052 0x6c, 0x6c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x03, 1053 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x6c, 0x6c, 0x44, 0x65, 0x73, 0x63, 0x65, 0x6e, 0x64, 1054 0x61, 0x6e, 0x74, 0x73, 0x1a, 0xb7, 0x02, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 1055 0x66, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 1056 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 1057 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 1058 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x51, 1059 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, 0x46, 0x69, 1060 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 1061 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x5a, 0x0a, 0x0c, 0x66, 0x69, 0x65, 0x6c, 0x64, 1062 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 1063 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 1064 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 1065 0x72, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x46, 0x69, 1066 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0b, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x46, 0x69, 0x6c, 1067 0x74, 0x65, 0x72, 0x12, 0x5a, 0x0a, 0x0c, 0x75, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x66, 0x69, 0x6c, 1068 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 1069 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 1070 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x51, 1071 0x75, 0x65, 0x72, 0x79, 0x2e, 0x55, 0x6e, 0x61, 0x72, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 1072 0x48, 0x00, 0x52, 0x0b, 0x75, 0x6e, 0x61, 0x72, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 1073 0x0d, 0x0a, 0x0b, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x1a, 0xe0, 1074 0x01, 0x0a, 0x0f, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x74, 1075 0x65, 0x72, 0x12, 0x52, 0x0a, 0x02, 0x6f, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x42, 1076 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 1077 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 1078 0x75, 0x72, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 1079 0x69, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 1080 0x6f, 0x72, 0x52, 0x02, 0x6f, 0x70, 0x12, 0x4a, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 1081 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1082 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 1083 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x51, 0x75, 0x65, 1084 0x72, 0x79, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 1085 0x72, 0x73, 0x22, 0x2d, 0x0a, 0x08, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 1086 0x0a, 0x14, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 1087 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4e, 0x44, 0x10, 1088 0x01, 0x1a, 0x9e, 0x03, 0x0a, 0x0b, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, 1089 0x72, 0x12, 0x4e, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 1090 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 1091 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x75, 1092 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x69, 0x65, 0x6c, 1093 0x64, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 1094 0x64, 0x12, 0x4e, 0x0a, 0x02, 0x6f, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3e, 0x2e, 1095 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 1096 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 1097 0x72, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x46, 0x69, 1098 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x02, 0x6f, 1099 0x70, 0x12, 0x35, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 1100 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 1101 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x75, 1102 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xb7, 0x01, 0x0a, 0x08, 0x4f, 0x70, 0x65, 1103 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x14, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x4f, 1104 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 1105 0x0d, 0x0a, 0x09, 0x4c, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x10, 0x01, 0x12, 0x16, 1106 0x0a, 0x12, 0x4c, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x5f, 0x4f, 0x52, 0x5f, 0x45, 1107 0x51, 0x55, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 1108 0x52, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x10, 0x03, 0x12, 0x19, 0x0a, 0x15, 0x47, 0x52, 0x45, 0x41, 1109 0x54, 0x45, 0x52, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x5f, 0x4f, 0x52, 0x5f, 0x45, 0x51, 0x55, 0x41, 1110 0x4c, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x10, 0x05, 0x12, 0x12, 1111 0x0a, 0x0e, 0x41, 0x52, 0x52, 0x41, 0x59, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x53, 1112 0x10, 0x07, 0x12, 0x06, 0x0a, 0x02, 0x49, 0x4e, 0x10, 0x08, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x52, 1113 0x52, 0x41, 0x59, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x53, 0x5f, 0x41, 0x4e, 0x59, 1114 0x10, 0x09, 0x1a, 0xfe, 0x01, 0x0a, 0x0b, 0x55, 0x6e, 0x61, 0x72, 0x79, 0x46, 0x69, 0x6c, 0x74, 1115 0x65, 0x72, 0x12, 0x4e, 0x0a, 0x02, 0x6f, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3e, 1116 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 1117 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 1118 0x75, 0x72, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x55, 0x6e, 0x61, 0x72, 0x79, 0x46, 1119 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x02, 1120 0x6f, 0x70, 0x12, 0x50, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 1121 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 1122 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 1123 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x69, 0x65, 1124 0x6c, 0x64, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x48, 0x00, 0x52, 0x05, 0x66, 1125 0x69, 0x65, 0x6c, 0x64, 0x22, 0x3d, 0x0a, 0x08, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 1126 0x12, 0x18, 0x0a, 0x14, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x53, 1127 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x49, 0x53, 1128 0x5f, 0x4e, 0x41, 0x4e, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x53, 0x5f, 0x4e, 0x55, 0x4c, 1129 0x4c, 0x10, 0x03, 0x42, 0x0e, 0x0a, 0x0c, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x5f, 0x74, 1130 0x79, 0x70, 0x65, 0x1a, 0xaa, 0x01, 0x0a, 0x05, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x4e, 0x0a, 1131 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 1132 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 1133 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 1134 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x65, 0x66, 1135 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x51, 0x0a, 1136 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 1137 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 1138 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x75, 1139 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x69, 0x72, 0x65, 1140 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 1141 0x1a, 0x2f, 0x0a, 0x0e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 1142 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 1143 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x50, 0x61, 0x74, 1144 0x68, 0x1a, 0x5e, 0x0a, 0x0a, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 1145 0x50, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 1146 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 1147 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 1148 0x74, 0x75, 0x72, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 1149 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 1150 0x73, 0x22, 0x45, 0x0a, 0x09, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 1151 0x0a, 0x15, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 1152 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x53, 0x43, 1153 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x45, 0x53, 0x43, 1154 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x22, 0x59, 0x0a, 0x06, 0x43, 0x75, 0x72, 0x73, 1155 0x6f, 0x72, 0x12, 0x37, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 1156 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 1157 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x56, 0x61, 1158 0x6c, 0x75, 0x65, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x62, 1159 0x65, 0x66, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x62, 0x65, 0x66, 1160 0x6f, 0x72, 0x65, 0x42, 0xb8, 0x01, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 1161 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 1162 0x65, 0x74, 0x61, 0x31, 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 1163 0x50, 0x01, 0x5a, 0x41, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 1164 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 1165 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 1166 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x66, 0x69, 0x72, 0x65, 1167 0x73, 0x74, 0x6f, 0x72, 0x65, 0xa2, 0x02, 0x04, 0x47, 0x43, 0x46, 0x53, 0xaa, 0x02, 0x1e, 0x47, 1168 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x46, 0x69, 0x72, 0x65, 1169 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1e, 1170 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x46, 0x69, 0x72, 1171 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 1172 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 1173} 1174 1175var ( 1176 file_google_firestore_v1beta1_query_proto_rawDescOnce sync.Once 1177 file_google_firestore_v1beta1_query_proto_rawDescData = file_google_firestore_v1beta1_query_proto_rawDesc 1178) 1179 1180func file_google_firestore_v1beta1_query_proto_rawDescGZIP() []byte { 1181 file_google_firestore_v1beta1_query_proto_rawDescOnce.Do(func() { 1182 file_google_firestore_v1beta1_query_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_firestore_v1beta1_query_proto_rawDescData) 1183 }) 1184 return file_google_firestore_v1beta1_query_proto_rawDescData 1185} 1186 1187var file_google_firestore_v1beta1_query_proto_enumTypes = make([]protoimpl.EnumInfo, 4) 1188var file_google_firestore_v1beta1_query_proto_msgTypes = make([]protoimpl.MessageInfo, 10) 1189var file_google_firestore_v1beta1_query_proto_goTypes = []interface{}{ 1190 (StructuredQuery_Direction)(0), // 0: google.firestore.v1beta1.StructuredQuery.Direction 1191 (StructuredQuery_CompositeFilter_Operator)(0), // 1: google.firestore.v1beta1.StructuredQuery.CompositeFilter.Operator 1192 (StructuredQuery_FieldFilter_Operator)(0), // 2: google.firestore.v1beta1.StructuredQuery.FieldFilter.Operator 1193 (StructuredQuery_UnaryFilter_Operator)(0), // 3: google.firestore.v1beta1.StructuredQuery.UnaryFilter.Operator 1194 (*StructuredQuery)(nil), // 4: google.firestore.v1beta1.StructuredQuery 1195 (*Cursor)(nil), // 5: google.firestore.v1beta1.Cursor 1196 (*StructuredQuery_CollectionSelector)(nil), // 6: google.firestore.v1beta1.StructuredQuery.CollectionSelector 1197 (*StructuredQuery_Filter)(nil), // 7: google.firestore.v1beta1.StructuredQuery.Filter 1198 (*StructuredQuery_CompositeFilter)(nil), // 8: google.firestore.v1beta1.StructuredQuery.CompositeFilter 1199 (*StructuredQuery_FieldFilter)(nil), // 9: google.firestore.v1beta1.StructuredQuery.FieldFilter 1200 (*StructuredQuery_UnaryFilter)(nil), // 10: google.firestore.v1beta1.StructuredQuery.UnaryFilter 1201 (*StructuredQuery_Order)(nil), // 11: google.firestore.v1beta1.StructuredQuery.Order 1202 (*StructuredQuery_FieldReference)(nil), // 12: google.firestore.v1beta1.StructuredQuery.FieldReference 1203 (*StructuredQuery_Projection)(nil), // 13: google.firestore.v1beta1.StructuredQuery.Projection 1204 (*wrappers.Int32Value)(nil), // 14: google.protobuf.Int32Value 1205 (*Value)(nil), // 15: google.firestore.v1beta1.Value 1206} 1207var file_google_firestore_v1beta1_query_proto_depIdxs = []int32{ 1208 13, // 0: google.firestore.v1beta1.StructuredQuery.select:type_name -> google.firestore.v1beta1.StructuredQuery.Projection 1209 6, // 1: google.firestore.v1beta1.StructuredQuery.from:type_name -> google.firestore.v1beta1.StructuredQuery.CollectionSelector 1210 7, // 2: google.firestore.v1beta1.StructuredQuery.where:type_name -> google.firestore.v1beta1.StructuredQuery.Filter 1211 11, // 3: google.firestore.v1beta1.StructuredQuery.order_by:type_name -> google.firestore.v1beta1.StructuredQuery.Order 1212 5, // 4: google.firestore.v1beta1.StructuredQuery.start_at:type_name -> google.firestore.v1beta1.Cursor 1213 5, // 5: google.firestore.v1beta1.StructuredQuery.end_at:type_name -> google.firestore.v1beta1.Cursor 1214 14, // 6: google.firestore.v1beta1.StructuredQuery.limit:type_name -> google.protobuf.Int32Value 1215 15, // 7: google.firestore.v1beta1.Cursor.values:type_name -> google.firestore.v1beta1.Value 1216 8, // 8: google.firestore.v1beta1.StructuredQuery.Filter.composite_filter:type_name -> google.firestore.v1beta1.StructuredQuery.CompositeFilter 1217 9, // 9: google.firestore.v1beta1.StructuredQuery.Filter.field_filter:type_name -> google.firestore.v1beta1.StructuredQuery.FieldFilter 1218 10, // 10: google.firestore.v1beta1.StructuredQuery.Filter.unary_filter:type_name -> google.firestore.v1beta1.StructuredQuery.UnaryFilter 1219 1, // 11: google.firestore.v1beta1.StructuredQuery.CompositeFilter.op:type_name -> google.firestore.v1beta1.StructuredQuery.CompositeFilter.Operator 1220 7, // 12: google.firestore.v1beta1.StructuredQuery.CompositeFilter.filters:type_name -> google.firestore.v1beta1.StructuredQuery.Filter 1221 12, // 13: google.firestore.v1beta1.StructuredQuery.FieldFilter.field:type_name -> google.firestore.v1beta1.StructuredQuery.FieldReference 1222 2, // 14: google.firestore.v1beta1.StructuredQuery.FieldFilter.op:type_name -> google.firestore.v1beta1.StructuredQuery.FieldFilter.Operator 1223 15, // 15: google.firestore.v1beta1.StructuredQuery.FieldFilter.value:type_name -> google.firestore.v1beta1.Value 1224 3, // 16: google.firestore.v1beta1.StructuredQuery.UnaryFilter.op:type_name -> google.firestore.v1beta1.StructuredQuery.UnaryFilter.Operator 1225 12, // 17: google.firestore.v1beta1.StructuredQuery.UnaryFilter.field:type_name -> google.firestore.v1beta1.StructuredQuery.FieldReference 1226 12, // 18: google.firestore.v1beta1.StructuredQuery.Order.field:type_name -> google.firestore.v1beta1.StructuredQuery.FieldReference 1227 0, // 19: google.firestore.v1beta1.StructuredQuery.Order.direction:type_name -> google.firestore.v1beta1.StructuredQuery.Direction 1228 12, // 20: google.firestore.v1beta1.StructuredQuery.Projection.fields:type_name -> google.firestore.v1beta1.StructuredQuery.FieldReference 1229 21, // [21:21] is the sub-list for method output_type 1230 21, // [21:21] is the sub-list for method input_type 1231 21, // [21:21] is the sub-list for extension type_name 1232 21, // [21:21] is the sub-list for extension extendee 1233 0, // [0:21] is the sub-list for field type_name 1234} 1235 1236func init() { file_google_firestore_v1beta1_query_proto_init() } 1237func file_google_firestore_v1beta1_query_proto_init() { 1238 if File_google_firestore_v1beta1_query_proto != nil { 1239 return 1240 } 1241 file_google_firestore_v1beta1_document_proto_init() 1242 if !protoimpl.UnsafeEnabled { 1243 file_google_firestore_v1beta1_query_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 1244 switch v := v.(*StructuredQuery); i { 1245 case 0: 1246 return &v.state 1247 case 1: 1248 return &v.sizeCache 1249 case 2: 1250 return &v.unknownFields 1251 default: 1252 return nil 1253 } 1254 } 1255 file_google_firestore_v1beta1_query_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 1256 switch v := v.(*Cursor); i { 1257 case 0: 1258 return &v.state 1259 case 1: 1260 return &v.sizeCache 1261 case 2: 1262 return &v.unknownFields 1263 default: 1264 return nil 1265 } 1266 } 1267 file_google_firestore_v1beta1_query_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 1268 switch v := v.(*StructuredQuery_CollectionSelector); i { 1269 case 0: 1270 return &v.state 1271 case 1: 1272 return &v.sizeCache 1273 case 2: 1274 return &v.unknownFields 1275 default: 1276 return nil 1277 } 1278 } 1279 file_google_firestore_v1beta1_query_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 1280 switch v := v.(*StructuredQuery_Filter); i { 1281 case 0: 1282 return &v.state 1283 case 1: 1284 return &v.sizeCache 1285 case 2: 1286 return &v.unknownFields 1287 default: 1288 return nil 1289 } 1290 } 1291 file_google_firestore_v1beta1_query_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 1292 switch v := v.(*StructuredQuery_CompositeFilter); i { 1293 case 0: 1294 return &v.state 1295 case 1: 1296 return &v.sizeCache 1297 case 2: 1298 return &v.unknownFields 1299 default: 1300 return nil 1301 } 1302 } 1303 file_google_firestore_v1beta1_query_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 1304 switch v := v.(*StructuredQuery_FieldFilter); i { 1305 case 0: 1306 return &v.state 1307 case 1: 1308 return &v.sizeCache 1309 case 2: 1310 return &v.unknownFields 1311 default: 1312 return nil 1313 } 1314 } 1315 file_google_firestore_v1beta1_query_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 1316 switch v := v.(*StructuredQuery_UnaryFilter); i { 1317 case 0: 1318 return &v.state 1319 case 1: 1320 return &v.sizeCache 1321 case 2: 1322 return &v.unknownFields 1323 default: 1324 return nil 1325 } 1326 } 1327 file_google_firestore_v1beta1_query_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 1328 switch v := v.(*StructuredQuery_Order); i { 1329 case 0: 1330 return &v.state 1331 case 1: 1332 return &v.sizeCache 1333 case 2: 1334 return &v.unknownFields 1335 default: 1336 return nil 1337 } 1338 } 1339 file_google_firestore_v1beta1_query_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 1340 switch v := v.(*StructuredQuery_FieldReference); i { 1341 case 0: 1342 return &v.state 1343 case 1: 1344 return &v.sizeCache 1345 case 2: 1346 return &v.unknownFields 1347 default: 1348 return nil 1349 } 1350 } 1351 file_google_firestore_v1beta1_query_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 1352 switch v := v.(*StructuredQuery_Projection); i { 1353 case 0: 1354 return &v.state 1355 case 1: 1356 return &v.sizeCache 1357 case 2: 1358 return &v.unknownFields 1359 default: 1360 return nil 1361 } 1362 } 1363 } 1364 file_google_firestore_v1beta1_query_proto_msgTypes[3].OneofWrappers = []interface{}{ 1365 (*StructuredQuery_Filter_CompositeFilter)(nil), 1366 (*StructuredQuery_Filter_FieldFilter)(nil), 1367 (*StructuredQuery_Filter_UnaryFilter)(nil), 1368 } 1369 file_google_firestore_v1beta1_query_proto_msgTypes[6].OneofWrappers = []interface{}{ 1370 (*StructuredQuery_UnaryFilter_Field)(nil), 1371 } 1372 type x struct{} 1373 out := protoimpl.TypeBuilder{ 1374 File: protoimpl.DescBuilder{ 1375 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 1376 RawDescriptor: file_google_firestore_v1beta1_query_proto_rawDesc, 1377 NumEnums: 4, 1378 NumMessages: 10, 1379 NumExtensions: 0, 1380 NumServices: 0, 1381 }, 1382 GoTypes: file_google_firestore_v1beta1_query_proto_goTypes, 1383 DependencyIndexes: file_google_firestore_v1beta1_query_proto_depIdxs, 1384 EnumInfos: file_google_firestore_v1beta1_query_proto_enumTypes, 1385 MessageInfos: file_google_firestore_v1beta1_query_proto_msgTypes, 1386 }.Build() 1387 File_google_firestore_v1beta1_query_proto = out.File 1388 file_google_firestore_v1beta1_query_proto_rawDesc = nil 1389 file_google_firestore_v1beta1_query_proto_goTypes = nil 1390 file_google_firestore_v1beta1_query_proto_depIdxs = nil 1391} 1392