{-# 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.YouTubeAnalytics.Groups.Insert
(
GroupsInsertResource
, groupsInsert
, GroupsInsert
, giXgafv
, giUploadProtocol
, giAccessToken
, giUploadType
, giPayload
, giOnBehalfOfContentOwner
, giCallback
) where
import Network.Google.Prelude
import Network.Google.YouTubeAnalytics.Types
type GroupsInsertResource =
"v2" :>
"groups" :>
QueryParam "$.xgafv" Xgafv :>
QueryParam "upload_protocol" Text :>
QueryParam "access_token" Text :>
QueryParam "uploadType" Text :>
QueryParam "onBehalfOfContentOwner" Text :>
QueryParam "callback" Text :>
QueryParam "alt" AltJSON :>
ReqBody '[JSON] Group :> Post '[JSON] Group
data GroupsInsert = GroupsInsert'
{ _giXgafv :: !(Maybe Xgafv)
, _giUploadProtocol :: !(Maybe Text)
, _giAccessToken :: !(Maybe Text)
, _giUploadType :: !(Maybe Text)
, _giPayload :: !Group
, _giOnBehalfOfContentOwner :: !(Maybe Text)
, _giCallback :: !(Maybe Text)
} deriving (Eq,Show,Data,Typeable,Generic)
groupsInsert
:: Group
-> GroupsInsert
groupsInsert pGiPayload_ =
GroupsInsert'
{ _giXgafv = Nothing
, _giUploadProtocol = Nothing
, _giAccessToken = Nothing
, _giUploadType = Nothing
, _giPayload = pGiPayload_
, _giOnBehalfOfContentOwner = Nothing
, _giCallback = Nothing
}
giXgafv :: Lens' GroupsInsert (Maybe Xgafv)
giXgafv = lens _giXgafv (\ s a -> s{_giXgafv = a})
giUploadProtocol :: Lens' GroupsInsert (Maybe Text)
giUploadProtocol
= lens _giUploadProtocol
(\ s a -> s{_giUploadProtocol = a})
giAccessToken :: Lens' GroupsInsert (Maybe Text)
giAccessToken
= lens _giAccessToken
(\ s a -> s{_giAccessToken = a})
giUploadType :: Lens' GroupsInsert (Maybe Text)
giUploadType
= lens _giUploadType (\ s a -> s{_giUploadType = a})
giPayload :: Lens' GroupsInsert Group
giPayload
= lens _giPayload (\ s a -> s{_giPayload = a})
giOnBehalfOfContentOwner :: Lens' GroupsInsert (Maybe Text)
giOnBehalfOfContentOwner
= lens _giOnBehalfOfContentOwner
(\ s a -> s{_giOnBehalfOfContentOwner = a})
giCallback :: Lens' GroupsInsert (Maybe Text)
giCallback
= lens _giCallback (\ s a -> s{_giCallback = a})
instance GoogleRequest GroupsInsert where
type Rs GroupsInsert = Group
type Scopes GroupsInsert =
'["https://www.googleapis.com/auth/youtube",
"https://www.googleapis.com/auth/youtube.readonly",
"https://www.googleapis.com/auth/youtubepartner",
"https://www.googleapis.com/auth/yt-analytics-monetary.readonly",
"https://www.googleapis.com/auth/yt-analytics.readonly"]
requestClient GroupsInsert'{..}
= go _giXgafv _giUploadProtocol _giAccessToken
_giUploadType
_giOnBehalfOfContentOwner
_giCallback
(Just AltJSON)
_giPayload
youTubeAnalyticsService
where go
= buildClient (Proxy :: Proxy GroupsInsertResource)
mempty