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/chat/v1/membership.proto"; 21*d5c09012SAndroid Build Coastguard Workerimport "google/chat/v1/space.proto"; 22*d5c09012SAndroid Build Coastguard Worker 23*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Apps.Chat.V1"; 24*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/chat/apiv1/chatpb;chatpb"; 25*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true; 26*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "SpaceSetupProto"; 27*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.chat.v1"; 28*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Apps\\Chat\\V1"; 29*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Apps::Chat::V1"; 30*d5c09012SAndroid Build Coastguard Worker 31*d5c09012SAndroid Build Coastguard Worker// Request to create a space and add specified users to it. 32*d5c09012SAndroid Build Coastguard Workermessage SetUpSpaceRequest { 33*d5c09012SAndroid Build Coastguard Worker // Required. The `Space.spaceType` field is required. 34*d5c09012SAndroid Build Coastguard Worker // 35*d5c09012SAndroid Build Coastguard Worker // To create a space, set `Space.spaceType` to `SPACE` and set 36*d5c09012SAndroid Build Coastguard Worker // `Space.displayName`. If you receive the error message `ALREADY_EXISTS` when 37*d5c09012SAndroid Build Coastguard Worker // setting up a space, try a different `displayName`. An existing space 38*d5c09012SAndroid Build Coastguard Worker // within the Google Workspace organization might already use this display 39*d5c09012SAndroid Build Coastguard Worker // name. 40*d5c09012SAndroid Build Coastguard Worker // 41*d5c09012SAndroid Build Coastguard Worker // To create a group chat, set `Space.spaceType` to 42*d5c09012SAndroid Build Coastguard Worker // `GROUP_CHAT`. Don't set `Space.displayName`. 43*d5c09012SAndroid Build Coastguard Worker // 44*d5c09012SAndroid Build Coastguard Worker // To create a 1:1 conversation between humans, 45*d5c09012SAndroid Build Coastguard Worker // set `Space.spaceType` to `DIRECT_MESSAGE` and set 46*d5c09012SAndroid Build Coastguard Worker // `Space.singleUserBotDm` to `false`. Don't set `Space.displayName` or 47*d5c09012SAndroid Build Coastguard Worker // `Space.spaceDetails`. 48*d5c09012SAndroid Build Coastguard Worker // 49*d5c09012SAndroid Build Coastguard Worker // To create an 1:1 conversation between a human and the calling Chat app, set 50*d5c09012SAndroid Build Coastguard Worker // `Space.spaceType` to `DIRECT_MESSAGE` and 51*d5c09012SAndroid Build Coastguard Worker // `Space.singleUserBotDm` to `true`. Don't set `Space.displayName` or 52*d5c09012SAndroid Build Coastguard Worker // `Space.spaceDetails`. 53*d5c09012SAndroid Build Coastguard Worker // 54*d5c09012SAndroid Build Coastguard Worker // If a `DIRECT_MESSAGE` space already exists, that space is returned instead 55*d5c09012SAndroid Build Coastguard Worker // of creating a new space. 56*d5c09012SAndroid Build Coastguard Worker Space space = 1 [(google.api.field_behavior) = REQUIRED]; 57*d5c09012SAndroid Build Coastguard Worker 58*d5c09012SAndroid Build Coastguard Worker // Optional. A unique identifier for this request. 59*d5c09012SAndroid Build Coastguard Worker // A random UUID is recommended. 60*d5c09012SAndroid Build Coastguard Worker // Specifying an existing request ID returns the space created with that ID 61*d5c09012SAndroid Build Coastguard Worker // instead of creating a new space. 62*d5c09012SAndroid Build Coastguard Worker // Specifying an existing request ID from the same Chat app with a different 63*d5c09012SAndroid Build Coastguard Worker // authenticated user returns an error. 64*d5c09012SAndroid Build Coastguard Worker string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; 65*d5c09012SAndroid Build Coastguard Worker 66*d5c09012SAndroid Build Coastguard Worker // Optional. The Google Chat users to invite to join the space. Omit the 67*d5c09012SAndroid Build Coastguard Worker // calling user, as they are added automatically. 68*d5c09012SAndroid Build Coastguard Worker // 69*d5c09012SAndroid Build Coastguard Worker // The set currently allows up to 20 memberships (in addition to the caller). 70*d5c09012SAndroid Build Coastguard Worker // 71*d5c09012SAndroid Build Coastguard Worker // The `Membership.member` field must contain a `user` with `name` populated 72*d5c09012SAndroid Build Coastguard Worker // (format: `users/{user}`) and `type` set to `User.Type.HUMAN`. You can only 73*d5c09012SAndroid Build Coastguard Worker // add human users when setting up a space (adding Chat apps is only supported 74*d5c09012SAndroid Build Coastguard Worker // for direct message setup with the calling app). You can also add members 75*d5c09012SAndroid Build Coastguard Worker // using the user's email as an alias for {user}. For example, the `user.name` 76*d5c09012SAndroid Build Coastguard Worker // can be `users/example@gmail.com`." To invite Gmail users or users from 77*d5c09012SAndroid Build Coastguard Worker // external Google Workspace domains, user's email must be used for 78*d5c09012SAndroid Build Coastguard Worker // `{user}`. 79*d5c09012SAndroid Build Coastguard Worker // 80*d5c09012SAndroid Build Coastguard Worker // Optional when setting `Space.spaceType` to `SPACE`. 81*d5c09012SAndroid Build Coastguard Worker // 82*d5c09012SAndroid Build Coastguard Worker // Required when setting `Space.spaceType` to `GROUP_CHAT`, along with at 83*d5c09012SAndroid Build Coastguard Worker // least two memberships. 84*d5c09012SAndroid Build Coastguard Worker // 85*d5c09012SAndroid Build Coastguard Worker // Required when setting `Space.spaceType` to `DIRECT_MESSAGE` with a human 86*d5c09012SAndroid Build Coastguard Worker // user, along with exactly one membership. 87*d5c09012SAndroid Build Coastguard Worker // 88*d5c09012SAndroid Build Coastguard Worker // Must be empty when creating a 1:1 conversation between a human and the 89*d5c09012SAndroid Build Coastguard Worker // calling Chat app (when setting `Space.spaceType` to 90*d5c09012SAndroid Build Coastguard Worker // `DIRECT_MESSAGE` and `Space.singleUserBotDm` to `true`). 91*d5c09012SAndroid Build Coastguard Worker repeated Membership memberships = 4 [(google.api.field_behavior) = OPTIONAL]; 92*d5c09012SAndroid Build Coastguard Worker} 93