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/firestore.proto 20 21package firestore 22 23import ( 24 context "context" 25 reflect "reflect" 26 sync "sync" 27 28 proto "github.com/golang/protobuf/proto" 29 _ "google.golang.org/genproto/googleapis/api/annotations" 30 status "google.golang.org/genproto/googleapis/rpc/status" 31 grpc "google.golang.org/grpc" 32 codes "google.golang.org/grpc/codes" 33 status1 "google.golang.org/grpc/status" 34 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 35 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 36 emptypb "google.golang.org/protobuf/types/known/emptypb" 37 timestamppb "google.golang.org/protobuf/types/known/timestamppb" 38) 39 40const ( 41 // Verify that this generated code is sufficiently up-to-date. 42 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 43 // Verify that runtime/protoimpl is sufficiently up-to-date. 44 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 45) 46 47// This is a compile-time assertion that a sufficiently up-to-date version 48// of the legacy proto package is being used. 49const _ = proto.ProtoPackageIsVersion4 50 51// The type of change. 52type TargetChange_TargetChangeType int32 53 54const ( 55 // No change has occurred. Used only to send an updated `resume_token`. 56 TargetChange_NO_CHANGE TargetChange_TargetChangeType = 0 57 // The targets have been added. 58 TargetChange_ADD TargetChange_TargetChangeType = 1 59 // The targets have been removed. 60 TargetChange_REMOVE TargetChange_TargetChangeType = 2 61 // The targets reflect all changes committed before the targets were added 62 // to the stream. 63 // 64 // This will be sent after or with a `read_time` that is greater than or 65 // equal to the time at which the targets were added. 66 // 67 // Listeners can wait for this change if read-after-write semantics 68 // are desired. 69 TargetChange_CURRENT TargetChange_TargetChangeType = 3 70 // The targets have been reset, and a new initial state for the targets 71 // will be returned in subsequent changes. 72 // 73 // After the initial state is complete, `CURRENT` will be returned even 74 // if the target was previously indicated to be `CURRENT`. 75 TargetChange_RESET TargetChange_TargetChangeType = 4 76) 77 78// Enum value maps for TargetChange_TargetChangeType. 79var ( 80 TargetChange_TargetChangeType_name = map[int32]string{ 81 0: "NO_CHANGE", 82 1: "ADD", 83 2: "REMOVE", 84 3: "CURRENT", 85 4: "RESET", 86 } 87 TargetChange_TargetChangeType_value = map[string]int32{ 88 "NO_CHANGE": 0, 89 "ADD": 1, 90 "REMOVE": 2, 91 "CURRENT": 3, 92 "RESET": 4, 93 } 94) 95 96func (x TargetChange_TargetChangeType) Enum() *TargetChange_TargetChangeType { 97 p := new(TargetChange_TargetChangeType) 98 *p = x 99 return p 100} 101 102func (x TargetChange_TargetChangeType) String() string { 103 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 104} 105 106func (TargetChange_TargetChangeType) Descriptor() protoreflect.EnumDescriptor { 107 return file_google_firestore_v1beta1_firestore_proto_enumTypes[0].Descriptor() 108} 109 110func (TargetChange_TargetChangeType) Type() protoreflect.EnumType { 111 return &file_google_firestore_v1beta1_firestore_proto_enumTypes[0] 112} 113 114func (x TargetChange_TargetChangeType) Number() protoreflect.EnumNumber { 115 return protoreflect.EnumNumber(x) 116} 117 118// Deprecated: Use TargetChange_TargetChangeType.Descriptor instead. 119func (TargetChange_TargetChangeType) EnumDescriptor() ([]byte, []int) { 120 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{22, 0} 121} 122 123// The request for [Firestore.GetDocument][google.firestore.v1beta1.Firestore.GetDocument]. 124type GetDocumentRequest struct { 125 state protoimpl.MessageState 126 sizeCache protoimpl.SizeCache 127 unknownFields protoimpl.UnknownFields 128 129 // Required. The resource name of the Document to get. In the format: 130 // `projects/{project_id}/databases/{database_id}/documents/{document_path}`. 131 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 132 // The fields to return. If not set, returns all fields. 133 // 134 // If the document has a field that is not present in this mask, that field 135 // will not be returned in the response. 136 Mask *DocumentMask `protobuf:"bytes,2,opt,name=mask,proto3" json:"mask,omitempty"` 137 // The consistency mode for this transaction. 138 // If not set, defaults to strong consistency. 139 // 140 // Types that are assignable to ConsistencySelector: 141 // *GetDocumentRequest_Transaction 142 // *GetDocumentRequest_ReadTime 143 ConsistencySelector isGetDocumentRequest_ConsistencySelector `protobuf_oneof:"consistency_selector"` 144} 145 146func (x *GetDocumentRequest) Reset() { 147 *x = GetDocumentRequest{} 148 if protoimpl.UnsafeEnabled { 149 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[0] 150 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 151 ms.StoreMessageInfo(mi) 152 } 153} 154 155func (x *GetDocumentRequest) String() string { 156 return protoimpl.X.MessageStringOf(x) 157} 158 159func (*GetDocumentRequest) ProtoMessage() {} 160 161func (x *GetDocumentRequest) ProtoReflect() protoreflect.Message { 162 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[0] 163 if protoimpl.UnsafeEnabled && x != nil { 164 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 165 if ms.LoadMessageInfo() == nil { 166 ms.StoreMessageInfo(mi) 167 } 168 return ms 169 } 170 return mi.MessageOf(x) 171} 172 173// Deprecated: Use GetDocumentRequest.ProtoReflect.Descriptor instead. 174func (*GetDocumentRequest) Descriptor() ([]byte, []int) { 175 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{0} 176} 177 178func (x *GetDocumentRequest) GetName() string { 179 if x != nil { 180 return x.Name 181 } 182 return "" 183} 184 185func (x *GetDocumentRequest) GetMask() *DocumentMask { 186 if x != nil { 187 return x.Mask 188 } 189 return nil 190} 191 192func (m *GetDocumentRequest) GetConsistencySelector() isGetDocumentRequest_ConsistencySelector { 193 if m != nil { 194 return m.ConsistencySelector 195 } 196 return nil 197} 198 199func (x *GetDocumentRequest) GetTransaction() []byte { 200 if x, ok := x.GetConsistencySelector().(*GetDocumentRequest_Transaction); ok { 201 return x.Transaction 202 } 203 return nil 204} 205 206func (x *GetDocumentRequest) GetReadTime() *timestamppb.Timestamp { 207 if x, ok := x.GetConsistencySelector().(*GetDocumentRequest_ReadTime); ok { 208 return x.ReadTime 209 } 210 return nil 211} 212 213type isGetDocumentRequest_ConsistencySelector interface { 214 isGetDocumentRequest_ConsistencySelector() 215} 216 217type GetDocumentRequest_Transaction struct { 218 // Reads the document in a transaction. 219 Transaction []byte `protobuf:"bytes,3,opt,name=transaction,proto3,oneof"` 220} 221 222type GetDocumentRequest_ReadTime struct { 223 // Reads the version of the document at the given time. 224 // This may not be older than 270 seconds. 225 ReadTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=read_time,json=readTime,proto3,oneof"` 226} 227 228func (*GetDocumentRequest_Transaction) isGetDocumentRequest_ConsistencySelector() {} 229 230func (*GetDocumentRequest_ReadTime) isGetDocumentRequest_ConsistencySelector() {} 231 232// The request for [Firestore.ListDocuments][google.firestore.v1beta1.Firestore.ListDocuments]. 233type ListDocumentsRequest struct { 234 state protoimpl.MessageState 235 sizeCache protoimpl.SizeCache 236 unknownFields protoimpl.UnknownFields 237 238 // Required. The parent resource name. In the format: 239 // `projects/{project_id}/databases/{database_id}/documents` or 240 // `projects/{project_id}/databases/{database_id}/documents/{document_path}`. 241 // For example: 242 // `projects/my-project/databases/my-database/documents` or 243 // `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom` 244 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 245 // Required. The collection ID, relative to `parent`, to list. For example: `chatrooms` 246 // or `messages`. 247 CollectionId string `protobuf:"bytes,2,opt,name=collection_id,json=collectionId,proto3" json:"collection_id,omitempty"` 248 // The maximum number of documents to return. 249 PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` 250 // The `next_page_token` value returned from a previous List request, if any. 251 PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` 252 // The order to sort results by. For example: `priority desc, name`. 253 OrderBy string `protobuf:"bytes,6,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` 254 // The fields to return. If not set, returns all fields. 255 // 256 // If a document has a field that is not present in this mask, that field 257 // will not be returned in the response. 258 Mask *DocumentMask `protobuf:"bytes,7,opt,name=mask,proto3" json:"mask,omitempty"` 259 // The consistency mode for this transaction. 260 // If not set, defaults to strong consistency. 261 // 262 // Types that are assignable to ConsistencySelector: 263 // *ListDocumentsRequest_Transaction 264 // *ListDocumentsRequest_ReadTime 265 ConsistencySelector isListDocumentsRequest_ConsistencySelector `protobuf_oneof:"consistency_selector"` 266 // If the list should show missing documents. A missing document is a 267 // document that does not exist but has sub-documents. These documents will 268 // be returned with a key but will not have fields, [Document.create_time][google.firestore.v1beta1.Document.create_time], 269 // or [Document.update_time][google.firestore.v1beta1.Document.update_time] set. 270 // 271 // Requests with `show_missing` may not specify `where` or 272 // `order_by`. 273 ShowMissing bool `protobuf:"varint,12,opt,name=show_missing,json=showMissing,proto3" json:"show_missing,omitempty"` 274} 275 276func (x *ListDocumentsRequest) Reset() { 277 *x = ListDocumentsRequest{} 278 if protoimpl.UnsafeEnabled { 279 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[1] 280 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 281 ms.StoreMessageInfo(mi) 282 } 283} 284 285func (x *ListDocumentsRequest) String() string { 286 return protoimpl.X.MessageStringOf(x) 287} 288 289func (*ListDocumentsRequest) ProtoMessage() {} 290 291func (x *ListDocumentsRequest) ProtoReflect() protoreflect.Message { 292 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[1] 293 if protoimpl.UnsafeEnabled && x != nil { 294 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 295 if ms.LoadMessageInfo() == nil { 296 ms.StoreMessageInfo(mi) 297 } 298 return ms 299 } 300 return mi.MessageOf(x) 301} 302 303// Deprecated: Use ListDocumentsRequest.ProtoReflect.Descriptor instead. 304func (*ListDocumentsRequest) Descriptor() ([]byte, []int) { 305 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{1} 306} 307 308func (x *ListDocumentsRequest) GetParent() string { 309 if x != nil { 310 return x.Parent 311 } 312 return "" 313} 314 315func (x *ListDocumentsRequest) GetCollectionId() string { 316 if x != nil { 317 return x.CollectionId 318 } 319 return "" 320} 321 322func (x *ListDocumentsRequest) GetPageSize() int32 { 323 if x != nil { 324 return x.PageSize 325 } 326 return 0 327} 328 329func (x *ListDocumentsRequest) GetPageToken() string { 330 if x != nil { 331 return x.PageToken 332 } 333 return "" 334} 335 336func (x *ListDocumentsRequest) GetOrderBy() string { 337 if x != nil { 338 return x.OrderBy 339 } 340 return "" 341} 342 343func (x *ListDocumentsRequest) GetMask() *DocumentMask { 344 if x != nil { 345 return x.Mask 346 } 347 return nil 348} 349 350func (m *ListDocumentsRequest) GetConsistencySelector() isListDocumentsRequest_ConsistencySelector { 351 if m != nil { 352 return m.ConsistencySelector 353 } 354 return nil 355} 356 357func (x *ListDocumentsRequest) GetTransaction() []byte { 358 if x, ok := x.GetConsistencySelector().(*ListDocumentsRequest_Transaction); ok { 359 return x.Transaction 360 } 361 return nil 362} 363 364func (x *ListDocumentsRequest) GetReadTime() *timestamppb.Timestamp { 365 if x, ok := x.GetConsistencySelector().(*ListDocumentsRequest_ReadTime); ok { 366 return x.ReadTime 367 } 368 return nil 369} 370 371func (x *ListDocumentsRequest) GetShowMissing() bool { 372 if x != nil { 373 return x.ShowMissing 374 } 375 return false 376} 377 378type isListDocumentsRequest_ConsistencySelector interface { 379 isListDocumentsRequest_ConsistencySelector() 380} 381 382type ListDocumentsRequest_Transaction struct { 383 // Reads documents in a transaction. 384 Transaction []byte `protobuf:"bytes,8,opt,name=transaction,proto3,oneof"` 385} 386 387type ListDocumentsRequest_ReadTime struct { 388 // Reads documents as they were at the given time. 389 // This may not be older than 270 seconds. 390 ReadTime *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=read_time,json=readTime,proto3,oneof"` 391} 392 393func (*ListDocumentsRequest_Transaction) isListDocumentsRequest_ConsistencySelector() {} 394 395func (*ListDocumentsRequest_ReadTime) isListDocumentsRequest_ConsistencySelector() {} 396 397// The response for [Firestore.ListDocuments][google.firestore.v1beta1.Firestore.ListDocuments]. 398type ListDocumentsResponse struct { 399 state protoimpl.MessageState 400 sizeCache protoimpl.SizeCache 401 unknownFields protoimpl.UnknownFields 402 403 // The Documents found. 404 Documents []*Document `protobuf:"bytes,1,rep,name=documents,proto3" json:"documents,omitempty"` 405 // The next page token. 406 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` 407} 408 409func (x *ListDocumentsResponse) Reset() { 410 *x = ListDocumentsResponse{} 411 if protoimpl.UnsafeEnabled { 412 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[2] 413 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 414 ms.StoreMessageInfo(mi) 415 } 416} 417 418func (x *ListDocumentsResponse) String() string { 419 return protoimpl.X.MessageStringOf(x) 420} 421 422func (*ListDocumentsResponse) ProtoMessage() {} 423 424func (x *ListDocumentsResponse) ProtoReflect() protoreflect.Message { 425 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[2] 426 if protoimpl.UnsafeEnabled && x != nil { 427 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 428 if ms.LoadMessageInfo() == nil { 429 ms.StoreMessageInfo(mi) 430 } 431 return ms 432 } 433 return mi.MessageOf(x) 434} 435 436// Deprecated: Use ListDocumentsResponse.ProtoReflect.Descriptor instead. 437func (*ListDocumentsResponse) Descriptor() ([]byte, []int) { 438 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{2} 439} 440 441func (x *ListDocumentsResponse) GetDocuments() []*Document { 442 if x != nil { 443 return x.Documents 444 } 445 return nil 446} 447 448func (x *ListDocumentsResponse) GetNextPageToken() string { 449 if x != nil { 450 return x.NextPageToken 451 } 452 return "" 453} 454 455// The request for [Firestore.CreateDocument][google.firestore.v1beta1.Firestore.CreateDocument]. 456type CreateDocumentRequest struct { 457 state protoimpl.MessageState 458 sizeCache protoimpl.SizeCache 459 unknownFields protoimpl.UnknownFields 460 461 // Required. The parent resource. For example: 462 // `projects/{project_id}/databases/{database_id}/documents` or 463 // `projects/{project_id}/databases/{database_id}/documents/chatrooms/{chatroom_id}` 464 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 465 // Required. The collection ID, relative to `parent`, to list. For example: `chatrooms`. 466 CollectionId string `protobuf:"bytes,2,opt,name=collection_id,json=collectionId,proto3" json:"collection_id,omitempty"` 467 // The client-assigned document ID to use for this document. 468 // 469 // Optional. If not specified, an ID will be assigned by the service. 470 DocumentId string `protobuf:"bytes,3,opt,name=document_id,json=documentId,proto3" json:"document_id,omitempty"` 471 // Required. The document to create. `name` must not be set. 472 Document *Document `protobuf:"bytes,4,opt,name=document,proto3" json:"document,omitempty"` 473 // The fields to return. If not set, returns all fields. 474 // 475 // If the document has a field that is not present in this mask, that field 476 // will not be returned in the response. 477 Mask *DocumentMask `protobuf:"bytes,5,opt,name=mask,proto3" json:"mask,omitempty"` 478} 479 480func (x *CreateDocumentRequest) Reset() { 481 *x = CreateDocumentRequest{} 482 if protoimpl.UnsafeEnabled { 483 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[3] 484 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 485 ms.StoreMessageInfo(mi) 486 } 487} 488 489func (x *CreateDocumentRequest) String() string { 490 return protoimpl.X.MessageStringOf(x) 491} 492 493func (*CreateDocumentRequest) ProtoMessage() {} 494 495func (x *CreateDocumentRequest) ProtoReflect() protoreflect.Message { 496 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[3] 497 if protoimpl.UnsafeEnabled && x != nil { 498 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 499 if ms.LoadMessageInfo() == nil { 500 ms.StoreMessageInfo(mi) 501 } 502 return ms 503 } 504 return mi.MessageOf(x) 505} 506 507// Deprecated: Use CreateDocumentRequest.ProtoReflect.Descriptor instead. 508func (*CreateDocumentRequest) Descriptor() ([]byte, []int) { 509 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{3} 510} 511 512func (x *CreateDocumentRequest) GetParent() string { 513 if x != nil { 514 return x.Parent 515 } 516 return "" 517} 518 519func (x *CreateDocumentRequest) GetCollectionId() string { 520 if x != nil { 521 return x.CollectionId 522 } 523 return "" 524} 525 526func (x *CreateDocumentRequest) GetDocumentId() string { 527 if x != nil { 528 return x.DocumentId 529 } 530 return "" 531} 532 533func (x *CreateDocumentRequest) GetDocument() *Document { 534 if x != nil { 535 return x.Document 536 } 537 return nil 538} 539 540func (x *CreateDocumentRequest) GetMask() *DocumentMask { 541 if x != nil { 542 return x.Mask 543 } 544 return nil 545} 546 547// The request for [Firestore.UpdateDocument][google.firestore.v1beta1.Firestore.UpdateDocument]. 548type UpdateDocumentRequest struct { 549 state protoimpl.MessageState 550 sizeCache protoimpl.SizeCache 551 unknownFields protoimpl.UnknownFields 552 553 // Required. The updated document. 554 // Creates the document if it does not already exist. 555 Document *Document `protobuf:"bytes,1,opt,name=document,proto3" json:"document,omitempty"` 556 // The fields to update. 557 // None of the field paths in the mask may contain a reserved name. 558 // 559 // If the document exists on the server and has fields not referenced in the 560 // mask, they are left unchanged. 561 // Fields referenced in the mask, but not present in the input document, are 562 // deleted from the document on the server. 563 UpdateMask *DocumentMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` 564 // The fields to return. If not set, returns all fields. 565 // 566 // If the document has a field that is not present in this mask, that field 567 // will not be returned in the response. 568 Mask *DocumentMask `protobuf:"bytes,3,opt,name=mask,proto3" json:"mask,omitempty"` 569 // An optional precondition on the document. 570 // The request will fail if this is set and not met by the target document. 571 CurrentDocument *Precondition `protobuf:"bytes,4,opt,name=current_document,json=currentDocument,proto3" json:"current_document,omitempty"` 572} 573 574func (x *UpdateDocumentRequest) Reset() { 575 *x = UpdateDocumentRequest{} 576 if protoimpl.UnsafeEnabled { 577 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[4] 578 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 579 ms.StoreMessageInfo(mi) 580 } 581} 582 583func (x *UpdateDocumentRequest) String() string { 584 return protoimpl.X.MessageStringOf(x) 585} 586 587func (*UpdateDocumentRequest) ProtoMessage() {} 588 589func (x *UpdateDocumentRequest) ProtoReflect() protoreflect.Message { 590 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[4] 591 if protoimpl.UnsafeEnabled && x != nil { 592 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 593 if ms.LoadMessageInfo() == nil { 594 ms.StoreMessageInfo(mi) 595 } 596 return ms 597 } 598 return mi.MessageOf(x) 599} 600 601// Deprecated: Use UpdateDocumentRequest.ProtoReflect.Descriptor instead. 602func (*UpdateDocumentRequest) Descriptor() ([]byte, []int) { 603 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{4} 604} 605 606func (x *UpdateDocumentRequest) GetDocument() *Document { 607 if x != nil { 608 return x.Document 609 } 610 return nil 611} 612 613func (x *UpdateDocumentRequest) GetUpdateMask() *DocumentMask { 614 if x != nil { 615 return x.UpdateMask 616 } 617 return nil 618} 619 620func (x *UpdateDocumentRequest) GetMask() *DocumentMask { 621 if x != nil { 622 return x.Mask 623 } 624 return nil 625} 626 627func (x *UpdateDocumentRequest) GetCurrentDocument() *Precondition { 628 if x != nil { 629 return x.CurrentDocument 630 } 631 return nil 632} 633 634// The request for [Firestore.DeleteDocument][google.firestore.v1beta1.Firestore.DeleteDocument]. 635type DeleteDocumentRequest struct { 636 state protoimpl.MessageState 637 sizeCache protoimpl.SizeCache 638 unknownFields protoimpl.UnknownFields 639 640 // Required. The resource name of the Document to delete. In the format: 641 // `projects/{project_id}/databases/{database_id}/documents/{document_path}`. 642 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 643 // An optional precondition on the document. 644 // The request will fail if this is set and not met by the target document. 645 CurrentDocument *Precondition `protobuf:"bytes,2,opt,name=current_document,json=currentDocument,proto3" json:"current_document,omitempty"` 646} 647 648func (x *DeleteDocumentRequest) Reset() { 649 *x = DeleteDocumentRequest{} 650 if protoimpl.UnsafeEnabled { 651 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[5] 652 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 653 ms.StoreMessageInfo(mi) 654 } 655} 656 657func (x *DeleteDocumentRequest) String() string { 658 return protoimpl.X.MessageStringOf(x) 659} 660 661func (*DeleteDocumentRequest) ProtoMessage() {} 662 663func (x *DeleteDocumentRequest) ProtoReflect() protoreflect.Message { 664 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[5] 665 if protoimpl.UnsafeEnabled && x != nil { 666 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 667 if ms.LoadMessageInfo() == nil { 668 ms.StoreMessageInfo(mi) 669 } 670 return ms 671 } 672 return mi.MessageOf(x) 673} 674 675// Deprecated: Use DeleteDocumentRequest.ProtoReflect.Descriptor instead. 676func (*DeleteDocumentRequest) Descriptor() ([]byte, []int) { 677 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{5} 678} 679 680func (x *DeleteDocumentRequest) GetName() string { 681 if x != nil { 682 return x.Name 683 } 684 return "" 685} 686 687func (x *DeleteDocumentRequest) GetCurrentDocument() *Precondition { 688 if x != nil { 689 return x.CurrentDocument 690 } 691 return nil 692} 693 694// The request for [Firestore.BatchGetDocuments][google.firestore.v1beta1.Firestore.BatchGetDocuments]. 695type BatchGetDocumentsRequest struct { 696 state protoimpl.MessageState 697 sizeCache protoimpl.SizeCache 698 unknownFields protoimpl.UnknownFields 699 700 // Required. The database name. In the format: 701 // `projects/{project_id}/databases/{database_id}`. 702 Database string `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"` 703 // The names of the documents to retrieve. In the format: 704 // `projects/{project_id}/databases/{database_id}/documents/{document_path}`. 705 // The request will fail if any of the document is not a child resource of the 706 // given `database`. Duplicate names will be elided. 707 Documents []string `protobuf:"bytes,2,rep,name=documents,proto3" json:"documents,omitempty"` 708 // The fields to return. If not set, returns all fields. 709 // 710 // If a document has a field that is not present in this mask, that field will 711 // not be returned in the response. 712 Mask *DocumentMask `protobuf:"bytes,3,opt,name=mask,proto3" json:"mask,omitempty"` 713 // The consistency mode for this transaction. 714 // If not set, defaults to strong consistency. 715 // 716 // Types that are assignable to ConsistencySelector: 717 // *BatchGetDocumentsRequest_Transaction 718 // *BatchGetDocumentsRequest_NewTransaction 719 // *BatchGetDocumentsRequest_ReadTime 720 ConsistencySelector isBatchGetDocumentsRequest_ConsistencySelector `protobuf_oneof:"consistency_selector"` 721} 722 723func (x *BatchGetDocumentsRequest) Reset() { 724 *x = BatchGetDocumentsRequest{} 725 if protoimpl.UnsafeEnabled { 726 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[6] 727 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 728 ms.StoreMessageInfo(mi) 729 } 730} 731 732func (x *BatchGetDocumentsRequest) String() string { 733 return protoimpl.X.MessageStringOf(x) 734} 735 736func (*BatchGetDocumentsRequest) ProtoMessage() {} 737 738func (x *BatchGetDocumentsRequest) ProtoReflect() protoreflect.Message { 739 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[6] 740 if protoimpl.UnsafeEnabled && x != nil { 741 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 742 if ms.LoadMessageInfo() == nil { 743 ms.StoreMessageInfo(mi) 744 } 745 return ms 746 } 747 return mi.MessageOf(x) 748} 749 750// Deprecated: Use BatchGetDocumentsRequest.ProtoReflect.Descriptor instead. 751func (*BatchGetDocumentsRequest) Descriptor() ([]byte, []int) { 752 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{6} 753} 754 755func (x *BatchGetDocumentsRequest) GetDatabase() string { 756 if x != nil { 757 return x.Database 758 } 759 return "" 760} 761 762func (x *BatchGetDocumentsRequest) GetDocuments() []string { 763 if x != nil { 764 return x.Documents 765 } 766 return nil 767} 768 769func (x *BatchGetDocumentsRequest) GetMask() *DocumentMask { 770 if x != nil { 771 return x.Mask 772 } 773 return nil 774} 775 776func (m *BatchGetDocumentsRequest) GetConsistencySelector() isBatchGetDocumentsRequest_ConsistencySelector { 777 if m != nil { 778 return m.ConsistencySelector 779 } 780 return nil 781} 782 783func (x *BatchGetDocumentsRequest) GetTransaction() []byte { 784 if x, ok := x.GetConsistencySelector().(*BatchGetDocumentsRequest_Transaction); ok { 785 return x.Transaction 786 } 787 return nil 788} 789 790func (x *BatchGetDocumentsRequest) GetNewTransaction() *TransactionOptions { 791 if x, ok := x.GetConsistencySelector().(*BatchGetDocumentsRequest_NewTransaction); ok { 792 return x.NewTransaction 793 } 794 return nil 795} 796 797func (x *BatchGetDocumentsRequest) GetReadTime() *timestamppb.Timestamp { 798 if x, ok := x.GetConsistencySelector().(*BatchGetDocumentsRequest_ReadTime); ok { 799 return x.ReadTime 800 } 801 return nil 802} 803 804type isBatchGetDocumentsRequest_ConsistencySelector interface { 805 isBatchGetDocumentsRequest_ConsistencySelector() 806} 807 808type BatchGetDocumentsRequest_Transaction struct { 809 // Reads documents in a transaction. 810 Transaction []byte `protobuf:"bytes,4,opt,name=transaction,proto3,oneof"` 811} 812 813type BatchGetDocumentsRequest_NewTransaction struct { 814 // Starts a new transaction and reads the documents. 815 // Defaults to a read-only transaction. 816 // The new transaction ID will be returned as the first response in the 817 // stream. 818 NewTransaction *TransactionOptions `protobuf:"bytes,5,opt,name=new_transaction,json=newTransaction,proto3,oneof"` 819} 820 821type BatchGetDocumentsRequest_ReadTime struct { 822 // Reads documents as they were at the given time. 823 // This may not be older than 270 seconds. 824 ReadTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=read_time,json=readTime,proto3,oneof"` 825} 826 827func (*BatchGetDocumentsRequest_Transaction) isBatchGetDocumentsRequest_ConsistencySelector() {} 828 829func (*BatchGetDocumentsRequest_NewTransaction) isBatchGetDocumentsRequest_ConsistencySelector() {} 830 831func (*BatchGetDocumentsRequest_ReadTime) isBatchGetDocumentsRequest_ConsistencySelector() {} 832 833// The streamed response for [Firestore.BatchGetDocuments][google.firestore.v1beta1.Firestore.BatchGetDocuments]. 834type BatchGetDocumentsResponse struct { 835 state protoimpl.MessageState 836 sizeCache protoimpl.SizeCache 837 unknownFields protoimpl.UnknownFields 838 839 // A single result. 840 // This can be empty if the server is just returning a transaction. 841 // 842 // Types that are assignable to Result: 843 // *BatchGetDocumentsResponse_Found 844 // *BatchGetDocumentsResponse_Missing 845 Result isBatchGetDocumentsResponse_Result `protobuf_oneof:"result"` 846 // The transaction that was started as part of this request. 847 // Will only be set in the first response, and only if 848 // [BatchGetDocumentsRequest.new_transaction][google.firestore.v1beta1.BatchGetDocumentsRequest.new_transaction] was set in the request. 849 Transaction []byte `protobuf:"bytes,3,opt,name=transaction,proto3" json:"transaction,omitempty"` 850 // The time at which the document was read. 851 // This may be monotically increasing, in this case the previous documents in 852 // the result stream are guaranteed not to have changed between their 853 // read_time and this one. 854 ReadTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=read_time,json=readTime,proto3" json:"read_time,omitempty"` 855} 856 857func (x *BatchGetDocumentsResponse) Reset() { 858 *x = BatchGetDocumentsResponse{} 859 if protoimpl.UnsafeEnabled { 860 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[7] 861 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 862 ms.StoreMessageInfo(mi) 863 } 864} 865 866func (x *BatchGetDocumentsResponse) String() string { 867 return protoimpl.X.MessageStringOf(x) 868} 869 870func (*BatchGetDocumentsResponse) ProtoMessage() {} 871 872func (x *BatchGetDocumentsResponse) ProtoReflect() protoreflect.Message { 873 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[7] 874 if protoimpl.UnsafeEnabled && x != nil { 875 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 876 if ms.LoadMessageInfo() == nil { 877 ms.StoreMessageInfo(mi) 878 } 879 return ms 880 } 881 return mi.MessageOf(x) 882} 883 884// Deprecated: Use BatchGetDocumentsResponse.ProtoReflect.Descriptor instead. 885func (*BatchGetDocumentsResponse) Descriptor() ([]byte, []int) { 886 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{7} 887} 888 889func (m *BatchGetDocumentsResponse) GetResult() isBatchGetDocumentsResponse_Result { 890 if m != nil { 891 return m.Result 892 } 893 return nil 894} 895 896func (x *BatchGetDocumentsResponse) GetFound() *Document { 897 if x, ok := x.GetResult().(*BatchGetDocumentsResponse_Found); ok { 898 return x.Found 899 } 900 return nil 901} 902 903func (x *BatchGetDocumentsResponse) GetMissing() string { 904 if x, ok := x.GetResult().(*BatchGetDocumentsResponse_Missing); ok { 905 return x.Missing 906 } 907 return "" 908} 909 910func (x *BatchGetDocumentsResponse) GetTransaction() []byte { 911 if x != nil { 912 return x.Transaction 913 } 914 return nil 915} 916 917func (x *BatchGetDocumentsResponse) GetReadTime() *timestamppb.Timestamp { 918 if x != nil { 919 return x.ReadTime 920 } 921 return nil 922} 923 924type isBatchGetDocumentsResponse_Result interface { 925 isBatchGetDocumentsResponse_Result() 926} 927 928type BatchGetDocumentsResponse_Found struct { 929 // A document that was requested. 930 Found *Document `protobuf:"bytes,1,opt,name=found,proto3,oneof"` 931} 932 933type BatchGetDocumentsResponse_Missing struct { 934 // A document name that was requested but does not exist. In the format: 935 // `projects/{project_id}/databases/{database_id}/documents/{document_path}`. 936 Missing string `protobuf:"bytes,2,opt,name=missing,proto3,oneof"` 937} 938 939func (*BatchGetDocumentsResponse_Found) isBatchGetDocumentsResponse_Result() {} 940 941func (*BatchGetDocumentsResponse_Missing) isBatchGetDocumentsResponse_Result() {} 942 943// The request for [Firestore.BeginTransaction][google.firestore.v1beta1.Firestore.BeginTransaction]. 944type BeginTransactionRequest struct { 945 state protoimpl.MessageState 946 sizeCache protoimpl.SizeCache 947 unknownFields protoimpl.UnknownFields 948 949 // Required. The database name. In the format: 950 // `projects/{project_id}/databases/{database_id}`. 951 Database string `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"` 952 // The options for the transaction. 953 // Defaults to a read-write transaction. 954 Options *TransactionOptions `protobuf:"bytes,2,opt,name=options,proto3" json:"options,omitempty"` 955} 956 957func (x *BeginTransactionRequest) Reset() { 958 *x = BeginTransactionRequest{} 959 if protoimpl.UnsafeEnabled { 960 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[8] 961 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 962 ms.StoreMessageInfo(mi) 963 } 964} 965 966func (x *BeginTransactionRequest) String() string { 967 return protoimpl.X.MessageStringOf(x) 968} 969 970func (*BeginTransactionRequest) ProtoMessage() {} 971 972func (x *BeginTransactionRequest) ProtoReflect() protoreflect.Message { 973 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[8] 974 if protoimpl.UnsafeEnabled && x != nil { 975 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 976 if ms.LoadMessageInfo() == nil { 977 ms.StoreMessageInfo(mi) 978 } 979 return ms 980 } 981 return mi.MessageOf(x) 982} 983 984// Deprecated: Use BeginTransactionRequest.ProtoReflect.Descriptor instead. 985func (*BeginTransactionRequest) Descriptor() ([]byte, []int) { 986 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{8} 987} 988 989func (x *BeginTransactionRequest) GetDatabase() string { 990 if x != nil { 991 return x.Database 992 } 993 return "" 994} 995 996func (x *BeginTransactionRequest) GetOptions() *TransactionOptions { 997 if x != nil { 998 return x.Options 999 } 1000 return nil 1001} 1002 1003// The response for [Firestore.BeginTransaction][google.firestore.v1beta1.Firestore.BeginTransaction]. 1004type BeginTransactionResponse struct { 1005 state protoimpl.MessageState 1006 sizeCache protoimpl.SizeCache 1007 unknownFields protoimpl.UnknownFields 1008 1009 // The transaction that was started. 1010 Transaction []byte `protobuf:"bytes,1,opt,name=transaction,proto3" json:"transaction,omitempty"` 1011} 1012 1013func (x *BeginTransactionResponse) Reset() { 1014 *x = BeginTransactionResponse{} 1015 if protoimpl.UnsafeEnabled { 1016 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[9] 1017 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1018 ms.StoreMessageInfo(mi) 1019 } 1020} 1021 1022func (x *BeginTransactionResponse) String() string { 1023 return protoimpl.X.MessageStringOf(x) 1024} 1025 1026func (*BeginTransactionResponse) ProtoMessage() {} 1027 1028func (x *BeginTransactionResponse) ProtoReflect() protoreflect.Message { 1029 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[9] 1030 if protoimpl.UnsafeEnabled && x != nil { 1031 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1032 if ms.LoadMessageInfo() == nil { 1033 ms.StoreMessageInfo(mi) 1034 } 1035 return ms 1036 } 1037 return mi.MessageOf(x) 1038} 1039 1040// Deprecated: Use BeginTransactionResponse.ProtoReflect.Descriptor instead. 1041func (*BeginTransactionResponse) Descriptor() ([]byte, []int) { 1042 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{9} 1043} 1044 1045func (x *BeginTransactionResponse) GetTransaction() []byte { 1046 if x != nil { 1047 return x.Transaction 1048 } 1049 return nil 1050} 1051 1052// The request for [Firestore.Commit][google.firestore.v1beta1.Firestore.Commit]. 1053type CommitRequest struct { 1054 state protoimpl.MessageState 1055 sizeCache protoimpl.SizeCache 1056 unknownFields protoimpl.UnknownFields 1057 1058 // Required. The database name. In the format: 1059 // `projects/{project_id}/databases/{database_id}`. 1060 Database string `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"` 1061 // The writes to apply. 1062 // 1063 // Always executed atomically and in order. 1064 Writes []*Write `protobuf:"bytes,2,rep,name=writes,proto3" json:"writes,omitempty"` 1065 // If set, applies all writes in this transaction, and commits it. 1066 Transaction []byte `protobuf:"bytes,3,opt,name=transaction,proto3" json:"transaction,omitempty"` 1067} 1068 1069func (x *CommitRequest) Reset() { 1070 *x = CommitRequest{} 1071 if protoimpl.UnsafeEnabled { 1072 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[10] 1073 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1074 ms.StoreMessageInfo(mi) 1075 } 1076} 1077 1078func (x *CommitRequest) String() string { 1079 return protoimpl.X.MessageStringOf(x) 1080} 1081 1082func (*CommitRequest) ProtoMessage() {} 1083 1084func (x *CommitRequest) ProtoReflect() protoreflect.Message { 1085 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[10] 1086 if protoimpl.UnsafeEnabled && x != nil { 1087 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1088 if ms.LoadMessageInfo() == nil { 1089 ms.StoreMessageInfo(mi) 1090 } 1091 return ms 1092 } 1093 return mi.MessageOf(x) 1094} 1095 1096// Deprecated: Use CommitRequest.ProtoReflect.Descriptor instead. 1097func (*CommitRequest) Descriptor() ([]byte, []int) { 1098 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{10} 1099} 1100 1101func (x *CommitRequest) GetDatabase() string { 1102 if x != nil { 1103 return x.Database 1104 } 1105 return "" 1106} 1107 1108func (x *CommitRequest) GetWrites() []*Write { 1109 if x != nil { 1110 return x.Writes 1111 } 1112 return nil 1113} 1114 1115func (x *CommitRequest) GetTransaction() []byte { 1116 if x != nil { 1117 return x.Transaction 1118 } 1119 return nil 1120} 1121 1122// The response for [Firestore.Commit][google.firestore.v1beta1.Firestore.Commit]. 1123type CommitResponse struct { 1124 state protoimpl.MessageState 1125 sizeCache protoimpl.SizeCache 1126 unknownFields protoimpl.UnknownFields 1127 1128 // The result of applying the writes. 1129 // 1130 // This i-th write result corresponds to the i-th write in the 1131 // request. 1132 WriteResults []*WriteResult `protobuf:"bytes,1,rep,name=write_results,json=writeResults,proto3" json:"write_results,omitempty"` 1133 // The time at which the commit occurred. Any read with an equal or greater 1134 // `read_time` is guaranteed to see the effects of the commit. 1135 CommitTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=commit_time,json=commitTime,proto3" json:"commit_time,omitempty"` 1136} 1137 1138func (x *CommitResponse) Reset() { 1139 *x = CommitResponse{} 1140 if protoimpl.UnsafeEnabled { 1141 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[11] 1142 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1143 ms.StoreMessageInfo(mi) 1144 } 1145} 1146 1147func (x *CommitResponse) String() string { 1148 return protoimpl.X.MessageStringOf(x) 1149} 1150 1151func (*CommitResponse) ProtoMessage() {} 1152 1153func (x *CommitResponse) ProtoReflect() protoreflect.Message { 1154 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[11] 1155 if protoimpl.UnsafeEnabled && x != nil { 1156 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1157 if ms.LoadMessageInfo() == nil { 1158 ms.StoreMessageInfo(mi) 1159 } 1160 return ms 1161 } 1162 return mi.MessageOf(x) 1163} 1164 1165// Deprecated: Use CommitResponse.ProtoReflect.Descriptor instead. 1166func (*CommitResponse) Descriptor() ([]byte, []int) { 1167 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{11} 1168} 1169 1170func (x *CommitResponse) GetWriteResults() []*WriteResult { 1171 if x != nil { 1172 return x.WriteResults 1173 } 1174 return nil 1175} 1176 1177func (x *CommitResponse) GetCommitTime() *timestamppb.Timestamp { 1178 if x != nil { 1179 return x.CommitTime 1180 } 1181 return nil 1182} 1183 1184// The request for [Firestore.Rollback][google.firestore.v1beta1.Firestore.Rollback]. 1185type RollbackRequest struct { 1186 state protoimpl.MessageState 1187 sizeCache protoimpl.SizeCache 1188 unknownFields protoimpl.UnknownFields 1189 1190 // Required. The database name. In the format: 1191 // `projects/{project_id}/databases/{database_id}`. 1192 Database string `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"` 1193 // Required. The transaction to roll back. 1194 Transaction []byte `protobuf:"bytes,2,opt,name=transaction,proto3" json:"transaction,omitempty"` 1195} 1196 1197func (x *RollbackRequest) Reset() { 1198 *x = RollbackRequest{} 1199 if protoimpl.UnsafeEnabled { 1200 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[12] 1201 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1202 ms.StoreMessageInfo(mi) 1203 } 1204} 1205 1206func (x *RollbackRequest) String() string { 1207 return protoimpl.X.MessageStringOf(x) 1208} 1209 1210func (*RollbackRequest) ProtoMessage() {} 1211 1212func (x *RollbackRequest) ProtoReflect() protoreflect.Message { 1213 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[12] 1214 if protoimpl.UnsafeEnabled && x != nil { 1215 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1216 if ms.LoadMessageInfo() == nil { 1217 ms.StoreMessageInfo(mi) 1218 } 1219 return ms 1220 } 1221 return mi.MessageOf(x) 1222} 1223 1224// Deprecated: Use RollbackRequest.ProtoReflect.Descriptor instead. 1225func (*RollbackRequest) Descriptor() ([]byte, []int) { 1226 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{12} 1227} 1228 1229func (x *RollbackRequest) GetDatabase() string { 1230 if x != nil { 1231 return x.Database 1232 } 1233 return "" 1234} 1235 1236func (x *RollbackRequest) GetTransaction() []byte { 1237 if x != nil { 1238 return x.Transaction 1239 } 1240 return nil 1241} 1242 1243// The request for [Firestore.RunQuery][google.firestore.v1beta1.Firestore.RunQuery]. 1244type RunQueryRequest struct { 1245 state protoimpl.MessageState 1246 sizeCache protoimpl.SizeCache 1247 unknownFields protoimpl.UnknownFields 1248 1249 // Required. The parent resource name. In the format: 1250 // `projects/{project_id}/databases/{database_id}/documents` or 1251 // `projects/{project_id}/databases/{database_id}/documents/{document_path}`. 1252 // For example: 1253 // `projects/my-project/databases/my-database/documents` or 1254 // `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom` 1255 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 1256 // The query to run. 1257 // 1258 // Types that are assignable to QueryType: 1259 // *RunQueryRequest_StructuredQuery 1260 QueryType isRunQueryRequest_QueryType `protobuf_oneof:"query_type"` 1261 // The consistency mode for this transaction. 1262 // If not set, defaults to strong consistency. 1263 // 1264 // Types that are assignable to ConsistencySelector: 1265 // *RunQueryRequest_Transaction 1266 // *RunQueryRequest_NewTransaction 1267 // *RunQueryRequest_ReadTime 1268 ConsistencySelector isRunQueryRequest_ConsistencySelector `protobuf_oneof:"consistency_selector"` 1269} 1270 1271func (x *RunQueryRequest) Reset() { 1272 *x = RunQueryRequest{} 1273 if protoimpl.UnsafeEnabled { 1274 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[13] 1275 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1276 ms.StoreMessageInfo(mi) 1277 } 1278} 1279 1280func (x *RunQueryRequest) String() string { 1281 return protoimpl.X.MessageStringOf(x) 1282} 1283 1284func (*RunQueryRequest) ProtoMessage() {} 1285 1286func (x *RunQueryRequest) ProtoReflect() protoreflect.Message { 1287 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[13] 1288 if protoimpl.UnsafeEnabled && x != nil { 1289 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1290 if ms.LoadMessageInfo() == nil { 1291 ms.StoreMessageInfo(mi) 1292 } 1293 return ms 1294 } 1295 return mi.MessageOf(x) 1296} 1297 1298// Deprecated: Use RunQueryRequest.ProtoReflect.Descriptor instead. 1299func (*RunQueryRequest) Descriptor() ([]byte, []int) { 1300 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{13} 1301} 1302 1303func (x *RunQueryRequest) GetParent() string { 1304 if x != nil { 1305 return x.Parent 1306 } 1307 return "" 1308} 1309 1310func (m *RunQueryRequest) GetQueryType() isRunQueryRequest_QueryType { 1311 if m != nil { 1312 return m.QueryType 1313 } 1314 return nil 1315} 1316 1317func (x *RunQueryRequest) GetStructuredQuery() *StructuredQuery { 1318 if x, ok := x.GetQueryType().(*RunQueryRequest_StructuredQuery); ok { 1319 return x.StructuredQuery 1320 } 1321 return nil 1322} 1323 1324func (m *RunQueryRequest) GetConsistencySelector() isRunQueryRequest_ConsistencySelector { 1325 if m != nil { 1326 return m.ConsistencySelector 1327 } 1328 return nil 1329} 1330 1331func (x *RunQueryRequest) GetTransaction() []byte { 1332 if x, ok := x.GetConsistencySelector().(*RunQueryRequest_Transaction); ok { 1333 return x.Transaction 1334 } 1335 return nil 1336} 1337 1338func (x *RunQueryRequest) GetNewTransaction() *TransactionOptions { 1339 if x, ok := x.GetConsistencySelector().(*RunQueryRequest_NewTransaction); ok { 1340 return x.NewTransaction 1341 } 1342 return nil 1343} 1344 1345func (x *RunQueryRequest) GetReadTime() *timestamppb.Timestamp { 1346 if x, ok := x.GetConsistencySelector().(*RunQueryRequest_ReadTime); ok { 1347 return x.ReadTime 1348 } 1349 return nil 1350} 1351 1352type isRunQueryRequest_QueryType interface { 1353 isRunQueryRequest_QueryType() 1354} 1355 1356type RunQueryRequest_StructuredQuery struct { 1357 // A structured query. 1358 StructuredQuery *StructuredQuery `protobuf:"bytes,2,opt,name=structured_query,json=structuredQuery,proto3,oneof"` 1359} 1360 1361func (*RunQueryRequest_StructuredQuery) isRunQueryRequest_QueryType() {} 1362 1363type isRunQueryRequest_ConsistencySelector interface { 1364 isRunQueryRequest_ConsistencySelector() 1365} 1366 1367type RunQueryRequest_Transaction struct { 1368 // Reads documents in a transaction. 1369 Transaction []byte `protobuf:"bytes,5,opt,name=transaction,proto3,oneof"` 1370} 1371 1372type RunQueryRequest_NewTransaction struct { 1373 // Starts a new transaction and reads the documents. 1374 // Defaults to a read-only transaction. 1375 // The new transaction ID will be returned as the first response in the 1376 // stream. 1377 NewTransaction *TransactionOptions `protobuf:"bytes,6,opt,name=new_transaction,json=newTransaction,proto3,oneof"` 1378} 1379 1380type RunQueryRequest_ReadTime struct { 1381 // Reads documents as they were at the given time. 1382 // This may not be older than 270 seconds. 1383 ReadTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=read_time,json=readTime,proto3,oneof"` 1384} 1385 1386func (*RunQueryRequest_Transaction) isRunQueryRequest_ConsistencySelector() {} 1387 1388func (*RunQueryRequest_NewTransaction) isRunQueryRequest_ConsistencySelector() {} 1389 1390func (*RunQueryRequest_ReadTime) isRunQueryRequest_ConsistencySelector() {} 1391 1392// The response for [Firestore.RunQuery][google.firestore.v1beta1.Firestore.RunQuery]. 1393type RunQueryResponse struct { 1394 state protoimpl.MessageState 1395 sizeCache protoimpl.SizeCache 1396 unknownFields protoimpl.UnknownFields 1397 1398 // The transaction that was started as part of this request. 1399 // Can only be set in the first response, and only if 1400 // [RunQueryRequest.new_transaction][google.firestore.v1beta1.RunQueryRequest.new_transaction] was set in the request. 1401 // If set, no other fields will be set in this response. 1402 Transaction []byte `protobuf:"bytes,2,opt,name=transaction,proto3" json:"transaction,omitempty"` 1403 // A query result. 1404 // Not set when reporting partial progress. 1405 Document *Document `protobuf:"bytes,1,opt,name=document,proto3" json:"document,omitempty"` 1406 // The time at which the document was read. This may be monotonically 1407 // increasing; in this case, the previous documents in the result stream are 1408 // guaranteed not to have changed between their `read_time` and this one. 1409 // 1410 // If the query returns no results, a response with `read_time` and no 1411 // `document` will be sent, and this represents the time at which the query 1412 // was run. 1413 ReadTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=read_time,json=readTime,proto3" json:"read_time,omitempty"` 1414 // The number of results that have been skipped due to an offset between 1415 // the last response and the current response. 1416 SkippedResults int32 `protobuf:"varint,4,opt,name=skipped_results,json=skippedResults,proto3" json:"skipped_results,omitempty"` 1417} 1418 1419func (x *RunQueryResponse) Reset() { 1420 *x = RunQueryResponse{} 1421 if protoimpl.UnsafeEnabled { 1422 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[14] 1423 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1424 ms.StoreMessageInfo(mi) 1425 } 1426} 1427 1428func (x *RunQueryResponse) String() string { 1429 return protoimpl.X.MessageStringOf(x) 1430} 1431 1432func (*RunQueryResponse) ProtoMessage() {} 1433 1434func (x *RunQueryResponse) ProtoReflect() protoreflect.Message { 1435 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[14] 1436 if protoimpl.UnsafeEnabled && x != nil { 1437 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1438 if ms.LoadMessageInfo() == nil { 1439 ms.StoreMessageInfo(mi) 1440 } 1441 return ms 1442 } 1443 return mi.MessageOf(x) 1444} 1445 1446// Deprecated: Use RunQueryResponse.ProtoReflect.Descriptor instead. 1447func (*RunQueryResponse) Descriptor() ([]byte, []int) { 1448 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{14} 1449} 1450 1451func (x *RunQueryResponse) GetTransaction() []byte { 1452 if x != nil { 1453 return x.Transaction 1454 } 1455 return nil 1456} 1457 1458func (x *RunQueryResponse) GetDocument() *Document { 1459 if x != nil { 1460 return x.Document 1461 } 1462 return nil 1463} 1464 1465func (x *RunQueryResponse) GetReadTime() *timestamppb.Timestamp { 1466 if x != nil { 1467 return x.ReadTime 1468 } 1469 return nil 1470} 1471 1472func (x *RunQueryResponse) GetSkippedResults() int32 { 1473 if x != nil { 1474 return x.SkippedResults 1475 } 1476 return 0 1477} 1478 1479// The request for [Firestore.PartitionQuery][google.firestore.v1beta1.Firestore.PartitionQuery]. 1480type PartitionQueryRequest struct { 1481 state protoimpl.MessageState 1482 sizeCache protoimpl.SizeCache 1483 unknownFields protoimpl.UnknownFields 1484 1485 // Required. The parent resource name. In the format: 1486 // `projects/{project_id}/databases/{database_id}/documents`. 1487 // Document resource names are not supported; only database resource names 1488 // can be specified. 1489 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 1490 // The query to partition. 1491 // 1492 // Types that are assignable to QueryType: 1493 // *PartitionQueryRequest_StructuredQuery 1494 QueryType isPartitionQueryRequest_QueryType `protobuf_oneof:"query_type"` 1495 // The desired maximum number of partition points. 1496 // The partitions may be returned across multiple pages of results. 1497 // The number must be positive. The actual number of partitions 1498 // returned may be fewer. 1499 // 1500 // For example, this may be set to one fewer than the number of parallel 1501 // queries to be run, or in running a data pipeline job, one fewer than the 1502 // number of workers or compute instances available. 1503 PartitionCount int64 `protobuf:"varint,3,opt,name=partition_count,json=partitionCount,proto3" json:"partition_count,omitempty"` 1504 // The `next_page_token` value returned from a previous call to 1505 // PartitionQuery that may be used to get an additional set of results. 1506 // There are no ordering guarantees between sets of results. Thus, using 1507 // multiple sets of results will require merging the different result sets. 1508 // 1509 // For example, two subsequent calls using a page_token may return: 1510 // 1511 // * cursor B, cursor M, cursor Q 1512 // * cursor A, cursor U, cursor W 1513 // 1514 // To obtain a complete result set ordered with respect to the results of the 1515 // query supplied to PartitionQuery, the results sets should be merged: 1516 // cursor A, cursor B, cursor M, cursor Q, cursor U, cursor W 1517 PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` 1518 // The maximum number of partitions to return in this call, subject to 1519 // `partition_count`. 1520 // 1521 // For example, if `partition_count` = 10 and `page_size` = 8, the first call 1522 // to PartitionQuery will return up to 8 partitions and a `next_page_token` 1523 // if more results exist. A second call to PartitionQuery will return up to 1524 // 2 partitions, to complete the total of 10 specified in `partition_count`. 1525 PageSize int32 `protobuf:"varint,5,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` 1526} 1527 1528func (x *PartitionQueryRequest) Reset() { 1529 *x = PartitionQueryRequest{} 1530 if protoimpl.UnsafeEnabled { 1531 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[15] 1532 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1533 ms.StoreMessageInfo(mi) 1534 } 1535} 1536 1537func (x *PartitionQueryRequest) String() string { 1538 return protoimpl.X.MessageStringOf(x) 1539} 1540 1541func (*PartitionQueryRequest) ProtoMessage() {} 1542 1543func (x *PartitionQueryRequest) ProtoReflect() protoreflect.Message { 1544 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[15] 1545 if protoimpl.UnsafeEnabled && x != nil { 1546 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1547 if ms.LoadMessageInfo() == nil { 1548 ms.StoreMessageInfo(mi) 1549 } 1550 return ms 1551 } 1552 return mi.MessageOf(x) 1553} 1554 1555// Deprecated: Use PartitionQueryRequest.ProtoReflect.Descriptor instead. 1556func (*PartitionQueryRequest) Descriptor() ([]byte, []int) { 1557 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{15} 1558} 1559 1560func (x *PartitionQueryRequest) GetParent() string { 1561 if x != nil { 1562 return x.Parent 1563 } 1564 return "" 1565} 1566 1567func (m *PartitionQueryRequest) GetQueryType() isPartitionQueryRequest_QueryType { 1568 if m != nil { 1569 return m.QueryType 1570 } 1571 return nil 1572} 1573 1574func (x *PartitionQueryRequest) GetStructuredQuery() *StructuredQuery { 1575 if x, ok := x.GetQueryType().(*PartitionQueryRequest_StructuredQuery); ok { 1576 return x.StructuredQuery 1577 } 1578 return nil 1579} 1580 1581func (x *PartitionQueryRequest) GetPartitionCount() int64 { 1582 if x != nil { 1583 return x.PartitionCount 1584 } 1585 return 0 1586} 1587 1588func (x *PartitionQueryRequest) GetPageToken() string { 1589 if x != nil { 1590 return x.PageToken 1591 } 1592 return "" 1593} 1594 1595func (x *PartitionQueryRequest) GetPageSize() int32 { 1596 if x != nil { 1597 return x.PageSize 1598 } 1599 return 0 1600} 1601 1602type isPartitionQueryRequest_QueryType interface { 1603 isPartitionQueryRequest_QueryType() 1604} 1605 1606type PartitionQueryRequest_StructuredQuery struct { 1607 // A structured query. 1608 // Query must specify collection with all descendants and be ordered by name 1609 // ascending. Other filters, order bys, limits, offsets, and start/end 1610 // cursors are not supported. 1611 StructuredQuery *StructuredQuery `protobuf:"bytes,2,opt,name=structured_query,json=structuredQuery,proto3,oneof"` 1612} 1613 1614func (*PartitionQueryRequest_StructuredQuery) isPartitionQueryRequest_QueryType() {} 1615 1616// The response for [Firestore.PartitionQuery][google.firestore.v1beta1.Firestore.PartitionQuery]. 1617type PartitionQueryResponse struct { 1618 state protoimpl.MessageState 1619 sizeCache protoimpl.SizeCache 1620 unknownFields protoimpl.UnknownFields 1621 1622 // Partition results. 1623 // Each partition is a split point that can be used by RunQuery as a starting 1624 // or end point for the query results. The RunQuery requests must be made with 1625 // the same query supplied to this PartitionQuery request. The partition 1626 // cursors will be ordered according to same ordering as the results of the 1627 // query supplied to PartitionQuery. 1628 // 1629 // For example, if a PartitionQuery request returns partition cursors A and B, 1630 // running the following three queries will return the entire result set of 1631 // the original query: 1632 // 1633 // * query, end_at A 1634 // * query, start_at A, end_at B 1635 // * query, start_at B 1636 // 1637 // An empty result may indicate that the query has too few results to be 1638 // partitioned. 1639 Partitions []*Cursor `protobuf:"bytes,1,rep,name=partitions,proto3" json:"partitions,omitempty"` 1640 // A page token that may be used to request an additional set of results, up 1641 // to the number specified by `partition_count` in the PartitionQuery request. 1642 // If blank, there are no more results. 1643 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` 1644} 1645 1646func (x *PartitionQueryResponse) Reset() { 1647 *x = PartitionQueryResponse{} 1648 if protoimpl.UnsafeEnabled { 1649 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[16] 1650 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1651 ms.StoreMessageInfo(mi) 1652 } 1653} 1654 1655func (x *PartitionQueryResponse) String() string { 1656 return protoimpl.X.MessageStringOf(x) 1657} 1658 1659func (*PartitionQueryResponse) ProtoMessage() {} 1660 1661func (x *PartitionQueryResponse) ProtoReflect() protoreflect.Message { 1662 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[16] 1663 if protoimpl.UnsafeEnabled && x != nil { 1664 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1665 if ms.LoadMessageInfo() == nil { 1666 ms.StoreMessageInfo(mi) 1667 } 1668 return ms 1669 } 1670 return mi.MessageOf(x) 1671} 1672 1673// Deprecated: Use PartitionQueryResponse.ProtoReflect.Descriptor instead. 1674func (*PartitionQueryResponse) Descriptor() ([]byte, []int) { 1675 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{16} 1676} 1677 1678func (x *PartitionQueryResponse) GetPartitions() []*Cursor { 1679 if x != nil { 1680 return x.Partitions 1681 } 1682 return nil 1683} 1684 1685func (x *PartitionQueryResponse) GetNextPageToken() string { 1686 if x != nil { 1687 return x.NextPageToken 1688 } 1689 return "" 1690} 1691 1692// The request for [Firestore.Write][google.firestore.v1beta1.Firestore.Write]. 1693// 1694// The first request creates a stream, or resumes an existing one from a token. 1695// 1696// When creating a new stream, the server replies with a response containing 1697// only an ID and a token, to use in the next request. 1698// 1699// When resuming a stream, the server first streams any responses later than the 1700// given token, then a response containing only an up-to-date token, to use in 1701// the next request. 1702type WriteRequest struct { 1703 state protoimpl.MessageState 1704 sizeCache protoimpl.SizeCache 1705 unknownFields protoimpl.UnknownFields 1706 1707 // Required. The database name. In the format: 1708 // `projects/{project_id}/databases/{database_id}`. 1709 // This is only required in the first message. 1710 Database string `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"` 1711 // The ID of the write stream to resume. 1712 // This may only be set in the first message. When left empty, a new write 1713 // stream will be created. 1714 StreamId string `protobuf:"bytes,2,opt,name=stream_id,json=streamId,proto3" json:"stream_id,omitempty"` 1715 // The writes to apply. 1716 // 1717 // Always executed atomically and in order. 1718 // This must be empty on the first request. 1719 // This may be empty on the last request. 1720 // This must not be empty on all other requests. 1721 Writes []*Write `protobuf:"bytes,3,rep,name=writes,proto3" json:"writes,omitempty"` 1722 // A stream token that was previously sent by the server. 1723 // 1724 // The client should set this field to the token from the most recent 1725 // [WriteResponse][google.firestore.v1beta1.WriteResponse] it has received. This acknowledges that the client has 1726 // received responses up to this token. After sending this token, earlier 1727 // tokens may not be used anymore. 1728 // 1729 // The server may close the stream if there are too many unacknowledged 1730 // responses. 1731 // 1732 // Leave this field unset when creating a new stream. To resume a stream at 1733 // a specific point, set this field and the `stream_id` field. 1734 // 1735 // Leave this field unset when creating a new stream. 1736 StreamToken []byte `protobuf:"bytes,4,opt,name=stream_token,json=streamToken,proto3" json:"stream_token,omitempty"` 1737 // Labels associated with this write request. 1738 Labels map[string]string `protobuf:"bytes,5,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 1739} 1740 1741func (x *WriteRequest) Reset() { 1742 *x = WriteRequest{} 1743 if protoimpl.UnsafeEnabled { 1744 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[17] 1745 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1746 ms.StoreMessageInfo(mi) 1747 } 1748} 1749 1750func (x *WriteRequest) String() string { 1751 return protoimpl.X.MessageStringOf(x) 1752} 1753 1754func (*WriteRequest) ProtoMessage() {} 1755 1756func (x *WriteRequest) ProtoReflect() protoreflect.Message { 1757 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[17] 1758 if protoimpl.UnsafeEnabled && x != nil { 1759 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1760 if ms.LoadMessageInfo() == nil { 1761 ms.StoreMessageInfo(mi) 1762 } 1763 return ms 1764 } 1765 return mi.MessageOf(x) 1766} 1767 1768// Deprecated: Use WriteRequest.ProtoReflect.Descriptor instead. 1769func (*WriteRequest) Descriptor() ([]byte, []int) { 1770 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{17} 1771} 1772 1773func (x *WriteRequest) GetDatabase() string { 1774 if x != nil { 1775 return x.Database 1776 } 1777 return "" 1778} 1779 1780func (x *WriteRequest) GetStreamId() string { 1781 if x != nil { 1782 return x.StreamId 1783 } 1784 return "" 1785} 1786 1787func (x *WriteRequest) GetWrites() []*Write { 1788 if x != nil { 1789 return x.Writes 1790 } 1791 return nil 1792} 1793 1794func (x *WriteRequest) GetStreamToken() []byte { 1795 if x != nil { 1796 return x.StreamToken 1797 } 1798 return nil 1799} 1800 1801func (x *WriteRequest) GetLabels() map[string]string { 1802 if x != nil { 1803 return x.Labels 1804 } 1805 return nil 1806} 1807 1808// The response for [Firestore.Write][google.firestore.v1beta1.Firestore.Write]. 1809type WriteResponse struct { 1810 state protoimpl.MessageState 1811 sizeCache protoimpl.SizeCache 1812 unknownFields protoimpl.UnknownFields 1813 1814 // The ID of the stream. 1815 // Only set on the first message, when a new stream was created. 1816 StreamId string `protobuf:"bytes,1,opt,name=stream_id,json=streamId,proto3" json:"stream_id,omitempty"` 1817 // A token that represents the position of this response in the stream. 1818 // This can be used by a client to resume the stream at this point. 1819 // 1820 // This field is always set. 1821 StreamToken []byte `protobuf:"bytes,2,opt,name=stream_token,json=streamToken,proto3" json:"stream_token,omitempty"` 1822 // The result of applying the writes. 1823 // 1824 // This i-th write result corresponds to the i-th write in the 1825 // request. 1826 WriteResults []*WriteResult `protobuf:"bytes,3,rep,name=write_results,json=writeResults,proto3" json:"write_results,omitempty"` 1827 // The time at which the commit occurred. Any read with an equal or greater 1828 // `read_time` is guaranteed to see the effects of the write. 1829 CommitTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=commit_time,json=commitTime,proto3" json:"commit_time,omitempty"` 1830} 1831 1832func (x *WriteResponse) Reset() { 1833 *x = WriteResponse{} 1834 if protoimpl.UnsafeEnabled { 1835 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[18] 1836 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1837 ms.StoreMessageInfo(mi) 1838 } 1839} 1840 1841func (x *WriteResponse) String() string { 1842 return protoimpl.X.MessageStringOf(x) 1843} 1844 1845func (*WriteResponse) ProtoMessage() {} 1846 1847func (x *WriteResponse) ProtoReflect() protoreflect.Message { 1848 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[18] 1849 if protoimpl.UnsafeEnabled && x != nil { 1850 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1851 if ms.LoadMessageInfo() == nil { 1852 ms.StoreMessageInfo(mi) 1853 } 1854 return ms 1855 } 1856 return mi.MessageOf(x) 1857} 1858 1859// Deprecated: Use WriteResponse.ProtoReflect.Descriptor instead. 1860func (*WriteResponse) Descriptor() ([]byte, []int) { 1861 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{18} 1862} 1863 1864func (x *WriteResponse) GetStreamId() string { 1865 if x != nil { 1866 return x.StreamId 1867 } 1868 return "" 1869} 1870 1871func (x *WriteResponse) GetStreamToken() []byte { 1872 if x != nil { 1873 return x.StreamToken 1874 } 1875 return nil 1876} 1877 1878func (x *WriteResponse) GetWriteResults() []*WriteResult { 1879 if x != nil { 1880 return x.WriteResults 1881 } 1882 return nil 1883} 1884 1885func (x *WriteResponse) GetCommitTime() *timestamppb.Timestamp { 1886 if x != nil { 1887 return x.CommitTime 1888 } 1889 return nil 1890} 1891 1892// A request for [Firestore.Listen][google.firestore.v1beta1.Firestore.Listen] 1893type ListenRequest struct { 1894 state protoimpl.MessageState 1895 sizeCache protoimpl.SizeCache 1896 unknownFields protoimpl.UnknownFields 1897 1898 // Required. The database name. In the format: 1899 // `projects/{project_id}/databases/{database_id}`. 1900 Database string `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"` 1901 // The supported target changes. 1902 // 1903 // Types that are assignable to TargetChange: 1904 // *ListenRequest_AddTarget 1905 // *ListenRequest_RemoveTarget 1906 TargetChange isListenRequest_TargetChange `protobuf_oneof:"target_change"` 1907 // Labels associated with this target change. 1908 Labels map[string]string `protobuf:"bytes,4,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 1909} 1910 1911func (x *ListenRequest) Reset() { 1912 *x = ListenRequest{} 1913 if protoimpl.UnsafeEnabled { 1914 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[19] 1915 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1916 ms.StoreMessageInfo(mi) 1917 } 1918} 1919 1920func (x *ListenRequest) String() string { 1921 return protoimpl.X.MessageStringOf(x) 1922} 1923 1924func (*ListenRequest) ProtoMessage() {} 1925 1926func (x *ListenRequest) ProtoReflect() protoreflect.Message { 1927 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[19] 1928 if protoimpl.UnsafeEnabled && x != nil { 1929 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1930 if ms.LoadMessageInfo() == nil { 1931 ms.StoreMessageInfo(mi) 1932 } 1933 return ms 1934 } 1935 return mi.MessageOf(x) 1936} 1937 1938// Deprecated: Use ListenRequest.ProtoReflect.Descriptor instead. 1939func (*ListenRequest) Descriptor() ([]byte, []int) { 1940 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{19} 1941} 1942 1943func (x *ListenRequest) GetDatabase() string { 1944 if x != nil { 1945 return x.Database 1946 } 1947 return "" 1948} 1949 1950func (m *ListenRequest) GetTargetChange() isListenRequest_TargetChange { 1951 if m != nil { 1952 return m.TargetChange 1953 } 1954 return nil 1955} 1956 1957func (x *ListenRequest) GetAddTarget() *Target { 1958 if x, ok := x.GetTargetChange().(*ListenRequest_AddTarget); ok { 1959 return x.AddTarget 1960 } 1961 return nil 1962} 1963 1964func (x *ListenRequest) GetRemoveTarget() int32 { 1965 if x, ok := x.GetTargetChange().(*ListenRequest_RemoveTarget); ok { 1966 return x.RemoveTarget 1967 } 1968 return 0 1969} 1970 1971func (x *ListenRequest) GetLabels() map[string]string { 1972 if x != nil { 1973 return x.Labels 1974 } 1975 return nil 1976} 1977 1978type isListenRequest_TargetChange interface { 1979 isListenRequest_TargetChange() 1980} 1981 1982type ListenRequest_AddTarget struct { 1983 // A target to add to this stream. 1984 AddTarget *Target `protobuf:"bytes,2,opt,name=add_target,json=addTarget,proto3,oneof"` 1985} 1986 1987type ListenRequest_RemoveTarget struct { 1988 // The ID of a target to remove from this stream. 1989 RemoveTarget int32 `protobuf:"varint,3,opt,name=remove_target,json=removeTarget,proto3,oneof"` 1990} 1991 1992func (*ListenRequest_AddTarget) isListenRequest_TargetChange() {} 1993 1994func (*ListenRequest_RemoveTarget) isListenRequest_TargetChange() {} 1995 1996// The response for [Firestore.Listen][google.firestore.v1beta1.Firestore.Listen]. 1997type ListenResponse struct { 1998 state protoimpl.MessageState 1999 sizeCache protoimpl.SizeCache 2000 unknownFields protoimpl.UnknownFields 2001 2002 // The supported responses. 2003 // 2004 // Types that are assignable to ResponseType: 2005 // *ListenResponse_TargetChange 2006 // *ListenResponse_DocumentChange 2007 // *ListenResponse_DocumentDelete 2008 // *ListenResponse_DocumentRemove 2009 // *ListenResponse_Filter 2010 ResponseType isListenResponse_ResponseType `protobuf_oneof:"response_type"` 2011} 2012 2013func (x *ListenResponse) Reset() { 2014 *x = ListenResponse{} 2015 if protoimpl.UnsafeEnabled { 2016 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[20] 2017 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2018 ms.StoreMessageInfo(mi) 2019 } 2020} 2021 2022func (x *ListenResponse) String() string { 2023 return protoimpl.X.MessageStringOf(x) 2024} 2025 2026func (*ListenResponse) ProtoMessage() {} 2027 2028func (x *ListenResponse) ProtoReflect() protoreflect.Message { 2029 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[20] 2030 if protoimpl.UnsafeEnabled && x != nil { 2031 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2032 if ms.LoadMessageInfo() == nil { 2033 ms.StoreMessageInfo(mi) 2034 } 2035 return ms 2036 } 2037 return mi.MessageOf(x) 2038} 2039 2040// Deprecated: Use ListenResponse.ProtoReflect.Descriptor instead. 2041func (*ListenResponse) Descriptor() ([]byte, []int) { 2042 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{20} 2043} 2044 2045func (m *ListenResponse) GetResponseType() isListenResponse_ResponseType { 2046 if m != nil { 2047 return m.ResponseType 2048 } 2049 return nil 2050} 2051 2052func (x *ListenResponse) GetTargetChange() *TargetChange { 2053 if x, ok := x.GetResponseType().(*ListenResponse_TargetChange); ok { 2054 return x.TargetChange 2055 } 2056 return nil 2057} 2058 2059func (x *ListenResponse) GetDocumentChange() *DocumentChange { 2060 if x, ok := x.GetResponseType().(*ListenResponse_DocumentChange); ok { 2061 return x.DocumentChange 2062 } 2063 return nil 2064} 2065 2066func (x *ListenResponse) GetDocumentDelete() *DocumentDelete { 2067 if x, ok := x.GetResponseType().(*ListenResponse_DocumentDelete); ok { 2068 return x.DocumentDelete 2069 } 2070 return nil 2071} 2072 2073func (x *ListenResponse) GetDocumentRemove() *DocumentRemove { 2074 if x, ok := x.GetResponseType().(*ListenResponse_DocumentRemove); ok { 2075 return x.DocumentRemove 2076 } 2077 return nil 2078} 2079 2080func (x *ListenResponse) GetFilter() *ExistenceFilter { 2081 if x, ok := x.GetResponseType().(*ListenResponse_Filter); ok { 2082 return x.Filter 2083 } 2084 return nil 2085} 2086 2087type isListenResponse_ResponseType interface { 2088 isListenResponse_ResponseType() 2089} 2090 2091type ListenResponse_TargetChange struct { 2092 // Targets have changed. 2093 TargetChange *TargetChange `protobuf:"bytes,2,opt,name=target_change,json=targetChange,proto3,oneof"` 2094} 2095 2096type ListenResponse_DocumentChange struct { 2097 // A [Document][google.firestore.v1beta1.Document] has changed. 2098 DocumentChange *DocumentChange `protobuf:"bytes,3,opt,name=document_change,json=documentChange,proto3,oneof"` 2099} 2100 2101type ListenResponse_DocumentDelete struct { 2102 // A [Document][google.firestore.v1beta1.Document] has been deleted. 2103 DocumentDelete *DocumentDelete `protobuf:"bytes,4,opt,name=document_delete,json=documentDelete,proto3,oneof"` 2104} 2105 2106type ListenResponse_DocumentRemove struct { 2107 // A [Document][google.firestore.v1beta1.Document] has been removed from a target (because it is no longer 2108 // relevant to that target). 2109 DocumentRemove *DocumentRemove `protobuf:"bytes,6,opt,name=document_remove,json=documentRemove,proto3,oneof"` 2110} 2111 2112type ListenResponse_Filter struct { 2113 // A filter to apply to the set of documents previously returned for the 2114 // given target. 2115 // 2116 // Returned when documents may have been removed from the given target, but 2117 // the exact documents are unknown. 2118 Filter *ExistenceFilter `protobuf:"bytes,5,opt,name=filter,proto3,oneof"` 2119} 2120 2121func (*ListenResponse_TargetChange) isListenResponse_ResponseType() {} 2122 2123func (*ListenResponse_DocumentChange) isListenResponse_ResponseType() {} 2124 2125func (*ListenResponse_DocumentDelete) isListenResponse_ResponseType() {} 2126 2127func (*ListenResponse_DocumentRemove) isListenResponse_ResponseType() {} 2128 2129func (*ListenResponse_Filter) isListenResponse_ResponseType() {} 2130 2131// A specification of a set of documents to listen to. 2132type Target struct { 2133 state protoimpl.MessageState 2134 sizeCache protoimpl.SizeCache 2135 unknownFields protoimpl.UnknownFields 2136 2137 // The type of target to listen to. 2138 // 2139 // Types that are assignable to TargetType: 2140 // *Target_Query 2141 // *Target_Documents 2142 TargetType isTarget_TargetType `protobuf_oneof:"target_type"` 2143 // When to start listening. 2144 // 2145 // If not specified, all matching Documents are returned before any 2146 // subsequent changes. 2147 // 2148 // Types that are assignable to ResumeType: 2149 // *Target_ResumeToken 2150 // *Target_ReadTime 2151 ResumeType isTarget_ResumeType `protobuf_oneof:"resume_type"` 2152 // The target ID that identifies the target on the stream. Must be a positive 2153 // number and non-zero. 2154 TargetId int32 `protobuf:"varint,5,opt,name=target_id,json=targetId,proto3" json:"target_id,omitempty"` 2155 // If the target should be removed once it is current and consistent. 2156 Once bool `protobuf:"varint,6,opt,name=once,proto3" json:"once,omitempty"` 2157} 2158 2159func (x *Target) Reset() { 2160 *x = Target{} 2161 if protoimpl.UnsafeEnabled { 2162 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[21] 2163 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2164 ms.StoreMessageInfo(mi) 2165 } 2166} 2167 2168func (x *Target) String() string { 2169 return protoimpl.X.MessageStringOf(x) 2170} 2171 2172func (*Target) ProtoMessage() {} 2173 2174func (x *Target) ProtoReflect() protoreflect.Message { 2175 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[21] 2176 if protoimpl.UnsafeEnabled && x != nil { 2177 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2178 if ms.LoadMessageInfo() == nil { 2179 ms.StoreMessageInfo(mi) 2180 } 2181 return ms 2182 } 2183 return mi.MessageOf(x) 2184} 2185 2186// Deprecated: Use Target.ProtoReflect.Descriptor instead. 2187func (*Target) Descriptor() ([]byte, []int) { 2188 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{21} 2189} 2190 2191func (m *Target) GetTargetType() isTarget_TargetType { 2192 if m != nil { 2193 return m.TargetType 2194 } 2195 return nil 2196} 2197 2198func (x *Target) GetQuery() *Target_QueryTarget { 2199 if x, ok := x.GetTargetType().(*Target_Query); ok { 2200 return x.Query 2201 } 2202 return nil 2203} 2204 2205func (x *Target) GetDocuments() *Target_DocumentsTarget { 2206 if x, ok := x.GetTargetType().(*Target_Documents); ok { 2207 return x.Documents 2208 } 2209 return nil 2210} 2211 2212func (m *Target) GetResumeType() isTarget_ResumeType { 2213 if m != nil { 2214 return m.ResumeType 2215 } 2216 return nil 2217} 2218 2219func (x *Target) GetResumeToken() []byte { 2220 if x, ok := x.GetResumeType().(*Target_ResumeToken); ok { 2221 return x.ResumeToken 2222 } 2223 return nil 2224} 2225 2226func (x *Target) GetReadTime() *timestamppb.Timestamp { 2227 if x, ok := x.GetResumeType().(*Target_ReadTime); ok { 2228 return x.ReadTime 2229 } 2230 return nil 2231} 2232 2233func (x *Target) GetTargetId() int32 { 2234 if x != nil { 2235 return x.TargetId 2236 } 2237 return 0 2238} 2239 2240func (x *Target) GetOnce() bool { 2241 if x != nil { 2242 return x.Once 2243 } 2244 return false 2245} 2246 2247type isTarget_TargetType interface { 2248 isTarget_TargetType() 2249} 2250 2251type Target_Query struct { 2252 // A target specified by a query. 2253 Query *Target_QueryTarget `protobuf:"bytes,2,opt,name=query,proto3,oneof"` 2254} 2255 2256type Target_Documents struct { 2257 // A target specified by a set of document names. 2258 Documents *Target_DocumentsTarget `protobuf:"bytes,3,opt,name=documents,proto3,oneof"` 2259} 2260 2261func (*Target_Query) isTarget_TargetType() {} 2262 2263func (*Target_Documents) isTarget_TargetType() {} 2264 2265type isTarget_ResumeType interface { 2266 isTarget_ResumeType() 2267} 2268 2269type Target_ResumeToken struct { 2270 // A resume token from a prior [TargetChange][google.firestore.v1beta1.TargetChange] for an identical target. 2271 // 2272 // Using a resume token with a different target is unsupported and may fail. 2273 ResumeToken []byte `protobuf:"bytes,4,opt,name=resume_token,json=resumeToken,proto3,oneof"` 2274} 2275 2276type Target_ReadTime struct { 2277 // Start listening after a specific `read_time`. 2278 // 2279 // The client must know the state of matching documents at this time. 2280 ReadTime *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=read_time,json=readTime,proto3,oneof"` 2281} 2282 2283func (*Target_ResumeToken) isTarget_ResumeType() {} 2284 2285func (*Target_ReadTime) isTarget_ResumeType() {} 2286 2287// Targets being watched have changed. 2288type TargetChange struct { 2289 state protoimpl.MessageState 2290 sizeCache protoimpl.SizeCache 2291 unknownFields protoimpl.UnknownFields 2292 2293 // The type of change that occurred. 2294 TargetChangeType TargetChange_TargetChangeType `protobuf:"varint,1,opt,name=target_change_type,json=targetChangeType,proto3,enum=google.firestore.v1beta1.TargetChange_TargetChangeType" json:"target_change_type,omitempty"` 2295 // The target IDs of targets that have changed. 2296 // 2297 // If empty, the change applies to all targets. 2298 // 2299 // The order of the target IDs is not defined. 2300 TargetIds []int32 `protobuf:"varint,2,rep,packed,name=target_ids,json=targetIds,proto3" json:"target_ids,omitempty"` 2301 // The error that resulted in this change, if applicable. 2302 Cause *status.Status `protobuf:"bytes,3,opt,name=cause,proto3" json:"cause,omitempty"` 2303 // A token that can be used to resume the stream for the given `target_ids`, 2304 // or all targets if `target_ids` is empty. 2305 // 2306 // Not set on every target change. 2307 ResumeToken []byte `protobuf:"bytes,4,opt,name=resume_token,json=resumeToken,proto3" json:"resume_token,omitempty"` 2308 // The consistent `read_time` for the given `target_ids` (omitted when the 2309 // target_ids are not at a consistent snapshot). 2310 // 2311 // The stream is guaranteed to send a `read_time` with `target_ids` empty 2312 // whenever the entire stream reaches a new consistent snapshot. ADD, 2313 // CURRENT, and RESET messages are guaranteed to (eventually) result in a 2314 // new consistent snapshot (while NO_CHANGE and REMOVE messages are not). 2315 // 2316 // For a given stream, `read_time` is guaranteed to be monotonically 2317 // increasing. 2318 ReadTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=read_time,json=readTime,proto3" json:"read_time,omitempty"` 2319} 2320 2321func (x *TargetChange) Reset() { 2322 *x = TargetChange{} 2323 if protoimpl.UnsafeEnabled { 2324 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[22] 2325 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2326 ms.StoreMessageInfo(mi) 2327 } 2328} 2329 2330func (x *TargetChange) String() string { 2331 return protoimpl.X.MessageStringOf(x) 2332} 2333 2334func (*TargetChange) ProtoMessage() {} 2335 2336func (x *TargetChange) ProtoReflect() protoreflect.Message { 2337 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[22] 2338 if protoimpl.UnsafeEnabled && x != nil { 2339 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2340 if ms.LoadMessageInfo() == nil { 2341 ms.StoreMessageInfo(mi) 2342 } 2343 return ms 2344 } 2345 return mi.MessageOf(x) 2346} 2347 2348// Deprecated: Use TargetChange.ProtoReflect.Descriptor instead. 2349func (*TargetChange) Descriptor() ([]byte, []int) { 2350 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{22} 2351} 2352 2353func (x *TargetChange) GetTargetChangeType() TargetChange_TargetChangeType { 2354 if x != nil { 2355 return x.TargetChangeType 2356 } 2357 return TargetChange_NO_CHANGE 2358} 2359 2360func (x *TargetChange) GetTargetIds() []int32 { 2361 if x != nil { 2362 return x.TargetIds 2363 } 2364 return nil 2365} 2366 2367func (x *TargetChange) GetCause() *status.Status { 2368 if x != nil { 2369 return x.Cause 2370 } 2371 return nil 2372} 2373 2374func (x *TargetChange) GetResumeToken() []byte { 2375 if x != nil { 2376 return x.ResumeToken 2377 } 2378 return nil 2379} 2380 2381func (x *TargetChange) GetReadTime() *timestamppb.Timestamp { 2382 if x != nil { 2383 return x.ReadTime 2384 } 2385 return nil 2386} 2387 2388// The request for [Firestore.ListCollectionIds][google.firestore.v1beta1.Firestore.ListCollectionIds]. 2389type ListCollectionIdsRequest struct { 2390 state protoimpl.MessageState 2391 sizeCache protoimpl.SizeCache 2392 unknownFields protoimpl.UnknownFields 2393 2394 // Required. The parent document. In the format: 2395 // `projects/{project_id}/databases/{database_id}/documents/{document_path}`. 2396 // For example: 2397 // `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom` 2398 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 2399 // The maximum number of results to return. 2400 PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` 2401 // A page token. Must be a value from 2402 // [ListCollectionIdsResponse][google.firestore.v1beta1.ListCollectionIdsResponse]. 2403 PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` 2404} 2405 2406func (x *ListCollectionIdsRequest) Reset() { 2407 *x = ListCollectionIdsRequest{} 2408 if protoimpl.UnsafeEnabled { 2409 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[23] 2410 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2411 ms.StoreMessageInfo(mi) 2412 } 2413} 2414 2415func (x *ListCollectionIdsRequest) String() string { 2416 return protoimpl.X.MessageStringOf(x) 2417} 2418 2419func (*ListCollectionIdsRequest) ProtoMessage() {} 2420 2421func (x *ListCollectionIdsRequest) ProtoReflect() protoreflect.Message { 2422 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[23] 2423 if protoimpl.UnsafeEnabled && x != nil { 2424 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2425 if ms.LoadMessageInfo() == nil { 2426 ms.StoreMessageInfo(mi) 2427 } 2428 return ms 2429 } 2430 return mi.MessageOf(x) 2431} 2432 2433// Deprecated: Use ListCollectionIdsRequest.ProtoReflect.Descriptor instead. 2434func (*ListCollectionIdsRequest) Descriptor() ([]byte, []int) { 2435 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{23} 2436} 2437 2438func (x *ListCollectionIdsRequest) GetParent() string { 2439 if x != nil { 2440 return x.Parent 2441 } 2442 return "" 2443} 2444 2445func (x *ListCollectionIdsRequest) GetPageSize() int32 { 2446 if x != nil { 2447 return x.PageSize 2448 } 2449 return 0 2450} 2451 2452func (x *ListCollectionIdsRequest) GetPageToken() string { 2453 if x != nil { 2454 return x.PageToken 2455 } 2456 return "" 2457} 2458 2459// The response from [Firestore.ListCollectionIds][google.firestore.v1beta1.Firestore.ListCollectionIds]. 2460type ListCollectionIdsResponse struct { 2461 state protoimpl.MessageState 2462 sizeCache protoimpl.SizeCache 2463 unknownFields protoimpl.UnknownFields 2464 2465 // The collection ids. 2466 CollectionIds []string `protobuf:"bytes,1,rep,name=collection_ids,json=collectionIds,proto3" json:"collection_ids,omitempty"` 2467 // A page token that may be used to continue the list. 2468 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` 2469} 2470 2471func (x *ListCollectionIdsResponse) Reset() { 2472 *x = ListCollectionIdsResponse{} 2473 if protoimpl.UnsafeEnabled { 2474 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[24] 2475 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2476 ms.StoreMessageInfo(mi) 2477 } 2478} 2479 2480func (x *ListCollectionIdsResponse) String() string { 2481 return protoimpl.X.MessageStringOf(x) 2482} 2483 2484func (*ListCollectionIdsResponse) ProtoMessage() {} 2485 2486func (x *ListCollectionIdsResponse) ProtoReflect() protoreflect.Message { 2487 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[24] 2488 if protoimpl.UnsafeEnabled && x != nil { 2489 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2490 if ms.LoadMessageInfo() == nil { 2491 ms.StoreMessageInfo(mi) 2492 } 2493 return ms 2494 } 2495 return mi.MessageOf(x) 2496} 2497 2498// Deprecated: Use ListCollectionIdsResponse.ProtoReflect.Descriptor instead. 2499func (*ListCollectionIdsResponse) Descriptor() ([]byte, []int) { 2500 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{24} 2501} 2502 2503func (x *ListCollectionIdsResponse) GetCollectionIds() []string { 2504 if x != nil { 2505 return x.CollectionIds 2506 } 2507 return nil 2508} 2509 2510func (x *ListCollectionIdsResponse) GetNextPageToken() string { 2511 if x != nil { 2512 return x.NextPageToken 2513 } 2514 return "" 2515} 2516 2517// The request for [Firestore.BatchWrite][google.firestore.v1beta1.Firestore.BatchWrite]. 2518type BatchWriteRequest struct { 2519 state protoimpl.MessageState 2520 sizeCache protoimpl.SizeCache 2521 unknownFields protoimpl.UnknownFields 2522 2523 // Required. The database name. In the format: 2524 // `projects/{project_id}/databases/{database_id}`. 2525 Database string `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"` 2526 // The writes to apply. 2527 // 2528 // Method does not apply writes atomically and does not guarantee ordering. 2529 // Each write succeeds or fails independently. You cannot write to the same 2530 // document more than once per request. 2531 Writes []*Write `protobuf:"bytes,2,rep,name=writes,proto3" json:"writes,omitempty"` 2532 // Labels associated with this batch write. 2533 Labels map[string]string `protobuf:"bytes,3,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 2534} 2535 2536func (x *BatchWriteRequest) Reset() { 2537 *x = BatchWriteRequest{} 2538 if protoimpl.UnsafeEnabled { 2539 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[25] 2540 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2541 ms.StoreMessageInfo(mi) 2542 } 2543} 2544 2545func (x *BatchWriteRequest) String() string { 2546 return protoimpl.X.MessageStringOf(x) 2547} 2548 2549func (*BatchWriteRequest) ProtoMessage() {} 2550 2551func (x *BatchWriteRequest) ProtoReflect() protoreflect.Message { 2552 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[25] 2553 if protoimpl.UnsafeEnabled && x != nil { 2554 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2555 if ms.LoadMessageInfo() == nil { 2556 ms.StoreMessageInfo(mi) 2557 } 2558 return ms 2559 } 2560 return mi.MessageOf(x) 2561} 2562 2563// Deprecated: Use BatchWriteRequest.ProtoReflect.Descriptor instead. 2564func (*BatchWriteRequest) Descriptor() ([]byte, []int) { 2565 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{25} 2566} 2567 2568func (x *BatchWriteRequest) GetDatabase() string { 2569 if x != nil { 2570 return x.Database 2571 } 2572 return "" 2573} 2574 2575func (x *BatchWriteRequest) GetWrites() []*Write { 2576 if x != nil { 2577 return x.Writes 2578 } 2579 return nil 2580} 2581 2582func (x *BatchWriteRequest) GetLabels() map[string]string { 2583 if x != nil { 2584 return x.Labels 2585 } 2586 return nil 2587} 2588 2589// The response from [Firestore.BatchWrite][google.firestore.v1beta1.Firestore.BatchWrite]. 2590type BatchWriteResponse struct { 2591 state protoimpl.MessageState 2592 sizeCache protoimpl.SizeCache 2593 unknownFields protoimpl.UnknownFields 2594 2595 // The result of applying the writes. 2596 // 2597 // This i-th write result corresponds to the i-th write in the 2598 // request. 2599 WriteResults []*WriteResult `protobuf:"bytes,1,rep,name=write_results,json=writeResults,proto3" json:"write_results,omitempty"` 2600 // The status of applying the writes. 2601 // 2602 // This i-th write status corresponds to the i-th write in the 2603 // request. 2604 Status []*status.Status `protobuf:"bytes,2,rep,name=status,proto3" json:"status,omitempty"` 2605} 2606 2607func (x *BatchWriteResponse) Reset() { 2608 *x = BatchWriteResponse{} 2609 if protoimpl.UnsafeEnabled { 2610 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[26] 2611 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2612 ms.StoreMessageInfo(mi) 2613 } 2614} 2615 2616func (x *BatchWriteResponse) String() string { 2617 return protoimpl.X.MessageStringOf(x) 2618} 2619 2620func (*BatchWriteResponse) ProtoMessage() {} 2621 2622func (x *BatchWriteResponse) ProtoReflect() protoreflect.Message { 2623 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[26] 2624 if protoimpl.UnsafeEnabled && x != nil { 2625 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2626 if ms.LoadMessageInfo() == nil { 2627 ms.StoreMessageInfo(mi) 2628 } 2629 return ms 2630 } 2631 return mi.MessageOf(x) 2632} 2633 2634// Deprecated: Use BatchWriteResponse.ProtoReflect.Descriptor instead. 2635func (*BatchWriteResponse) Descriptor() ([]byte, []int) { 2636 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{26} 2637} 2638 2639func (x *BatchWriteResponse) GetWriteResults() []*WriteResult { 2640 if x != nil { 2641 return x.WriteResults 2642 } 2643 return nil 2644} 2645 2646func (x *BatchWriteResponse) GetStatus() []*status.Status { 2647 if x != nil { 2648 return x.Status 2649 } 2650 return nil 2651} 2652 2653// A target specified by a set of documents names. 2654type Target_DocumentsTarget struct { 2655 state protoimpl.MessageState 2656 sizeCache protoimpl.SizeCache 2657 unknownFields protoimpl.UnknownFields 2658 2659 // The names of the documents to retrieve. In the format: 2660 // `projects/{project_id}/databases/{database_id}/documents/{document_path}`. 2661 // The request will fail if any of the document is not a child resource of 2662 // the given `database`. Duplicate names will be elided. 2663 Documents []string `protobuf:"bytes,2,rep,name=documents,proto3" json:"documents,omitempty"` 2664} 2665 2666func (x *Target_DocumentsTarget) Reset() { 2667 *x = Target_DocumentsTarget{} 2668 if protoimpl.UnsafeEnabled { 2669 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[29] 2670 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2671 ms.StoreMessageInfo(mi) 2672 } 2673} 2674 2675func (x *Target_DocumentsTarget) String() string { 2676 return protoimpl.X.MessageStringOf(x) 2677} 2678 2679func (*Target_DocumentsTarget) ProtoMessage() {} 2680 2681func (x *Target_DocumentsTarget) ProtoReflect() protoreflect.Message { 2682 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[29] 2683 if protoimpl.UnsafeEnabled && x != nil { 2684 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2685 if ms.LoadMessageInfo() == nil { 2686 ms.StoreMessageInfo(mi) 2687 } 2688 return ms 2689 } 2690 return mi.MessageOf(x) 2691} 2692 2693// Deprecated: Use Target_DocumentsTarget.ProtoReflect.Descriptor instead. 2694func (*Target_DocumentsTarget) Descriptor() ([]byte, []int) { 2695 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{21, 0} 2696} 2697 2698func (x *Target_DocumentsTarget) GetDocuments() []string { 2699 if x != nil { 2700 return x.Documents 2701 } 2702 return nil 2703} 2704 2705// A target specified by a query. 2706type Target_QueryTarget struct { 2707 state protoimpl.MessageState 2708 sizeCache protoimpl.SizeCache 2709 unknownFields protoimpl.UnknownFields 2710 2711 // The parent resource name. In the format: 2712 // `projects/{project_id}/databases/{database_id}/documents` or 2713 // `projects/{project_id}/databases/{database_id}/documents/{document_path}`. 2714 // For example: 2715 // `projects/my-project/databases/my-database/documents` or 2716 // `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom` 2717 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 2718 // The query to run. 2719 // 2720 // Types that are assignable to QueryType: 2721 // *Target_QueryTarget_StructuredQuery 2722 QueryType isTarget_QueryTarget_QueryType `protobuf_oneof:"query_type"` 2723} 2724 2725func (x *Target_QueryTarget) Reset() { 2726 *x = Target_QueryTarget{} 2727 if protoimpl.UnsafeEnabled { 2728 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[30] 2729 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2730 ms.StoreMessageInfo(mi) 2731 } 2732} 2733 2734func (x *Target_QueryTarget) String() string { 2735 return protoimpl.X.MessageStringOf(x) 2736} 2737 2738func (*Target_QueryTarget) ProtoMessage() {} 2739 2740func (x *Target_QueryTarget) ProtoReflect() protoreflect.Message { 2741 mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[30] 2742 if protoimpl.UnsafeEnabled && x != nil { 2743 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2744 if ms.LoadMessageInfo() == nil { 2745 ms.StoreMessageInfo(mi) 2746 } 2747 return ms 2748 } 2749 return mi.MessageOf(x) 2750} 2751 2752// Deprecated: Use Target_QueryTarget.ProtoReflect.Descriptor instead. 2753func (*Target_QueryTarget) Descriptor() ([]byte, []int) { 2754 return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{21, 1} 2755} 2756 2757func (x *Target_QueryTarget) GetParent() string { 2758 if x != nil { 2759 return x.Parent 2760 } 2761 return "" 2762} 2763 2764func (m *Target_QueryTarget) GetQueryType() isTarget_QueryTarget_QueryType { 2765 if m != nil { 2766 return m.QueryType 2767 } 2768 return nil 2769} 2770 2771func (x *Target_QueryTarget) GetStructuredQuery() *StructuredQuery { 2772 if x, ok := x.GetQueryType().(*Target_QueryTarget_StructuredQuery); ok { 2773 return x.StructuredQuery 2774 } 2775 return nil 2776} 2777 2778type isTarget_QueryTarget_QueryType interface { 2779 isTarget_QueryTarget_QueryType() 2780} 2781 2782type Target_QueryTarget_StructuredQuery struct { 2783 // A structured query. 2784 StructuredQuery *StructuredQuery `protobuf:"bytes,2,opt,name=structured_query,json=structuredQuery,proto3,oneof"` 2785} 2786 2787func (*Target_QueryTarget_StructuredQuery) isTarget_QueryTarget_QueryType() {} 2788 2789var File_google_firestore_v1beta1_firestore_proto protoreflect.FileDescriptor 2790 2791var file_google_firestore_v1beta1_firestore_proto_rawDesc = []byte{ 2792 0x0a, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 2793 0x72, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x73, 2794 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x67, 0x6f, 0x6f, 0x67, 2795 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 2796 0x65, 0x74, 0x61, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 2797 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 2798 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 2799 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 2800 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 2801 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x67, 0x6f, 2802 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76, 2803 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 2804 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x66, 0x69, 0x72, 0x65, 2805 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x64, 0x6f, 2806 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x67, 0x6f, 2807 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76, 2808 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 2809 0x74, 0x6f, 0x1a, 0x24, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x73, 2810 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x77, 0x72, 0x69, 2811 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2812 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 2813 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 2814 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 2815 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 2816 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 2817 0xe0, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 2818 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 2819 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 2820 0x3a, 0x0a, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 2821 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 2822 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 2823 0x74, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0x22, 0x0a, 0x0b, 0x74, 2824 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 2825 0x48, 0x00, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 2826 0x39, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 2827 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 2828 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x00, 2829 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x16, 0x0a, 0x14, 0x63, 0x6f, 2830 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 2831 0x6f, 0x72, 0x22, 0x8a, 0x03, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 2832 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, 2833 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 2834 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x0d, 0x63, 0x6f, 0x6c, 0x6c, 2835 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 2836 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 2837 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 2838 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 2839 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 2840 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x19, 2841 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 2842 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x3a, 0x0a, 0x04, 0x6d, 0x61, 0x73, 2843 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2844 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 2845 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x73, 0x6b, 0x52, 2846 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0x22, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 2847 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x72, 2848 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x09, 0x72, 0x65, 0x61, 2849 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 2850 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 2851 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 2852 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x6d, 0x69, 0x73, 2853 0x73, 0x69, 0x6e, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, 0x68, 0x6f, 0x77, 2854 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x42, 0x16, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x73, 0x69, 2855 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x22, 2856 0x81, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 2857 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x09, 0x64, 0x6f, 0x63, 2858 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 2859 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 2860 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 2861 0x52, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 2862 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 2863 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 2864 0x6b, 0x65, 0x6e, 0x22, 0x80, 0x02, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 2865 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 2866 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 2867 0x41, 0x02, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x0d, 0x63, 0x6f, 2868 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 2869 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 2870 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 2871 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x6f, 0x63, 0x75, 0x6d, 2872 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x43, 0x0a, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 2873 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2874 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 2875 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 2876 0x52, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3a, 0x0a, 0x04, 0x6d, 0x61, 2877 0x73, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2878 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 2879 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x73, 0x6b, 2880 0x52, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x22, 0xb4, 0x02, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 2881 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 2882 0x12, 0x43, 0x0a, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 2883 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 2884 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 2885 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, 0x6f, 0x63, 2886 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x47, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 2887 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 2888 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 2889 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x61, 2890 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x3a, 2891 0x0a, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 2892 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 2893 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 2894 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0x51, 0x0a, 0x10, 0x63, 0x75, 2895 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 2896 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 2897 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 2898 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x63, 0x75, 2899 0x72, 0x72, 0x65, 0x6e, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x83, 0x01, 2900 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 2901 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 2902 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 2903 0x12, 0x51, 0x0a, 0x10, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x6f, 0x63, 0x75, 2904 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 2905 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 2906 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 2907 0x6f, 0x6e, 0x52, 0x0f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 2908 0x65, 0x6e, 0x74, 0x22, 0xe5, 0x02, 0x0a, 0x18, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 2909 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 2910 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 2911 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 2912 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 2913 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 2914 0x3a, 0x0a, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 2915 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 2916 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 2917 0x74, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0x22, 0x0a, 0x0b, 0x74, 2918 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 2919 0x48, 0x00, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 2920 0x57, 0x0a, 0x0f, 0x6e, 0x65, 0x77, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 2921 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2922 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 2923 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 2924 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0e, 0x6e, 0x65, 0x77, 0x54, 0x72, 0x61, 2925 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 2926 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 2927 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 2928 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x54, 2929 0x69, 0x6d, 0x65, 0x42, 0x16, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 2930 0x63, 0x79, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x22, 0xd8, 0x01, 0x0a, 0x19, 2931 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 2932 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x05, 0x66, 0x6f, 0x75, 2933 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2934 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 2935 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x05, 2936 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1a, 0x0a, 0x07, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 2937 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 2938 0x67, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 2939 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 2940 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 2941 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 2942 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 2943 0x6d, 0x70, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x08, 0x0a, 0x06, 2944 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x82, 0x01, 0x0a, 0x17, 0x42, 0x65, 0x67, 0x69, 0x6e, 2945 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 2946 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, 2947 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 2948 0x61, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 2949 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 2950 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 2951 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 2952 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x3c, 0x0a, 0x18, 0x42, 2953 0x65, 0x67, 0x69, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 2954 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 2955 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x74, 0x72, 2956 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8b, 0x01, 0x0a, 0x0d, 0x43, 0x6f, 2957 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x08, 0x64, 2958 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 2959 0x41, 0x02, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x06, 2960 0x77, 0x72, 0x69, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 2961 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 2962 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x06, 0x77, 2963 0x72, 0x69, 0x74, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 2964 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 2965 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x99, 0x01, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x6d, 2966 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0d, 0x77, 0x72, 2967 0x69, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 2968 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 2969 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, 0x72, 0x69, 2970 0x74, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x52, 2971 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 2972 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 2973 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 2974 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x54, 2975 0x69, 0x6d, 0x65, 0x22, 0x59, 0x0a, 0x0f, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, 2976 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 2977 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, 2978 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 2979 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x03, 0xe0, 0x41, 2980 0x02, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xe4, 2981 0x02, 0x0a, 0x0f, 0x52, 0x75, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 2982 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 2983 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 2984 0x56, 0x0a, 0x10, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x71, 0x75, 2985 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 2986 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 2987 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x51, 2988 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x0f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 2989 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x22, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 2990 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x01, 0x52, 0x0b, 2991 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x57, 0x0a, 0x0f, 0x6e, 2992 0x65, 0x77, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 2993 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 2994 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 2995 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 2996 0x6e, 0x73, 0x48, 0x01, 0x52, 0x0e, 0x6e, 0x65, 0x77, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 2997 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 2998 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2999 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 3000 0x61, 0x6d, 0x70, 0x48, 0x01, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x42, 3001 0x0c, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x16, 0x0a, 3002 0x14, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x73, 0x65, 0x6c, 3003 0x65, 0x63, 0x74, 0x6f, 0x72, 0x22, 0xd6, 0x01, 0x0a, 0x10, 0x52, 0x75, 0x6e, 0x51, 0x75, 0x65, 3004 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x72, 3005 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 3006 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x08, 3007 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 3008 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 3009 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 3010 0x6e, 0x74, 0x52, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x09, 3011 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 3012 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 3013 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x72, 0x65, 0x61, 3014 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 3015 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 3016 0x73, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0xff, 3017 0x01, 0x0a, 0x15, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 3018 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 3019 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 3020 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x56, 0x0a, 0x10, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 3021 0x72, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 3022 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 3023 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 3024 0x74, 0x75, 0x72, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x0f, 0x73, 0x74, 3025 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x27, 0x0a, 3026 0x0f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 3027 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 3028 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 3029 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 3030 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 3031 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 3032 0x7a, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 3033 0x22, 0x82, 0x01, 0x0a, 0x16, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 3034 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x0a, 0x70, 3035 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 3036 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 3037 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x75, 0x72, 0x73, 0x6f, 3038 0x72, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, 3039 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 3040 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 3041 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xaf, 0x02, 0x0a, 0x0c, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 3042 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 3043 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, 3044 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x74, 0x72, 0x65, 0x61, 3045 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x72, 0x65, 3046 0x61, 0x6d, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x06, 0x77, 0x72, 0x69, 0x74, 0x65, 0x73, 0x18, 0x03, 3047 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 3048 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 3049 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x06, 0x77, 0x72, 0x69, 0x74, 0x65, 0x73, 0x12, 0x21, 0x0a, 3050 0x0c, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 3051 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 3052 0x12, 0x4a, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 3053 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 3054 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, 0x72, 0x69, 0x74, 3055 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 3056 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 3057 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 3058 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 3059 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 3060 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd8, 0x01, 0x0a, 0x0d, 0x57, 0x72, 0x69, 0x74, 3061 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x74, 0x72, 3062 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 3063 0x72, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 3064 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x73, 0x74, 3065 0x72, 0x65, 0x61, 0x6d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x4a, 0x0a, 0x0d, 0x77, 0x72, 0x69, 3066 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 3067 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 3068 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, 0x72, 0x69, 0x74, 3069 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 3070 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 3071 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 3072 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 3073 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x54, 0x69, 3074 0x6d, 0x65, 0x22, 0xb3, 0x02, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x52, 0x65, 0x71, 3075 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 3076 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, 0x61, 0x74, 3077 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0a, 0x61, 0x64, 0x64, 0x5f, 0x74, 0x61, 0x72, 3078 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 3079 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 3080 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x00, 0x52, 0x09, 0x61, 3081 0x64, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x25, 0x0a, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 3082 0x76, 0x65, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x48, 3083 0x00, 0x52, 0x0c, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 3084 0x4b, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 3085 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 3086 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 3087 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 3088 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 3089 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 3090 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 3091 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 3092 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 3093 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x22, 0xb4, 0x03, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 3094 0x74, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0d, 0x74, 3095 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 3096 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 3097 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x61, 3098 0x72, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x74, 0x61, 3099 0x72, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x53, 0x0a, 0x0f, 0x64, 0x6f, 3100 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x03, 0x20, 3101 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 3102 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 3103 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 3104 0x0e, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 3105 0x53, 0x0a, 0x0f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x65, 0x6c, 0x65, 3106 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3107 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 3108 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x6c, 0x65, 3109 0x74, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 3110 0x6c, 0x65, 0x74, 0x65, 0x12, 0x53, 0x0a, 0x0f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 3111 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 3112 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 3113 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 3114 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x6f, 0x63, 0x75, 0x6d, 3115 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x43, 0x0a, 0x06, 0x66, 0x69, 0x6c, 3116 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 3117 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 3118 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x46, 0x69, 3119 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0f, 3120 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 3121 0x8e, 0x04, 0x0a, 0x06, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x44, 0x0a, 0x05, 0x71, 0x75, 3122 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 3123 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 3124 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x2e, 0x51, 0x75, 0x65, 0x72, 3125 0x79, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x00, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 3126 0x12, 0x50, 0x0a, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 3127 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 3128 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 3129 0x61, 0x72, 0x67, 0x65, 0x74, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x54, 3130 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x00, 0x52, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 3131 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 3132 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x01, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x75, 3133 0x6d, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x39, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 3134 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 3135 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 3136 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x01, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x54, 0x69, 3137 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 3138 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, 0x12, 3139 0x12, 0x0a, 0x04, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x6f, 3140 0x6e, 0x63, 0x65, 0x1a, 0x2f, 0x0a, 0x0f, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 3141 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 3142 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 3143 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x8b, 0x01, 0x0a, 0x0b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x61, 3144 0x72, 0x67, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 3145 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x56, 0x0a, 0x10, 3146 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 3147 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 3148 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 3149 0x31, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 3150 0x79, 0x48, 0x00, 0x52, 0x0f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x51, 3151 0x75, 0x65, 0x72, 0x79, 0x42, 0x0c, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x79, 3152 0x70, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 3153 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 3154 0x22, 0xea, 0x02, 0x0a, 0x0c, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 3155 0x65, 0x12, 0x65, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 3156 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 3157 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 3158 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 3159 0x68, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 3160 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x68, 3161 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 3162 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x09, 0x74, 0x61, 3163 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x28, 0x0a, 0x05, 0x63, 0x61, 0x75, 0x73, 0x65, 3164 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 3165 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x63, 0x61, 0x75, 0x73, 3166 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 3167 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x54, 3168 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x37, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 3169 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3170 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 3171 0x61, 0x6d, 0x70, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x4e, 0x0a, 3172 0x10, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 3173 0x65, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x4f, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x00, 3174 0x12, 0x07, 0x0a, 0x03, 0x41, 0x44, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x45, 0x4d, 3175 0x4f, 0x56, 0x45, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 3176 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x45, 0x53, 0x45, 0x54, 0x10, 0x04, 0x22, 0x73, 0x0a, 3177 0x18, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 3178 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, 3179 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 3180 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 3181 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 3182 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 3183 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 3184 0x65, 0x6e, 0x22, 0x6a, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 3185 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 3186 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 3187 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 3188 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 3189 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 3190 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xf9, 3191 0x01, 0x0a, 0x11, 0x42, 0x61, 0x74, 0x63, 0x68, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 3192 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 3193 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, 0x61, 0x74, 3194 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x06, 0x77, 0x72, 0x69, 0x74, 0x65, 0x73, 0x18, 3195 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 3196 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 3197 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x06, 0x77, 0x72, 0x69, 0x74, 0x65, 0x73, 0x12, 0x4f, 3198 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 3199 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 3200 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x57, 3201 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 3202 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 3203 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 3204 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 3205 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 3206 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8c, 0x01, 0x0a, 0x12, 0x42, 3207 0x61, 0x74, 0x63, 0x68, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 3208 0x65, 0x12, 0x4a, 0x0a, 0x0d, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 3209 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3210 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 3211 0x74, 0x61, 0x31, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 3212 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x2a, 0x0a, 3213 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 3214 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 3215 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x32, 0xe4, 0x18, 0x0a, 0x09, 0x46, 0x69, 3216 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x9e, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x44, 3217 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3218 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 3219 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 3220 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 3221 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 3222 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 3223 0x37, 0x12, 0x35, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 3224 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 3225 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 3226 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x2a, 0x2a, 0x7d, 0x12, 0xc1, 0x01, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 3227 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 3228 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 3229 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 3230 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 3231 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 3232 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 3233 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4f, 0x82, 0xd3, 0xe4, 3234 0x93, 0x02, 0x49, 0x12, 0x47, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 3235 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 3236 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63, 3237 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x2a, 0x2a, 0x7d, 0x2f, 0x7b, 0x63, 0x6f, 3238 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xce, 0x01, 0x0a, 3239 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 3240 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 3241 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 3242 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 3243 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 3244 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 3245 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x67, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4a, 0x32, 0x3e, 0x2f, 0x76, 3246 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 3247 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 3248 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63, 3249 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x2a, 0x2a, 0x7d, 0x3a, 0x08, 0x64, 0x6f, 3250 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0xda, 0x41, 0x14, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 3251 0x74, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0x9f, 0x01, 3252 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 3253 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 3254 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 3255 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 3256 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 3257 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x44, 0x82, 0xd3, 0xe4, 0x93, 0x02, 3258 0x37, 0x2a, 0x35, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 3259 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 3260 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 3261 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x2a, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 3262 0xc8, 0x01, 0x0a, 0x11, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x44, 0x6f, 0x63, 0x75, 3263 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 3264 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 3265 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 3266 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 3267 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 3268 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x44, 0x6f, 0x63, 3269 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x48, 3270 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x22, 0x3d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 3271 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 3272 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 3273 0x2a, 0x7d, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x62, 0x61, 0x74, 3274 0x63, 0x68, 0x47, 0x65, 0x74, 0x3a, 0x01, 0x2a, 0x30, 0x01, 0x12, 0xd6, 0x01, 0x0a, 0x10, 0x42, 3275 0x65, 0x67, 0x69, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 3276 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 3277 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x65, 0x67, 0x69, 0x6e, 3278 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 3279 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 3280 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x65, 3281 0x67, 0x69, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 3282 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4a, 0x22, 0x45, 3283 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 3284 0x73, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 3285 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 3286 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 3287 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 3288 0x61, 0x73, 0x65, 0x12, 0xb5, 0x01, 0x0a, 0x06, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x27, 3289 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 3290 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 3291 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3292 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 3293 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 3294 0x65, 0x22, 0x58, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x22, 0x3b, 0x2f, 0x76, 0x31, 0x62, 0x65, 3295 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x3d, 0x70, 0x72, 3296 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 3297 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x3a, 3298 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x0f, 0x64, 0x61, 0x74, 0x61, 3299 0x62, 0x61, 0x73, 0x65, 0x2c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x73, 0x12, 0xae, 0x01, 0x0a, 0x08, 3300 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3301 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 3302 0x74, 0x61, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 3303 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 3304 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x5f, 0x82, 0xd3, 0xe4, 3305 0x93, 0x02, 0x42, 0x22, 0x3d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x64, 3306 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 3307 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 3308 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x72, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 3309 0x63, 0x6b, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x14, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 3310 0x2c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xf4, 0x01, 0x0a, 3311 0x08, 0x52, 0x75, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 3312 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 3313 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 3314 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 3315 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 3316 0x52, 0x75, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 3317 0x22, 0x8e, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x87, 0x01, 0x22, 0x3b, 0x2f, 0x76, 0x31, 0x62, 3318 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 3319 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 3320 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x7d, 0x3a, 0x72, 3321 0x75, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x3a, 0x01, 0x2a, 0x5a, 0x45, 0x22, 0x40, 0x2f, 0x76, 3322 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 3323 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 3324 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 3325 0x2a, 0x2f, 0x2a, 0x2a, 0x7d, 0x3a, 0x72, 0x75, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x3a, 0x01, 3326 0x2a, 0x30, 0x01, 0x12, 0x90, 0x02, 0x0a, 0x0e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 3327 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 3328 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 3329 0x31, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 3330 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3331 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 3332 0x61, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 3333 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 3334 0x02, 0x93, 0x01, 0x22, 0x41, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 3335 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 3336 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63, 3337 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x7d, 0x3a, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 3338 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x3a, 0x01, 0x2a, 0x5a, 0x4b, 0x22, 0x46, 0x2f, 0x76, 0x31, 3339 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 3340 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 3341 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 3342 0x2f, 0x2a, 0x2a, 0x7d, 0x3a, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 3343 0x65, 0x72, 0x79, 0x3a, 0x01, 0x2a, 0x12, 0xa3, 0x01, 0x0a, 0x05, 0x57, 0x72, 0x69, 0x74, 0x65, 3344 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 3345 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, 0x72, 0x69, 0x74, 3346 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3347 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 3348 0x74, 0x61, 0x31, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 3349 0x65, 0x22, 0x45, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x22, 0x3a, 0x2f, 0x76, 0x31, 0x62, 0x65, 3350 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x3d, 0x70, 0x72, 3351 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 3352 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x3a, 3353 0x77, 0x72, 0x69, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x28, 0x01, 0x30, 0x01, 0x12, 0xa7, 0x01, 0x0a, 3354 0x06, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3355 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 3356 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 3357 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 3358 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 3359 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x46, 0x82, 0xd3, 0xe4, 0x93, 3360 0x02, 0x40, 0x22, 0x3b, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x64, 0x61, 3361 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 3362 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 3363 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x3a, 3364 0x01, 0x2a, 0x28, 0x01, 0x30, 0x01, 0x12, 0xa8, 0x02, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x43, 3365 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x12, 0x32, 0x2e, 0x67, 3366 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 3367 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 3368 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 3369 0x1a, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 3370 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 3371 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x52, 0x65, 0x73, 3372 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa9, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x99, 0x01, 0x22, 3373 0x44, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 3374 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 3375 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 3376 0x74, 0x73, 0x7d, 0x3a, 0x6c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 3377 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x3a, 0x01, 0x2a, 0x5a, 0x4e, 0x22, 0x49, 0x2f, 0x76, 0x31, 0x62, 3378 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 3379 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 3380 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 3381 0x2a, 0x2a, 0x7d, 0x3a, 0x6c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 3382 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 3383 0x74, 0x12, 0xb3, 0x01, 0x0a, 0x0a, 0x42, 0x61, 0x74, 0x63, 0x68, 0x57, 0x72, 0x69, 0x74, 0x65, 3384 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 3385 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 3386 0x68, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 3387 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 3388 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x57, 0x72, 3389 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4a, 0x82, 0xd3, 0xe4, 3390 0x93, 0x02, 0x44, 0x22, 0x3f, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x64, 3391 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 3392 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 3393 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x57, 3394 0x72, 0x69, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0xbe, 0x01, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 3395 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 3396 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 3397 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 3398 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 3399 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 3400 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, 3401 0x57, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x51, 0x22, 0x45, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 3402 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 3403 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 3404 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2a, 0x7d, 0x2f, 0x7b, 3405 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x08, 3406 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x1a, 0x76, 0xca, 0x41, 0x18, 0x66, 0x69, 0x72, 3407 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 3408 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x58, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 3409 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 3410 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 3411 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 3412 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 3413 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 3414 0x42, 0xe0, 0x01, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 3415 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 3416 0x31, 0x42, 0x0e, 0x46, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x74, 3417 0x6f, 0x50, 0x01, 0x5a, 0x41, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 3418 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 3419 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x73, 3420 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x66, 0x69, 0x72, 3421 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0xa2, 0x02, 0x04, 0x47, 0x43, 0x46, 0x53, 0xaa, 0x02, 0x1e, 3422 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x46, 0x69, 0x72, 3423 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 3424 0x1e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x46, 0x69, 3425 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 3426 0x02, 0x21, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 3427 0x3a, 0x46, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 3428 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 3429} 3430 3431var ( 3432 file_google_firestore_v1beta1_firestore_proto_rawDescOnce sync.Once 3433 file_google_firestore_v1beta1_firestore_proto_rawDescData = file_google_firestore_v1beta1_firestore_proto_rawDesc 3434) 3435 3436func file_google_firestore_v1beta1_firestore_proto_rawDescGZIP() []byte { 3437 file_google_firestore_v1beta1_firestore_proto_rawDescOnce.Do(func() { 3438 file_google_firestore_v1beta1_firestore_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_firestore_v1beta1_firestore_proto_rawDescData) 3439 }) 3440 return file_google_firestore_v1beta1_firestore_proto_rawDescData 3441} 3442 3443var file_google_firestore_v1beta1_firestore_proto_enumTypes = make([]protoimpl.EnumInfo, 1) 3444var file_google_firestore_v1beta1_firestore_proto_msgTypes = make([]protoimpl.MessageInfo, 32) 3445var file_google_firestore_v1beta1_firestore_proto_goTypes = []interface{}{ 3446 (TargetChange_TargetChangeType)(0), // 0: google.firestore.v1beta1.TargetChange.TargetChangeType 3447 (*GetDocumentRequest)(nil), // 1: google.firestore.v1beta1.GetDocumentRequest 3448 (*ListDocumentsRequest)(nil), // 2: google.firestore.v1beta1.ListDocumentsRequest 3449 (*ListDocumentsResponse)(nil), // 3: google.firestore.v1beta1.ListDocumentsResponse 3450 (*CreateDocumentRequest)(nil), // 4: google.firestore.v1beta1.CreateDocumentRequest 3451 (*UpdateDocumentRequest)(nil), // 5: google.firestore.v1beta1.UpdateDocumentRequest 3452 (*DeleteDocumentRequest)(nil), // 6: google.firestore.v1beta1.DeleteDocumentRequest 3453 (*BatchGetDocumentsRequest)(nil), // 7: google.firestore.v1beta1.BatchGetDocumentsRequest 3454 (*BatchGetDocumentsResponse)(nil), // 8: google.firestore.v1beta1.BatchGetDocumentsResponse 3455 (*BeginTransactionRequest)(nil), // 9: google.firestore.v1beta1.BeginTransactionRequest 3456 (*BeginTransactionResponse)(nil), // 10: google.firestore.v1beta1.BeginTransactionResponse 3457 (*CommitRequest)(nil), // 11: google.firestore.v1beta1.CommitRequest 3458 (*CommitResponse)(nil), // 12: google.firestore.v1beta1.CommitResponse 3459 (*RollbackRequest)(nil), // 13: google.firestore.v1beta1.RollbackRequest 3460 (*RunQueryRequest)(nil), // 14: google.firestore.v1beta1.RunQueryRequest 3461 (*RunQueryResponse)(nil), // 15: google.firestore.v1beta1.RunQueryResponse 3462 (*PartitionQueryRequest)(nil), // 16: google.firestore.v1beta1.PartitionQueryRequest 3463 (*PartitionQueryResponse)(nil), // 17: google.firestore.v1beta1.PartitionQueryResponse 3464 (*WriteRequest)(nil), // 18: google.firestore.v1beta1.WriteRequest 3465 (*WriteResponse)(nil), // 19: google.firestore.v1beta1.WriteResponse 3466 (*ListenRequest)(nil), // 20: google.firestore.v1beta1.ListenRequest 3467 (*ListenResponse)(nil), // 21: google.firestore.v1beta1.ListenResponse 3468 (*Target)(nil), // 22: google.firestore.v1beta1.Target 3469 (*TargetChange)(nil), // 23: google.firestore.v1beta1.TargetChange 3470 (*ListCollectionIdsRequest)(nil), // 24: google.firestore.v1beta1.ListCollectionIdsRequest 3471 (*ListCollectionIdsResponse)(nil), // 25: google.firestore.v1beta1.ListCollectionIdsResponse 3472 (*BatchWriteRequest)(nil), // 26: google.firestore.v1beta1.BatchWriteRequest 3473 (*BatchWriteResponse)(nil), // 27: google.firestore.v1beta1.BatchWriteResponse 3474 nil, // 28: google.firestore.v1beta1.WriteRequest.LabelsEntry 3475 nil, // 29: google.firestore.v1beta1.ListenRequest.LabelsEntry 3476 (*Target_DocumentsTarget)(nil), // 30: google.firestore.v1beta1.Target.DocumentsTarget 3477 (*Target_QueryTarget)(nil), // 31: google.firestore.v1beta1.Target.QueryTarget 3478 nil, // 32: google.firestore.v1beta1.BatchWriteRequest.LabelsEntry 3479 (*DocumentMask)(nil), // 33: google.firestore.v1beta1.DocumentMask 3480 (*timestamppb.Timestamp)(nil), // 34: google.protobuf.Timestamp 3481 (*Document)(nil), // 35: google.firestore.v1beta1.Document 3482 (*Precondition)(nil), // 36: google.firestore.v1beta1.Precondition 3483 (*TransactionOptions)(nil), // 37: google.firestore.v1beta1.TransactionOptions 3484 (*Write)(nil), // 38: google.firestore.v1beta1.Write 3485 (*WriteResult)(nil), // 39: google.firestore.v1beta1.WriteResult 3486 (*StructuredQuery)(nil), // 40: google.firestore.v1beta1.StructuredQuery 3487 (*Cursor)(nil), // 41: google.firestore.v1beta1.Cursor 3488 (*DocumentChange)(nil), // 42: google.firestore.v1beta1.DocumentChange 3489 (*DocumentDelete)(nil), // 43: google.firestore.v1beta1.DocumentDelete 3490 (*DocumentRemove)(nil), // 44: google.firestore.v1beta1.DocumentRemove 3491 (*ExistenceFilter)(nil), // 45: google.firestore.v1beta1.ExistenceFilter 3492 (*status.Status)(nil), // 46: google.rpc.Status 3493 (*emptypb.Empty)(nil), // 47: google.protobuf.Empty 3494} 3495var file_google_firestore_v1beta1_firestore_proto_depIdxs = []int32{ 3496 33, // 0: google.firestore.v1beta1.GetDocumentRequest.mask:type_name -> google.firestore.v1beta1.DocumentMask 3497 34, // 1: google.firestore.v1beta1.GetDocumentRequest.read_time:type_name -> google.protobuf.Timestamp 3498 33, // 2: google.firestore.v1beta1.ListDocumentsRequest.mask:type_name -> google.firestore.v1beta1.DocumentMask 3499 34, // 3: google.firestore.v1beta1.ListDocumentsRequest.read_time:type_name -> google.protobuf.Timestamp 3500 35, // 4: google.firestore.v1beta1.ListDocumentsResponse.documents:type_name -> google.firestore.v1beta1.Document 3501 35, // 5: google.firestore.v1beta1.CreateDocumentRequest.document:type_name -> google.firestore.v1beta1.Document 3502 33, // 6: google.firestore.v1beta1.CreateDocumentRequest.mask:type_name -> google.firestore.v1beta1.DocumentMask 3503 35, // 7: google.firestore.v1beta1.UpdateDocumentRequest.document:type_name -> google.firestore.v1beta1.Document 3504 33, // 8: google.firestore.v1beta1.UpdateDocumentRequest.update_mask:type_name -> google.firestore.v1beta1.DocumentMask 3505 33, // 9: google.firestore.v1beta1.UpdateDocumentRequest.mask:type_name -> google.firestore.v1beta1.DocumentMask 3506 36, // 10: google.firestore.v1beta1.UpdateDocumentRequest.current_document:type_name -> google.firestore.v1beta1.Precondition 3507 36, // 11: google.firestore.v1beta1.DeleteDocumentRequest.current_document:type_name -> google.firestore.v1beta1.Precondition 3508 33, // 12: google.firestore.v1beta1.BatchGetDocumentsRequest.mask:type_name -> google.firestore.v1beta1.DocumentMask 3509 37, // 13: google.firestore.v1beta1.BatchGetDocumentsRequest.new_transaction:type_name -> google.firestore.v1beta1.TransactionOptions 3510 34, // 14: google.firestore.v1beta1.BatchGetDocumentsRequest.read_time:type_name -> google.protobuf.Timestamp 3511 35, // 15: google.firestore.v1beta1.BatchGetDocumentsResponse.found:type_name -> google.firestore.v1beta1.Document 3512 34, // 16: google.firestore.v1beta1.BatchGetDocumentsResponse.read_time:type_name -> google.protobuf.Timestamp 3513 37, // 17: google.firestore.v1beta1.BeginTransactionRequest.options:type_name -> google.firestore.v1beta1.TransactionOptions 3514 38, // 18: google.firestore.v1beta1.CommitRequest.writes:type_name -> google.firestore.v1beta1.Write 3515 39, // 19: google.firestore.v1beta1.CommitResponse.write_results:type_name -> google.firestore.v1beta1.WriteResult 3516 34, // 20: google.firestore.v1beta1.CommitResponse.commit_time:type_name -> google.protobuf.Timestamp 3517 40, // 21: google.firestore.v1beta1.RunQueryRequest.structured_query:type_name -> google.firestore.v1beta1.StructuredQuery 3518 37, // 22: google.firestore.v1beta1.RunQueryRequest.new_transaction:type_name -> google.firestore.v1beta1.TransactionOptions 3519 34, // 23: google.firestore.v1beta1.RunQueryRequest.read_time:type_name -> google.protobuf.Timestamp 3520 35, // 24: google.firestore.v1beta1.RunQueryResponse.document:type_name -> google.firestore.v1beta1.Document 3521 34, // 25: google.firestore.v1beta1.RunQueryResponse.read_time:type_name -> google.protobuf.Timestamp 3522 40, // 26: google.firestore.v1beta1.PartitionQueryRequest.structured_query:type_name -> google.firestore.v1beta1.StructuredQuery 3523 41, // 27: google.firestore.v1beta1.PartitionQueryResponse.partitions:type_name -> google.firestore.v1beta1.Cursor 3524 38, // 28: google.firestore.v1beta1.WriteRequest.writes:type_name -> google.firestore.v1beta1.Write 3525 28, // 29: google.firestore.v1beta1.WriteRequest.labels:type_name -> google.firestore.v1beta1.WriteRequest.LabelsEntry 3526 39, // 30: google.firestore.v1beta1.WriteResponse.write_results:type_name -> google.firestore.v1beta1.WriteResult 3527 34, // 31: google.firestore.v1beta1.WriteResponse.commit_time:type_name -> google.protobuf.Timestamp 3528 22, // 32: google.firestore.v1beta1.ListenRequest.add_target:type_name -> google.firestore.v1beta1.Target 3529 29, // 33: google.firestore.v1beta1.ListenRequest.labels:type_name -> google.firestore.v1beta1.ListenRequest.LabelsEntry 3530 23, // 34: google.firestore.v1beta1.ListenResponse.target_change:type_name -> google.firestore.v1beta1.TargetChange 3531 42, // 35: google.firestore.v1beta1.ListenResponse.document_change:type_name -> google.firestore.v1beta1.DocumentChange 3532 43, // 36: google.firestore.v1beta1.ListenResponse.document_delete:type_name -> google.firestore.v1beta1.DocumentDelete 3533 44, // 37: google.firestore.v1beta1.ListenResponse.document_remove:type_name -> google.firestore.v1beta1.DocumentRemove 3534 45, // 38: google.firestore.v1beta1.ListenResponse.filter:type_name -> google.firestore.v1beta1.ExistenceFilter 3535 31, // 39: google.firestore.v1beta1.Target.query:type_name -> google.firestore.v1beta1.Target.QueryTarget 3536 30, // 40: google.firestore.v1beta1.Target.documents:type_name -> google.firestore.v1beta1.Target.DocumentsTarget 3537 34, // 41: google.firestore.v1beta1.Target.read_time:type_name -> google.protobuf.Timestamp 3538 0, // 42: google.firestore.v1beta1.TargetChange.target_change_type:type_name -> google.firestore.v1beta1.TargetChange.TargetChangeType 3539 46, // 43: google.firestore.v1beta1.TargetChange.cause:type_name -> google.rpc.Status 3540 34, // 44: google.firestore.v1beta1.TargetChange.read_time:type_name -> google.protobuf.Timestamp 3541 38, // 45: google.firestore.v1beta1.BatchWriteRequest.writes:type_name -> google.firestore.v1beta1.Write 3542 32, // 46: google.firestore.v1beta1.BatchWriteRequest.labels:type_name -> google.firestore.v1beta1.BatchWriteRequest.LabelsEntry 3543 39, // 47: google.firestore.v1beta1.BatchWriteResponse.write_results:type_name -> google.firestore.v1beta1.WriteResult 3544 46, // 48: google.firestore.v1beta1.BatchWriteResponse.status:type_name -> google.rpc.Status 3545 40, // 49: google.firestore.v1beta1.Target.QueryTarget.structured_query:type_name -> google.firestore.v1beta1.StructuredQuery 3546 1, // 50: google.firestore.v1beta1.Firestore.GetDocument:input_type -> google.firestore.v1beta1.GetDocumentRequest 3547 2, // 51: google.firestore.v1beta1.Firestore.ListDocuments:input_type -> google.firestore.v1beta1.ListDocumentsRequest 3548 5, // 52: google.firestore.v1beta1.Firestore.UpdateDocument:input_type -> google.firestore.v1beta1.UpdateDocumentRequest 3549 6, // 53: google.firestore.v1beta1.Firestore.DeleteDocument:input_type -> google.firestore.v1beta1.DeleteDocumentRequest 3550 7, // 54: google.firestore.v1beta1.Firestore.BatchGetDocuments:input_type -> google.firestore.v1beta1.BatchGetDocumentsRequest 3551 9, // 55: google.firestore.v1beta1.Firestore.BeginTransaction:input_type -> google.firestore.v1beta1.BeginTransactionRequest 3552 11, // 56: google.firestore.v1beta1.Firestore.Commit:input_type -> google.firestore.v1beta1.CommitRequest 3553 13, // 57: google.firestore.v1beta1.Firestore.Rollback:input_type -> google.firestore.v1beta1.RollbackRequest 3554 14, // 58: google.firestore.v1beta1.Firestore.RunQuery:input_type -> google.firestore.v1beta1.RunQueryRequest 3555 16, // 59: google.firestore.v1beta1.Firestore.PartitionQuery:input_type -> google.firestore.v1beta1.PartitionQueryRequest 3556 18, // 60: google.firestore.v1beta1.Firestore.Write:input_type -> google.firestore.v1beta1.WriteRequest 3557 20, // 61: google.firestore.v1beta1.Firestore.Listen:input_type -> google.firestore.v1beta1.ListenRequest 3558 24, // 62: google.firestore.v1beta1.Firestore.ListCollectionIds:input_type -> google.firestore.v1beta1.ListCollectionIdsRequest 3559 26, // 63: google.firestore.v1beta1.Firestore.BatchWrite:input_type -> google.firestore.v1beta1.BatchWriteRequest 3560 4, // 64: google.firestore.v1beta1.Firestore.CreateDocument:input_type -> google.firestore.v1beta1.CreateDocumentRequest 3561 35, // 65: google.firestore.v1beta1.Firestore.GetDocument:output_type -> google.firestore.v1beta1.Document 3562 3, // 66: google.firestore.v1beta1.Firestore.ListDocuments:output_type -> google.firestore.v1beta1.ListDocumentsResponse 3563 35, // 67: google.firestore.v1beta1.Firestore.UpdateDocument:output_type -> google.firestore.v1beta1.Document 3564 47, // 68: google.firestore.v1beta1.Firestore.DeleteDocument:output_type -> google.protobuf.Empty 3565 8, // 69: google.firestore.v1beta1.Firestore.BatchGetDocuments:output_type -> google.firestore.v1beta1.BatchGetDocumentsResponse 3566 10, // 70: google.firestore.v1beta1.Firestore.BeginTransaction:output_type -> google.firestore.v1beta1.BeginTransactionResponse 3567 12, // 71: google.firestore.v1beta1.Firestore.Commit:output_type -> google.firestore.v1beta1.CommitResponse 3568 47, // 72: google.firestore.v1beta1.Firestore.Rollback:output_type -> google.protobuf.Empty 3569 15, // 73: google.firestore.v1beta1.Firestore.RunQuery:output_type -> google.firestore.v1beta1.RunQueryResponse 3570 17, // 74: google.firestore.v1beta1.Firestore.PartitionQuery:output_type -> google.firestore.v1beta1.PartitionQueryResponse 3571 19, // 75: google.firestore.v1beta1.Firestore.Write:output_type -> google.firestore.v1beta1.WriteResponse 3572 21, // 76: google.firestore.v1beta1.Firestore.Listen:output_type -> google.firestore.v1beta1.ListenResponse 3573 25, // 77: google.firestore.v1beta1.Firestore.ListCollectionIds:output_type -> google.firestore.v1beta1.ListCollectionIdsResponse 3574 27, // 78: google.firestore.v1beta1.Firestore.BatchWrite:output_type -> google.firestore.v1beta1.BatchWriteResponse 3575 35, // 79: google.firestore.v1beta1.Firestore.CreateDocument:output_type -> google.firestore.v1beta1.Document 3576 65, // [65:80] is the sub-list for method output_type 3577 50, // [50:65] is the sub-list for method input_type 3578 50, // [50:50] is the sub-list for extension type_name 3579 50, // [50:50] is the sub-list for extension extendee 3580 0, // [0:50] is the sub-list for field type_name 3581} 3582 3583func init() { file_google_firestore_v1beta1_firestore_proto_init() } 3584func file_google_firestore_v1beta1_firestore_proto_init() { 3585 if File_google_firestore_v1beta1_firestore_proto != nil { 3586 return 3587 } 3588 file_google_firestore_v1beta1_common_proto_init() 3589 file_google_firestore_v1beta1_document_proto_init() 3590 file_google_firestore_v1beta1_query_proto_init() 3591 file_google_firestore_v1beta1_write_proto_init() 3592 if !protoimpl.UnsafeEnabled { 3593 file_google_firestore_v1beta1_firestore_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 3594 switch v := v.(*GetDocumentRequest); i { 3595 case 0: 3596 return &v.state 3597 case 1: 3598 return &v.sizeCache 3599 case 2: 3600 return &v.unknownFields 3601 default: 3602 return nil 3603 } 3604 } 3605 file_google_firestore_v1beta1_firestore_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 3606 switch v := v.(*ListDocumentsRequest); i { 3607 case 0: 3608 return &v.state 3609 case 1: 3610 return &v.sizeCache 3611 case 2: 3612 return &v.unknownFields 3613 default: 3614 return nil 3615 } 3616 } 3617 file_google_firestore_v1beta1_firestore_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 3618 switch v := v.(*ListDocumentsResponse); i { 3619 case 0: 3620 return &v.state 3621 case 1: 3622 return &v.sizeCache 3623 case 2: 3624 return &v.unknownFields 3625 default: 3626 return nil 3627 } 3628 } 3629 file_google_firestore_v1beta1_firestore_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 3630 switch v := v.(*CreateDocumentRequest); i { 3631 case 0: 3632 return &v.state 3633 case 1: 3634 return &v.sizeCache 3635 case 2: 3636 return &v.unknownFields 3637 default: 3638 return nil 3639 } 3640 } 3641 file_google_firestore_v1beta1_firestore_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 3642 switch v := v.(*UpdateDocumentRequest); i { 3643 case 0: 3644 return &v.state 3645 case 1: 3646 return &v.sizeCache 3647 case 2: 3648 return &v.unknownFields 3649 default: 3650 return nil 3651 } 3652 } 3653 file_google_firestore_v1beta1_firestore_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 3654 switch v := v.(*DeleteDocumentRequest); i { 3655 case 0: 3656 return &v.state 3657 case 1: 3658 return &v.sizeCache 3659 case 2: 3660 return &v.unknownFields 3661 default: 3662 return nil 3663 } 3664 } 3665 file_google_firestore_v1beta1_firestore_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 3666 switch v := v.(*BatchGetDocumentsRequest); i { 3667 case 0: 3668 return &v.state 3669 case 1: 3670 return &v.sizeCache 3671 case 2: 3672 return &v.unknownFields 3673 default: 3674 return nil 3675 } 3676 } 3677 file_google_firestore_v1beta1_firestore_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 3678 switch v := v.(*BatchGetDocumentsResponse); i { 3679 case 0: 3680 return &v.state 3681 case 1: 3682 return &v.sizeCache 3683 case 2: 3684 return &v.unknownFields 3685 default: 3686 return nil 3687 } 3688 } 3689 file_google_firestore_v1beta1_firestore_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 3690 switch v := v.(*BeginTransactionRequest); i { 3691 case 0: 3692 return &v.state 3693 case 1: 3694 return &v.sizeCache 3695 case 2: 3696 return &v.unknownFields 3697 default: 3698 return nil 3699 } 3700 } 3701 file_google_firestore_v1beta1_firestore_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 3702 switch v := v.(*BeginTransactionResponse); i { 3703 case 0: 3704 return &v.state 3705 case 1: 3706 return &v.sizeCache 3707 case 2: 3708 return &v.unknownFields 3709 default: 3710 return nil 3711 } 3712 } 3713 file_google_firestore_v1beta1_firestore_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { 3714 switch v := v.(*CommitRequest); i { 3715 case 0: 3716 return &v.state 3717 case 1: 3718 return &v.sizeCache 3719 case 2: 3720 return &v.unknownFields 3721 default: 3722 return nil 3723 } 3724 } 3725 file_google_firestore_v1beta1_firestore_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { 3726 switch v := v.(*CommitResponse); i { 3727 case 0: 3728 return &v.state 3729 case 1: 3730 return &v.sizeCache 3731 case 2: 3732 return &v.unknownFields 3733 default: 3734 return nil 3735 } 3736 } 3737 file_google_firestore_v1beta1_firestore_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { 3738 switch v := v.(*RollbackRequest); i { 3739 case 0: 3740 return &v.state 3741 case 1: 3742 return &v.sizeCache 3743 case 2: 3744 return &v.unknownFields 3745 default: 3746 return nil 3747 } 3748 } 3749 file_google_firestore_v1beta1_firestore_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { 3750 switch v := v.(*RunQueryRequest); i { 3751 case 0: 3752 return &v.state 3753 case 1: 3754 return &v.sizeCache 3755 case 2: 3756 return &v.unknownFields 3757 default: 3758 return nil 3759 } 3760 } 3761 file_google_firestore_v1beta1_firestore_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { 3762 switch v := v.(*RunQueryResponse); i { 3763 case 0: 3764 return &v.state 3765 case 1: 3766 return &v.sizeCache 3767 case 2: 3768 return &v.unknownFields 3769 default: 3770 return nil 3771 } 3772 } 3773 file_google_firestore_v1beta1_firestore_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { 3774 switch v := v.(*PartitionQueryRequest); i { 3775 case 0: 3776 return &v.state 3777 case 1: 3778 return &v.sizeCache 3779 case 2: 3780 return &v.unknownFields 3781 default: 3782 return nil 3783 } 3784 } 3785 file_google_firestore_v1beta1_firestore_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { 3786 switch v := v.(*PartitionQueryResponse); i { 3787 case 0: 3788 return &v.state 3789 case 1: 3790 return &v.sizeCache 3791 case 2: 3792 return &v.unknownFields 3793 default: 3794 return nil 3795 } 3796 } 3797 file_google_firestore_v1beta1_firestore_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { 3798 switch v := v.(*WriteRequest); i { 3799 case 0: 3800 return &v.state 3801 case 1: 3802 return &v.sizeCache 3803 case 2: 3804 return &v.unknownFields 3805 default: 3806 return nil 3807 } 3808 } 3809 file_google_firestore_v1beta1_firestore_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { 3810 switch v := v.(*WriteResponse); i { 3811 case 0: 3812 return &v.state 3813 case 1: 3814 return &v.sizeCache 3815 case 2: 3816 return &v.unknownFields 3817 default: 3818 return nil 3819 } 3820 } 3821 file_google_firestore_v1beta1_firestore_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { 3822 switch v := v.(*ListenRequest); i { 3823 case 0: 3824 return &v.state 3825 case 1: 3826 return &v.sizeCache 3827 case 2: 3828 return &v.unknownFields 3829 default: 3830 return nil 3831 } 3832 } 3833 file_google_firestore_v1beta1_firestore_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { 3834 switch v := v.(*ListenResponse); i { 3835 case 0: 3836 return &v.state 3837 case 1: 3838 return &v.sizeCache 3839 case 2: 3840 return &v.unknownFields 3841 default: 3842 return nil 3843 } 3844 } 3845 file_google_firestore_v1beta1_firestore_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { 3846 switch v := v.(*Target); i { 3847 case 0: 3848 return &v.state 3849 case 1: 3850 return &v.sizeCache 3851 case 2: 3852 return &v.unknownFields 3853 default: 3854 return nil 3855 } 3856 } 3857 file_google_firestore_v1beta1_firestore_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { 3858 switch v := v.(*TargetChange); i { 3859 case 0: 3860 return &v.state 3861 case 1: 3862 return &v.sizeCache 3863 case 2: 3864 return &v.unknownFields 3865 default: 3866 return nil 3867 } 3868 } 3869 file_google_firestore_v1beta1_firestore_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { 3870 switch v := v.(*ListCollectionIdsRequest); i { 3871 case 0: 3872 return &v.state 3873 case 1: 3874 return &v.sizeCache 3875 case 2: 3876 return &v.unknownFields 3877 default: 3878 return nil 3879 } 3880 } 3881 file_google_firestore_v1beta1_firestore_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { 3882 switch v := v.(*ListCollectionIdsResponse); i { 3883 case 0: 3884 return &v.state 3885 case 1: 3886 return &v.sizeCache 3887 case 2: 3888 return &v.unknownFields 3889 default: 3890 return nil 3891 } 3892 } 3893 file_google_firestore_v1beta1_firestore_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { 3894 switch v := v.(*BatchWriteRequest); i { 3895 case 0: 3896 return &v.state 3897 case 1: 3898 return &v.sizeCache 3899 case 2: 3900 return &v.unknownFields 3901 default: 3902 return nil 3903 } 3904 } 3905 file_google_firestore_v1beta1_firestore_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { 3906 switch v := v.(*BatchWriteResponse); i { 3907 case 0: 3908 return &v.state 3909 case 1: 3910 return &v.sizeCache 3911 case 2: 3912 return &v.unknownFields 3913 default: 3914 return nil 3915 } 3916 } 3917 file_google_firestore_v1beta1_firestore_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { 3918 switch v := v.(*Target_DocumentsTarget); i { 3919 case 0: 3920 return &v.state 3921 case 1: 3922 return &v.sizeCache 3923 case 2: 3924 return &v.unknownFields 3925 default: 3926 return nil 3927 } 3928 } 3929 file_google_firestore_v1beta1_firestore_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { 3930 switch v := v.(*Target_QueryTarget); i { 3931 case 0: 3932 return &v.state 3933 case 1: 3934 return &v.sizeCache 3935 case 2: 3936 return &v.unknownFields 3937 default: 3938 return nil 3939 } 3940 } 3941 } 3942 file_google_firestore_v1beta1_firestore_proto_msgTypes[0].OneofWrappers = []interface{}{ 3943 (*GetDocumentRequest_Transaction)(nil), 3944 (*GetDocumentRequest_ReadTime)(nil), 3945 } 3946 file_google_firestore_v1beta1_firestore_proto_msgTypes[1].OneofWrappers = []interface{}{ 3947 (*ListDocumentsRequest_Transaction)(nil), 3948 (*ListDocumentsRequest_ReadTime)(nil), 3949 } 3950 file_google_firestore_v1beta1_firestore_proto_msgTypes[6].OneofWrappers = []interface{}{ 3951 (*BatchGetDocumentsRequest_Transaction)(nil), 3952 (*BatchGetDocumentsRequest_NewTransaction)(nil), 3953 (*BatchGetDocumentsRequest_ReadTime)(nil), 3954 } 3955 file_google_firestore_v1beta1_firestore_proto_msgTypes[7].OneofWrappers = []interface{}{ 3956 (*BatchGetDocumentsResponse_Found)(nil), 3957 (*BatchGetDocumentsResponse_Missing)(nil), 3958 } 3959 file_google_firestore_v1beta1_firestore_proto_msgTypes[13].OneofWrappers = []interface{}{ 3960 (*RunQueryRequest_StructuredQuery)(nil), 3961 (*RunQueryRequest_Transaction)(nil), 3962 (*RunQueryRequest_NewTransaction)(nil), 3963 (*RunQueryRequest_ReadTime)(nil), 3964 } 3965 file_google_firestore_v1beta1_firestore_proto_msgTypes[15].OneofWrappers = []interface{}{ 3966 (*PartitionQueryRequest_StructuredQuery)(nil), 3967 } 3968 file_google_firestore_v1beta1_firestore_proto_msgTypes[19].OneofWrappers = []interface{}{ 3969 (*ListenRequest_AddTarget)(nil), 3970 (*ListenRequest_RemoveTarget)(nil), 3971 } 3972 file_google_firestore_v1beta1_firestore_proto_msgTypes[20].OneofWrappers = []interface{}{ 3973 (*ListenResponse_TargetChange)(nil), 3974 (*ListenResponse_DocumentChange)(nil), 3975 (*ListenResponse_DocumentDelete)(nil), 3976 (*ListenResponse_DocumentRemove)(nil), 3977 (*ListenResponse_Filter)(nil), 3978 } 3979 file_google_firestore_v1beta1_firestore_proto_msgTypes[21].OneofWrappers = []interface{}{ 3980 (*Target_Query)(nil), 3981 (*Target_Documents)(nil), 3982 (*Target_ResumeToken)(nil), 3983 (*Target_ReadTime)(nil), 3984 } 3985 file_google_firestore_v1beta1_firestore_proto_msgTypes[30].OneofWrappers = []interface{}{ 3986 (*Target_QueryTarget_StructuredQuery)(nil), 3987 } 3988 type x struct{} 3989 out := protoimpl.TypeBuilder{ 3990 File: protoimpl.DescBuilder{ 3991 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 3992 RawDescriptor: file_google_firestore_v1beta1_firestore_proto_rawDesc, 3993 NumEnums: 1, 3994 NumMessages: 32, 3995 NumExtensions: 0, 3996 NumServices: 1, 3997 }, 3998 GoTypes: file_google_firestore_v1beta1_firestore_proto_goTypes, 3999 DependencyIndexes: file_google_firestore_v1beta1_firestore_proto_depIdxs, 4000 EnumInfos: file_google_firestore_v1beta1_firestore_proto_enumTypes, 4001 MessageInfos: file_google_firestore_v1beta1_firestore_proto_msgTypes, 4002 }.Build() 4003 File_google_firestore_v1beta1_firestore_proto = out.File 4004 file_google_firestore_v1beta1_firestore_proto_rawDesc = nil 4005 file_google_firestore_v1beta1_firestore_proto_goTypes = nil 4006 file_google_firestore_v1beta1_firestore_proto_depIdxs = nil 4007} 4008 4009// Reference imports to suppress errors if they are not otherwise used. 4010var _ context.Context 4011var _ grpc.ClientConnInterface 4012 4013// This is a compile-time assertion to ensure that this generated file 4014// is compatible with the grpc package it is being compiled against. 4015const _ = grpc.SupportPackageIsVersion6 4016 4017// FirestoreClient is the client API for Firestore service. 4018// 4019// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. 4020type FirestoreClient interface { 4021 // Gets a single document. 4022 GetDocument(ctx context.Context, in *GetDocumentRequest, opts ...grpc.CallOption) (*Document, error) 4023 // Lists documents. 4024 ListDocuments(ctx context.Context, in *ListDocumentsRequest, opts ...grpc.CallOption) (*ListDocumentsResponse, error) 4025 // Updates or inserts a document. 4026 UpdateDocument(ctx context.Context, in *UpdateDocumentRequest, opts ...grpc.CallOption) (*Document, error) 4027 // Deletes a document. 4028 DeleteDocument(ctx context.Context, in *DeleteDocumentRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) 4029 // Gets multiple documents. 4030 // 4031 // Documents returned by this method are not guaranteed to be returned in the 4032 // same order that they were requested. 4033 BatchGetDocuments(ctx context.Context, in *BatchGetDocumentsRequest, opts ...grpc.CallOption) (Firestore_BatchGetDocumentsClient, error) 4034 // Starts a new transaction. 4035 BeginTransaction(ctx context.Context, in *BeginTransactionRequest, opts ...grpc.CallOption) (*BeginTransactionResponse, error) 4036 // Commits a transaction, while optionally updating documents. 4037 Commit(ctx context.Context, in *CommitRequest, opts ...grpc.CallOption) (*CommitResponse, error) 4038 // Rolls back a transaction. 4039 Rollback(ctx context.Context, in *RollbackRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) 4040 // Runs a query. 4041 RunQuery(ctx context.Context, in *RunQueryRequest, opts ...grpc.CallOption) (Firestore_RunQueryClient, error) 4042 // Partitions a query by returning partition cursors that can be used to run 4043 // the query in parallel. The returned partition cursors are split points that 4044 // can be used by RunQuery as starting/end points for the query results. 4045 PartitionQuery(ctx context.Context, in *PartitionQueryRequest, opts ...grpc.CallOption) (*PartitionQueryResponse, error) 4046 // Streams batches of document updates and deletes, in order. 4047 Write(ctx context.Context, opts ...grpc.CallOption) (Firestore_WriteClient, error) 4048 // Listens to changes. 4049 Listen(ctx context.Context, opts ...grpc.CallOption) (Firestore_ListenClient, error) 4050 // Lists all the collection IDs underneath a document. 4051 ListCollectionIds(ctx context.Context, in *ListCollectionIdsRequest, opts ...grpc.CallOption) (*ListCollectionIdsResponse, error) 4052 // Applies a batch of write operations. 4053 // 4054 // The BatchWrite method does not apply the write operations atomically 4055 // and can apply them out of order. Method does not allow more than one write 4056 // per document. Each write succeeds or fails independently. See the 4057 // [BatchWriteResponse][google.firestore.v1beta1.BatchWriteResponse] for the success status of each write. 4058 // 4059 // If you require an atomically applied set of writes, use 4060 // [Commit][google.firestore.v1beta1.Firestore.Commit] instead. 4061 BatchWrite(ctx context.Context, in *BatchWriteRequest, opts ...grpc.CallOption) (*BatchWriteResponse, error) 4062 // Creates a new document. 4063 CreateDocument(ctx context.Context, in *CreateDocumentRequest, opts ...grpc.CallOption) (*Document, error) 4064} 4065 4066type firestoreClient struct { 4067 cc grpc.ClientConnInterface 4068} 4069 4070func NewFirestoreClient(cc grpc.ClientConnInterface) FirestoreClient { 4071 return &firestoreClient{cc} 4072} 4073 4074func (c *firestoreClient) GetDocument(ctx context.Context, in *GetDocumentRequest, opts ...grpc.CallOption) (*Document, error) { 4075 out := new(Document) 4076 err := c.cc.Invoke(ctx, "/google.firestore.v1beta1.Firestore/GetDocument", in, out, opts...) 4077 if err != nil { 4078 return nil, err 4079 } 4080 return out, nil 4081} 4082 4083func (c *firestoreClient) ListDocuments(ctx context.Context, in *ListDocumentsRequest, opts ...grpc.CallOption) (*ListDocumentsResponse, error) { 4084 out := new(ListDocumentsResponse) 4085 err := c.cc.Invoke(ctx, "/google.firestore.v1beta1.Firestore/ListDocuments", in, out, opts...) 4086 if err != nil { 4087 return nil, err 4088 } 4089 return out, nil 4090} 4091 4092func (c *firestoreClient) UpdateDocument(ctx context.Context, in *UpdateDocumentRequest, opts ...grpc.CallOption) (*Document, error) { 4093 out := new(Document) 4094 err := c.cc.Invoke(ctx, "/google.firestore.v1beta1.Firestore/UpdateDocument", in, out, opts...) 4095 if err != nil { 4096 return nil, err 4097 } 4098 return out, nil 4099} 4100 4101func (c *firestoreClient) DeleteDocument(ctx context.Context, in *DeleteDocumentRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { 4102 out := new(emptypb.Empty) 4103 err := c.cc.Invoke(ctx, "/google.firestore.v1beta1.Firestore/DeleteDocument", in, out, opts...) 4104 if err != nil { 4105 return nil, err 4106 } 4107 return out, nil 4108} 4109 4110func (c *firestoreClient) BatchGetDocuments(ctx context.Context, in *BatchGetDocumentsRequest, opts ...grpc.CallOption) (Firestore_BatchGetDocumentsClient, error) { 4111 stream, err := c.cc.NewStream(ctx, &_Firestore_serviceDesc.Streams[0], "/google.firestore.v1beta1.Firestore/BatchGetDocuments", opts...) 4112 if err != nil { 4113 return nil, err 4114 } 4115 x := &firestoreBatchGetDocumentsClient{stream} 4116 if err := x.ClientStream.SendMsg(in); err != nil { 4117 return nil, err 4118 } 4119 if err := x.ClientStream.CloseSend(); err != nil { 4120 return nil, err 4121 } 4122 return x, nil 4123} 4124 4125type Firestore_BatchGetDocumentsClient interface { 4126 Recv() (*BatchGetDocumentsResponse, error) 4127 grpc.ClientStream 4128} 4129 4130type firestoreBatchGetDocumentsClient struct { 4131 grpc.ClientStream 4132} 4133 4134func (x *firestoreBatchGetDocumentsClient) Recv() (*BatchGetDocumentsResponse, error) { 4135 m := new(BatchGetDocumentsResponse) 4136 if err := x.ClientStream.RecvMsg(m); err != nil { 4137 return nil, err 4138 } 4139 return m, nil 4140} 4141 4142func (c *firestoreClient) BeginTransaction(ctx context.Context, in *BeginTransactionRequest, opts ...grpc.CallOption) (*BeginTransactionResponse, error) { 4143 out := new(BeginTransactionResponse) 4144 err := c.cc.Invoke(ctx, "/google.firestore.v1beta1.Firestore/BeginTransaction", in, out, opts...) 4145 if err != nil { 4146 return nil, err 4147 } 4148 return out, nil 4149} 4150 4151func (c *firestoreClient) Commit(ctx context.Context, in *CommitRequest, opts ...grpc.CallOption) (*CommitResponse, error) { 4152 out := new(CommitResponse) 4153 err := c.cc.Invoke(ctx, "/google.firestore.v1beta1.Firestore/Commit", in, out, opts...) 4154 if err != nil { 4155 return nil, err 4156 } 4157 return out, nil 4158} 4159 4160func (c *firestoreClient) Rollback(ctx context.Context, in *RollbackRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { 4161 out := new(emptypb.Empty) 4162 err := c.cc.Invoke(ctx, "/google.firestore.v1beta1.Firestore/Rollback", in, out, opts...) 4163 if err != nil { 4164 return nil, err 4165 } 4166 return out, nil 4167} 4168 4169func (c *firestoreClient) RunQuery(ctx context.Context, in *RunQueryRequest, opts ...grpc.CallOption) (Firestore_RunQueryClient, error) { 4170 stream, err := c.cc.NewStream(ctx, &_Firestore_serviceDesc.Streams[1], "/google.firestore.v1beta1.Firestore/RunQuery", opts...) 4171 if err != nil { 4172 return nil, err 4173 } 4174 x := &firestoreRunQueryClient{stream} 4175 if err := x.ClientStream.SendMsg(in); err != nil { 4176 return nil, err 4177 } 4178 if err := x.ClientStream.CloseSend(); err != nil { 4179 return nil, err 4180 } 4181 return x, nil 4182} 4183 4184type Firestore_RunQueryClient interface { 4185 Recv() (*RunQueryResponse, error) 4186 grpc.ClientStream 4187} 4188 4189type firestoreRunQueryClient struct { 4190 grpc.ClientStream 4191} 4192 4193func (x *firestoreRunQueryClient) Recv() (*RunQueryResponse, error) { 4194 m := new(RunQueryResponse) 4195 if err := x.ClientStream.RecvMsg(m); err != nil { 4196 return nil, err 4197 } 4198 return m, nil 4199} 4200 4201func (c *firestoreClient) PartitionQuery(ctx context.Context, in *PartitionQueryRequest, opts ...grpc.CallOption) (*PartitionQueryResponse, error) { 4202 out := new(PartitionQueryResponse) 4203 err := c.cc.Invoke(ctx, "/google.firestore.v1beta1.Firestore/PartitionQuery", in, out, opts...) 4204 if err != nil { 4205 return nil, err 4206 } 4207 return out, nil 4208} 4209 4210func (c *firestoreClient) Write(ctx context.Context, opts ...grpc.CallOption) (Firestore_WriteClient, error) { 4211 stream, err := c.cc.NewStream(ctx, &_Firestore_serviceDesc.Streams[2], "/google.firestore.v1beta1.Firestore/Write", opts...) 4212 if err != nil { 4213 return nil, err 4214 } 4215 x := &firestoreWriteClient{stream} 4216 return x, nil 4217} 4218 4219type Firestore_WriteClient interface { 4220 Send(*WriteRequest) error 4221 Recv() (*WriteResponse, error) 4222 grpc.ClientStream 4223} 4224 4225type firestoreWriteClient struct { 4226 grpc.ClientStream 4227} 4228 4229func (x *firestoreWriteClient) Send(m *WriteRequest) error { 4230 return x.ClientStream.SendMsg(m) 4231} 4232 4233func (x *firestoreWriteClient) Recv() (*WriteResponse, error) { 4234 m := new(WriteResponse) 4235 if err := x.ClientStream.RecvMsg(m); err != nil { 4236 return nil, err 4237 } 4238 return m, nil 4239} 4240 4241func (c *firestoreClient) Listen(ctx context.Context, opts ...grpc.CallOption) (Firestore_ListenClient, error) { 4242 stream, err := c.cc.NewStream(ctx, &_Firestore_serviceDesc.Streams[3], "/google.firestore.v1beta1.Firestore/Listen", opts...) 4243 if err != nil { 4244 return nil, err 4245 } 4246 x := &firestoreListenClient{stream} 4247 return x, nil 4248} 4249 4250type Firestore_ListenClient interface { 4251 Send(*ListenRequest) error 4252 Recv() (*ListenResponse, error) 4253 grpc.ClientStream 4254} 4255 4256type firestoreListenClient struct { 4257 grpc.ClientStream 4258} 4259 4260func (x *firestoreListenClient) Send(m *ListenRequest) error { 4261 return x.ClientStream.SendMsg(m) 4262} 4263 4264func (x *firestoreListenClient) Recv() (*ListenResponse, error) { 4265 m := new(ListenResponse) 4266 if err := x.ClientStream.RecvMsg(m); err != nil { 4267 return nil, err 4268 } 4269 return m, nil 4270} 4271 4272func (c *firestoreClient) ListCollectionIds(ctx context.Context, in *ListCollectionIdsRequest, opts ...grpc.CallOption) (*ListCollectionIdsResponse, error) { 4273 out := new(ListCollectionIdsResponse) 4274 err := c.cc.Invoke(ctx, "/google.firestore.v1beta1.Firestore/ListCollectionIds", in, out, opts...) 4275 if err != nil { 4276 return nil, err 4277 } 4278 return out, nil 4279} 4280 4281func (c *firestoreClient) BatchWrite(ctx context.Context, in *BatchWriteRequest, opts ...grpc.CallOption) (*BatchWriteResponse, error) { 4282 out := new(BatchWriteResponse) 4283 err := c.cc.Invoke(ctx, "/google.firestore.v1beta1.Firestore/BatchWrite", in, out, opts...) 4284 if err != nil { 4285 return nil, err 4286 } 4287 return out, nil 4288} 4289 4290func (c *firestoreClient) CreateDocument(ctx context.Context, in *CreateDocumentRequest, opts ...grpc.CallOption) (*Document, error) { 4291 out := new(Document) 4292 err := c.cc.Invoke(ctx, "/google.firestore.v1beta1.Firestore/CreateDocument", in, out, opts...) 4293 if err != nil { 4294 return nil, err 4295 } 4296 return out, nil 4297} 4298 4299// FirestoreServer is the server API for Firestore service. 4300type FirestoreServer interface { 4301 // Gets a single document. 4302 GetDocument(context.Context, *GetDocumentRequest) (*Document, error) 4303 // Lists documents. 4304 ListDocuments(context.Context, *ListDocumentsRequest) (*ListDocumentsResponse, error) 4305 // Updates or inserts a document. 4306 UpdateDocument(context.Context, *UpdateDocumentRequest) (*Document, error) 4307 // Deletes a document. 4308 DeleteDocument(context.Context, *DeleteDocumentRequest) (*emptypb.Empty, error) 4309 // Gets multiple documents. 4310 // 4311 // Documents returned by this method are not guaranteed to be returned in the 4312 // same order that they were requested. 4313 BatchGetDocuments(*BatchGetDocumentsRequest, Firestore_BatchGetDocumentsServer) error 4314 // Starts a new transaction. 4315 BeginTransaction(context.Context, *BeginTransactionRequest) (*BeginTransactionResponse, error) 4316 // Commits a transaction, while optionally updating documents. 4317 Commit(context.Context, *CommitRequest) (*CommitResponse, error) 4318 // Rolls back a transaction. 4319 Rollback(context.Context, *RollbackRequest) (*emptypb.Empty, error) 4320 // Runs a query. 4321 RunQuery(*RunQueryRequest, Firestore_RunQueryServer) error 4322 // Partitions a query by returning partition cursors that can be used to run 4323 // the query in parallel. The returned partition cursors are split points that 4324 // can be used by RunQuery as starting/end points for the query results. 4325 PartitionQuery(context.Context, *PartitionQueryRequest) (*PartitionQueryResponse, error) 4326 // Streams batches of document updates and deletes, in order. 4327 Write(Firestore_WriteServer) error 4328 // Listens to changes. 4329 Listen(Firestore_ListenServer) error 4330 // Lists all the collection IDs underneath a document. 4331 ListCollectionIds(context.Context, *ListCollectionIdsRequest) (*ListCollectionIdsResponse, error) 4332 // Applies a batch of write operations. 4333 // 4334 // The BatchWrite method does not apply the write operations atomically 4335 // and can apply them out of order. Method does not allow more than one write 4336 // per document. Each write succeeds or fails independently. See the 4337 // [BatchWriteResponse][google.firestore.v1beta1.BatchWriteResponse] for the success status of each write. 4338 // 4339 // If you require an atomically applied set of writes, use 4340 // [Commit][google.firestore.v1beta1.Firestore.Commit] instead. 4341 BatchWrite(context.Context, *BatchWriteRequest) (*BatchWriteResponse, error) 4342 // Creates a new document. 4343 CreateDocument(context.Context, *CreateDocumentRequest) (*Document, error) 4344} 4345 4346// UnimplementedFirestoreServer can be embedded to have forward compatible implementations. 4347type UnimplementedFirestoreServer struct { 4348} 4349 4350func (*UnimplementedFirestoreServer) GetDocument(context.Context, *GetDocumentRequest) (*Document, error) { 4351 return nil, status1.Errorf(codes.Unimplemented, "method GetDocument not implemented") 4352} 4353func (*UnimplementedFirestoreServer) ListDocuments(context.Context, *ListDocumentsRequest) (*ListDocumentsResponse, error) { 4354 return nil, status1.Errorf(codes.Unimplemented, "method ListDocuments not implemented") 4355} 4356func (*UnimplementedFirestoreServer) UpdateDocument(context.Context, *UpdateDocumentRequest) (*Document, error) { 4357 return nil, status1.Errorf(codes.Unimplemented, "method UpdateDocument not implemented") 4358} 4359func (*UnimplementedFirestoreServer) DeleteDocument(context.Context, *DeleteDocumentRequest) (*emptypb.Empty, error) { 4360 return nil, status1.Errorf(codes.Unimplemented, "method DeleteDocument not implemented") 4361} 4362func (*UnimplementedFirestoreServer) BatchGetDocuments(*BatchGetDocumentsRequest, Firestore_BatchGetDocumentsServer) error { 4363 return status1.Errorf(codes.Unimplemented, "method BatchGetDocuments not implemented") 4364} 4365func (*UnimplementedFirestoreServer) BeginTransaction(context.Context, *BeginTransactionRequest) (*BeginTransactionResponse, error) { 4366 return nil, status1.Errorf(codes.Unimplemented, "method BeginTransaction not implemented") 4367} 4368func (*UnimplementedFirestoreServer) Commit(context.Context, *CommitRequest) (*CommitResponse, error) { 4369 return nil, status1.Errorf(codes.Unimplemented, "method Commit not implemented") 4370} 4371func (*UnimplementedFirestoreServer) Rollback(context.Context, *RollbackRequest) (*emptypb.Empty, error) { 4372 return nil, status1.Errorf(codes.Unimplemented, "method Rollback not implemented") 4373} 4374func (*UnimplementedFirestoreServer) RunQuery(*RunQueryRequest, Firestore_RunQueryServer) error { 4375 return status1.Errorf(codes.Unimplemented, "method RunQuery not implemented") 4376} 4377func (*UnimplementedFirestoreServer) PartitionQuery(context.Context, *PartitionQueryRequest) (*PartitionQueryResponse, error) { 4378 return nil, status1.Errorf(codes.Unimplemented, "method PartitionQuery not implemented") 4379} 4380func (*UnimplementedFirestoreServer) Write(Firestore_WriteServer) error { 4381 return status1.Errorf(codes.Unimplemented, "method Write not implemented") 4382} 4383func (*UnimplementedFirestoreServer) Listen(Firestore_ListenServer) error { 4384 return status1.Errorf(codes.Unimplemented, "method Listen not implemented") 4385} 4386func (*UnimplementedFirestoreServer) ListCollectionIds(context.Context, *ListCollectionIdsRequest) (*ListCollectionIdsResponse, error) { 4387 return nil, status1.Errorf(codes.Unimplemented, "method ListCollectionIds not implemented") 4388} 4389func (*UnimplementedFirestoreServer) BatchWrite(context.Context, *BatchWriteRequest) (*BatchWriteResponse, error) { 4390 return nil, status1.Errorf(codes.Unimplemented, "method BatchWrite not implemented") 4391} 4392func (*UnimplementedFirestoreServer) CreateDocument(context.Context, *CreateDocumentRequest) (*Document, error) { 4393 return nil, status1.Errorf(codes.Unimplemented, "method CreateDocument not implemented") 4394} 4395 4396func RegisterFirestoreServer(s *grpc.Server, srv FirestoreServer) { 4397 s.RegisterService(&_Firestore_serviceDesc, srv) 4398} 4399 4400func _Firestore_GetDocument_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 4401 in := new(GetDocumentRequest) 4402 if err := dec(in); err != nil { 4403 return nil, err 4404 } 4405 if interceptor == nil { 4406 return srv.(FirestoreServer).GetDocument(ctx, in) 4407 } 4408 info := &grpc.UnaryServerInfo{ 4409 Server: srv, 4410 FullMethod: "/google.firestore.v1beta1.Firestore/GetDocument", 4411 } 4412 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 4413 return srv.(FirestoreServer).GetDocument(ctx, req.(*GetDocumentRequest)) 4414 } 4415 return interceptor(ctx, in, info, handler) 4416} 4417 4418func _Firestore_ListDocuments_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 4419 in := new(ListDocumentsRequest) 4420 if err := dec(in); err != nil { 4421 return nil, err 4422 } 4423 if interceptor == nil { 4424 return srv.(FirestoreServer).ListDocuments(ctx, in) 4425 } 4426 info := &grpc.UnaryServerInfo{ 4427 Server: srv, 4428 FullMethod: "/google.firestore.v1beta1.Firestore/ListDocuments", 4429 } 4430 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 4431 return srv.(FirestoreServer).ListDocuments(ctx, req.(*ListDocumentsRequest)) 4432 } 4433 return interceptor(ctx, in, info, handler) 4434} 4435 4436func _Firestore_UpdateDocument_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 4437 in := new(UpdateDocumentRequest) 4438 if err := dec(in); err != nil { 4439 return nil, err 4440 } 4441 if interceptor == nil { 4442 return srv.(FirestoreServer).UpdateDocument(ctx, in) 4443 } 4444 info := &grpc.UnaryServerInfo{ 4445 Server: srv, 4446 FullMethod: "/google.firestore.v1beta1.Firestore/UpdateDocument", 4447 } 4448 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 4449 return srv.(FirestoreServer).UpdateDocument(ctx, req.(*UpdateDocumentRequest)) 4450 } 4451 return interceptor(ctx, in, info, handler) 4452} 4453 4454func _Firestore_DeleteDocument_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 4455 in := new(DeleteDocumentRequest) 4456 if err := dec(in); err != nil { 4457 return nil, err 4458 } 4459 if interceptor == nil { 4460 return srv.(FirestoreServer).DeleteDocument(ctx, in) 4461 } 4462 info := &grpc.UnaryServerInfo{ 4463 Server: srv, 4464 FullMethod: "/google.firestore.v1beta1.Firestore/DeleteDocument", 4465 } 4466 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 4467 return srv.(FirestoreServer).DeleteDocument(ctx, req.(*DeleteDocumentRequest)) 4468 } 4469 return interceptor(ctx, in, info, handler) 4470} 4471 4472func _Firestore_BatchGetDocuments_Handler(srv interface{}, stream grpc.ServerStream) error { 4473 m := new(BatchGetDocumentsRequest) 4474 if err := stream.RecvMsg(m); err != nil { 4475 return err 4476 } 4477 return srv.(FirestoreServer).BatchGetDocuments(m, &firestoreBatchGetDocumentsServer{stream}) 4478} 4479 4480type Firestore_BatchGetDocumentsServer interface { 4481 Send(*BatchGetDocumentsResponse) error 4482 grpc.ServerStream 4483} 4484 4485type firestoreBatchGetDocumentsServer struct { 4486 grpc.ServerStream 4487} 4488 4489func (x *firestoreBatchGetDocumentsServer) Send(m *BatchGetDocumentsResponse) error { 4490 return x.ServerStream.SendMsg(m) 4491} 4492 4493func _Firestore_BeginTransaction_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 4494 in := new(BeginTransactionRequest) 4495 if err := dec(in); err != nil { 4496 return nil, err 4497 } 4498 if interceptor == nil { 4499 return srv.(FirestoreServer).BeginTransaction(ctx, in) 4500 } 4501 info := &grpc.UnaryServerInfo{ 4502 Server: srv, 4503 FullMethod: "/google.firestore.v1beta1.Firestore/BeginTransaction", 4504 } 4505 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 4506 return srv.(FirestoreServer).BeginTransaction(ctx, req.(*BeginTransactionRequest)) 4507 } 4508 return interceptor(ctx, in, info, handler) 4509} 4510 4511func _Firestore_Commit_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 4512 in := new(CommitRequest) 4513 if err := dec(in); err != nil { 4514 return nil, err 4515 } 4516 if interceptor == nil { 4517 return srv.(FirestoreServer).Commit(ctx, in) 4518 } 4519 info := &grpc.UnaryServerInfo{ 4520 Server: srv, 4521 FullMethod: "/google.firestore.v1beta1.Firestore/Commit", 4522 } 4523 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 4524 return srv.(FirestoreServer).Commit(ctx, req.(*CommitRequest)) 4525 } 4526 return interceptor(ctx, in, info, handler) 4527} 4528 4529func _Firestore_Rollback_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 4530 in := new(RollbackRequest) 4531 if err := dec(in); err != nil { 4532 return nil, err 4533 } 4534 if interceptor == nil { 4535 return srv.(FirestoreServer).Rollback(ctx, in) 4536 } 4537 info := &grpc.UnaryServerInfo{ 4538 Server: srv, 4539 FullMethod: "/google.firestore.v1beta1.Firestore/Rollback", 4540 } 4541 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 4542 return srv.(FirestoreServer).Rollback(ctx, req.(*RollbackRequest)) 4543 } 4544 return interceptor(ctx, in, info, handler) 4545} 4546 4547func _Firestore_RunQuery_Handler(srv interface{}, stream grpc.ServerStream) error { 4548 m := new(RunQueryRequest) 4549 if err := stream.RecvMsg(m); err != nil { 4550 return err 4551 } 4552 return srv.(FirestoreServer).RunQuery(m, &firestoreRunQueryServer{stream}) 4553} 4554 4555type Firestore_RunQueryServer interface { 4556 Send(*RunQueryResponse) error 4557 grpc.ServerStream 4558} 4559 4560type firestoreRunQueryServer struct { 4561 grpc.ServerStream 4562} 4563 4564func (x *firestoreRunQueryServer) Send(m *RunQueryResponse) error { 4565 return x.ServerStream.SendMsg(m) 4566} 4567 4568func _Firestore_PartitionQuery_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 4569 in := new(PartitionQueryRequest) 4570 if err := dec(in); err != nil { 4571 return nil, err 4572 } 4573 if interceptor == nil { 4574 return srv.(FirestoreServer).PartitionQuery(ctx, in) 4575 } 4576 info := &grpc.UnaryServerInfo{ 4577 Server: srv, 4578 FullMethod: "/google.firestore.v1beta1.Firestore/PartitionQuery", 4579 } 4580 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 4581 return srv.(FirestoreServer).PartitionQuery(ctx, req.(*PartitionQueryRequest)) 4582 } 4583 return interceptor(ctx, in, info, handler) 4584} 4585 4586func _Firestore_Write_Handler(srv interface{}, stream grpc.ServerStream) error { 4587 return srv.(FirestoreServer).Write(&firestoreWriteServer{stream}) 4588} 4589 4590type Firestore_WriteServer interface { 4591 Send(*WriteResponse) error 4592 Recv() (*WriteRequest, error) 4593 grpc.ServerStream 4594} 4595 4596type firestoreWriteServer struct { 4597 grpc.ServerStream 4598} 4599 4600func (x *firestoreWriteServer) Send(m *WriteResponse) error { 4601 return x.ServerStream.SendMsg(m) 4602} 4603 4604func (x *firestoreWriteServer) Recv() (*WriteRequest, error) { 4605 m := new(WriteRequest) 4606 if err := x.ServerStream.RecvMsg(m); err != nil { 4607 return nil, err 4608 } 4609 return m, nil 4610} 4611 4612func _Firestore_Listen_Handler(srv interface{}, stream grpc.ServerStream) error { 4613 return srv.(FirestoreServer).Listen(&firestoreListenServer{stream}) 4614} 4615 4616type Firestore_ListenServer interface { 4617 Send(*ListenResponse) error 4618 Recv() (*ListenRequest, error) 4619 grpc.ServerStream 4620} 4621 4622type firestoreListenServer struct { 4623 grpc.ServerStream 4624} 4625 4626func (x *firestoreListenServer) Send(m *ListenResponse) error { 4627 return x.ServerStream.SendMsg(m) 4628} 4629 4630func (x *firestoreListenServer) Recv() (*ListenRequest, error) { 4631 m := new(ListenRequest) 4632 if err := x.ServerStream.RecvMsg(m); err != nil { 4633 return nil, err 4634 } 4635 return m, nil 4636} 4637 4638func _Firestore_ListCollectionIds_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 4639 in := new(ListCollectionIdsRequest) 4640 if err := dec(in); err != nil { 4641 return nil, err 4642 } 4643 if interceptor == nil { 4644 return srv.(FirestoreServer).ListCollectionIds(ctx, in) 4645 } 4646 info := &grpc.UnaryServerInfo{ 4647 Server: srv, 4648 FullMethod: "/google.firestore.v1beta1.Firestore/ListCollectionIds", 4649 } 4650 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 4651 return srv.(FirestoreServer).ListCollectionIds(ctx, req.(*ListCollectionIdsRequest)) 4652 } 4653 return interceptor(ctx, in, info, handler) 4654} 4655 4656func _Firestore_BatchWrite_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 4657 in := new(BatchWriteRequest) 4658 if err := dec(in); err != nil { 4659 return nil, err 4660 } 4661 if interceptor == nil { 4662 return srv.(FirestoreServer).BatchWrite(ctx, in) 4663 } 4664 info := &grpc.UnaryServerInfo{ 4665 Server: srv, 4666 FullMethod: "/google.firestore.v1beta1.Firestore/BatchWrite", 4667 } 4668 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 4669 return srv.(FirestoreServer).BatchWrite(ctx, req.(*BatchWriteRequest)) 4670 } 4671 return interceptor(ctx, in, info, handler) 4672} 4673 4674func _Firestore_CreateDocument_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 4675 in := new(CreateDocumentRequest) 4676 if err := dec(in); err != nil { 4677 return nil, err 4678 } 4679 if interceptor == nil { 4680 return srv.(FirestoreServer).CreateDocument(ctx, in) 4681 } 4682 info := &grpc.UnaryServerInfo{ 4683 Server: srv, 4684 FullMethod: "/google.firestore.v1beta1.Firestore/CreateDocument", 4685 } 4686 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 4687 return srv.(FirestoreServer).CreateDocument(ctx, req.(*CreateDocumentRequest)) 4688 } 4689 return interceptor(ctx, in, info, handler) 4690} 4691 4692var _Firestore_serviceDesc = grpc.ServiceDesc{ 4693 ServiceName: "google.firestore.v1beta1.Firestore", 4694 HandlerType: (*FirestoreServer)(nil), 4695 Methods: []grpc.MethodDesc{ 4696 { 4697 MethodName: "GetDocument", 4698 Handler: _Firestore_GetDocument_Handler, 4699 }, 4700 { 4701 MethodName: "ListDocuments", 4702 Handler: _Firestore_ListDocuments_Handler, 4703 }, 4704 { 4705 MethodName: "UpdateDocument", 4706 Handler: _Firestore_UpdateDocument_Handler, 4707 }, 4708 { 4709 MethodName: "DeleteDocument", 4710 Handler: _Firestore_DeleteDocument_Handler, 4711 }, 4712 { 4713 MethodName: "BeginTransaction", 4714 Handler: _Firestore_BeginTransaction_Handler, 4715 }, 4716 { 4717 MethodName: "Commit", 4718 Handler: _Firestore_Commit_Handler, 4719 }, 4720 { 4721 MethodName: "Rollback", 4722 Handler: _Firestore_Rollback_Handler, 4723 }, 4724 { 4725 MethodName: "PartitionQuery", 4726 Handler: _Firestore_PartitionQuery_Handler, 4727 }, 4728 { 4729 MethodName: "ListCollectionIds", 4730 Handler: _Firestore_ListCollectionIds_Handler, 4731 }, 4732 { 4733 MethodName: "BatchWrite", 4734 Handler: _Firestore_BatchWrite_Handler, 4735 }, 4736 { 4737 MethodName: "CreateDocument", 4738 Handler: _Firestore_CreateDocument_Handler, 4739 }, 4740 }, 4741 Streams: []grpc.StreamDesc{ 4742 { 4743 StreamName: "BatchGetDocuments", 4744 Handler: _Firestore_BatchGetDocuments_Handler, 4745 ServerStreams: true, 4746 }, 4747 { 4748 StreamName: "RunQuery", 4749 Handler: _Firestore_RunQuery_Handler, 4750 ServerStreams: true, 4751 }, 4752 { 4753 StreamName: "Write", 4754 Handler: _Firestore_Write_Handler, 4755 ServerStreams: true, 4756 ClientStreams: true, 4757 }, 4758 { 4759 StreamName: "Listen", 4760 Handler: _Firestore_Listen_Handler, 4761 ServerStreams: true, 4762 ClientStreams: true, 4763 }, 4764 }, 4765 Metadata: "google/firestore/v1beta1/firestore.proto", 4766} 4767