{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE TypeOperators #-}
{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module Network.Google.Resource.Gmail.Users.Settings.UpdateLanguage
(
UsersSettingsUpdateLanguageResource
, usersSettingsUpdateLanguage
, UsersSettingsUpdateLanguage
, usulPayload
, usulUserId
) where
import Network.Google.Gmail.Types
import Network.Google.Prelude
type UsersSettingsUpdateLanguageResource =
"gmail" :>
"v1" :>
"users" :>
Capture "userId" Text :>
"settings" :>
"language" :>
QueryParam "alt" AltJSON :>
ReqBody '[JSON] LanguageSettings :>
Put '[JSON] LanguageSettings
data UsersSettingsUpdateLanguage =
UsersSettingsUpdateLanguage'
{ _usulPayload :: !LanguageSettings
, _usulUserId :: !Text
}
deriving (Eq, Show, Data, Typeable, Generic)
usersSettingsUpdateLanguage
:: LanguageSettings
-> UsersSettingsUpdateLanguage
usersSettingsUpdateLanguage pUsulPayload_ =
UsersSettingsUpdateLanguage'
{_usulPayload = pUsulPayload_, _usulUserId = "me"}
usulPayload :: Lens' UsersSettingsUpdateLanguage LanguageSettings
usulPayload
= lens _usulPayload (\ s a -> s{_usulPayload = a})
usulUserId :: Lens' UsersSettingsUpdateLanguage Text
usulUserId
= lens _usulUserId (\ s a -> s{_usulUserId = a})
instance GoogleRequest UsersSettingsUpdateLanguage
where
type Rs UsersSettingsUpdateLanguage =
LanguageSettings
type Scopes UsersSettingsUpdateLanguage =
'["https://www.googleapis.com/auth/gmail.settings.basic"]
requestClient UsersSettingsUpdateLanguage'{..}
= go _usulUserId (Just AltJSON) _usulPayload
gmailService
where go
= buildClient
(Proxy :: Proxy UsersSettingsUpdateLanguageResource)
mempty