{-# LANGUAGE DataKinds #-} {-# LANGUAGE DerivingStrategies #-} {-# LANGUAGE DuplicateRecordFields #-} {-# LANGUAGE ImportQualifiedPost #-} {-# LANGUAGE LambdaCase #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE StrictData #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE NoImplicitPrelude #-} {-# OPTIONS_GHC -fno-warn-duplicate-exports #-} {-# OPTIONS_GHC -fno-warn-name-shadowing #-} {-# OPTIONS_GHC -fno-warn-unused-binds #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-} {-# OPTIONS_GHC -fno-warn-unused-matches #-} -- | -- Module : Gogol.Chat.Spaces.Members.List -- Copyright : (c) 2015-2025 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Toni Cebrián -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Lists memberships in a space. For an example, see . Listing memberships with lists memberships in spaces that the Chat app has access to, but excludes Chat app memberships, including its own. Listing memberships with lists memberships in spaces that the authenticated user has access to. Supports the following types of : - - You can authenticate and authorize this method with administrator privileges by setting the @use_admin_access@ field -- in the request. -- -- /See:/ for @chat.spaces.members.list@. module Gogol.Chat.Spaces.Members.List ( -- * Resource ChatSpacesMembersListResource, -- ** Constructing a Request ChatSpacesMembersList (..), newChatSpacesMembersList, ) where import Gogol.Chat.Types import Gogol.Prelude qualified as Core -- | A resource alias for @chat.spaces.members.list@ method which the -- 'ChatSpacesMembersList' request conforms to. type ChatSpacesMembersListResource = "v1" Core.:> Core.Capture "parent" Core.Text Core.:> "members" Core.:> Core.QueryParam "$.xgafv" Xgafv Core.:> Core.QueryParam "access_token" Core.Text Core.:> Core.QueryParam "callback" Core.Text Core.:> Core.QueryParam "filter" Core.Text Core.:> Core.QueryParam "pageSize" Core.Int32 Core.:> Core.QueryParam "pageToken" Core.Text Core.:> Core.QueryParam "showGroups" Core.Bool Core.:> Core.QueryParam "showInvited" Core.Bool Core.:> Core.QueryParam "uploadType" Core.Text Core.:> Core.QueryParam "upload_protocol" Core.Text Core.:> Core.QueryParam "useAdminAccess" Core.Bool Core.:> Core.QueryParam "alt" Core.AltJSON Core.:> Core.Get '[Core.JSON] ListMembershipsResponse -- | Lists memberships in a space. For an example, see . Listing memberships with lists memberships in spaces that the Chat app has access to, but excludes Chat app memberships, including its own. Listing memberships with lists memberships in spaces that the authenticated user has access to. Supports the following types of : - - You can authenticate and authorize this method with administrator privileges by setting the @use_admin_access@ field -- in the request. -- -- /See:/ 'newChatSpacesMembersList' smart constructor. data ChatSpacesMembersList = ChatSpacesMembersList { -- | V1 error format. xgafv :: (Core.Maybe Xgafv), -- | OAuth access token. accessToken :: (Core.Maybe Core.Text), -- | JSONP callback :: (Core.Maybe Core.Text), -- | Optional. A query filter. You can filter memberships by a member\'s role () and type (). To filter by role, set @role@ to @ROLE_MEMBER@ or @ROLE_MANAGER@. To filter by type, set @member.type@ to @HUMAN@ or @BOT@. You can also filter for @member.type@ using the @!=@ operator. To filter by both role and type, use the @AND@ operator. To filter by either role or type, use the @OR@ operator. Either @member.type = \"HUMAN\"@ or @member.type != \"BOT\"@ is required when @use_admin_access@ is set to true. Other member type filters will be rejected. For example, the following queries are valid: @role = \"ROLE_MANAGER\" OR role = \"ROLE_MEMBER\" member.type = \"HUMAN\" AND role = \"ROLE_MANAGER\" member.type != \"BOT\"@ The following queries are invalid: -- @member.type = \"HUMAN\" AND member.type = \"BOT\" role = \"ROLE_MANAGER\" AND role = \"ROLE_MEMBER\"@ Invalid queries are rejected by the server with an @INVALID_ARGUMENT@ error. filter :: (Core.Maybe Core.Text), -- | Optional. The maximum number of memberships to return. The service might return fewer than this value. If unspecified, at most 100 memberships are returned. The maximum value is 1000. If you use a value more than 1000, it\'s automatically changed to 1000. Negative values return an @INVALID_ARGUMENT@ error. pageSize :: (Core.Maybe Core.Int32), -- | Optional. A page token, received from a previous call to list memberships. Provide this parameter to retrieve the subsequent page. When paginating, all other parameters provided should match the call that provided the page token. Passing different values to the other parameters might lead to unexpected results. pageToken :: (Core.Maybe Core.Text), -- | Required. The resource name of the space for which to fetch a membership list. Format: spaces\/{space} parent :: Core.Text, -- | Optional. When @true@, also returns memberships associated with a Google Group, in addition to other types of memberships. If a filter is set, Google Group memberships that don\'t match the filter criteria aren\'t returned. showGroups :: (Core.Maybe Core.Bool), -- | Optional. When @true@, also returns memberships associated with invited members, in addition to other types of memberships. If a filter is set, invited memberships that don\'t match the filter criteria aren\'t returned. Currently requires . showInvited :: (Core.Maybe Core.Bool), -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\"). uploadType :: (Core.Maybe Core.Text), -- | Upload protocol for media (e.g. \"raw\", \"multipart\"). uploadProtocol :: (Core.Maybe Core.Text), -- | Optional. When @true@, the method runs using the user\'s Google Workspace administrator privileges. The calling user must be a Google Workspace administrator with the . Requires either the @chat.admin.memberships.readonly@ or @chat.admin.memberships@ . Listing app memberships in a space isn\'t supported when using admin access. useAdminAccess :: (Core.Maybe Core.Bool) } deriving (Core.Eq, Core.Show, Core.Generic) -- | Creates a value of 'ChatSpacesMembersList' with the minimum fields required to make a request. newChatSpacesMembersList :: -- | Required. The resource name of the space for which to fetch a membership list. Format: spaces\/{space} See 'parent'. Core.Text -> ChatSpacesMembersList newChatSpacesMembersList parent = ChatSpacesMembersList { xgafv = Core.Nothing, accessToken = Core.Nothing, callback = Core.Nothing, filter = Core.Nothing, pageSize = Core.Nothing, pageToken = Core.Nothing, parent = parent, showGroups = Core.Nothing, showInvited = Core.Nothing, uploadType = Core.Nothing, uploadProtocol = Core.Nothing, useAdminAccess = Core.Nothing } instance Core.GoogleRequest ChatSpacesMembersList where type Rs ChatSpacesMembersList = ListMembershipsResponse type Scopes ChatSpacesMembersList = '[ Chat'Admin'Memberships, Chat'Admin'Memberships'Readonly, Chat'Bot, Chat'Import, Chat'Memberships, Chat'Memberships'Readonly ] requestClient ChatSpacesMembersList {..} = go parent xgafv accessToken callback filter pageSize pageToken showGroups showInvited uploadType uploadProtocol useAdminAccess (Core.Just Core.AltJSON) chatService where go = Core.buildClient (Core.Proxy :: Core.Proxy ChatSpacesMembersListResource) Core.mempty