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