| // Copyright 2023 Google LLC |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| |
| // Code generated by protoc-gen-go. DO NOT EDIT. |
| // versions: |
| // protoc-gen-go v1.33.0 |
| // protoc v4.25.3 |
| // source: google/chat/v1/message.proto |
| |
| package chatpb |
| |
| import ( |
| reflect "reflect" |
| sync "sync" |
| |
| _ "google.golang.org/genproto/googleapis/api/annotations" |
| v1 "google.golang.org/genproto/googleapis/apps/card/v1" |
| protoreflect "google.golang.org/protobuf/reflect/protoreflect" |
| protoimpl "google.golang.org/protobuf/runtime/protoimpl" |
| fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" |
| timestamppb "google.golang.org/protobuf/types/known/timestamppb" |
| ) |
| |
| const ( |
| // Verify that this generated code is sufficiently up-to-date. |
| _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) |
| // Verify that runtime/protoimpl is sufficiently up-to-date. |
| _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) |
| ) |
| |
| // The type of Chat app response. |
| type ActionResponse_ResponseType int32 |
| |
| const ( |
| // Default type that's handled as `NEW_MESSAGE`. |
| ActionResponse_TYPE_UNSPECIFIED ActionResponse_ResponseType = 0 |
| // Post as a new message in the topic. |
| ActionResponse_NEW_MESSAGE ActionResponse_ResponseType = 1 |
| // Update the Chat app's message. This is only permitted on a `CARD_CLICKED` |
| // event where the message sender type is `BOT`. |
| ActionResponse_UPDATE_MESSAGE ActionResponse_ResponseType = 2 |
| // Update the cards on a user's message. This is only permitted as a |
| // response to a `MESSAGE` event with a matched url, or a `CARD_CLICKED` |
| // event where the message sender type is `HUMAN`. Text is ignored. |
| ActionResponse_UPDATE_USER_MESSAGE_CARDS ActionResponse_ResponseType = 6 |
| // Privately ask the user for additional authentication or configuration. |
| ActionResponse_REQUEST_CONFIG ActionResponse_ResponseType = 3 |
| // Presents a |
| // [dialog](https://developers.google.com/workspace/chat/dialogs). |
| ActionResponse_DIALOG ActionResponse_ResponseType = 4 |
| // Widget text autocomplete options query. |
| ActionResponse_UPDATE_WIDGET ActionResponse_ResponseType = 7 |
| ) |
| |
| // Enum value maps for ActionResponse_ResponseType. |
| var ( |
| ActionResponse_ResponseType_name = map[int32]string{ |
| 0: "TYPE_UNSPECIFIED", |
| 1: "NEW_MESSAGE", |
| 2: "UPDATE_MESSAGE", |
| 6: "UPDATE_USER_MESSAGE_CARDS", |
| 3: "REQUEST_CONFIG", |
| 4: "DIALOG", |
| 7: "UPDATE_WIDGET", |
| } |
| ActionResponse_ResponseType_value = map[string]int32{ |
| "TYPE_UNSPECIFIED": 0, |
| "NEW_MESSAGE": 1, |
| "UPDATE_MESSAGE": 2, |
| "UPDATE_USER_MESSAGE_CARDS": 6, |
| "REQUEST_CONFIG": 3, |
| "DIALOG": 4, |
| "UPDATE_WIDGET": 7, |
| } |
| ) |
| |
| func (x ActionResponse_ResponseType) Enum() *ActionResponse_ResponseType { |
| p := new(ActionResponse_ResponseType) |
| *p = x |
| return p |
| } |
| |
| func (x ActionResponse_ResponseType) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (ActionResponse_ResponseType) Descriptor() protoreflect.EnumDescriptor { |
| return file_google_chat_v1_message_proto_enumTypes[0].Descriptor() |
| } |
| |
| func (ActionResponse_ResponseType) Type() protoreflect.EnumType { |
| return &file_google_chat_v1_message_proto_enumTypes[0] |
| } |
| |
| func (x ActionResponse_ResponseType) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Use ActionResponse_ResponseType.Descriptor instead. |
| func (ActionResponse_ResponseType) EnumDescriptor() ([]byte, []int) { |
| return file_google_chat_v1_message_proto_rawDescGZIP(), []int{4, 0} |
| } |
| |
| // Specifies how to reply to a message. |
| // More states might be added in the future. |
| type CreateMessageRequest_MessageReplyOption int32 |
| |
| const ( |
| // Default. Starts a new thread. Using this option ignores any [thread |
| // ID][google.chat.v1.Thread.name] or |
| // [`thread_key`][google.chat.v1.Thread.thread_key] that's included. |
| CreateMessageRequest_MESSAGE_REPLY_OPTION_UNSPECIFIED CreateMessageRequest_MessageReplyOption = 0 |
| // Creates the message as a reply to the thread specified by [thread |
| // ID][google.chat.v1.Thread.name] or |
| // [`thread_key`][google.chat.v1.Thread.thread_key]. If it fails, the |
| // message starts a new thread instead. |
| CreateMessageRequest_REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD CreateMessageRequest_MessageReplyOption = 1 |
| // Creates the message as a reply to the thread specified by [thread |
| // ID][google.chat.v1.Thread.name] or |
| // [`thread_key`][google.chat.v1.Thread.thread_key]. If a new `thread_key` |
| // is used, a new thread is created. If the message creation fails, a |
| // `NOT_FOUND` error is returned instead. |
| CreateMessageRequest_REPLY_MESSAGE_OR_FAIL CreateMessageRequest_MessageReplyOption = 2 |
| ) |
| |
| // Enum value maps for CreateMessageRequest_MessageReplyOption. |
| var ( |
| CreateMessageRequest_MessageReplyOption_name = map[int32]string{ |
| 0: "MESSAGE_REPLY_OPTION_UNSPECIFIED", |
| 1: "REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD", |
| 2: "REPLY_MESSAGE_OR_FAIL", |
| } |
| CreateMessageRequest_MessageReplyOption_value = map[string]int32{ |
| "MESSAGE_REPLY_OPTION_UNSPECIFIED": 0, |
| "REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD": 1, |
| "REPLY_MESSAGE_OR_FAIL": 2, |
| } |
| ) |
| |
| func (x CreateMessageRequest_MessageReplyOption) Enum() *CreateMessageRequest_MessageReplyOption { |
| p := new(CreateMessageRequest_MessageReplyOption) |
| *p = x |
| return p |
| } |
| |
| func (x CreateMessageRequest_MessageReplyOption) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (CreateMessageRequest_MessageReplyOption) Descriptor() protoreflect.EnumDescriptor { |
| return file_google_chat_v1_message_proto_enumTypes[1].Descriptor() |
| } |
| |
| func (CreateMessageRequest_MessageReplyOption) Type() protoreflect.EnumType { |
| return &file_google_chat_v1_message_proto_enumTypes[1] |
| } |
| |
| func (x CreateMessageRequest_MessageReplyOption) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Use CreateMessageRequest_MessageReplyOption.Descriptor instead. |
| func (CreateMessageRequest_MessageReplyOption) EnumDescriptor() ([]byte, []int) { |
| return file_google_chat_v1_message_proto_rawDescGZIP(), []int{9, 0} |
| } |
| |
| // A message in a Google Chat space. |
| type Message struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Resource name of the message. |
| // |
| // Format: `spaces/{space}/messages/{message}` |
| // |
| // Where `{space}` is the ID of the space where the message is posted and |
| // `{message}` is a system-assigned ID for the message. For example, |
| // `spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB`. |
| // |
| // If you set a custom ID when you create a message, you can use this ID to |
| // specify the message in a request by replacing `{message}` with the value |
| // from the `clientAssignedMessageId` field. For example, |
| // `spaces/AAAAAAAAAAA/messages/client-custom-name`. For details, see [Name |
| // a |
| // message](https://developers.google.com/workspace/chat/create-messages#name_a_created_message). |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| // Output only. The user who created the message. |
| // If your Chat app [authenticates as a |
| // user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), |
| // the output populates the |
| // [user](https://developers.google.com/workspace/chat/api/reference/rest/v1/User) |
| // `name` and `type`. |
| Sender *User `protobuf:"bytes,2,opt,name=sender,proto3" json:"sender,omitempty"` |
| // Optional. Immutable. For spaces created in Chat, the time at which the |
| // message was created. This field is output only, except when used in import |
| // mode spaces. |
| // |
| // For import mode spaces, set this field to the historical timestamp at which |
| // the message was created in the source in order to preserve the original |
| // creation time. |
| CreateTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` |
| // Output only. The time at which the message was last edited by a user. If |
| // the message has never been edited, this field is empty. |
| LastUpdateTime *timestamppb.Timestamp `protobuf:"bytes,23,opt,name=last_update_time,json=lastUpdateTime,proto3" json:"last_update_time,omitempty"` |
| // Output only. The time at which the message was deleted in |
| // Google Chat. If the message is never deleted, this field is empty. |
| DeleteTime *timestamppb.Timestamp `protobuf:"bytes,26,opt,name=delete_time,json=deleteTime,proto3" json:"delete_time,omitempty"` |
| // Plain-text body of the message. The first link to an image, video, or web |
| // page generates a |
| // [preview chip](https://developers.google.com/workspace/chat/preview-links). |
| // You can also [@mention a Google Chat |
| // user](https://developers.google.com/workspace/chat/format-messages#messages-@mention), |
| // or everyone in the space. |
| // |
| // To learn about creating text messages, see [Send a text |
| // message](https://developers.google.com/workspace/chat/create-messages#create-text-messages). |
| Text string `protobuf:"bytes,4,opt,name=text,proto3" json:"text,omitempty"` |
| // Output only. Contains the message `text` with markups added to communicate |
| // formatting. This field might not capture all formatting visible in the UI, |
| // but includes the following: |
| // |
| // * [Markup |
| // syntax](https://developers.google.com/workspace/chat/format-messages) |
| // for bold, italic, strikethrough, monospace, monospace block, and bulleted |
| // list. |
| // |
| // * [User |
| // mentions](https://developers.google.com/workspace/chat/format-messages#messages-@mention) |
| // using the format `<users/{user}>`. |
| // |
| // * Custom hyperlinks using the format `<{url}|{rendered_text}>` where the |
| // first string is the URL and the second is the rendered text—for example, |
| // `<http://example.com|custom text>`. |
| // |
| // * Custom emoji using the format `:{emoji_name}:`—for example, `:smile:`. |
| // This doesn't apply to Unicode emoji, such as `U+1F600` for a grinning |
| // face emoji. |
| // |
| // For more information, see [View text formatting sent in a |
| // message](https://developers.google.com/workspace/chat/format-messages#view_text_formatting_sent_in_a_message) |
| FormattedText string `protobuf:"bytes,43,opt,name=formatted_text,json=formattedText,proto3" json:"formatted_text,omitempty"` |
| // Deprecated: Use `cards_v2` instead. |
| // |
| // Rich, formatted, and interactive cards that you can use to display UI |
| // elements such as: formatted texts, buttons, and clickable images. Cards are |
| // normally displayed below the plain-text body of the message. `cards` and |
| // `cards_v2` can have a maximum size of 32 KB. |
| // |
| // Deprecated: Marked as deprecated in google/chat/v1/message.proto. |
| Cards []*ContextualAddOnMarkup_Card `protobuf:"bytes,5,rep,name=cards,proto3" json:"cards,omitempty"` |
| // An array of |
| // [cards](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards). |
| // |
| // Only Chat apps can create cards. If your Chat app [authenticates as a |
| // user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), |
| // the messages can't contain cards. |
| // |
| // To learn about cards and how to create them, see [Send card |
| // messages](https://developers.google.com/workspace/chat/create-messages#create). |
| // |
| // [Card builder](https://addons.gsuite.google.com/uikit/builder) |
| CardsV2 []*CardWithId `protobuf:"bytes,22,rep,name=cards_v2,json=cardsV2,proto3" json:"cards_v2,omitempty"` |
| // Output only. Annotations associated with the `text` in this message. |
| Annotations []*Annotation `protobuf:"bytes,10,rep,name=annotations,proto3" json:"annotations,omitempty"` |
| // The thread the message belongs to. For example usage, see |
| // [Start or reply to a message |
| // thread](https://developers.google.com/workspace/chat/create-messages#create-message-thread). |
| Thread *Thread `protobuf:"bytes,11,opt,name=thread,proto3" json:"thread,omitempty"` |
| // If your Chat app [authenticates as a |
| // user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), |
| // the output populates the |
| // [space](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces) |
| // `name`. |
| Space *Space `protobuf:"bytes,12,opt,name=space,proto3" json:"space,omitempty"` |
| // A plain-text description of the message's cards, used when the actual cards |
| // can't be displayed—for example, mobile notifications. |
| FallbackText string `protobuf:"bytes,13,opt,name=fallback_text,json=fallbackText,proto3" json:"fallback_text,omitempty"` |
| // Input only. Parameters that a Chat app can use to configure how its |
| // response is posted. |
| ActionResponse *ActionResponse `protobuf:"bytes,14,opt,name=action_response,json=actionResponse,proto3" json:"action_response,omitempty"` |
| // Output only. Plain-text body of the message with all Chat app mentions |
| // stripped out. |
| ArgumentText string `protobuf:"bytes,15,opt,name=argument_text,json=argumentText,proto3" json:"argument_text,omitempty"` |
| // Output only. Slash command information, if applicable. |
| SlashCommand *SlashCommand `protobuf:"bytes,17,opt,name=slash_command,json=slashCommand,proto3" json:"slash_command,omitempty"` |
| // User-uploaded attachment. |
| Attachment []*Attachment `protobuf:"bytes,18,rep,name=attachment,proto3" json:"attachment,omitempty"` |
| // Output only. A URL in `spaces.messages.text` that matches a link preview |
| // pattern. For more information, see [Preview |
| // links](https://developers.google.com/workspace/chat/preview-links). |
| MatchedUrl *MatchedUrl `protobuf:"bytes,20,opt,name=matched_url,json=matchedUrl,proto3" json:"matched_url,omitempty"` |
| // Output only. When `true`, the message is a response in a reply thread. When |
| // `false`, the message is visible in the space's top-level conversation as |
| // either the first message of a thread or a message with no threaded replies. |
| // |
| // If the space doesn't support reply in threads, this field is always |
| // `false`. |
| ThreadReply bool `protobuf:"varint,25,opt,name=thread_reply,json=threadReply,proto3" json:"thread_reply,omitempty"` |
| // Optional. A custom ID for the message. You can use field to identify a |
| // message, or to get, delete, or update a message. To set a custom ID, |
| // specify the |
| // [`messageId`](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.messages/create#body.QUERY_PARAMETERS.message_id) |
| // field when you create the message. For details, see [Name a |
| // message](https://developers.google.com/workspace/chat/create-messages#name_a_created_message). |
| ClientAssignedMessageId string `protobuf:"bytes,32,opt,name=client_assigned_message_id,json=clientAssignedMessageId,proto3" json:"client_assigned_message_id,omitempty"` |
| // Output only. The list of emoji reaction summaries on the message. |
| EmojiReactionSummaries []*EmojiReactionSummary `protobuf:"bytes,33,rep,name=emoji_reaction_summaries,json=emojiReactionSummaries,proto3" json:"emoji_reaction_summaries,omitempty"` |
| // Immutable. Input for creating a message, otherwise output only. The user |
| // that can view the message. When set, the message is private and only |
| // visible to the specified user and the Chat app. Link previews and |
| // attachments aren't supported for private messages. |
| // |
| // Only Chat apps can send private messages. If your Chat app [authenticates |
| // as a |
| // user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) |
| // to send a message, the message can't be private and must omit this field. |
| // |
| // For details, see [Send private messages to Google Chat |
| // users](https://developers.google.com/workspace/chat/private-messages). |
| PrivateMessageViewer *User `protobuf:"bytes,36,opt,name=private_message_viewer,json=privateMessageViewer,proto3" json:"private_message_viewer,omitempty"` |
| // Output only. Information about a deleted message. A message is deleted when |
| // `delete_time` is set. |
| DeletionMetadata *DeletionMetadata `protobuf:"bytes,38,opt,name=deletion_metadata,json=deletionMetadata,proto3" json:"deletion_metadata,omitempty"` |
| // Output only. Information about a message that's quoted by a Google Chat |
| // user in a space. Google Chat users can quote a message to reply to it. |
| QuotedMessageMetadata *QuotedMessageMetadata `protobuf:"bytes,39,opt,name=quoted_message_metadata,json=quotedMessageMetadata,proto3" json:"quoted_message_metadata,omitempty"` |
| // Output only. GIF images that are attached to the message. |
| AttachedGifs []*AttachedGif `protobuf:"bytes,42,rep,name=attached_gifs,json=attachedGifs,proto3" json:"attached_gifs,omitempty"` |
| // One or more interactive widgets that appear at the bottom of a message. |
| // You can add accessory widgets to messages that contain text, cards, or both |
| // text and cards. Not supported for messages that contain dialogs. For |
| // details, see [Add interactive widgets at the bottom of a |
| // message](https://developers.google.com/workspace/chat/create-messages#add-accessory-widgets). |
| // |
| // Creating a message with accessory widgets requires [app |
| // authentication] |
| // (https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). |
| AccessoryWidgets []*AccessoryWidget `protobuf:"bytes,44,rep,name=accessory_widgets,json=accessoryWidgets,proto3" json:"accessory_widgets,omitempty"` |
| } |
| |
| func (x *Message) Reset() { |
| *x = Message{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_chat_v1_message_proto_msgTypes[0] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *Message) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*Message) ProtoMessage() {} |
| |
| func (x *Message) ProtoReflect() protoreflect.Message { |
| mi := &file_google_chat_v1_message_proto_msgTypes[0] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use Message.ProtoReflect.Descriptor instead. |
| func (*Message) Descriptor() ([]byte, []int) { |
| return file_google_chat_v1_message_proto_rawDescGZIP(), []int{0} |
| } |
| |
| func (x *Message) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| func (x *Message) GetSender() *User { |
| if x != nil { |
| return x.Sender |
| } |
| return nil |
| } |
| |
| func (x *Message) GetCreateTime() *timestamppb.Timestamp { |
| if x != nil { |
| return x.CreateTime |
| } |
| return nil |
| } |
| |
| func (x *Message) GetLastUpdateTime() *timestamppb.Timestamp { |
| if x != nil { |
| return x.LastUpdateTime |
| } |
| return nil |
| } |
| |
| func (x *Message) GetDeleteTime() *timestamppb.Timestamp { |
| if x != nil { |
| return x.DeleteTime |
| } |
| return nil |
| } |
| |
| func (x *Message) GetText() string { |
| if x != nil { |
| return x.Text |
| } |
| return "" |
| } |
| |
| func (x *Message) GetFormattedText() string { |
| if x != nil { |
| return x.FormattedText |
| } |
| return "" |
| } |
| |
| // Deprecated: Marked as deprecated in google/chat/v1/message.proto. |
| func (x *Message) GetCards() []*ContextualAddOnMarkup_Card { |
| if x != nil { |
| return x.Cards |
| } |
| return nil |
| } |
| |
| func (x *Message) GetCardsV2() []*CardWithId { |
| if x != nil { |
| return x.CardsV2 |
| } |
| return nil |
| } |
| |
| func (x *Message) GetAnnotations() []*Annotation { |
| if x != nil { |
| return x.Annotations |
| } |
| return nil |
| } |
| |
| func (x *Message) GetThread() *Thread { |
| if x != nil { |
| return x.Thread |
| } |
| return nil |
| } |
| |
| func (x *Message) GetSpace() *Space { |
| if x != nil { |
| return x.Space |
| } |
| return nil |
| } |
| |
| func (x *Message) GetFallbackText() string { |
| if x != nil { |
| return x.FallbackText |
| } |
| return "" |
| } |
| |
| func (x *Message) GetActionResponse() *ActionResponse { |
| if x != nil { |
| return x.ActionResponse |
| } |
| return nil |
| } |
| |
| func (x *Message) GetArgumentText() string { |
| if x != nil { |
| return x.ArgumentText |
| } |
| return "" |
| } |
| |
| func (x *Message) GetSlashCommand() *SlashCommand { |
| if x != nil { |
| return x.SlashCommand |
| } |
| return nil |
| } |
| |
| func (x *Message) GetAttachment() []*Attachment { |
| if x != nil { |
| return x.Attachment |
| } |
| return nil |
| } |
| |
| func (x *Message) GetMatchedUrl() *MatchedUrl { |
| if x != nil { |
| return x.MatchedUrl |
| } |
| return nil |
| } |
| |
| func (x *Message) GetThreadReply() bool { |
| if x != nil { |
| return x.ThreadReply |
| } |
| return false |
| } |
| |
| func (x *Message) GetClientAssignedMessageId() string { |
| if x != nil { |
| return x.ClientAssignedMessageId |
| } |
| return "" |
| } |
| |
| func (x *Message) GetEmojiReactionSummaries() []*EmojiReactionSummary { |
| if x != nil { |
| return x.EmojiReactionSummaries |
| } |
| return nil |
| } |
| |
| func (x *Message) GetPrivateMessageViewer() *User { |
| if x != nil { |
| return x.PrivateMessageViewer |
| } |
| return nil |
| } |
| |
| func (x *Message) GetDeletionMetadata() *DeletionMetadata { |
| if x != nil { |
| return x.DeletionMetadata |
| } |
| return nil |
| } |
| |
| func (x *Message) GetQuotedMessageMetadata() *QuotedMessageMetadata { |
| if x != nil { |
| return x.QuotedMessageMetadata |
| } |
| return nil |
| } |
| |
| func (x *Message) GetAttachedGifs() []*AttachedGif { |
| if x != nil { |
| return x.AttachedGifs |
| } |
| return nil |
| } |
| |
| func (x *Message) GetAccessoryWidgets() []*AccessoryWidget { |
| if x != nil { |
| return x.AccessoryWidgets |
| } |
| return nil |
| } |
| |
| // A GIF image that's specified by a URL. |
| type AttachedGif struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Output only. The URL that hosts the GIF image. |
| Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"` |
| } |
| |
| func (x *AttachedGif) Reset() { |
| *x = AttachedGif{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_chat_v1_message_proto_msgTypes[1] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *AttachedGif) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*AttachedGif) ProtoMessage() {} |
| |
| func (x *AttachedGif) ProtoReflect() protoreflect.Message { |
| mi := &file_google_chat_v1_message_proto_msgTypes[1] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use AttachedGif.ProtoReflect.Descriptor instead. |
| func (*AttachedGif) Descriptor() ([]byte, []int) { |
| return file_google_chat_v1_message_proto_rawDescGZIP(), []int{1} |
| } |
| |
| func (x *AttachedGif) GetUri() string { |
| if x != nil { |
| return x.Uri |
| } |
| return "" |
| } |
| |
| // Information about a quoted message. |
| type QuotedMessageMetadata struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Output only. Resource name of the quoted message. |
| // |
| // Format: `spaces/{space}/messages/{message}` |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| // Output only. The timestamp when the quoted message was created or when the |
| // quoted message was last updated. |
| LastUpdateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=last_update_time,json=lastUpdateTime,proto3" json:"last_update_time,omitempty"` |
| } |
| |
| func (x *QuotedMessageMetadata) Reset() { |
| *x = QuotedMessageMetadata{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_chat_v1_message_proto_msgTypes[2] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *QuotedMessageMetadata) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*QuotedMessageMetadata) ProtoMessage() {} |
| |
| func (x *QuotedMessageMetadata) ProtoReflect() protoreflect.Message { |
| mi := &file_google_chat_v1_message_proto_msgTypes[2] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use QuotedMessageMetadata.ProtoReflect.Descriptor instead. |
| func (*QuotedMessageMetadata) Descriptor() ([]byte, []int) { |
| return file_google_chat_v1_message_proto_rawDescGZIP(), []int{2} |
| } |
| |
| func (x *QuotedMessageMetadata) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| func (x *QuotedMessageMetadata) GetLastUpdateTime() *timestamppb.Timestamp { |
| if x != nil { |
| return x.LastUpdateTime |
| } |
| return nil |
| } |
| |
| // A thread in a Google Chat space. For example usage, see |
| // [Start or reply to a message |
| // thread](https://developers.google.com/workspace/chat/create-messages#create-message-thread). |
| // |
| // If you specify a thread when creating a message, you can set the |
| // [`messageReplyOption`](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.messages/create#messagereplyoption) |
| // field to determine what happens if no matching thread is found. |
| type Thread struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Output only. Resource name of the thread. |
| // |
| // Example: `spaces/{space}/threads/{thread}` |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| // Optional. Input for creating or updating a thread. Otherwise, output only. |
| // ID for the thread. Supports up to 4000 characters. |
| // |
| // This ID is unique to the Chat app that sets it. For example, if |
| // multiple Chat apps create a message using the same thread key, |
| // the messages are posted in different threads. To reply in a |
| // thread created by a person or another Chat app, specify the thread `name` |
| // field instead. |
| ThreadKey string `protobuf:"bytes,3,opt,name=thread_key,json=threadKey,proto3" json:"thread_key,omitempty"` |
| } |
| |
| func (x *Thread) Reset() { |
| *x = Thread{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_chat_v1_message_proto_msgTypes[3] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *Thread) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*Thread) ProtoMessage() {} |
| |
| func (x *Thread) ProtoReflect() protoreflect.Message { |
| mi := &file_google_chat_v1_message_proto_msgTypes[3] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use Thread.ProtoReflect.Descriptor instead. |
| func (*Thread) Descriptor() ([]byte, []int) { |
| return file_google_chat_v1_message_proto_rawDescGZIP(), []int{3} |
| } |
| |
| func (x *Thread) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| func (x *Thread) GetThreadKey() string { |
| if x != nil { |
| return x.ThreadKey |
| } |
| return "" |
| } |
| |
| // Parameters that a Chat app can use to configure how its response is posted. |
| type ActionResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Input only. The type of Chat app response. |
| Type ActionResponse_ResponseType `protobuf:"varint,1,opt,name=type,proto3,enum=google.chat.v1.ActionResponse_ResponseType" json:"type,omitempty"` |
| // Input only. URL for users to authenticate or configure. (Only for |
| // `REQUEST_CONFIG` response types.) |
| Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"` |
| // Input only. A response to an interaction event related to a |
| // [dialog](https://developers.google.com/workspace/chat/dialogs). Must be |
| // accompanied by `ResponseType.Dialog`. |
| DialogAction *DialogAction `protobuf:"bytes,3,opt,name=dialog_action,json=dialogAction,proto3" json:"dialog_action,omitempty"` |
| // Input only. The response of the updated widget. |
| UpdatedWidget *ActionResponse_UpdatedWidget `protobuf:"bytes,4,opt,name=updated_widget,json=updatedWidget,proto3" json:"updated_widget,omitempty"` |
| } |
| |
| func (x *ActionResponse) Reset() { |
| *x = ActionResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_chat_v1_message_proto_msgTypes[4] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ActionResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ActionResponse) ProtoMessage() {} |
| |
| func (x *ActionResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_google_chat_v1_message_proto_msgTypes[4] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use ActionResponse.ProtoReflect.Descriptor instead. |
| func (*ActionResponse) Descriptor() ([]byte, []int) { |
| return file_google_chat_v1_message_proto_rawDescGZIP(), []int{4} |
| } |
| |
| func (x *ActionResponse) GetType() ActionResponse_ResponseType { |
| if x != nil { |
| return x.Type |
| } |
| return ActionResponse_TYPE_UNSPECIFIED |
| } |
| |
| func (x *ActionResponse) GetUrl() string { |
| if x != nil { |
| return x.Url |
| } |
| return "" |
| } |
| |
| func (x *ActionResponse) GetDialogAction() *DialogAction { |
| if x != nil { |
| return x.DialogAction |
| } |
| return nil |
| } |
| |
| func (x *ActionResponse) GetUpdatedWidget() *ActionResponse_UpdatedWidget { |
| if x != nil { |
| return x.UpdatedWidget |
| } |
| return nil |
| } |
| |
| // One or more interactive widgets that appear at the bottom of a message. For |
| // details, see [Add interactive widgets at the bottom of a |
| // message](https://developers.google.com/workspace/chat/create-messages#add-accessory-widgets). |
| type AccessoryWidget struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The type of action. |
| // |
| // Types that are assignable to Action: |
| // |
| // *AccessoryWidget_ButtonList |
| Action isAccessoryWidget_Action `protobuf_oneof:"action"` |
| } |
| |
| func (x *AccessoryWidget) Reset() { |
| *x = AccessoryWidget{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_chat_v1_message_proto_msgTypes[5] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *AccessoryWidget) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*AccessoryWidget) ProtoMessage() {} |
| |
| func (x *AccessoryWidget) ProtoReflect() protoreflect.Message { |
| mi := &file_google_chat_v1_message_proto_msgTypes[5] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use AccessoryWidget.ProtoReflect.Descriptor instead. |
| func (*AccessoryWidget) Descriptor() ([]byte, []int) { |
| return file_google_chat_v1_message_proto_rawDescGZIP(), []int{5} |
| } |
| |
| func (m *AccessoryWidget) GetAction() isAccessoryWidget_Action { |
| if m != nil { |
| return m.Action |
| } |
| return nil |
| } |
| |
| func (x *AccessoryWidget) GetButtonList() *v1.ButtonList { |
| if x, ok := x.GetAction().(*AccessoryWidget_ButtonList); ok { |
| return x.ButtonList |
| } |
| return nil |
| } |
| |
| type isAccessoryWidget_Action interface { |
| isAccessoryWidget_Action() |
| } |
| |
| type AccessoryWidget_ButtonList struct { |
| // A list of buttons. |
| ButtonList *v1.ButtonList `protobuf:"bytes,1,opt,name=button_list,json=buttonList,proto3,oneof"` |
| } |
| |
| func (*AccessoryWidget_ButtonList) isAccessoryWidget_Action() {} |
| |
| // Request to get a message. |
| type GetMessageRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. Resource name of the message. |
| // |
| // Format: `spaces/{space}/messages/{message}` |
| // |
| // If you've set a custom ID for your message, you can use the value from the |
| // `clientAssignedMessageId` field for `{message}`. For details, see [Name a |
| // message] |
| // (https://developers.google.com/workspace/chat/create-messages#name_a_created_message). |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| } |
| |
| func (x *GetMessageRequest) Reset() { |
| *x = GetMessageRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_chat_v1_message_proto_msgTypes[6] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *GetMessageRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*GetMessageRequest) ProtoMessage() {} |
| |
| func (x *GetMessageRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_chat_v1_message_proto_msgTypes[6] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use GetMessageRequest.ProtoReflect.Descriptor instead. |
| func (*GetMessageRequest) Descriptor() ([]byte, []int) { |
| return file_google_chat_v1_message_proto_rawDescGZIP(), []int{6} |
| } |
| |
| func (x *GetMessageRequest) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| // Request to delete a message. |
| type DeleteMessageRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. Resource name of the message. |
| // |
| // Format: `spaces/{space}/messages/{message}` |
| // |
| // If you've set a custom ID for your message, you can use the value from the |
| // `clientAssignedMessageId` field for `{message}`. For details, see [Name a |
| // message] |
| // (https://developers.google.com/workspace/chat/create-messages#name_a_created_message). |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| // When `true`, deleting a message also deletes its threaded replies. When |
| // `false`, if a message has threaded replies, deletion fails. |
| // |
| // Only applies when [authenticating as a |
| // user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). |
| // Has no effect when [authenticating as a Chat app] |
| // (https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). |
| Force bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"` |
| } |
| |
| func (x *DeleteMessageRequest) Reset() { |
| *x = DeleteMessageRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_chat_v1_message_proto_msgTypes[7] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *DeleteMessageRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*DeleteMessageRequest) ProtoMessage() {} |
| |
| func (x *DeleteMessageRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_chat_v1_message_proto_msgTypes[7] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use DeleteMessageRequest.ProtoReflect.Descriptor instead. |
| func (*DeleteMessageRequest) Descriptor() ([]byte, []int) { |
| return file_google_chat_v1_message_proto_rawDescGZIP(), []int{7} |
| } |
| |
| func (x *DeleteMessageRequest) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| func (x *DeleteMessageRequest) GetForce() bool { |
| if x != nil { |
| return x.Force |
| } |
| return false |
| } |
| |
| // Request to update a message. |
| type UpdateMessageRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. Message with fields updated. |
| Message *Message `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` |
| // Required. The field paths to update. Separate multiple values with commas |
| // or use `*` to update all field paths. |
| // |
| // Currently supported field paths: |
| // |
| // - `text` |
| // |
| // - `attachment` |
| // |
| // - `cards` (Requires [app |
| // authentication](/chat/api/guides/auth/service-accounts).) |
| // |
| // - `cards_v2` (Requires [app |
| // authentication](/chat/api/guides/auth/service-accounts).) |
| // |
| // - `accessory_widgets` (Requires [app |
| // authentication](/chat/api/guides/auth/service-accounts).) |
| UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` |
| // Optional. If `true` and the message isn't found, a new message is created |
| // and `updateMask` is ignored. The specified message ID must be |
| // [client-assigned](https://developers.google.com/workspace/chat/create-messages#name_a_created_message) |
| // or the request fails. |
| AllowMissing bool `protobuf:"varint,4,opt,name=allow_missing,json=allowMissing,proto3" json:"allow_missing,omitempty"` |
| } |
| |
| func (x *UpdateMessageRequest) Reset() { |
| *x = UpdateMessageRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_chat_v1_message_proto_msgTypes[8] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *UpdateMessageRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*UpdateMessageRequest) ProtoMessage() {} |
| |
| func (x *UpdateMessageRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_chat_v1_message_proto_msgTypes[8] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use UpdateMessageRequest.ProtoReflect.Descriptor instead. |
| func (*UpdateMessageRequest) Descriptor() ([]byte, []int) { |
| return file_google_chat_v1_message_proto_rawDescGZIP(), []int{8} |
| } |
| |
| func (x *UpdateMessageRequest) GetMessage() *Message { |
| if x != nil { |
| return x.Message |
| } |
| return nil |
| } |
| |
| func (x *UpdateMessageRequest) GetUpdateMask() *fieldmaskpb.FieldMask { |
| if x != nil { |
| return x.UpdateMask |
| } |
| return nil |
| } |
| |
| func (x *UpdateMessageRequest) GetAllowMissing() bool { |
| if x != nil { |
| return x.AllowMissing |
| } |
| return false |
| } |
| |
| // Creates a message. |
| type CreateMessageRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The resource name of the space in which to create a message. |
| // |
| // Format: `spaces/{space}` |
| Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` |
| // Required. Message body. |
| Message *Message `protobuf:"bytes,4,opt,name=message,proto3" json:"message,omitempty"` |
| // Optional. Deprecated: Use |
| // [thread.thread_key][google.chat.v1.Thread.thread_key] instead. ID for the |
| // thread. Supports up to 4000 characters. To start or add to a thread, create |
| // a message and specify a `threadKey` or the |
| // [thread.name][google.chat.v1.Thread.name]. For example usage, see [Start or |
| // reply to a message |
| // thread](https://developers.google.com/workspace/chat/create-messages#create-message-thread). |
| // |
| // Deprecated: Marked as deprecated in google/chat/v1/message.proto. |
| ThreadKey string `protobuf:"bytes,6,opt,name=thread_key,json=threadKey,proto3" json:"thread_key,omitempty"` |
| // Optional. A unique request ID for this message. Specifying an existing |
| // request ID returns the message created with that ID instead of creating a |
| // new message. |
| RequestId string `protobuf:"bytes,7,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` |
| // Optional. Specifies whether a message starts a thread or replies to one. |
| // Only supported in named spaces. |
| MessageReplyOption CreateMessageRequest_MessageReplyOption `protobuf:"varint,8,opt,name=message_reply_option,json=messageReplyOption,proto3,enum=google.chat.v1.CreateMessageRequest_MessageReplyOption" json:"message_reply_option,omitempty"` |
| // Optional. A custom ID for a message. Lets Chat apps get, update, or delete |
| // a message without needing to store the system-assigned ID in the message's |
| // resource name (represented in the message `name` field). |
| // |
| // The value for this field must meet the following requirements: |
| // |
| // - Begins with `client-`. For example, `client-custom-name` is a valid |
| // custom ID, but `custom-name` is not. |
| // - Contains up to 63 characters and only lowercase letters, numbers, and |
| // hyphens. |
| // - Is unique within a space. A Chat app can't use the same custom ID for |
| // |
| // different messages. |
| // |
| // For details, see [Name a |
| // message](https://developers.google.com/workspace/chat/create-messages#name_a_created_message). |
| MessageId string `protobuf:"bytes,9,opt,name=message_id,json=messageId,proto3" json:"message_id,omitempty"` |
| } |
| |
| func (x *CreateMessageRequest) Reset() { |
| *x = CreateMessageRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_chat_v1_message_proto_msgTypes[9] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *CreateMessageRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*CreateMessageRequest) ProtoMessage() {} |
| |
| func (x *CreateMessageRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_chat_v1_message_proto_msgTypes[9] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use CreateMessageRequest.ProtoReflect.Descriptor instead. |
| func (*CreateMessageRequest) Descriptor() ([]byte, []int) { |
| return file_google_chat_v1_message_proto_rawDescGZIP(), []int{9} |
| } |
| |
| func (x *CreateMessageRequest) GetParent() string { |
| if x != nil { |
| return x.Parent |
| } |
| return "" |
| } |
| |
| func (x *CreateMessageRequest) GetMessage() *Message { |
| if x != nil { |
| return x.Message |
| } |
| return nil |
| } |
| |
| // Deprecated: Marked as deprecated in google/chat/v1/message.proto. |
| func (x *CreateMessageRequest) GetThreadKey() string { |
| if x != nil { |
| return x.ThreadKey |
| } |
| return "" |
| } |
| |
| func (x *CreateMessageRequest) GetRequestId() string { |
| if x != nil { |
| return x.RequestId |
| } |
| return "" |
| } |
| |
| func (x *CreateMessageRequest) GetMessageReplyOption() CreateMessageRequest_MessageReplyOption { |
| if x != nil { |
| return x.MessageReplyOption |
| } |
| return CreateMessageRequest_MESSAGE_REPLY_OPTION_UNSPECIFIED |
| } |
| |
| func (x *CreateMessageRequest) GetMessageId() string { |
| if x != nil { |
| return x.MessageId |
| } |
| return "" |
| } |
| |
| // Lists messages in the specified space, that the user is a member of. |
| type ListMessagesRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The resource name of the space to list messages from. |
| // |
| // Format: `spaces/{space}` |
| Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` |
| // The maximum number of messages returned. The service might return fewer |
| // messages than this value. |
| // |
| // If unspecified, at most 25 are returned. |
| // |
| // The maximum value is 1000. If you use a value more than 1000, it's |
| // automatically changed to 1000. |
| // |
| // Negative values return an `INVALID_ARGUMENT` error. |
| PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` |
| // Optional, if resuming from a previous query. |
| // |
| // A page token received from a previous list messages call. Provide this |
| // parameter to retrieve the subsequent page. |
| // |
| // When paginating, all other parameters provided should match the call that |
| // provided the page token. Passing different values to the other parameters |
| // might lead to unexpected results. |
| PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` |
| // A query filter. |
| // |
| // You can filter messages by date (`create_time`) and thread (`thread.name`). |
| // |
| // To filter messages by the date they were created, specify the `create_time` |
| // with a timestamp in [RFC-3339](https://www.rfc-editor.org/rfc/rfc3339) |
| // format and double quotation marks. For example, |
| // `"2023-04-21T11:30:00-04:00"`. You can use the greater than operator `>` to |
| // list messages that were created after a timestamp, or the less than |
| // operator `<` to list messages that were created before a timestamp. To |
| // filter messages within a time interval, use the `AND` operator between two |
| // timestamps. |
| // |
| // To filter by thread, specify the `thread.name`, formatted as |
| // `spaces/{space}/threads/{thread}`. You can only specify one |
| // `thread.name` per query. |
| // |
| // To filter by both thread and date, use the `AND` operator in your query. |
| // |
| // For example, the following queries are valid: |
| // |
| // ``` |
| // create_time > "2012-04-21T11:30:00-04:00" |
| // |
| // create_time > "2012-04-21T11:30:00-04:00" AND |
| // |
| // thread.name = spaces/AAAAAAAAAAA/threads/123 |
| // |
| // create_time > "2012-04-21T11:30:00+00:00" AND |
| // |
| // create_time < "2013-01-01T00:00:00+00:00" AND |
| // |
| // thread.name = spaces/AAAAAAAAAAA/threads/123 |
| // |
| // thread.name = spaces/AAAAAAAAAAA/threads/123 |
| // ``` |
| // |
| // Invalid queries are rejected by the server with an `INVALID_ARGUMENT` |
| // error. |
| Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` |
| // Optional, if resuming from a previous query. |
| // |
| // How the list of messages is ordered. Specify a value to order by an |
| // ordering operation. Valid ordering operation values are as follows: |
| // |
| // - `ASC` for ascending. |
| // |
| // - `DESC` for descending. |
| // |
| // The default ordering is `create_time ASC`. |
| OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` |
| // Whether to include deleted messages. Deleted messages include deleted time |
| // and metadata about their deletion, but message content is unavailable. |
| ShowDeleted bool `protobuf:"varint,6,opt,name=show_deleted,json=showDeleted,proto3" json:"show_deleted,omitempty"` |
| } |
| |
| func (x *ListMessagesRequest) Reset() { |
| *x = ListMessagesRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_chat_v1_message_proto_msgTypes[10] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ListMessagesRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ListMessagesRequest) ProtoMessage() {} |
| |
| func (x *ListMessagesRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_chat_v1_message_proto_msgTypes[10] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use ListMessagesRequest.ProtoReflect.Descriptor instead. |
| func (*ListMessagesRequest) Descriptor() ([]byte, []int) { |
| return file_google_chat_v1_message_proto_rawDescGZIP(), []int{10} |
| } |
| |
| func (x *ListMessagesRequest) GetParent() string { |
| if x != nil { |
| return x.Parent |
| } |
| return "" |
| } |
| |
| func (x *ListMessagesRequest) GetPageSize() int32 { |
| if x != nil { |
| return x.PageSize |
| } |
| return 0 |
| } |
| |
| func (x *ListMessagesRequest) GetPageToken() string { |
| if x != nil { |
| return x.PageToken |
| } |
| return "" |
| } |
| |
| func (x *ListMessagesRequest) GetFilter() string { |
| if x != nil { |
| return x.Filter |
| } |
| return "" |
| } |
| |
| func (x *ListMessagesRequest) GetOrderBy() string { |
| if x != nil { |
| return x.OrderBy |
| } |
| return "" |
| } |
| |
| func (x *ListMessagesRequest) GetShowDeleted() bool { |
| if x != nil { |
| return x.ShowDeleted |
| } |
| return false |
| } |
| |
| // Response message for listing messages. |
| type ListMessagesResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // List of messages. |
| Messages []*Message `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty"` |
| // You can send a token as `pageToken` to retrieve the next page of |
| // results. If empty, there are no subsequent pages. |
| NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` |
| } |
| |
| func (x *ListMessagesResponse) Reset() { |
| *x = ListMessagesResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_chat_v1_message_proto_msgTypes[11] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ListMessagesResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ListMessagesResponse) ProtoMessage() {} |
| |
| func (x *ListMessagesResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_google_chat_v1_message_proto_msgTypes[11] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use ListMessagesResponse.ProtoReflect.Descriptor instead. |
| func (*ListMessagesResponse) Descriptor() ([]byte, []int) { |
| return file_google_chat_v1_message_proto_rawDescGZIP(), []int{11} |
| } |
| |
| func (x *ListMessagesResponse) GetMessages() []*Message { |
| if x != nil { |
| return x.Messages |
| } |
| return nil |
| } |
| |
| func (x *ListMessagesResponse) GetNextPageToken() string { |
| if x != nil { |
| return x.NextPageToken |
| } |
| return "" |
| } |
| |
| // Contains a |
| // [dialog](https://developers.google.com/workspace/chat/dialogs) and request |
| // status code. |
| type DialogAction struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Action to perform. |
| // |
| // Types that are assignable to Action: |
| // |
| // *DialogAction_Dialog |
| Action isDialogAction_Action `protobuf_oneof:"action"` |
| // Input only. Status for a request to either invoke or submit a |
| // [dialog](https://developers.google.com/workspace/chat/dialogs). Displays |
| // a status and message to users, if necessary. |
| // For example, in case of an error or success. |
| ActionStatus *ActionStatus `protobuf:"bytes,2,opt,name=action_status,json=actionStatus,proto3" json:"action_status,omitempty"` |
| } |
| |
| func (x *DialogAction) Reset() { |
| *x = DialogAction{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_chat_v1_message_proto_msgTypes[12] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *DialogAction) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*DialogAction) ProtoMessage() {} |
| |
| func (x *DialogAction) ProtoReflect() protoreflect.Message { |
| mi := &file_google_chat_v1_message_proto_msgTypes[12] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use DialogAction.ProtoReflect.Descriptor instead. |
| func (*DialogAction) Descriptor() ([]byte, []int) { |
| return file_google_chat_v1_message_proto_rawDescGZIP(), []int{12} |
| } |
| |
| func (m *DialogAction) GetAction() isDialogAction_Action { |
| if m != nil { |
| return m.Action |
| } |
| return nil |
| } |
| |
| func (x *DialogAction) GetDialog() *Dialog { |
| if x, ok := x.GetAction().(*DialogAction_Dialog); ok { |
| return x.Dialog |
| } |
| return nil |
| } |
| |
| func (x *DialogAction) GetActionStatus() *ActionStatus { |
| if x != nil { |
| return x.ActionStatus |
| } |
| return nil |
| } |
| |
| type isDialogAction_Action interface { |
| isDialogAction_Action() |
| } |
| |
| type DialogAction_Dialog struct { |
| // Input only. |
| // [Dialog](https://developers.google.com/workspace/chat/dialogs) for the |
| // request. |
| Dialog *Dialog `protobuf:"bytes,1,opt,name=dialog,proto3,oneof"` |
| } |
| |
| func (*DialogAction_Dialog) isDialogAction_Action() {} |
| |
| // Wrapper around the card body of the dialog. |
| type Dialog struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Input only. Body of the dialog, which is rendered in a modal. |
| // Google Chat apps don't support the following card entities: |
| // `DateTimePicker`, `OnChangeAction`. |
| Body *v1.Card `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"` |
| } |
| |
| func (x *Dialog) Reset() { |
| *x = Dialog{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_chat_v1_message_proto_msgTypes[13] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *Dialog) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*Dialog) ProtoMessage() {} |
| |
| func (x *Dialog) ProtoReflect() protoreflect.Message { |
| mi := &file_google_chat_v1_message_proto_msgTypes[13] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use Dialog.ProtoReflect.Descriptor instead. |
| func (*Dialog) Descriptor() ([]byte, []int) { |
| return file_google_chat_v1_message_proto_rawDescGZIP(), []int{13} |
| } |
| |
| func (x *Dialog) GetBody() *v1.Card { |
| if x != nil { |
| return x.Body |
| } |
| return nil |
| } |
| |
| // A |
| // [card](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards) |
| // in a Google Chat message. |
| // |
| // Only Chat apps can create cards. If your Chat app [authenticates as a |
| // user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), |
| // the message can't contain cards. |
| // |
| // [Card builder](https://addons.gsuite.google.com/uikit/builder) |
| type CardWithId struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required if the message contains multiple cards. A unique identifier for |
| // a card in a message. |
| CardId string `protobuf:"bytes,1,opt,name=card_id,json=cardId,proto3" json:"card_id,omitempty"` |
| // A card. Maximum size is 32 KB. |
| Card *v1.Card `protobuf:"bytes,2,opt,name=card,proto3" json:"card,omitempty"` |
| } |
| |
| func (x *CardWithId) Reset() { |
| *x = CardWithId{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_chat_v1_message_proto_msgTypes[14] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *CardWithId) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*CardWithId) ProtoMessage() {} |
| |
| func (x *CardWithId) ProtoReflect() protoreflect.Message { |
| mi := &file_google_chat_v1_message_proto_msgTypes[14] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use CardWithId.ProtoReflect.Descriptor instead. |
| func (*CardWithId) Descriptor() ([]byte, []int) { |
| return file_google_chat_v1_message_proto_rawDescGZIP(), []int{14} |
| } |
| |
| func (x *CardWithId) GetCardId() string { |
| if x != nil { |
| return x.CardId |
| } |
| return "" |
| } |
| |
| func (x *CardWithId) GetCard() *v1.Card { |
| if x != nil { |
| return x.Card |
| } |
| return nil |
| } |
| |
| // List of widget autocomplete results. |
| type ActionResponse_SelectionItems struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // An array of the SelectionItem objects. |
| Items []*v1.SelectionInput_SelectionItem `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` |
| } |
| |
| func (x *ActionResponse_SelectionItems) Reset() { |
| *x = ActionResponse_SelectionItems{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_chat_v1_message_proto_msgTypes[15] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ActionResponse_SelectionItems) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ActionResponse_SelectionItems) ProtoMessage() {} |
| |
| func (x *ActionResponse_SelectionItems) ProtoReflect() protoreflect.Message { |
| mi := &file_google_chat_v1_message_proto_msgTypes[15] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use ActionResponse_SelectionItems.ProtoReflect.Descriptor instead. |
| func (*ActionResponse_SelectionItems) Descriptor() ([]byte, []int) { |
| return file_google_chat_v1_message_proto_rawDescGZIP(), []int{4, 0} |
| } |
| |
| func (x *ActionResponse_SelectionItems) GetItems() []*v1.SelectionInput_SelectionItem { |
| if x != nil { |
| return x.Items |
| } |
| return nil |
| } |
| |
| // The response of the updated widget. |
| // Used to provide autocomplete options for a widget. |
| type ActionResponse_UpdatedWidget struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The widget updated in response to a user action. |
| // |
| // Types that are assignable to UpdatedWidget: |
| // |
| // *ActionResponse_UpdatedWidget_Suggestions |
| UpdatedWidget isActionResponse_UpdatedWidget_UpdatedWidget `protobuf_oneof:"updated_widget"` |
| // The ID of the updated widget. The ID must match the one for the |
| // widget that triggered the update request. |
| Widget string `protobuf:"bytes,2,opt,name=widget,proto3" json:"widget,omitempty"` |
| } |
| |
| func (x *ActionResponse_UpdatedWidget) Reset() { |
| *x = ActionResponse_UpdatedWidget{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_chat_v1_message_proto_msgTypes[16] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ActionResponse_UpdatedWidget) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ActionResponse_UpdatedWidget) ProtoMessage() {} |
| |
| func (x *ActionResponse_UpdatedWidget) ProtoReflect() protoreflect.Message { |
| mi := &file_google_chat_v1_message_proto_msgTypes[16] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use ActionResponse_UpdatedWidget.ProtoReflect.Descriptor instead. |
| func (*ActionResponse_UpdatedWidget) Descriptor() ([]byte, []int) { |
| return file_google_chat_v1_message_proto_rawDescGZIP(), []int{4, 1} |
| } |
| |
| func (m *ActionResponse_UpdatedWidget) GetUpdatedWidget() isActionResponse_UpdatedWidget_UpdatedWidget { |
| if m != nil { |
| return m.UpdatedWidget |
| } |
| return nil |
| } |
| |
| func (x *ActionResponse_UpdatedWidget) GetSuggestions() *ActionResponse_SelectionItems { |
| if x, ok := x.GetUpdatedWidget().(*ActionResponse_UpdatedWidget_Suggestions); ok { |
| return x.Suggestions |
| } |
| return nil |
| } |
| |
| func (x *ActionResponse_UpdatedWidget) GetWidget() string { |
| if x != nil { |
| return x.Widget |
| } |
| return "" |
| } |
| |
| type isActionResponse_UpdatedWidget_UpdatedWidget interface { |
| isActionResponse_UpdatedWidget_UpdatedWidget() |
| } |
| |
| type ActionResponse_UpdatedWidget_Suggestions struct { |
| // List of widget autocomplete results |
| Suggestions *ActionResponse_SelectionItems `protobuf:"bytes,1,opt,name=suggestions,proto3,oneof"` |
| } |
| |
| func (*ActionResponse_UpdatedWidget_Suggestions) isActionResponse_UpdatedWidget_UpdatedWidget() {} |
| |
| var File_google_chat_v1_message_proto protoreflect.FileDescriptor |
| |
| var file_google_chat_v1_message_proto_rawDesc = []byte{ |
| 0x0a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x76, 0x31, |
| 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0e, |
| 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x1a, 0x1f, |
| 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, |
| 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, |
| 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, |
| 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, |
| 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x2f, 0x76, 0x31, 0x2f, |
| 0x63, 0x61, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x67, 0x6f, 0x6f, 0x67, |
| 0x6c, 0x65, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, |
| 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, |
| 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, |
| 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, |
| 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x76, 0x31, 0x2f, |
| 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, |
| 0x1a, 0x25, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x76, 0x31, |
| 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x6f, |
| 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, |
| 0x63, 0x68, 0x61, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, |
| 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, |
| 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x76, 0x31, 0x2f, |
| 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, |
| 0x6f, 0x1a, 0x1d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x76, |
| 0x31, 0x2f, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, |
| 0x1a, 0x22, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x76, 0x31, |
| 0x2f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x70, |
| 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x68, 0x61, |
| 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, |
| 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x76, 0x31, |
| 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, |
| 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, |
| 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, |
| 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8f, |
| 0x0d, 0x0a, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, |
| 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x31, |
| 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, |
| 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, |
| 0x55, 0x73, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, |
| 0x72, 0x12, 0x43, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, |
| 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, |
| 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, |
| 0x6d, 0x70, 0x42, 0x06, 0xe0, 0x41, 0x05, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, |
| 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x49, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, |
| 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, |
| 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, |
| 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, |
| 0x03, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, |
| 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, |
| 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, |
| 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, |
| 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, |
| 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, |
| 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x2a, 0x0a, 0x0e, 0x66, 0x6f, 0x72, 0x6d, 0x61, |
| 0x74, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x09, 0x42, |
| 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x64, 0x54, |
| 0x65, 0x78, 0x74, 0x12, 0x44, 0x0a, 0x05, 0x63, 0x61, 0x72, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, |
| 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x68, 0x61, 0x74, |
| 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, 0x6c, 0x41, 0x64, |
| 0x64, 0x4f, 0x6e, 0x4d, 0x61, 0x72, 0x6b, 0x75, 0x70, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x42, 0x02, |
| 0x18, 0x01, 0x52, 0x05, 0x63, 0x61, 0x72, 0x64, 0x73, 0x12, 0x35, 0x0a, 0x08, 0x63, 0x61, 0x72, |
| 0x64, 0x73, 0x5f, 0x76, 0x32, 0x18, 0x16, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, |
| 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61, 0x72, |
| 0x64, 0x57, 0x69, 0x74, 0x68, 0x49, 0x64, 0x52, 0x07, 0x63, 0x61, 0x72, 0x64, 0x73, 0x56, 0x32, |
| 0x12, 0x41, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, |
| 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, |
| 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, |
| 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, |
| 0x6f, 0x6e, 0x73, 0x12, 0x2e, 0x0a, 0x06, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x18, 0x0b, 0x20, |
| 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x68, 0x61, |
| 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x52, 0x06, 0x74, 0x68, 0x72, |
| 0x65, 0x61, 0x64, 0x12, 0x2b, 0x0a, 0x05, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x0c, 0x20, 0x01, |
| 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x68, 0x61, 0x74, |
| 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x52, 0x05, 0x73, 0x70, 0x61, 0x63, 0x65, |
| 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x65, 0x78, |
| 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, |
| 0x6b, 0x54, 0x65, 0x78, 0x74, 0x12, 0x4c, 0x0a, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, |
| 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, |
| 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, |
| 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x03, |
| 0xe0, 0x41, 0x04, 0x52, 0x0e, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, |
| 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x0d, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x5f, |
| 0x74, 0x65, 0x78, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, |
| 0x0c, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x78, 0x74, 0x12, 0x46, 0x0a, |
| 0x0d, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x11, |
| 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x68, |
| 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x43, 0x6f, 0x6d, 0x6d, 0x61, |
| 0x6e, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x43, 0x6f, |
| 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x3a, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, |
| 0x65, 0x6e, 0x74, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, |
| 0x6c, 0x65, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x61, 0x63, |
| 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, |
| 0x74, 0x12, 0x40, 0x0a, 0x0b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x75, 0x72, 0x6c, |
| 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, |
| 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x55, |
| 0x72, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, |
| 0x55, 0x72, 0x6c, 0x12, 0x26, 0x0a, 0x0c, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x72, 0x65, |
| 0x70, 0x6c, 0x79, 0x18, 0x19, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, |
| 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x3b, 0x0a, 0x1a, 0x63, |
| 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x6d, |
| 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x20, 0x20, 0x01, 0x28, 0x09, 0x52, |
| 0x17, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x4d, |
| 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x63, 0x0a, 0x18, 0x65, 0x6d, 0x6f, 0x6a, |
| 0x69, 0x5f, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, |
| 0x72, 0x69, 0x65, 0x73, 0x18, 0x21, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6d, 0x6f, 0x6a, |
| 0x69, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, |
| 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x16, 0x65, 0x6d, 0x6f, 0x6a, 0x69, 0x52, 0x65, 0x61, 0x63, |
| 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x65, 0x73, 0x12, 0x4f, 0x0a, |
| 0x16, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, |
| 0x5f, 0x76, 0x69, 0x65, 0x77, 0x65, 0x72, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, |
| 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x55, |
| 0x73, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x14, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, |
| 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x56, 0x69, 0x65, 0x77, 0x65, 0x72, 0x12, 0x52, |
| 0x0a, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, |
| 0x61, 0x74, 0x61, 0x18, 0x26, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, |
| 0x6c, 0x65, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, |
| 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x03, |
| 0x52, 0x10, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, |
| 0x74, 0x61, 0x12, 0x62, 0x0a, 0x17, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, |
| 0x73, 0x61, 0x67, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x27, 0x20, |
| 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x68, 0x61, |
| 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, |
| 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, |
| 0x15, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, |
| 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x45, 0x0a, 0x0d, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, |
| 0x65, 0x64, 0x5f, 0x67, 0x69, 0x66, 0x73, 0x18, 0x2a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, |
| 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, |
| 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x47, 0x69, 0x66, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, |
| 0x0c, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x47, 0x69, 0x66, 0x73, 0x12, 0x4c, 0x0a, |
| 0x11, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x79, 0x5f, 0x77, 0x69, 0x64, 0x67, 0x65, |
| 0x74, 0x73, 0x18, 0x2c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, |
| 0x65, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, |
| 0x6f, 0x72, 0x79, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x52, 0x10, 0x61, 0x63, 0x63, 0x65, 0x73, |
| 0x73, 0x6f, 0x72, 0x79, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x73, 0x3a, 0x43, 0xea, 0x41, 0x40, |
| 0x0a, 0x1b, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, |
| 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x21, 0x73, |
| 0x70, 0x61, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x7d, 0x2f, 0x6d, 0x65, |
| 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2f, 0x7b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x7d, |
| 0x22, 0x24, 0x0a, 0x0b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x47, 0x69, 0x66, 0x12, |
| 0x15, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, |
| 0x03, 0x52, 0x03, 0x75, 0x72, 0x69, 0x22, 0x9f, 0x02, 0x0a, 0x15, 0x51, 0x75, 0x6f, 0x74, 0x65, |
| 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, |
| 0x12, 0x37, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, |
| 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x1d, 0x0a, 0x1b, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x65, 0x73, 0x73, |
| 0x61, 0x67, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x49, 0x0a, 0x10, 0x6c, 0x61, 0x73, |
| 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, |
| 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, |
| 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, |
| 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, |
| 0x54, 0x69, 0x6d, 0x65, 0x3a, 0x81, 0x01, 0xea, 0x41, 0x7e, 0x0a, 0x29, 0x63, 0x68, 0x61, 0x74, |
| 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, |
| 0x51, 0x75, 0x6f, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, |
| 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x51, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x73, |
| 0x70, 0x61, 0x63, 0x65, 0x7d, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2f, 0x7b, |
| 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x7d, 0x2f, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x64, 0x4d, |
| 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x7b, |
| 0x71, 0x75, 0x6f, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x6d, |
| 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x7d, 0x22, 0x82, 0x01, 0x0a, 0x06, 0x54, 0x68, 0x72, |
| 0x65, 0x61, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, |
| 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x74, 0x68, 0x72, 0x65, 0x61, |
| 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, |
| 0x52, 0x09, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x4b, 0x65, 0x79, 0x3a, 0x40, 0xea, 0x41, 0x3d, |
| 0x0a, 0x1a, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, |
| 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x12, 0x1f, 0x73, 0x70, |
| 0x61, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x7d, 0x2f, 0x74, 0x68, 0x72, |
| 0x65, 0x61, 0x64, 0x73, 0x2f, 0x7b, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x7d, 0x22, 0x97, 0x05, |
| 0x0a, 0x0e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, |
| 0x12, 0x44, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, |
| 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, |
| 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, |
| 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x04, |
| 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, |
| 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x04, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x46, 0x0a, |
| 0x0d, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, |
| 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x68, |
| 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x41, 0x63, 0x74, 0x69, |
| 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x04, 0x52, 0x0c, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x41, |
| 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x58, 0x0a, 0x0e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, |
| 0x5f, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, |
| 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, |
| 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x55, 0x70, |
| 0x64, 0x61, 0x74, 0x65, 0x64, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x04, |
| 0x52, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x1a, |
| 0x59, 0x0a, 0x0e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, |
| 0x73, 0x12, 0x47, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, |
| 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x63, |
| 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, |
| 0x49, 0x6e, 0x70, 0x75, 0x74, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, |
| 0x74, 0x65, 0x6d, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x1a, 0x8c, 0x01, 0x0a, 0x0d, 0x55, |
| 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x12, 0x51, 0x0a, 0x0b, |
| 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, |
| 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, |
| 0x76, 0x31, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, |
| 0x65, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x73, |
| 0x48, 0x00, 0x52, 0x0b, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, |
| 0x16, 0x0a, 0x06, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, |
| 0x06, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x42, 0x10, 0x0a, 0x0e, 0x75, 0x70, 0x64, 0x61, 0x74, |
| 0x65, 0x64, 0x5f, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x22, 0x9b, 0x01, 0x0a, 0x0c, 0x52, 0x65, |
| 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x59, |
| 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, |
| 0x12, 0x0f, 0x0a, 0x0b, 0x4e, 0x45, 0x57, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x10, |
| 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x4d, 0x45, 0x53, 0x53, |
| 0x41, 0x47, 0x45, 0x10, 0x02, 0x12, 0x1d, 0x0a, 0x19, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, |
| 0x55, 0x53, 0x45, 0x52, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x43, 0x41, 0x52, |
| 0x44, 0x53, 0x10, 0x06, 0x12, 0x12, 0x0a, 0x0e, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, |
| 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x49, 0x41, 0x4c, |
| 0x4f, 0x47, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x57, |
| 0x49, 0x44, 0x47, 0x45, 0x54, 0x10, 0x07, 0x22, 0x5f, 0x0a, 0x0f, 0x41, 0x63, 0x63, 0x65, 0x73, |
| 0x73, 0x6f, 0x72, 0x79, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x12, 0x42, 0x0a, 0x0b, 0x62, 0x75, |
| 0x74, 0x74, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, |
| 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x63, 0x61, |
| 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, |
| 0x48, 0x00, 0x52, 0x0a, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x08, |
| 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x4c, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4d, |
| 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, |
| 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xe0, 0x41, 0x02, |
| 0xfa, 0x41, 0x1d, 0x0a, 0x1b, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, |
| 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, |
| 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x65, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, |
| 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, |
| 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xe0, 0x41, |
| 0x02, 0xfa, 0x41, 0x1d, 0x0a, 0x1b, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, |
| 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, |
| 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, |
| 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x22, 0xb5, 0x01, |
| 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, |
| 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, |
| 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, |
| 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, |
| 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3b, |
| 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, |
| 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, |
| 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, |
| 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x28, 0x0a, 0x0d, 0x61, |
| 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, |
| 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x69, |
| 0x73, 0x73, 0x69, 0x6e, 0x67, 0x22, 0xea, 0x03, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, |
| 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, |
| 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, |
| 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1d, 0x12, 0x1b, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x65, 0x73, 0x73, |
| 0x61, 0x67, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x07, 0x6d, |
| 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, |
| 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, |
| 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, |
| 0x61, 0x67, 0x65, 0x12, 0x24, 0x0a, 0x0a, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6b, 0x65, |
| 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x05, 0xe0, 0x41, 0x01, 0x18, 0x01, 0x52, 0x09, |
| 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x4b, 0x65, 0x79, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, |
| 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, |
| 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x6e, 0x0a, |
| 0x14, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x5f, 0x6f, |
| 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x67, 0x6f, |
| 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, |
| 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, |
| 0x74, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x4f, 0x70, |
| 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x12, 0x6d, 0x65, 0x73, 0x73, 0x61, |
| 0x67, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, |
| 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, |
| 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, |
| 0x64, 0x22, 0x7f, 0x0a, 0x12, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6c, |
| 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x20, 0x4d, 0x45, 0x53, 0x53, 0x41, |
| 0x47, 0x45, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x59, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, |
| 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x28, 0x0a, |
| 0x24, 0x52, 0x45, 0x50, 0x4c, 0x59, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x46, |
| 0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x4f, 0x5f, 0x4e, 0x45, 0x57, 0x5f, 0x54, |
| 0x48, 0x52, 0x45, 0x41, 0x44, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x52, 0x45, 0x50, 0x4c, 0x59, |
| 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x4f, 0x52, 0x5f, 0x46, 0x41, 0x49, 0x4c, |
| 0x10, 0x02, 0x22, 0xe4, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, |
| 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x06, 0x70, 0x61, |
| 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xe0, 0x41, 0x02, 0xfa, |
| 0x41, 0x1d, 0x12, 0x1b, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, |
| 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, |
| 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, |
| 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, |
| 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, |
| 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, |
| 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, |
| 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x6f, |
| 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, |
| 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x64, |
| 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, 0x68, |
| 0x6f, 0x77, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x22, 0x73, 0x0a, 0x14, 0x4c, 0x69, 0x73, |
| 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, |
| 0x65, 0x12, 0x33, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, |
| 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x68, 0x61, |
| 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x08, 0x6d, 0x65, |
| 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, |
| 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, |
| 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x97, |
| 0x01, 0x0a, 0x0c, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, |
| 0x35, 0x0a, 0x06, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, |
| 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, |
| 0x2e, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x04, 0x48, 0x00, 0x52, 0x06, |
| 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x12, 0x46, 0x0a, 0x0d, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, |
| 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, |
| 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, |
| 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x04, |
| 0x52, 0x0c, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x08, |
| 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3c, 0x0a, 0x06, 0x44, 0x69, 0x61, 0x6c, |
| 0x6f, 0x67, 0x12, 0x32, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, |
| 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x63, |
| 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x04, |
| 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0x54, 0x0a, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x57, 0x69, |
| 0x74, 0x68, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, |
| 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x2d, 0x0a, |
| 0x04, 0x63, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, |
| 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, |
| 0x31, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x52, 0x04, 0x63, 0x61, 0x72, 0x64, 0x42, 0x97, 0x01, 0x0a, |
| 0x12, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x68, 0x61, 0x74, |
| 0x2e, 0x76, 0x31, 0x42, 0x0c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x74, |
| 0x6f, 0x50, 0x01, 0x5a, 0x2c, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, |
| 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x61, 0x70, |
| 0x69, 0x76, 0x31, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x70, 0x62, 0x3b, 0x63, 0x68, 0x61, 0x74, 0x70, |
| 0x62, 0xaa, 0x02, 0x13, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x41, 0x70, 0x70, 0x73, 0x2e, |
| 0x43, 0x68, 0x61, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x13, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, |
| 0x5c, 0x41, 0x70, 0x70, 0x73, 0x5c, 0x43, 0x68, 0x61, 0x74, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x16, |
| 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x41, 0x70, 0x70, 0x73, 0x3a, 0x3a, 0x43, 0x68, |
| 0x61, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, |
| } |
| |
| var ( |
| file_google_chat_v1_message_proto_rawDescOnce sync.Once |
| file_google_chat_v1_message_proto_rawDescData = file_google_chat_v1_message_proto_rawDesc |
| ) |
| |
| func file_google_chat_v1_message_proto_rawDescGZIP() []byte { |
| file_google_chat_v1_message_proto_rawDescOnce.Do(func() { |
| file_google_chat_v1_message_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_chat_v1_message_proto_rawDescData) |
| }) |
| return file_google_chat_v1_message_proto_rawDescData |
| } |
| |
| var file_google_chat_v1_message_proto_enumTypes = make([]protoimpl.EnumInfo, 2) |
| var file_google_chat_v1_message_proto_msgTypes = make([]protoimpl.MessageInfo, 17) |
| var file_google_chat_v1_message_proto_goTypes = []interface{}{ |
| (ActionResponse_ResponseType)(0), // 0: google.chat.v1.ActionResponse.ResponseType |
| (CreateMessageRequest_MessageReplyOption)(0), // 1: google.chat.v1.CreateMessageRequest.MessageReplyOption |
| (*Message)(nil), // 2: google.chat.v1.Message |
| (*AttachedGif)(nil), // 3: google.chat.v1.AttachedGif |
| (*QuotedMessageMetadata)(nil), // 4: google.chat.v1.QuotedMessageMetadata |
| (*Thread)(nil), // 5: google.chat.v1.Thread |
| (*ActionResponse)(nil), // 6: google.chat.v1.ActionResponse |
| (*AccessoryWidget)(nil), // 7: google.chat.v1.AccessoryWidget |
| (*GetMessageRequest)(nil), // 8: google.chat.v1.GetMessageRequest |
| (*DeleteMessageRequest)(nil), // 9: google.chat.v1.DeleteMessageRequest |
| (*UpdateMessageRequest)(nil), // 10: google.chat.v1.UpdateMessageRequest |
| (*CreateMessageRequest)(nil), // 11: google.chat.v1.CreateMessageRequest |
| (*ListMessagesRequest)(nil), // 12: google.chat.v1.ListMessagesRequest |
| (*ListMessagesResponse)(nil), // 13: google.chat.v1.ListMessagesResponse |
| (*DialogAction)(nil), // 14: google.chat.v1.DialogAction |
| (*Dialog)(nil), // 15: google.chat.v1.Dialog |
| (*CardWithId)(nil), // 16: google.chat.v1.CardWithId |
| (*ActionResponse_SelectionItems)(nil), // 17: google.chat.v1.ActionResponse.SelectionItems |
| (*ActionResponse_UpdatedWidget)(nil), // 18: google.chat.v1.ActionResponse.UpdatedWidget |
| (*User)(nil), // 19: google.chat.v1.User |
| (*timestamppb.Timestamp)(nil), // 20: google.protobuf.Timestamp |
| (*ContextualAddOnMarkup_Card)(nil), // 21: google.chat.v1.ContextualAddOnMarkup.Card |
| (*Annotation)(nil), // 22: google.chat.v1.Annotation |
| (*Space)(nil), // 23: google.chat.v1.Space |
| (*SlashCommand)(nil), // 24: google.chat.v1.SlashCommand |
| (*Attachment)(nil), // 25: google.chat.v1.Attachment |
| (*MatchedUrl)(nil), // 26: google.chat.v1.MatchedUrl |
| (*EmojiReactionSummary)(nil), // 27: google.chat.v1.EmojiReactionSummary |
| (*DeletionMetadata)(nil), // 28: google.chat.v1.DeletionMetadata |
| (*v1.ButtonList)(nil), // 29: google.apps.card.v1.ButtonList |
| (*fieldmaskpb.FieldMask)(nil), // 30: google.protobuf.FieldMask |
| (*ActionStatus)(nil), // 31: google.chat.v1.ActionStatus |
| (*v1.Card)(nil), // 32: google.apps.card.v1.Card |
| (*v1.SelectionInput_SelectionItem)(nil), // 33: google.apps.card.v1.SelectionInput.SelectionItem |
| } |
| var file_google_chat_v1_message_proto_depIdxs = []int32{ |
| 19, // 0: google.chat.v1.Message.sender:type_name -> google.chat.v1.User |
| 20, // 1: google.chat.v1.Message.create_time:type_name -> google.protobuf.Timestamp |
| 20, // 2: google.chat.v1.Message.last_update_time:type_name -> google.protobuf.Timestamp |
| 20, // 3: google.chat.v1.Message.delete_time:type_name -> google.protobuf.Timestamp |
| 21, // 4: google.chat.v1.Message.cards:type_name -> google.chat.v1.ContextualAddOnMarkup.Card |
| 16, // 5: google.chat.v1.Message.cards_v2:type_name -> google.chat.v1.CardWithId |
| 22, // 6: google.chat.v1.Message.annotations:type_name -> google.chat.v1.Annotation |
| 5, // 7: google.chat.v1.Message.thread:type_name -> google.chat.v1.Thread |
| 23, // 8: google.chat.v1.Message.space:type_name -> google.chat.v1.Space |
| 6, // 9: google.chat.v1.Message.action_response:type_name -> google.chat.v1.ActionResponse |
| 24, // 10: google.chat.v1.Message.slash_command:type_name -> google.chat.v1.SlashCommand |
| 25, // 11: google.chat.v1.Message.attachment:type_name -> google.chat.v1.Attachment |
| 26, // 12: google.chat.v1.Message.matched_url:type_name -> google.chat.v1.MatchedUrl |
| 27, // 13: google.chat.v1.Message.emoji_reaction_summaries:type_name -> google.chat.v1.EmojiReactionSummary |
| 19, // 14: google.chat.v1.Message.private_message_viewer:type_name -> google.chat.v1.User |
| 28, // 15: google.chat.v1.Message.deletion_metadata:type_name -> google.chat.v1.DeletionMetadata |
| 4, // 16: google.chat.v1.Message.quoted_message_metadata:type_name -> google.chat.v1.QuotedMessageMetadata |
| 3, // 17: google.chat.v1.Message.attached_gifs:type_name -> google.chat.v1.AttachedGif |
| 7, // 18: google.chat.v1.Message.accessory_widgets:type_name -> google.chat.v1.AccessoryWidget |
| 20, // 19: google.chat.v1.QuotedMessageMetadata.last_update_time:type_name -> google.protobuf.Timestamp |
| 0, // 20: google.chat.v1.ActionResponse.type:type_name -> google.chat.v1.ActionResponse.ResponseType |
| 14, // 21: google.chat.v1.ActionResponse.dialog_action:type_name -> google.chat.v1.DialogAction |
| 18, // 22: google.chat.v1.ActionResponse.updated_widget:type_name -> google.chat.v1.ActionResponse.UpdatedWidget |
| 29, // 23: google.chat.v1.AccessoryWidget.button_list:type_name -> google.apps.card.v1.ButtonList |
| 2, // 24: google.chat.v1.UpdateMessageRequest.message:type_name -> google.chat.v1.Message |
| 30, // 25: google.chat.v1.UpdateMessageRequest.update_mask:type_name -> google.protobuf.FieldMask |
| 2, // 26: google.chat.v1.CreateMessageRequest.message:type_name -> google.chat.v1.Message |
| 1, // 27: google.chat.v1.CreateMessageRequest.message_reply_option:type_name -> google.chat.v1.CreateMessageRequest.MessageReplyOption |
| 2, // 28: google.chat.v1.ListMessagesResponse.messages:type_name -> google.chat.v1.Message |
| 15, // 29: google.chat.v1.DialogAction.dialog:type_name -> google.chat.v1.Dialog |
| 31, // 30: google.chat.v1.DialogAction.action_status:type_name -> google.chat.v1.ActionStatus |
| 32, // 31: google.chat.v1.Dialog.body:type_name -> google.apps.card.v1.Card |
| 32, // 32: google.chat.v1.CardWithId.card:type_name -> google.apps.card.v1.Card |
| 33, // 33: google.chat.v1.ActionResponse.SelectionItems.items:type_name -> google.apps.card.v1.SelectionInput.SelectionItem |
| 17, // 34: google.chat.v1.ActionResponse.UpdatedWidget.suggestions:type_name -> google.chat.v1.ActionResponse.SelectionItems |
| 35, // [35:35] is the sub-list for method output_type |
| 35, // [35:35] is the sub-list for method input_type |
| 35, // [35:35] is the sub-list for extension type_name |
| 35, // [35:35] is the sub-list for extension extendee |
| 0, // [0:35] is the sub-list for field type_name |
| } |
| |
| func init() { file_google_chat_v1_message_proto_init() } |
| func file_google_chat_v1_message_proto_init() { |
| if File_google_chat_v1_message_proto != nil { |
| return |
| } |
| file_google_chat_v1_action_status_proto_init() |
| file_google_chat_v1_annotation_proto_init() |
| file_google_chat_v1_attachment_proto_init() |
| file_google_chat_v1_contextual_addon_proto_init() |
| file_google_chat_v1_deletion_metadata_proto_init() |
| file_google_chat_v1_matched_url_proto_init() |
| file_google_chat_v1_reaction_proto_init() |
| file_google_chat_v1_slash_command_proto_init() |
| file_google_chat_v1_space_proto_init() |
| file_google_chat_v1_user_proto_init() |
| if !protoimpl.UnsafeEnabled { |
| file_google_chat_v1_message_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*Message); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_chat_v1_message_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*AttachedGif); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_chat_v1_message_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*QuotedMessageMetadata); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_chat_v1_message_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*Thread); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_chat_v1_message_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ActionResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_chat_v1_message_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*AccessoryWidget); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_chat_v1_message_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*GetMessageRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_chat_v1_message_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*DeleteMessageRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_chat_v1_message_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*UpdateMessageRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_chat_v1_message_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*CreateMessageRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_chat_v1_message_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ListMessagesRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_chat_v1_message_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ListMessagesResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_chat_v1_message_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*DialogAction); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_chat_v1_message_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*Dialog); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_chat_v1_message_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*CardWithId); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_chat_v1_message_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ActionResponse_SelectionItems); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_chat_v1_message_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ActionResponse_UpdatedWidget); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| } |
| file_google_chat_v1_message_proto_msgTypes[5].OneofWrappers = []interface{}{ |
| (*AccessoryWidget_ButtonList)(nil), |
| } |
| file_google_chat_v1_message_proto_msgTypes[12].OneofWrappers = []interface{}{ |
| (*DialogAction_Dialog)(nil), |
| } |
| file_google_chat_v1_message_proto_msgTypes[16].OneofWrappers = []interface{}{ |
| (*ActionResponse_UpdatedWidget_Suggestions)(nil), |
| } |
| type x struct{} |
| out := protoimpl.TypeBuilder{ |
| File: protoimpl.DescBuilder{ |
| GoPackagePath: reflect.TypeOf(x{}).PkgPath(), |
| RawDescriptor: file_google_chat_v1_message_proto_rawDesc, |
| NumEnums: 2, |
| NumMessages: 17, |
| NumExtensions: 0, |
| NumServices: 0, |
| }, |
| GoTypes: file_google_chat_v1_message_proto_goTypes, |
| DependencyIndexes: file_google_chat_v1_message_proto_depIdxs, |
| EnumInfos: file_google_chat_v1_message_proto_enumTypes, |
| MessageInfos: file_google_chat_v1_message_proto_msgTypes, |
| }.Build() |
| File_google_chat_v1_message_proto = out.File |
| file_google_chat_v1_message_proto_rawDesc = nil |
| file_google_chat_v1_message_proto_goTypes = nil |
| file_google_chat_v1_message_proto_depIdxs = nil |
| } |