module Network.Google.Resource.Drive.Changes.Watch
(
ChangesWatchResource
, changesWatch
, ChangesWatch
, cwPayload
, cwRestrictToMyDrive
, cwSpaces
, cwPageToken
, cwPageSize
, cwIncludeRemoved
) where
import Network.Google.Drive.Types
import Network.Google.Prelude
type ChangesWatchResource =
"drive" :>
"v3" :>
"changes" :>
"watch" :>
QueryParam "pageToken" Text :>
QueryParam "restrictToMyDrive" Bool :>
QueryParam "spaces" Text :>
QueryParam "pageSize" (Textual Int32) :>
QueryParam "includeRemoved" Bool :>
QueryParam "alt" AltJSON :>
ReqBody '[JSON] Channel :> Post '[JSON] Channel
data ChangesWatch = ChangesWatch'
{ _cwPayload :: !Channel
, _cwRestrictToMyDrive :: !Bool
, _cwSpaces :: !Text
, _cwPageToken :: !Text
, _cwPageSize :: !(Textual Int32)
, _cwIncludeRemoved :: !Bool
} deriving (Eq,Show,Data,Typeable,Generic)
changesWatch
:: Channel
-> Text
-> ChangesWatch
changesWatch pCwPayload_ pCwPageToken_ =
ChangesWatch'
{ _cwPayload = pCwPayload_
, _cwRestrictToMyDrive = False
, _cwSpaces = "drive"
, _cwPageToken = pCwPageToken_
, _cwPageSize = 100
, _cwIncludeRemoved = True
}
cwPayload :: Lens' ChangesWatch Channel
cwPayload
= lens _cwPayload (\ s a -> s{_cwPayload = a})
cwRestrictToMyDrive :: Lens' ChangesWatch Bool
cwRestrictToMyDrive
= lens _cwRestrictToMyDrive
(\ s a -> s{_cwRestrictToMyDrive = a})
cwSpaces :: Lens' ChangesWatch Text
cwSpaces = lens _cwSpaces (\ s a -> s{_cwSpaces = a})
cwPageToken :: Lens' ChangesWatch Text
cwPageToken
= lens _cwPageToken (\ s a -> s{_cwPageToken = a})
cwPageSize :: Lens' ChangesWatch Int32
cwPageSize
= lens _cwPageSize (\ s a -> s{_cwPageSize = a}) .
_Coerce
cwIncludeRemoved :: Lens' ChangesWatch Bool
cwIncludeRemoved
= lens _cwIncludeRemoved
(\ s a -> s{_cwIncludeRemoved = a})
instance GoogleRequest ChangesWatch where
type Rs ChangesWatch = Channel
type Scopes ChangesWatch =
'["https://www.googleapis.com/auth/drive",
"https://www.googleapis.com/auth/drive.appdata",
"https://www.googleapis.com/auth/drive.file",
"https://www.googleapis.com/auth/drive.metadata",
"https://www.googleapis.com/auth/drive.metadata.readonly",
"https://www.googleapis.com/auth/drive.photos.readonly",
"https://www.googleapis.com/auth/drive.readonly"]
requestClient ChangesWatch'{..}
= go (Just _cwPageToken) (Just _cwRestrictToMyDrive)
(Just _cwSpaces)
(Just _cwPageSize)
(Just _cwIncludeRemoved)
(Just AltJSON)
_cwPayload
driveService
where go
= buildClient (Proxy :: Proxy ChangesWatchResource)
mempty