xref: /aosp_15_r20/external/googleapis/google/chat/v1/space.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
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