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