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