xref: /aosp_15_r20/external/googleapis/google/chat/v1/membership.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/group.proto";
22*d5c09012SAndroid Build Coastguard Workerimport "google/chat/v1/user.proto";
23*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/field_mask.proto";
24*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto";
25*d5c09012SAndroid Build Coastguard Worker
26*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Apps.Chat.V1";
27*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/chat/apiv1/chatpb;chatpb";
28*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true;
29*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "MembershipProto";
30*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.chat.v1";
31*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Apps\\Chat\\V1";
32*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Apps::Chat::V1";
33*d5c09012SAndroid Build Coastguard Worker
34*d5c09012SAndroid Build Coastguard Worker// Represents a membership relation in Google Chat, such as whether a user or
35*d5c09012SAndroid Build Coastguard Worker// Chat app is invited to, part of, or absent from a space.
36*d5c09012SAndroid Build Coastguard Workermessage Membership {
37*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
38*d5c09012SAndroid Build Coastguard Worker    type: "chat.googleapis.com/Membership"
39*d5c09012SAndroid Build Coastguard Worker    pattern: "spaces/{space}/members/{member}"
40*d5c09012SAndroid Build Coastguard Worker  };
41*d5c09012SAndroid Build Coastguard Worker
42*d5c09012SAndroid Build Coastguard Worker  // Specifies the member's relationship with a space. Other membership states
43*d5c09012SAndroid Build Coastguard Worker  // might be supported in the future.
44*d5c09012SAndroid Build Coastguard Worker  enum MembershipState {
45*d5c09012SAndroid Build Coastguard Worker    // Default value. Don't use.
46*d5c09012SAndroid Build Coastguard Worker    MEMBERSHIP_STATE_UNSPECIFIED = 0;
47*d5c09012SAndroid Build Coastguard Worker
48*d5c09012SAndroid Build Coastguard Worker    // The user is added to the space, and can participate in the space.
49*d5c09012SAndroid Build Coastguard Worker    JOINED = 1;
50*d5c09012SAndroid Build Coastguard Worker
51*d5c09012SAndroid Build Coastguard Worker    // The user is invited to join the space, but hasn't joined it.
52*d5c09012SAndroid Build Coastguard Worker    INVITED = 2;
53*d5c09012SAndroid Build Coastguard Worker
54*d5c09012SAndroid Build Coastguard Worker    // The user doesn't belong to the space and doesn't have a pending
55*d5c09012SAndroid Build Coastguard Worker    // invitation to join the space.
56*d5c09012SAndroid Build Coastguard Worker    NOT_A_MEMBER = 3;
57*d5c09012SAndroid Build Coastguard Worker  }
58*d5c09012SAndroid Build Coastguard Worker
59*d5c09012SAndroid Build Coastguard Worker  // Represents a user's permitted actions in a Chat space. More enum values
60*d5c09012SAndroid Build Coastguard Worker  // might be added in the future.
61*d5c09012SAndroid Build Coastguard Worker  enum MembershipRole {
62*d5c09012SAndroid Build Coastguard Worker    // Default value. For [users][google.chat.v1.Membership.member]: they
63*d5c09012SAndroid Build Coastguard Worker    // aren't a member of the space, but can be invited. For
64*d5c09012SAndroid Build Coastguard Worker    // [Google Groups][google.chat.v1.Membership.group_member]: they're always
65*d5c09012SAndroid Build Coastguard Worker    //  assigned this role (other enum values might be used in the future).
66*d5c09012SAndroid Build Coastguard Worker    MEMBERSHIP_ROLE_UNSPECIFIED = 0;
67*d5c09012SAndroid Build Coastguard Worker
68*d5c09012SAndroid Build Coastguard Worker    // A member of the space. The user has basic permissions, like sending
69*d5c09012SAndroid Build Coastguard Worker    // messages to the space. In 1:1 and unnamed group conversations, everyone
70*d5c09012SAndroid Build Coastguard Worker    // has this role.
71*d5c09012SAndroid Build Coastguard Worker    ROLE_MEMBER = 1;
72*d5c09012SAndroid Build Coastguard Worker
73*d5c09012SAndroid Build Coastguard Worker    // A space manager. The user has all basic permissions plus administrative
74*d5c09012SAndroid Build Coastguard Worker    // permissions that let them manage the space, like adding or removing
75*d5c09012SAndroid Build Coastguard Worker    // members. Only supported in
76*d5c09012SAndroid Build Coastguard Worker    // [SpaceType.SPACE][google.chat.v1.Space.SpaceType].
77*d5c09012SAndroid Build Coastguard Worker    ROLE_MANAGER = 2;
78*d5c09012SAndroid Build Coastguard Worker  }
79*d5c09012SAndroid Build Coastguard Worker
80*d5c09012SAndroid Build Coastguard Worker  // Resource name of the membership, assigned by the server.
81*d5c09012SAndroid Build Coastguard Worker  //
82*d5c09012SAndroid Build Coastguard Worker  // Format: `spaces/{space}/members/{member}`
83*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
84*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = { type: "chat.googleapis.com/Membership" }
85*d5c09012SAndroid Build Coastguard Worker  ];
86*d5c09012SAndroid Build Coastguard Worker
87*d5c09012SAndroid Build Coastguard Worker  // Output only. State of the membership.
88*d5c09012SAndroid Build Coastguard Worker  MembershipState state = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
89*d5c09012SAndroid Build Coastguard Worker
90*d5c09012SAndroid Build Coastguard Worker  // Optional. User's role within a Chat space, which determines their permitted
91*d5c09012SAndroid Build Coastguard Worker  // actions in the space.
92*d5c09012SAndroid Build Coastguard Worker  //
93*d5c09012SAndroid Build Coastguard Worker  // This field can only be used as input in `UpdateMembership`.
94*d5c09012SAndroid Build Coastguard Worker  MembershipRole role = 7 [(google.api.field_behavior) = OPTIONAL];
95*d5c09012SAndroid Build Coastguard Worker
96*d5c09012SAndroid Build Coastguard Worker  // Member associated with this membership. Other member types might be
97*d5c09012SAndroid Build Coastguard Worker  // supported in the future.
98*d5c09012SAndroid Build Coastguard Worker  oneof memberType {
99*d5c09012SAndroid Build Coastguard Worker    // The Google Chat user or app the membership corresponds to.
100*d5c09012SAndroid Build Coastguard Worker    // If your Chat app [authenticates as a
101*d5c09012SAndroid Build Coastguard Worker    // user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user),
102*d5c09012SAndroid Build Coastguard Worker    // the output populates the
103*d5c09012SAndroid Build Coastguard Worker    // [user](https://developers.google.com/workspace/chat/api/reference/rest/v1/User)
104*d5c09012SAndroid Build Coastguard Worker    // `name` and `type`.
105*d5c09012SAndroid Build Coastguard Worker    User member = 3;
106*d5c09012SAndroid Build Coastguard Worker
107*d5c09012SAndroid Build Coastguard Worker    // The Google Group the membership corresponds to.
108*d5c09012SAndroid Build Coastguard Worker    // Only supports read operations. Other operations, like creating or
109*d5c09012SAndroid Build Coastguard Worker    // updating a membership, aren't currently supported.
110*d5c09012SAndroid Build Coastguard Worker    Group group_member = 5;
111*d5c09012SAndroid Build Coastguard Worker  }
112*d5c09012SAndroid Build Coastguard Worker
113*d5c09012SAndroid Build Coastguard Worker  // Optional. Immutable. The creation time of the membership, such as when a
114*d5c09012SAndroid Build Coastguard Worker  // member joined or was invited to join a space. This field is output only,
115*d5c09012SAndroid Build Coastguard Worker  // except when used to import historical memberships in import mode spaces.
116*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp create_time = 4 [
117*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = IMMUTABLE,
118*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = OPTIONAL
119*d5c09012SAndroid Build Coastguard Worker  ];
120*d5c09012SAndroid Build Coastguard Worker
121*d5c09012SAndroid Build Coastguard Worker  // Optional. Immutable. The deletion time of the membership, such as when a
122*d5c09012SAndroid Build Coastguard Worker  // member left or was removed from a space. This field is output only, except
123*d5c09012SAndroid Build Coastguard Worker  // when used to import historical memberships in import mode spaces.
124*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp delete_time = 8 [
125*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = IMMUTABLE,
126*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = OPTIONAL
127*d5c09012SAndroid Build Coastguard Worker  ];
128*d5c09012SAndroid Build Coastguard Worker}
129*d5c09012SAndroid Build Coastguard Worker
130*d5c09012SAndroid Build Coastguard Worker// Request message for creating a membership.
131*d5c09012SAndroid Build Coastguard Workermessage CreateMembershipRequest {
132*d5c09012SAndroid Build Coastguard Worker  // Required. The resource name of the space for which to create the
133*d5c09012SAndroid Build Coastguard Worker  // membership.
134*d5c09012SAndroid Build Coastguard Worker  //
135*d5c09012SAndroid Build Coastguard Worker  // Format: spaces/{space}
136*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
137*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
138*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
139*d5c09012SAndroid Build Coastguard Worker      child_type: "chat.googleapis.com/Membership"
140*d5c09012SAndroid Build Coastguard Worker    }
141*d5c09012SAndroid Build Coastguard Worker  ];
142*d5c09012SAndroid Build Coastguard Worker
143*d5c09012SAndroid Build Coastguard Worker  // Required. The membership relation to create.
144*d5c09012SAndroid Build Coastguard Worker  // The `memberType` field must contain a user with the `user.name` and
145*d5c09012SAndroid Build Coastguard Worker  // `user.type` fields populated. The server will assign a resource name
146*d5c09012SAndroid Build Coastguard Worker  // and overwrite anything specified.
147*d5c09012SAndroid Build Coastguard Worker  // When a Chat app creates a membership relation for a human user, it must use
148*d5c09012SAndroid Build Coastguard Worker  // the `chat.memberships` scope, set `user.type` to `HUMAN`, and set
149*d5c09012SAndroid Build Coastguard Worker  // `user.name` with format `users/{user}`, where `{user}` can be the email
150*d5c09012SAndroid Build Coastguard Worker  // address for the user. For users in the same Workspace organization `{user}`
151*d5c09012SAndroid Build Coastguard Worker  // can also be the `id` of the
152*d5c09012SAndroid Build Coastguard Worker  // [person](https://developers.google.com/people/api/rest/v1/people) from the
153*d5c09012SAndroid Build Coastguard Worker  // People API, or the `id` for the user in the Directory API. For example, if
154*d5c09012SAndroid Build Coastguard Worker  // the People API Person profile ID for `[email protected]` is `123456789`, you
155*d5c09012SAndroid Build Coastguard Worker  // can add the user to the space by setting the `membership.member.name` to
156*d5c09012SAndroid Build Coastguard Worker  // `users/user@example.com` or `users/123456789`. When a Chat app creates a
157*d5c09012SAndroid Build Coastguard Worker  // membership relation for itself, it must use the `chat.memberships.app`
158*d5c09012SAndroid Build Coastguard Worker  // scope, set `user.type` to `BOT`, and set `user.name` to `users/app`.
159*d5c09012SAndroid Build Coastguard Worker  Membership membership = 2 [(google.api.field_behavior) = REQUIRED];
160*d5c09012SAndroid Build Coastguard Worker}
161*d5c09012SAndroid Build Coastguard Worker
162*d5c09012SAndroid Build Coastguard Worker// Request message for updating a membership.
163*d5c09012SAndroid Build Coastguard Workermessage UpdateMembershipRequest {
164*d5c09012SAndroid Build Coastguard Worker  // Required. The membership to update. Only fields specified by `update_mask`
165*d5c09012SAndroid Build Coastguard Worker  // are updated.
166*d5c09012SAndroid Build Coastguard Worker  Membership membership = 1 [(google.api.field_behavior) = REQUIRED];
167*d5c09012SAndroid Build Coastguard Worker
168*d5c09012SAndroid Build Coastguard Worker  // Required. The field paths to update. Separate multiple values with commas
169*d5c09012SAndroid Build Coastguard Worker  // or use `*` to update all field paths.
170*d5c09012SAndroid Build Coastguard Worker  //
171*d5c09012SAndroid Build Coastguard Worker  // Currently supported field paths:
172*d5c09012SAndroid Build Coastguard Worker  //
173*d5c09012SAndroid Build Coastguard Worker  // - `role`
174*d5c09012SAndroid Build Coastguard Worker  google.protobuf.FieldMask update_mask = 2
175*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = REQUIRED];
176*d5c09012SAndroid Build Coastguard Worker}
177*d5c09012SAndroid Build Coastguard Worker
178*d5c09012SAndroid Build Coastguard Worker// Request message for listing memberships.
179*d5c09012SAndroid Build Coastguard Workermessage ListMembershipsRequest {
180*d5c09012SAndroid Build Coastguard Worker  // Required. The resource name of the space for which to fetch a membership
181*d5c09012SAndroid Build Coastguard Worker  // list.
182*d5c09012SAndroid Build Coastguard Worker  //
183*d5c09012SAndroid Build Coastguard Worker  // Format: spaces/{space}
184*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
185*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
186*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
187*d5c09012SAndroid Build Coastguard Worker      child_type: "chat.googleapis.com/Membership"
188*d5c09012SAndroid Build Coastguard Worker    }
189*d5c09012SAndroid Build Coastguard Worker  ];
190*d5c09012SAndroid Build Coastguard Worker
191*d5c09012SAndroid Build Coastguard Worker  // Optional. The maximum number of memberships to return. The service might
192*d5c09012SAndroid Build Coastguard Worker  // return fewer than this value.
193*d5c09012SAndroid Build Coastguard Worker  //
194*d5c09012SAndroid Build Coastguard Worker  // If unspecified, at most 100 memberships are returned.
195*d5c09012SAndroid Build Coastguard Worker  //
196*d5c09012SAndroid Build Coastguard Worker  // The maximum value is 1000. If you use a value more than 1000, it's
197*d5c09012SAndroid Build Coastguard Worker  // automatically changed to 1000.
198*d5c09012SAndroid Build Coastguard Worker  //
199*d5c09012SAndroid Build Coastguard Worker  // Negative values return an `INVALID_ARGUMENT` error.
200*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
201*d5c09012SAndroid Build Coastguard Worker
202*d5c09012SAndroid Build Coastguard Worker  // Optional. A page token, received from a previous call to list memberships.
203*d5c09012SAndroid Build Coastguard Worker  // Provide this parameter to retrieve the subsequent page.
204*d5c09012SAndroid Build Coastguard Worker  //
205*d5c09012SAndroid Build Coastguard Worker  // When paginating, all other parameters provided should match the call that
206*d5c09012SAndroid Build Coastguard Worker  // provided the page token. Passing different values to the other parameters
207*d5c09012SAndroid Build Coastguard Worker  // might lead to unexpected results.
208*d5c09012SAndroid Build Coastguard Worker  string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
209*d5c09012SAndroid Build Coastguard Worker
210*d5c09012SAndroid Build Coastguard Worker  // Optional. A query filter.
211*d5c09012SAndroid Build Coastguard Worker  //
212*d5c09012SAndroid Build Coastguard Worker  // You can filter memberships by a member's role
213*d5c09012SAndroid Build Coastguard Worker  // ([`role`](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.members#membershiprole))
214*d5c09012SAndroid Build Coastguard Worker  // and type
215*d5c09012SAndroid Build Coastguard Worker  // ([`member.type`](https://developers.google.com/workspace/chat/api/reference/rest/v1/User#type)).
216*d5c09012SAndroid Build Coastguard Worker  //
217*d5c09012SAndroid Build Coastguard Worker  // To filter by role, set `role` to `ROLE_MEMBER` or `ROLE_MANAGER`.
218*d5c09012SAndroid Build Coastguard Worker  //
219*d5c09012SAndroid Build Coastguard Worker  // To filter by type, set `member.type` to `HUMAN` or `BOT`.
220*d5c09012SAndroid Build Coastguard Worker  //
221*d5c09012SAndroid Build Coastguard Worker  // To filter by both role and type, use the `AND` operator. To filter by
222*d5c09012SAndroid Build Coastguard Worker  // either role or type, use the `OR` operator.
223*d5c09012SAndroid Build Coastguard Worker  //
224*d5c09012SAndroid Build Coastguard Worker  // For example, the following queries are valid:
225*d5c09012SAndroid Build Coastguard Worker  //
226*d5c09012SAndroid Build Coastguard Worker  // ```
227*d5c09012SAndroid Build Coastguard Worker  // role = "ROLE_MANAGER" OR role = "ROLE_MEMBER"
228*d5c09012SAndroid Build Coastguard Worker  // member.type = "HUMAN" AND role = "ROLE_MANAGER"
229*d5c09012SAndroid Build Coastguard Worker  // ```
230*d5c09012SAndroid Build Coastguard Worker  //
231*d5c09012SAndroid Build Coastguard Worker  // The following queries are invalid:
232*d5c09012SAndroid Build Coastguard Worker  //
233*d5c09012SAndroid Build Coastguard Worker  // ```
234*d5c09012SAndroid Build Coastguard Worker  // member.type = "HUMAN" AND member.type = "BOT"
235*d5c09012SAndroid Build Coastguard Worker  // role = "ROLE_MANAGER" AND role = "ROLE_MEMBER"
236*d5c09012SAndroid Build Coastguard Worker  // ```
237*d5c09012SAndroid Build Coastguard Worker  //
238*d5c09012SAndroid Build Coastguard Worker  //
239*d5c09012SAndroid Build Coastguard Worker  // Invalid queries are rejected by the server with an `INVALID_ARGUMENT`
240*d5c09012SAndroid Build Coastguard Worker  // error.
241*d5c09012SAndroid Build Coastguard Worker  string filter = 5 [(google.api.field_behavior) = OPTIONAL];
242*d5c09012SAndroid Build Coastguard Worker
243*d5c09012SAndroid Build Coastguard Worker  // Optional. When `true`, also returns memberships associated with a
244*d5c09012SAndroid Build Coastguard Worker  // [Google Group][google.chat.v1.Membership.group_member], in
245*d5c09012SAndroid Build Coastguard Worker  // addition to other types of memberships. If a
246*d5c09012SAndroid Build Coastguard Worker  // [filter][google.chat.v1.ListMembershipsRequest.filter] is set,
247*d5c09012SAndroid Build Coastguard Worker  // [Google Group][google.chat.v1.Membership.group_member]
248*d5c09012SAndroid Build Coastguard Worker  // memberships that don't match the filter criteria aren't returned.
249*d5c09012SAndroid Build Coastguard Worker  bool show_groups = 6 [(google.api.field_behavior) = OPTIONAL];
250*d5c09012SAndroid Build Coastguard Worker
251*d5c09012SAndroid Build Coastguard Worker  // Optional. When `true`, also returns memberships associated with
252*d5c09012SAndroid Build Coastguard Worker  // [invited][google.chat.v1.Membership.MembershipState.INVITED] members, in
253*d5c09012SAndroid Build Coastguard Worker  // addition to other types of memberships. If a
254*d5c09012SAndroid Build Coastguard Worker  // filter is set,
255*d5c09012SAndroid Build Coastguard Worker  // [invited][google.chat.v1.Membership.MembershipState.INVITED] memberships
256*d5c09012SAndroid Build Coastguard Worker  // that don't match the filter criteria aren't returned.
257*d5c09012SAndroid Build Coastguard Worker  //
258*d5c09012SAndroid Build Coastguard Worker  // Currently requires [user
259*d5c09012SAndroid Build Coastguard Worker  // authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
260*d5c09012SAndroid Build Coastguard Worker  bool show_invited = 7 [(google.api.field_behavior) = OPTIONAL];
261*d5c09012SAndroid Build Coastguard Worker}
262*d5c09012SAndroid Build Coastguard Worker
263*d5c09012SAndroid Build Coastguard Worker// Response to list memberships of the space.
264*d5c09012SAndroid Build Coastguard Workermessage ListMembershipsResponse {
265*d5c09012SAndroid Build Coastguard Worker  // Unordered list. List of memberships in the requested (or first) page.
266*d5c09012SAndroid Build Coastguard Worker  repeated Membership memberships = 1
267*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = UNORDERED_LIST];
268*d5c09012SAndroid Build Coastguard Worker
269*d5c09012SAndroid Build Coastguard Worker  // A token that you can send as `pageToken` to retrieve the next page of
270*d5c09012SAndroid Build Coastguard Worker  // results. If empty, there are no subsequent pages.
271*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
272*d5c09012SAndroid Build Coastguard Worker}
273*d5c09012SAndroid Build Coastguard Worker
274*d5c09012SAndroid Build Coastguard Worker// Request to get a membership of a space.
275*d5c09012SAndroid Build Coastguard Workermessage GetMembershipRequest {
276*d5c09012SAndroid Build Coastguard Worker  // Required. Resource name of the membership to retrieve.
277*d5c09012SAndroid Build Coastguard Worker  //
278*d5c09012SAndroid Build Coastguard Worker  // To get the app's own membership, you can optionally use
279*d5c09012SAndroid Build Coastguard Worker  // `spaces/{space}/members/app`.
280*d5c09012SAndroid Build Coastguard Worker  //
281*d5c09012SAndroid Build Coastguard Worker  // Format: `spaces/{space}/members/{member}` or `spaces/{space}/members/app`
282*d5c09012SAndroid Build Coastguard Worker  //
283*d5c09012SAndroid Build Coastguard Worker  // When [authenticated as a
284*d5c09012SAndroid Build Coastguard Worker  // user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user),
285*d5c09012SAndroid Build Coastguard Worker  // you can use the user's email as an alias for `{member}`. For example,
286*d5c09012SAndroid Build Coastguard Worker  // `spaces/{space}/members/example@gmail.com` where `[email protected]` is the
287*d5c09012SAndroid Build Coastguard Worker  // email of the Google Chat user.
288*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
289*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
290*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = { type: "chat.googleapis.com/Membership" }
291*d5c09012SAndroid Build Coastguard Worker  ];
292*d5c09012SAndroid Build Coastguard Worker}
293*d5c09012SAndroid Build Coastguard Worker
294*d5c09012SAndroid Build Coastguard Worker// Request to delete a membership in a space.
295*d5c09012SAndroid Build Coastguard Workermessage DeleteMembershipRequest {
296*d5c09012SAndroid Build Coastguard Worker  // Required. Resource name of the membership to delete. Chat apps can delete
297*d5c09012SAndroid Build Coastguard Worker  // human users' or their own memberships. Chat apps can't delete other apps'
298*d5c09012SAndroid Build Coastguard Worker  // memberships.
299*d5c09012SAndroid Build Coastguard Worker  //
300*d5c09012SAndroid Build Coastguard Worker  // When deleting a human membership, requires the `chat.memberships` scope and
301*d5c09012SAndroid Build Coastguard Worker  // `spaces/{space}/members/{member}` format. You can use the email as an
302*d5c09012SAndroid Build Coastguard Worker  // alias for `{member}`. For example,
303*d5c09012SAndroid Build Coastguard Worker  // `spaces/{space}/members/example@gmail.com` where `[email protected]` is the
304*d5c09012SAndroid Build Coastguard Worker  // email of the Google Chat user.
305*d5c09012SAndroid Build Coastguard Worker  //
306*d5c09012SAndroid Build Coastguard Worker  // When deleting an app membership, requires the `chat.memberships.app` scope
307*d5c09012SAndroid Build Coastguard Worker  // and `spaces/{space}/members/app` format.
308*d5c09012SAndroid Build Coastguard Worker  //
309*d5c09012SAndroid Build Coastguard Worker  // Format: `spaces/{space}/members/{member}` or `spaces/{space}/members/app`.
310*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
311*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
312*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = { type: "chat.googleapis.com/Membership" }
313*d5c09012SAndroid Build Coastguard Worker  ];
314*d5c09012SAndroid Build Coastguard Worker}
315