1*d5c09012SAndroid Build Coastguard Worker// Copyright 2023 Google LLC 2*d5c09012SAndroid Build Coastguard Worker// 3*d5c09012SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 4*d5c09012SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 5*d5c09012SAndroid Build Coastguard Worker// You may obtain a copy of the License at 6*d5c09012SAndroid Build Coastguard Worker// 7*d5c09012SAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 8*d5c09012SAndroid Build Coastguard Worker// 9*d5c09012SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 10*d5c09012SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 11*d5c09012SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*d5c09012SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 13*d5c09012SAndroid Build Coastguard Worker// limitations under the License. 14*d5c09012SAndroid Build Coastguard Worker 15*d5c09012SAndroid Build Coastguard Workersyntax = "proto3"; 16*d5c09012SAndroid Build Coastguard Worker 17*d5c09012SAndroid Build Coastguard Workerpackage google.chat.v1; 18*d5c09012SAndroid Build Coastguard Worker 19*d5c09012SAndroid Build Coastguard Workerimport "google/api/field_behavior.proto"; 20*d5c09012SAndroid Build Coastguard Workerimport "google/api/resource.proto"; 21*d5c09012SAndroid Build Coastguard Workerimport "google/chat/v1/history_state.proto"; 22*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/field_mask.proto"; 23*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto"; 24*d5c09012SAndroid Build Coastguard Worker 25*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Apps.Chat.V1"; 26*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/chat/apiv1/chatpb;chatpb"; 27*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true; 28*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "SpaceProto"; 29*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.chat.v1"; 30*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Apps\\Chat\\V1"; 31*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Apps::Chat::V1"; 32*d5c09012SAndroid Build Coastguard Worker 33*d5c09012SAndroid Build Coastguard Worker// A space in Google Chat. Spaces are conversations between two or more users 34*d5c09012SAndroid Build Coastguard Worker// or 1:1 messages between a user and a Chat app. 35*d5c09012SAndroid Build Coastguard Workermessage Space { 36*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 37*d5c09012SAndroid Build Coastguard Worker type: "chat.googleapis.com/Space" 38*d5c09012SAndroid Build Coastguard Worker pattern: "spaces/{space}" 39*d5c09012SAndroid Build Coastguard Worker }; 40*d5c09012SAndroid Build Coastguard Worker 41*d5c09012SAndroid Build Coastguard Worker // Deprecated: Use `SpaceType` instead. 42*d5c09012SAndroid Build Coastguard Worker enum Type { 43*d5c09012SAndroid Build Coastguard Worker // Reserved. 44*d5c09012SAndroid Build Coastguard Worker TYPE_UNSPECIFIED = 0; 45*d5c09012SAndroid Build Coastguard Worker 46*d5c09012SAndroid Build Coastguard Worker // Conversations between two or more humans. 47*d5c09012SAndroid Build Coastguard Worker ROOM = 1; 48*d5c09012SAndroid Build Coastguard Worker 49*d5c09012SAndroid Build Coastguard Worker // 1:1 Direct Message between a human and a Chat app, where all messages are 50*d5c09012SAndroid Build Coastguard Worker // flat. Note that this doesn't include direct messages between two humans. 51*d5c09012SAndroid Build Coastguard Worker DM = 2; 52*d5c09012SAndroid Build Coastguard Worker } 53*d5c09012SAndroid Build Coastguard Worker 54*d5c09012SAndroid Build Coastguard Worker // The type of space. Required when creating or updating a space. Output only 55*d5c09012SAndroid Build Coastguard Worker // for other usage. 56*d5c09012SAndroid Build Coastguard Worker enum SpaceType { 57*d5c09012SAndroid Build Coastguard Worker // Reserved. 58*d5c09012SAndroid Build Coastguard Worker SPACE_TYPE_UNSPECIFIED = 0; 59*d5c09012SAndroid Build Coastguard Worker 60*d5c09012SAndroid Build Coastguard Worker // A place where people send messages, share files, and collaborate. 61*d5c09012SAndroid Build Coastguard Worker // A `SPACE` can include Chat apps. 62*d5c09012SAndroid Build Coastguard Worker SPACE = 1; 63*d5c09012SAndroid Build Coastguard Worker 64*d5c09012SAndroid Build Coastguard Worker // Group conversations between 3 or more people. 65*d5c09012SAndroid Build Coastguard Worker // A `GROUP_CHAT` can include Chat apps. 66*d5c09012SAndroid Build Coastguard Worker GROUP_CHAT = 2; 67*d5c09012SAndroid Build Coastguard Worker 68*d5c09012SAndroid Build Coastguard Worker // 1:1 messages between two humans or a human and a Chat app. 69*d5c09012SAndroid Build Coastguard Worker DIRECT_MESSAGE = 3; 70*d5c09012SAndroid Build Coastguard Worker } 71*d5c09012SAndroid Build Coastguard Worker 72*d5c09012SAndroid Build Coastguard Worker // Specifies the type of threading state in the Chat space. 73*d5c09012SAndroid Build Coastguard Worker enum SpaceThreadingState { 74*d5c09012SAndroid Build Coastguard Worker // Reserved. 75*d5c09012SAndroid Build Coastguard Worker SPACE_THREADING_STATE_UNSPECIFIED = 0; 76*d5c09012SAndroid Build Coastguard Worker 77*d5c09012SAndroid Build Coastguard Worker // Named spaces that support message threads. When users respond to a 78*d5c09012SAndroid Build Coastguard Worker // message, they can reply in-thread, which keeps their response in the 79*d5c09012SAndroid Build Coastguard Worker // context of the original message. 80*d5c09012SAndroid Build Coastguard Worker THREADED_MESSAGES = 2; 81*d5c09012SAndroid Build Coastguard Worker 82*d5c09012SAndroid Build Coastguard Worker // Named spaces where the conversation is organized by topic. Topics and 83*d5c09012SAndroid Build Coastguard Worker // their replies are grouped together. 84*d5c09012SAndroid Build Coastguard Worker GROUPED_MESSAGES = 3; 85*d5c09012SAndroid Build Coastguard Worker 86*d5c09012SAndroid Build Coastguard Worker // Direct messages (DMs) between two people and group conversations between 87*d5c09012SAndroid Build Coastguard Worker // 3 or more people. 88*d5c09012SAndroid Build Coastguard Worker UNTHREADED_MESSAGES = 4; 89*d5c09012SAndroid Build Coastguard Worker } 90*d5c09012SAndroid Build Coastguard Worker 91*d5c09012SAndroid Build Coastguard Worker // Details about the space including description and rules. 92*d5c09012SAndroid Build Coastguard Worker message SpaceDetails { 93*d5c09012SAndroid Build Coastguard Worker // Optional. A description of the space. For example, describe the space's 94*d5c09012SAndroid Build Coastguard Worker // discussion topic, functional purpose, or participants. 95*d5c09012SAndroid Build Coastguard Worker // 96*d5c09012SAndroid Build Coastguard Worker // Supports up to 150 characters. 97*d5c09012SAndroid Build Coastguard Worker string description = 1; 98*d5c09012SAndroid Build Coastguard Worker 99*d5c09012SAndroid Build Coastguard Worker // Optional. The space's rules, expectations, and etiquette. 100*d5c09012SAndroid Build Coastguard Worker // 101*d5c09012SAndroid Build Coastguard Worker // Supports up to 5,000 characters. 102*d5c09012SAndroid Build Coastguard Worker string guidelines = 2; 103*d5c09012SAndroid Build Coastguard Worker } 104*d5c09012SAndroid Build Coastguard Worker 105*d5c09012SAndroid Build Coastguard Worker // Resource name of the space. 106*d5c09012SAndroid Build Coastguard Worker // 107*d5c09012SAndroid Build Coastguard Worker // Format: `spaces/{space}` 108*d5c09012SAndroid Build Coastguard Worker string name = 1; 109*d5c09012SAndroid Build Coastguard Worker 110*d5c09012SAndroid Build Coastguard Worker // Output only. Deprecated: Use `space_type` instead. 111*d5c09012SAndroid Build Coastguard Worker // The type of a space. 112*d5c09012SAndroid Build Coastguard Worker Type type = 2 [deprecated = true, (google.api.field_behavior) = OUTPUT_ONLY]; 113*d5c09012SAndroid Build Coastguard Worker 114*d5c09012SAndroid Build Coastguard Worker // The type of space. Required when creating a space or updating the space 115*d5c09012SAndroid Build Coastguard Worker // type of a space. Output only for other usage. 116*d5c09012SAndroid Build Coastguard Worker SpaceType space_type = 10; 117*d5c09012SAndroid Build Coastguard Worker 118*d5c09012SAndroid Build Coastguard Worker // Optional. Whether the space is a DM between a Chat app and a single 119*d5c09012SAndroid Build Coastguard Worker // human. 120*d5c09012SAndroid Build Coastguard Worker bool single_user_bot_dm = 4 [(google.api.field_behavior) = OPTIONAL]; 121*d5c09012SAndroid Build Coastguard Worker 122*d5c09012SAndroid Build Coastguard Worker // Output only. Deprecated: Use `spaceThreadingState` instead. 123*d5c09012SAndroid Build Coastguard Worker // Whether messages are threaded in this space. 124*d5c09012SAndroid Build Coastguard Worker bool threaded = 5 125*d5c09012SAndroid Build Coastguard Worker [deprecated = true, (google.api.field_behavior) = OUTPUT_ONLY]; 126*d5c09012SAndroid Build Coastguard Worker 127*d5c09012SAndroid Build Coastguard Worker // The space's display name. Required when [creating a 128*d5c09012SAndroid Build Coastguard Worker // space](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces/create). 129*d5c09012SAndroid Build Coastguard Worker // If you receive the error message `ALREADY_EXISTS` when creating a space or 130*d5c09012SAndroid Build Coastguard Worker // updating the `displayName`, try a different `displayName`. An 131*d5c09012SAndroid Build Coastguard Worker // existing space within the Google Workspace organization might already use 132*d5c09012SAndroid Build Coastguard Worker // this display name. 133*d5c09012SAndroid Build Coastguard Worker // 134*d5c09012SAndroid Build Coastguard Worker // For direct messages, this field might be empty. 135*d5c09012SAndroid Build Coastguard Worker // 136*d5c09012SAndroid Build Coastguard Worker // Supports up to 128 characters. 137*d5c09012SAndroid Build Coastguard Worker string display_name = 3; 138*d5c09012SAndroid Build Coastguard Worker 139*d5c09012SAndroid Build Coastguard Worker // Immutable. Whether this space permits any Google Chat user as a member. 140*d5c09012SAndroid Build Coastguard Worker // Input when creating a space in a Google Workspace organization. Omit this 141*d5c09012SAndroid Build Coastguard Worker // field when creating spaces in the following conditions: 142*d5c09012SAndroid Build Coastguard Worker // 143*d5c09012SAndroid Build Coastguard Worker // * The authenticated user uses a consumer account (unmanaged user 144*d5c09012SAndroid Build Coastguard Worker // account). By default, a space created by a consumer account permits any 145*d5c09012SAndroid Build Coastguard Worker // Google Chat user. 146*d5c09012SAndroid Build Coastguard Worker // 147*d5c09012SAndroid Build Coastguard Worker // * The space is used to [import data to Google Chat] 148*d5c09012SAndroid Build Coastguard Worker // (https://developers.google.com/chat/api/guides/import-data-overview) 149*d5c09012SAndroid Build Coastguard Worker // because import mode spaces must only permit members from the same 150*d5c09012SAndroid Build Coastguard Worker // Google Workspace organization. However, as part of the [Google 151*d5c09012SAndroid Build Coastguard Worker // Workspace Developer Preview 152*d5c09012SAndroid Build Coastguard Worker // Program](https://developers.google.com/workspace/preview), import mode 153*d5c09012SAndroid Build Coastguard Worker // spaces can permit any Google Chat user so this field can then be set 154*d5c09012SAndroid Build Coastguard Worker // for import mode spaces. 155*d5c09012SAndroid Build Coastguard Worker // 156*d5c09012SAndroid Build Coastguard Worker // For existing spaces, this field is output only. 157*d5c09012SAndroid Build Coastguard Worker bool external_user_allowed = 8 [(google.api.field_behavior) = IMMUTABLE]; 158*d5c09012SAndroid Build Coastguard Worker 159*d5c09012SAndroid Build Coastguard Worker // Output only. The threading state in the Chat space. 160*d5c09012SAndroid Build Coastguard Worker SpaceThreadingState space_threading_state = 9 161*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 162*d5c09012SAndroid Build Coastguard Worker 163*d5c09012SAndroid Build Coastguard Worker // Details about the space including description and rules. 164*d5c09012SAndroid Build Coastguard Worker SpaceDetails space_details = 11; 165*d5c09012SAndroid Build Coastguard Worker 166*d5c09012SAndroid Build Coastguard Worker // The message history state for messages and threads in this space. 167*d5c09012SAndroid Build Coastguard Worker HistoryState space_history_state = 13; 168*d5c09012SAndroid Build Coastguard Worker 169*d5c09012SAndroid Build Coastguard Worker // Optional. Whether this space is created in `Import Mode` as part of a data 170*d5c09012SAndroid Build Coastguard Worker // migration into Google Workspace. While spaces are being imported, they 171*d5c09012SAndroid Build Coastguard Worker // aren't visible to users until the import is complete. 172*d5c09012SAndroid Build Coastguard Worker bool import_mode = 16 [(google.api.field_behavior) = OPTIONAL]; 173*d5c09012SAndroid Build Coastguard Worker 174*d5c09012SAndroid Build Coastguard Worker // Optional. Immutable. For spaces created in Chat, the time the space was 175*d5c09012SAndroid Build Coastguard Worker // created. This field is output only, except when used in import mode spaces. 176*d5c09012SAndroid Build Coastguard Worker // 177*d5c09012SAndroid Build Coastguard Worker // For import mode spaces, set this field to the historical timestamp at which 178*d5c09012SAndroid Build Coastguard Worker // the space was created in the source in order to preserve the original 179*d5c09012SAndroid Build Coastguard Worker // creation time. 180*d5c09012SAndroid Build Coastguard Worker // 181*d5c09012SAndroid Build Coastguard Worker // Only populated in the output when `spaceType` is `GROUP_CHAT` or `SPACE`. 182*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp create_time = 17 [ 183*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = IMMUTABLE, 184*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = OPTIONAL 185*d5c09012SAndroid Build Coastguard Worker ]; 186*d5c09012SAndroid Build Coastguard Worker 187*d5c09012SAndroid Build Coastguard Worker // Output only. Whether the Chat app was installed by a Google Workspace 188*d5c09012SAndroid Build Coastguard Worker // administrator. Administrators can install a Chat app for their domain, 189*d5c09012SAndroid Build Coastguard Worker // organizational unit, or a group of users. 190*d5c09012SAndroid Build Coastguard Worker // 191*d5c09012SAndroid Build Coastguard Worker // Administrators can only install Chat apps for direct messaging between 192*d5c09012SAndroid Build Coastguard Worker // users and the app. To support admin install, your app must feature direct 193*d5c09012SAndroid Build Coastguard Worker // messaging. 194*d5c09012SAndroid Build Coastguard Worker bool admin_installed = 19 [(google.api.field_behavior) = OUTPUT_ONLY]; 195*d5c09012SAndroid Build Coastguard Worker} 196*d5c09012SAndroid Build Coastguard Worker 197*d5c09012SAndroid Build Coastguard Worker// A request to create a named space. 198*d5c09012SAndroid Build Coastguard Workermessage CreateSpaceRequest { 199*d5c09012SAndroid Build Coastguard Worker // Required. The `displayName` and `spaceType` fields must be populated. Only 200*d5c09012SAndroid Build Coastguard Worker // `SpaceType.SPACE` is supported. 201*d5c09012SAndroid Build Coastguard Worker // 202*d5c09012SAndroid Build Coastguard Worker // If you receive the error message `ALREADY_EXISTS` when creating a space, 203*d5c09012SAndroid Build Coastguard Worker // try a different `displayName`. An existing space within the Google 204*d5c09012SAndroid Build Coastguard Worker // Workspace organization might already use this display name. 205*d5c09012SAndroid Build Coastguard Worker // 206*d5c09012SAndroid Build Coastguard Worker // The space `name` is assigned on the server so anything specified in this 207*d5c09012SAndroid Build Coastguard Worker // field will be ignored. 208*d5c09012SAndroid Build Coastguard Worker Space space = 1 [(google.api.field_behavior) = REQUIRED]; 209*d5c09012SAndroid Build Coastguard Worker 210*d5c09012SAndroid Build Coastguard Worker // Optional. A unique identifier for this request. 211*d5c09012SAndroid Build Coastguard Worker // A random UUID is recommended. 212*d5c09012SAndroid Build Coastguard Worker // Specifying an existing request ID returns the space created with that ID 213*d5c09012SAndroid Build Coastguard Worker // instead of creating a new space. 214*d5c09012SAndroid Build Coastguard Worker // Specifying an existing request ID from the same Chat app with a different 215*d5c09012SAndroid Build Coastguard Worker // authenticated user returns an error. 216*d5c09012SAndroid Build Coastguard Worker string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; 217*d5c09012SAndroid Build Coastguard Worker} 218*d5c09012SAndroid Build Coastguard Worker 219*d5c09012SAndroid Build Coastguard Worker// A request to list the spaces the caller is a member of. 220*d5c09012SAndroid Build Coastguard Workermessage ListSpacesRequest { 221*d5c09012SAndroid Build Coastguard Worker // Optional. The maximum number of spaces to return. The service might return 222*d5c09012SAndroid Build Coastguard Worker // fewer than this value. 223*d5c09012SAndroid Build Coastguard Worker // 224*d5c09012SAndroid Build Coastguard Worker // If unspecified, at most 100 spaces are returned. 225*d5c09012SAndroid Build Coastguard Worker // 226*d5c09012SAndroid Build Coastguard Worker // The maximum value is 1000. If you use a value more than 1000, it's 227*d5c09012SAndroid Build Coastguard Worker // automatically changed to 1000. 228*d5c09012SAndroid Build Coastguard Worker // 229*d5c09012SAndroid Build Coastguard Worker // Negative values return an `INVALID_ARGUMENT` error. 230*d5c09012SAndroid Build Coastguard Worker int32 page_size = 1 [(google.api.field_behavior) = OPTIONAL]; 231*d5c09012SAndroid Build Coastguard Worker 232*d5c09012SAndroid Build Coastguard Worker // Optional. A page token, received from a previous list spaces call. 233*d5c09012SAndroid Build Coastguard Worker // Provide this parameter to retrieve the subsequent page. 234*d5c09012SAndroid Build Coastguard Worker // 235*d5c09012SAndroid Build Coastguard Worker // When paginating, the filter value should match the call that provided the 236*d5c09012SAndroid Build Coastguard Worker // page token. Passing a different value may lead to unexpected results. 237*d5c09012SAndroid Build Coastguard Worker string page_token = 2 [(google.api.field_behavior) = OPTIONAL]; 238*d5c09012SAndroid Build Coastguard Worker 239*d5c09012SAndroid Build Coastguard Worker // Optional. A query filter. 240*d5c09012SAndroid Build Coastguard Worker // 241*d5c09012SAndroid Build Coastguard Worker // You can filter spaces by the space type 242*d5c09012SAndroid Build Coastguard Worker // ([`space_type`](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces#spacetype)). 243*d5c09012SAndroid Build Coastguard Worker // 244*d5c09012SAndroid Build Coastguard Worker // To filter by space type, you must specify valid enum value, such as 245*d5c09012SAndroid Build Coastguard Worker // `SPACE` or `GROUP_CHAT` (the `space_type` can't be 246*d5c09012SAndroid Build Coastguard Worker // `SPACE_TYPE_UNSPECIFIED`). To query for multiple space types, use the `OR` 247*d5c09012SAndroid Build Coastguard Worker // operator. 248*d5c09012SAndroid Build Coastguard Worker // 249*d5c09012SAndroid Build Coastguard Worker // For example, the following queries are valid: 250*d5c09012SAndroid Build Coastguard Worker // 251*d5c09012SAndroid Build Coastguard Worker // ``` 252*d5c09012SAndroid Build Coastguard Worker // space_type = "SPACE" 253*d5c09012SAndroid Build Coastguard Worker // spaceType = "GROUP_CHAT" OR spaceType = "DIRECT_MESSAGE" 254*d5c09012SAndroid Build Coastguard Worker // ``` 255*d5c09012SAndroid Build Coastguard Worker // 256*d5c09012SAndroid Build Coastguard Worker // Invalid queries are rejected by the server with an `INVALID_ARGUMENT` 257*d5c09012SAndroid Build Coastguard Worker // error. 258*d5c09012SAndroid Build Coastguard Worker string filter = 3 [(google.api.field_behavior) = OPTIONAL]; 259*d5c09012SAndroid Build Coastguard Worker} 260*d5c09012SAndroid Build Coastguard Worker 261*d5c09012SAndroid Build Coastguard Worker// The response for a list spaces request. 262*d5c09012SAndroid Build Coastguard Workermessage ListSpacesResponse { 263*d5c09012SAndroid Build Coastguard Worker // List of spaces in the requested (or first) page. 264*d5c09012SAndroid Build Coastguard Worker repeated Space spaces = 1; 265*d5c09012SAndroid Build Coastguard Worker 266*d5c09012SAndroid Build Coastguard Worker // You can send a token as `pageToken` to retrieve the next page of 267*d5c09012SAndroid Build Coastguard Worker // results. If empty, there are no subsequent pages. 268*d5c09012SAndroid Build Coastguard Worker string next_page_token = 2; 269*d5c09012SAndroid Build Coastguard Worker} 270*d5c09012SAndroid Build Coastguard Worker 271*d5c09012SAndroid Build Coastguard Worker// A request to return a single space. 272*d5c09012SAndroid Build Coastguard Workermessage GetSpaceRequest { 273*d5c09012SAndroid Build Coastguard Worker // Required. Resource name of the space, in the form "spaces/*". 274*d5c09012SAndroid Build Coastguard Worker // 275*d5c09012SAndroid Build Coastguard Worker // Format: `spaces/{space}` 276*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 277*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 278*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { type: "chat.googleapis.com/Space" } 279*d5c09012SAndroid Build Coastguard Worker ]; 280*d5c09012SAndroid Build Coastguard Worker} 281*d5c09012SAndroid Build Coastguard Worker 282*d5c09012SAndroid Build Coastguard Worker// A request to get direct message space based on the user resource. 283*d5c09012SAndroid Build Coastguard Workermessage FindDirectMessageRequest { 284*d5c09012SAndroid Build Coastguard Worker // Required. Resource name of the user to find direct message with. 285*d5c09012SAndroid Build Coastguard Worker // 286*d5c09012SAndroid Build Coastguard Worker // Format: `users/{user}`, where `{user}` is either the `id` for the 287*d5c09012SAndroid Build Coastguard Worker // [person](https://developers.google.com/people/api/rest/v1/people) from the 288*d5c09012SAndroid Build Coastguard Worker // People API, or the `id` for the 289*d5c09012SAndroid Build Coastguard Worker // [user](https://developers.google.com/admin-sdk/directory/reference/rest/v1/users) 290*d5c09012SAndroid Build Coastguard Worker // in the Directory API. For example, if the People API profile ID is 291*d5c09012SAndroid Build Coastguard Worker // `123456789`, you can find a direct message with that person by using 292*d5c09012SAndroid Build Coastguard Worker // `users/123456789` as the `name`. When [authenticated as a 293*d5c09012SAndroid Build Coastguard Worker // user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), 294*d5c09012SAndroid Build Coastguard Worker // you can use the email as an alias for `{user}`. For example, 295*d5c09012SAndroid Build Coastguard Worker // `users/example@gmail.com` where `[email protected]` is the email of the 296*d5c09012SAndroid Build Coastguard Worker // Google Chat user. 297*d5c09012SAndroid Build Coastguard Worker string name = 1 [(google.api.field_behavior) = REQUIRED]; 298*d5c09012SAndroid Build Coastguard Worker} 299*d5c09012SAndroid Build Coastguard Worker 300*d5c09012SAndroid Build Coastguard Worker// A request to update a single space. 301*d5c09012SAndroid Build Coastguard Workermessage UpdateSpaceRequest { 302*d5c09012SAndroid Build Coastguard Worker // Required. Space with fields to be updated. `Space.name` must be 303*d5c09012SAndroid Build Coastguard Worker // populated in the form of `spaces/{space}`. Only fields 304*d5c09012SAndroid Build Coastguard Worker // specified by `update_mask` are updated. 305*d5c09012SAndroid Build Coastguard Worker Space space = 1 [(google.api.field_behavior) = REQUIRED]; 306*d5c09012SAndroid Build Coastguard Worker 307*d5c09012SAndroid Build Coastguard Worker // Required. The updated field paths, comma separated if there are 308*d5c09012SAndroid Build Coastguard Worker // multiple. 309*d5c09012SAndroid Build Coastguard Worker // 310*d5c09012SAndroid Build Coastguard Worker // Currently supported field paths: 311*d5c09012SAndroid Build Coastguard Worker // 312*d5c09012SAndroid Build Coastguard Worker // - `display_name` (Only supports changing the display name of a space with 313*d5c09012SAndroid Build Coastguard Worker // the `SPACE` type, or when also including the `space_type` mask to change a 314*d5c09012SAndroid Build Coastguard Worker // `GROUP_CHAT` space type to `SPACE`. Trying to update the display name of a 315*d5c09012SAndroid Build Coastguard Worker // `GROUP_CHAT` or a `DIRECT_MESSAGE` space results in an invalid argument 316*d5c09012SAndroid Build Coastguard Worker // error. If you receive the error message `ALREADY_EXISTS` when updating the 317*d5c09012SAndroid Build Coastguard Worker // `displayName`, try a different `displayName`. An existing space within the 318*d5c09012SAndroid Build Coastguard Worker // Google Workspace organization might already use this display name.) 319*d5c09012SAndroid Build Coastguard Worker // 320*d5c09012SAndroid Build Coastguard Worker // - `space_type` (Only supports changing a `GROUP_CHAT` space type to 321*d5c09012SAndroid Build Coastguard Worker // `SPACE`. Include `display_name` together 322*d5c09012SAndroid Build Coastguard Worker // with `space_type` in the update mask and ensure that the specified space 323*d5c09012SAndroid Build Coastguard Worker // has a non-empty display name and the `SPACE` space type. Including the 324*d5c09012SAndroid Build Coastguard Worker // `space_type` mask and the `SPACE` type in the specified space when updating 325*d5c09012SAndroid Build Coastguard Worker // the display name is optional if the existing space already has the `SPACE` 326*d5c09012SAndroid Build Coastguard Worker // type. Trying to update the space type in other ways results in an invalid 327*d5c09012SAndroid Build Coastguard Worker // argument error). 328*d5c09012SAndroid Build Coastguard Worker // 329*d5c09012SAndroid Build Coastguard Worker // - `space_details` 330*d5c09012SAndroid Build Coastguard Worker // 331*d5c09012SAndroid Build Coastguard Worker // - `space_history_state` (Supports [turning history on or off for the 332*d5c09012SAndroid Build Coastguard Worker // space](https://support.google.com/chat/answer/7664687) if [the organization 333*d5c09012SAndroid Build Coastguard Worker // allows users to change their history 334*d5c09012SAndroid Build Coastguard Worker // setting](https://support.google.com/a/answer/7664184). 335*d5c09012SAndroid Build Coastguard Worker // Warning: mutually exclusive with all other field paths.) 336*d5c09012SAndroid Build Coastguard Worker // 337*d5c09012SAndroid Build Coastguard Worker // - Developer Preview: `access_settings.audience` (Supports changing the 338*d5c09012SAndroid Build Coastguard Worker // [access setting](https://support.google.com/chat/answer/11971020) of a 339*d5c09012SAndroid Build Coastguard Worker // space. If no audience is specified in the access setting, the space's 340*d5c09012SAndroid Build Coastguard Worker // access setting is updated to restricted. Warning: mutually exclusive with 341*d5c09012SAndroid Build Coastguard Worker // all other field paths.) 342*d5c09012SAndroid Build Coastguard Worker google.protobuf.FieldMask update_mask = 2; 343*d5c09012SAndroid Build Coastguard Worker} 344*d5c09012SAndroid Build Coastguard Worker 345*d5c09012SAndroid Build Coastguard Worker// Request for deleting a space. 346*d5c09012SAndroid Build Coastguard Workermessage DeleteSpaceRequest { 347*d5c09012SAndroid Build Coastguard Worker // Required. Resource name of the space to delete. 348*d5c09012SAndroid Build Coastguard Worker // 349*d5c09012SAndroid Build Coastguard Worker // Format: `spaces/{space}` 350*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 351*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 352*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { type: "chat.googleapis.com/Space" } 353*d5c09012SAndroid Build Coastguard Worker ]; 354*d5c09012SAndroid Build Coastguard Worker} 355*d5c09012SAndroid Build Coastguard Worker 356*d5c09012SAndroid Build Coastguard Worker// Request message for completing the import process for a space. 357*d5c09012SAndroid Build Coastguard Workermessage CompleteImportSpaceRequest { 358*d5c09012SAndroid Build Coastguard Worker // Required. Resource name of the import mode space. 359*d5c09012SAndroid Build Coastguard Worker // 360*d5c09012SAndroid Build Coastguard Worker // Format: `spaces/{space}` 361*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 362*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 363*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { type: "chat.googleapis.com/Space" } 364*d5c09012SAndroid Build Coastguard Worker ]; 365*d5c09012SAndroid Build Coastguard Worker} 366*d5c09012SAndroid Build Coastguard Worker 367*d5c09012SAndroid Build Coastguard Worker// Response message for completing the import process for a space. 368*d5c09012SAndroid Build Coastguard Workermessage CompleteImportSpaceResponse { 369*d5c09012SAndroid Build Coastguard Worker // The import mode space. 370*d5c09012SAndroid Build Coastguard Worker Space space = 1; 371*d5c09012SAndroid Build Coastguard Worker} 372