{-# 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.Patch -- 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) -- -- Updates a space. For an example, see . If you\'re updating the @displayName@ field and receive the error message @ALREADY_EXISTS@, try a different display name.. An existing space within the Google Workspace organization might already use this display name. Supports the following types of : - with in - You can authenticate and authorize this method with administrator privileges by setting the @use_admin_access@ field in the request. -- -- /See:/ for @chat.spaces.patch@. module Gogol.Chat.Spaces.Patch ( -- * Resource ChatSpacesPatchResource, -- ** Constructing a Request ChatSpacesPatch (..), newChatSpacesPatch, ) where import Gogol.Chat.Types import Gogol.Prelude qualified as Core -- | A resource alias for @chat.spaces.patch@ method which the -- 'ChatSpacesPatch' request conforms to. type ChatSpacesPatchResource = "v1" Core.:> Core.Capture "name" Core.Text Core.:> Core.QueryParam "$.xgafv" Xgafv Core.:> Core.QueryParam "access_token" Core.Text Core.:> Core.QueryParam "callback" Core.Text Core.:> Core.QueryParam "updateMask" Core.FieldMask 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.ReqBody '[Core.JSON] Space Core.:> Core.Patch '[Core.JSON] Space -- | Updates a space. For an example, see . If you\'re updating the @displayName@ field and receive the error message @ALREADY_EXISTS@, try a different display name.. An existing space within the Google Workspace organization might already use this display name. Supports the following types of : - with in - You can authenticate and authorize this method with administrator privileges by setting the @use_admin_access@ field in the request. -- -- /See:/ 'newChatSpacesPatch' smart constructor. data ChatSpacesPatch = ChatSpacesPatch { -- | V1 error format. xgafv :: (Core.Maybe Xgafv), -- | OAuth access token. accessToken :: (Core.Maybe Core.Text), -- | JSONP callback :: (Core.Maybe Core.Text), -- | Identifier. Resource name of the space. Format: @spaces\/{space}@ Where @{space}@ represents the system-assigned ID for the space. You can obtain the space ID by calling the method or from the space URL. For example, if the space URL is @https:\/\/mail.google.com\/mail\/u\/0\/#chat\/space\/AAAAAAAAA@, the space ID is @AAAAAAAAA@. name :: Core.Text, -- | Multipart request metadata. payload :: Space, -- | Required. The updated field paths, comma separated if there are multiple. You can update the following fields for a space: @space_details@: Updates the space\'s description. Supports up to 150 characters. @display_name@: Only supports updating the display name for spaces where @spaceType@ field is @SPACE@. If you receive the error message @ALREADY_EXISTS@, try a different value. An existing space within the Google Workspace organization might already use this display name. @space_type@: Only supports changing a @GROUP_CHAT@ space type to @SPACE@. Include @display_name@ together with @space_type@ in the update mask and ensure that the specified space has a non-empty display name and the @SPACE@ space type. Including the @space_type@ mask and the @SPACE@ type in the specified space when updating the display name is optional if the existing space already has the @SPACE@ type. Trying to update the space type in other ways results in an invalid argument error. @space_type@ is not supported with @useAdminAccess@. -- @space_history_state@: Updates by turning history on or off for the space. Only supported if history settings are enabled for the Google Workspace organization. To update the space history state, you must omit all other field masks in your request. @space_history_state@ is not supported with @useAdminAccess@. @access_settings.audience@: Updates the of who can discover the space, join the space, and preview the messages in named space where @spaceType@ field is @SPACE@. If the existing space has a target audience, you can remove the audience and restrict space access by omitting a value for this field mask. To update access settings for a space, the authenticating user must be a space manager and omit all other field masks in your request. You can\'t update this field if the space is in . To learn -- more, see . @access_settings.audience@ is not supported with @useAdminAccess@. @permission_settings@: Supports changing the of a space. When updating permission settings, you can only specify @permissionSettings@ field masks; you cannot update other field masks at the same time. @permissionSettings@ is not supported with @useAdminAccess@. The supported field masks include: - @permission_settings.manageMembersAndGroups@ - @permission_settings.modifySpaceDetails@ - @permission_settings.toggleHistory@ - @permission_settings.useAtMentionAll@ - @permission_settings.manageApps@ - @permission_settings.manageWebhooks@ - @permission_settings.replyMessages@ updateMask :: (Core.Maybe Core.FieldMask), -- | 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 the @chat.admin.spaces@ . Some @FieldMask@ values are not supported using admin access. For details, see the description of @update_mask@. useAdminAccess :: (Core.Maybe Core.Bool) } deriving (Core.Eq, Core.Show, Core.Generic) -- | Creates a value of 'ChatSpacesPatch' with the minimum fields required to make a request. newChatSpacesPatch :: -- | Identifier. Resource name of the space. Format: @spaces\/{space}@ Where @{space}@ represents the system-assigned ID for the space. You can obtain the space ID by calling the method or from the space URL. For example, if the space URL is @https:\/\/mail.google.com\/mail\/u\/0\/#chat\/space\/AAAAAAAAA@, the space ID is @AAAAAAAAA@. See 'name'. Core.Text -> -- | Multipart request metadata. See 'payload'. Space -> ChatSpacesPatch newChatSpacesPatch name payload = ChatSpacesPatch { xgafv = Core.Nothing, accessToken = Core.Nothing, callback = Core.Nothing, name = name, payload = payload, updateMask = Core.Nothing, uploadType = Core.Nothing, uploadProtocol = Core.Nothing, useAdminAccess = Core.Nothing } instance Core.GoogleRequest ChatSpacesPatch where type Rs ChatSpacesPatch = Space type Scopes ChatSpacesPatch = '[Chat'Admin'Spaces, Chat'App'Spaces, Chat'Import, Chat'Spaces] requestClient ChatSpacesPatch {..} = go name xgafv accessToken callback updateMask uploadType uploadProtocol useAdminAccess (Core.Just Core.AltJSON) payload chatService where go = Core.buildClient (Core.Proxy :: Core.Proxy ChatSpacesPatchResource) Core.mempty