{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module Network.Google.AppsTasks.Types.Product where
import Network.Google.AppsTasks.Types.Sum
import Network.Google.Prelude
data TaskLinksItem = TaskLinksItem'
{ _tliLink :: !(Maybe Text)
, _tliType :: !(Maybe Text)
, _tliDescription :: !(Maybe Text)
} deriving (Eq,Show,Data,Typeable,Generic)
taskLinksItem
:: TaskLinksItem
taskLinksItem =
TaskLinksItem'
{ _tliLink = Nothing
, _tliType = Nothing
, _tliDescription = Nothing
}
tliLink :: Lens' TaskLinksItem (Maybe Text)
tliLink = lens _tliLink (\ s a -> s{_tliLink = a})
tliType :: Lens' TaskLinksItem (Maybe Text)
tliType = lens _tliType (\ s a -> s{_tliType = a})
tliDescription :: Lens' TaskLinksItem (Maybe Text)
tliDescription
= lens _tliDescription
(\ s a -> s{_tliDescription = a})
instance FromJSON TaskLinksItem where
parseJSON
= withObject "TaskLinksItem"
(\ o ->
TaskLinksItem' <$>
(o .:? "link") <*> (o .:? "type") <*>
(o .:? "description"))
instance ToJSON TaskLinksItem where
toJSON TaskLinksItem'{..}
= object
(catMaybes
[("link" .=) <$> _tliLink, ("type" .=) <$> _tliType,
("description" .=) <$> _tliDescription])
data Tasks = Tasks'
{ _tEtag :: !(Maybe Text)
, _tNextPageToken :: !(Maybe Text)
, _tKind :: !Text
, _tItems :: !(Maybe [Task])
} deriving (Eq,Show,Data,Typeable,Generic)
tasks
:: Tasks
tasks =
Tasks'
{ _tEtag = Nothing
, _tNextPageToken = Nothing
, _tKind = "tasks#tasks"
, _tItems = Nothing
}
tEtag :: Lens' Tasks (Maybe Text)
tEtag = lens _tEtag (\ s a -> s{_tEtag = a})
tNextPageToken :: Lens' Tasks (Maybe Text)
tNextPageToken
= lens _tNextPageToken
(\ s a -> s{_tNextPageToken = a})
tKind :: Lens' Tasks Text
tKind = lens _tKind (\ s a -> s{_tKind = a})
tItems :: Lens' Tasks [Task]
tItems
= lens _tItems (\ s a -> s{_tItems = a}) . _Default .
_Coerce
instance FromJSON Tasks where
parseJSON
= withObject "Tasks"
(\ o ->
Tasks' <$>
(o .:? "etag") <*> (o .:? "nextPageToken") <*>
(o .:? "kind" .!= "tasks#tasks")
<*> (o .:? "items" .!= mempty))
instance ToJSON Tasks where
toJSON Tasks'{..}
= object
(catMaybes
[("etag" .=) <$> _tEtag,
("nextPageToken" .=) <$> _tNextPageToken,
Just ("kind" .= _tKind), ("items" .=) <$> _tItems])
data TaskLists = TaskLists'
{ _tlEtag :: !(Maybe Text)
, _tlNextPageToken :: !(Maybe Text)
, _tlKind :: !Text
, _tlItems :: !(Maybe [TaskList])
} deriving (Eq,Show,Data,Typeable,Generic)
taskLists
:: TaskLists
taskLists =
TaskLists'
{ _tlEtag = Nothing
, _tlNextPageToken = Nothing
, _tlKind = "tasks#taskLists"
, _tlItems = Nothing
}
tlEtag :: Lens' TaskLists (Maybe Text)
tlEtag = lens _tlEtag (\ s a -> s{_tlEtag = a})
tlNextPageToken :: Lens' TaskLists (Maybe Text)
tlNextPageToken
= lens _tlNextPageToken
(\ s a -> s{_tlNextPageToken = a})
tlKind :: Lens' TaskLists Text
tlKind = lens _tlKind (\ s a -> s{_tlKind = a})
tlItems :: Lens' TaskLists [TaskList]
tlItems
= lens _tlItems (\ s a -> s{_tlItems = a}) . _Default
. _Coerce
instance FromJSON TaskLists where
parseJSON
= withObject "TaskLists"
(\ o ->
TaskLists' <$>
(o .:? "etag") <*> (o .:? "nextPageToken") <*>
(o .:? "kind" .!= "tasks#taskLists")
<*> (o .:? "items" .!= mempty))
instance ToJSON TaskLists where
toJSON TaskLists'{..}
= object
(catMaybes
[("etag" .=) <$> _tlEtag,
("nextPageToken" .=) <$> _tlNextPageToken,
Just ("kind" .= _tlKind), ("items" .=) <$> _tlItems])
data TaskList = TaskList'
{ _tasEtag :: !(Maybe Text)
, _tasKind :: !Text
, _tasSelfLink :: !(Maybe Text)
, _tasId :: !(Maybe Text)
, _tasUpdated :: !(Maybe DateTime')
, _tasTitle :: !(Maybe Text)
} deriving (Eq,Show,Data,Typeable,Generic)
taskList
:: TaskList
taskList =
TaskList'
{ _tasEtag = Nothing
, _tasKind = "tasks#taskList"
, _tasSelfLink = Nothing
, _tasId = Nothing
, _tasUpdated = Nothing
, _tasTitle = Nothing
}
tasEtag :: Lens' TaskList (Maybe Text)
tasEtag = lens _tasEtag (\ s a -> s{_tasEtag = a})
tasKind :: Lens' TaskList Text
tasKind = lens _tasKind (\ s a -> s{_tasKind = a})
tasSelfLink :: Lens' TaskList (Maybe Text)
tasSelfLink
= lens _tasSelfLink (\ s a -> s{_tasSelfLink = a})
tasId :: Lens' TaskList (Maybe Text)
tasId = lens _tasId (\ s a -> s{_tasId = a})
tasUpdated :: Lens' TaskList (Maybe UTCTime)
tasUpdated
= lens _tasUpdated (\ s a -> s{_tasUpdated = a}) .
mapping _DateTime
tasTitle :: Lens' TaskList (Maybe Text)
tasTitle = lens _tasTitle (\ s a -> s{_tasTitle = a})
instance FromJSON TaskList where
parseJSON
= withObject "TaskList"
(\ o ->
TaskList' <$>
(o .:? "etag") <*>
(o .:? "kind" .!= "tasks#taskList")
<*> (o .:? "selfLink")
<*> (o .:? "id")
<*> (o .:? "updated")
<*> (o .:? "title"))
instance ToJSON TaskList where
toJSON TaskList'{..}
= object
(catMaybes
[("etag" .=) <$> _tasEtag, Just ("kind" .= _tasKind),
("selfLink" .=) <$> _tasSelfLink,
("id" .=) <$> _tasId, ("updated" .=) <$> _tasUpdated,
("title" .=) <$> _tasTitle])
data Task = Task'
{ _ttParent :: !(Maybe Text)
, _ttStatus :: !(Maybe Text)
, _ttDue :: !(Maybe DateTime')
, _ttEtag :: !(Maybe Text)
, _ttKind :: !Text
, _ttSelfLink :: !(Maybe Text)
, _ttHidden :: !(Maybe Bool)
, _ttCompleted :: !(Maybe DateTime')
, _ttId :: !(Maybe Text)
, _ttDeleted :: !(Maybe Bool)
, _ttUpdated :: !(Maybe DateTime')
, _ttTitle :: !(Maybe Text)
, _ttLinks :: !(Maybe [TaskLinksItem])
, _ttNotes :: !(Maybe Text)
, _ttPosition :: !(Maybe Text)
} deriving (Eq,Show,Data,Typeable,Generic)
task
:: Task
task =
Task'
{ _ttParent = Nothing
, _ttStatus = Nothing
, _ttDue = Nothing
, _ttEtag = Nothing
, _ttKind = "tasks#task"
, _ttSelfLink = Nothing
, _ttHidden = Nothing
, _ttCompleted = Nothing
, _ttId = Nothing
, _ttDeleted = Nothing
, _ttUpdated = Nothing
, _ttTitle = Nothing
, _ttLinks = Nothing
, _ttNotes = Nothing
, _ttPosition = Nothing
}
ttParent :: Lens' Task (Maybe Text)
ttParent = lens _ttParent (\ s a -> s{_ttParent = a})
ttStatus :: Lens' Task (Maybe Text)
ttStatus = lens _ttStatus (\ s a -> s{_ttStatus = a})
ttDue :: Lens' Task (Maybe UTCTime)
ttDue
= lens _ttDue (\ s a -> s{_ttDue = a}) .
mapping _DateTime
ttEtag :: Lens' Task (Maybe Text)
ttEtag = lens _ttEtag (\ s a -> s{_ttEtag = a})
ttKind :: Lens' Task Text
ttKind = lens _ttKind (\ s a -> s{_ttKind = a})
ttSelfLink :: Lens' Task (Maybe Text)
ttSelfLink
= lens _ttSelfLink (\ s a -> s{_ttSelfLink = a})
ttHidden :: Lens' Task (Maybe Bool)
ttHidden = lens _ttHidden (\ s a -> s{_ttHidden = a})
ttCompleted :: Lens' Task (Maybe UTCTime)
ttCompleted
= lens _ttCompleted (\ s a -> s{_ttCompleted = a}) .
mapping _DateTime
ttId :: Lens' Task (Maybe Text)
ttId = lens _ttId (\ s a -> s{_ttId = a})
ttDeleted :: Lens' Task (Maybe Bool)
ttDeleted
= lens _ttDeleted (\ s a -> s{_ttDeleted = a})
ttUpdated :: Lens' Task (Maybe UTCTime)
ttUpdated
= lens _ttUpdated (\ s a -> s{_ttUpdated = a}) .
mapping _DateTime
ttTitle :: Lens' Task (Maybe Text)
ttTitle = lens _ttTitle (\ s a -> s{_ttTitle = a})
ttLinks :: Lens' Task [TaskLinksItem]
ttLinks
= lens _ttLinks (\ s a -> s{_ttLinks = a}) . _Default
. _Coerce
ttNotes :: Lens' Task (Maybe Text)
ttNotes = lens _ttNotes (\ s a -> s{_ttNotes = a})
ttPosition :: Lens' Task (Maybe Text)
ttPosition
= lens _ttPosition (\ s a -> s{_ttPosition = a})
instance FromJSON Task where
parseJSON
= withObject "Task"
(\ o ->
Task' <$>
(o .:? "parent") <*> (o .:? "status") <*>
(o .:? "due")
<*> (o .:? "etag")
<*> (o .:? "kind" .!= "tasks#task")
<*> (o .:? "selfLink")
<*> (o .:? "hidden")
<*> (o .:? "completed")
<*> (o .:? "id")
<*> (o .:? "deleted")
<*> (o .:? "updated")
<*> (o .:? "title")
<*> (o .:? "links" .!= mempty)
<*> (o .:? "notes")
<*> (o .:? "position"))
instance ToJSON Task where
toJSON Task'{..}
= object
(catMaybes
[("parent" .=) <$> _ttParent,
("status" .=) <$> _ttStatus, ("due" .=) <$> _ttDue,
("etag" .=) <$> _ttEtag, Just ("kind" .= _ttKind),
("selfLink" .=) <$> _ttSelfLink,
("hidden" .=) <$> _ttHidden,
("completed" .=) <$> _ttCompleted,
("id" .=) <$> _ttId, ("deleted" .=) <$> _ttDeleted,
("updated" .=) <$> _ttUpdated,
("title" .=) <$> _ttTitle, ("links" .=) <$> _ttLinks,
("notes" .=) <$> _ttNotes,
("position" .=) <$> _ttPosition])