module Network.Google.YouTubeReporting.Types.Product where
import Network.Google.Prelude
import Network.Google.YouTubeReporting.Types.Sum
data ListReportsResponse = ListReportsResponse'
{ _lrrNextPageToken :: !(Maybe Text)
, _lrrReports :: !(Maybe [Report])
} deriving (Eq,Show,Data,Typeable,Generic)
listReportsResponse
:: ListReportsResponse
listReportsResponse =
ListReportsResponse'
{ _lrrNextPageToken = Nothing
, _lrrReports = Nothing
}
lrrNextPageToken :: Lens' ListReportsResponse (Maybe Text)
lrrNextPageToken
= lens _lrrNextPageToken
(\ s a -> s{_lrrNextPageToken = a})
lrrReports :: Lens' ListReportsResponse [Report]
lrrReports
= lens _lrrReports (\ s a -> s{_lrrReports = a}) .
_Default
. _Coerce
instance FromJSON ListReportsResponse where
parseJSON
= withObject "ListReportsResponse"
(\ o ->
ListReportsResponse' <$>
(o .:? "nextPageToken") <*>
(o .:? "reports" .!= mempty))
instance ToJSON ListReportsResponse where
toJSON ListReportsResponse'{..}
= object
(catMaybes
[("nextPageToken" .=) <$> _lrrNextPageToken,
("reports" .=) <$> _lrrReports])
data Empty =
Empty'
deriving (Eq,Show,Data,Typeable,Generic)
empty
:: Empty
empty = Empty'
instance FromJSON Empty where
parseJSON = withObject "Empty" (\ o -> pure Empty')
instance ToJSON Empty where
toJSON = const emptyObject
data Report = Report'
{ _rJobId :: !(Maybe Text)
, _rStartTime :: !(Maybe Text)
, _rDownloadURL :: !(Maybe Text)
, _rEndTime :: !(Maybe Text)
, _rId :: !(Maybe Text)
, _rCreateTime :: !(Maybe Text)
, _rJobExpireTime :: !(Maybe Text)
} deriving (Eq,Show,Data,Typeable,Generic)
report
:: Report
report =
Report'
{ _rJobId = Nothing
, _rStartTime = Nothing
, _rDownloadURL = Nothing
, _rEndTime = Nothing
, _rId = Nothing
, _rCreateTime = Nothing
, _rJobExpireTime = Nothing
}
rJobId :: Lens' Report (Maybe Text)
rJobId = lens _rJobId (\ s a -> s{_rJobId = a})
rStartTime :: Lens' Report (Maybe Text)
rStartTime
= lens _rStartTime (\ s a -> s{_rStartTime = a})
rDownloadURL :: Lens' Report (Maybe Text)
rDownloadURL
= lens _rDownloadURL (\ s a -> s{_rDownloadURL = a})
rEndTime :: Lens' Report (Maybe Text)
rEndTime = lens _rEndTime (\ s a -> s{_rEndTime = a})
rId :: Lens' Report (Maybe Text)
rId = lens _rId (\ s a -> s{_rId = a})
rCreateTime :: Lens' Report (Maybe Text)
rCreateTime
= lens _rCreateTime (\ s a -> s{_rCreateTime = a})
rJobExpireTime :: Lens' Report (Maybe Text)
rJobExpireTime
= lens _rJobExpireTime
(\ s a -> s{_rJobExpireTime = a})
instance FromJSON Report where
parseJSON
= withObject "Report"
(\ o ->
Report' <$>
(o .:? "jobId") <*> (o .:? "startTime") <*>
(o .:? "downloadUrl")
<*> (o .:? "endTime")
<*> (o .:? "id")
<*> (o .:? "createTime")
<*> (o .:? "jobExpireTime"))
instance ToJSON Report where
toJSON Report'{..}
= object
(catMaybes
[("jobId" .=) <$> _rJobId,
("startTime" .=) <$> _rStartTime,
("downloadUrl" .=) <$> _rDownloadURL,
("endTime" .=) <$> _rEndTime, ("id" .=) <$> _rId,
("createTime" .=) <$> _rCreateTime,
("jobExpireTime" .=) <$> _rJobExpireTime])
data ListReportTypesResponse = ListReportTypesResponse'
{ _lrtrNextPageToken :: !(Maybe Text)
, _lrtrReportTypes :: !(Maybe [ReportType])
} deriving (Eq,Show,Data,Typeable,Generic)
listReportTypesResponse
:: ListReportTypesResponse
listReportTypesResponse =
ListReportTypesResponse'
{ _lrtrNextPageToken = Nothing
, _lrtrReportTypes = Nothing
}
lrtrNextPageToken :: Lens' ListReportTypesResponse (Maybe Text)
lrtrNextPageToken
= lens _lrtrNextPageToken
(\ s a -> s{_lrtrNextPageToken = a})
lrtrReportTypes :: Lens' ListReportTypesResponse [ReportType]
lrtrReportTypes
= lens _lrtrReportTypes
(\ s a -> s{_lrtrReportTypes = a})
. _Default
. _Coerce
instance FromJSON ListReportTypesResponse where
parseJSON
= withObject "ListReportTypesResponse"
(\ o ->
ListReportTypesResponse' <$>
(o .:? "nextPageToken") <*>
(o .:? "reportTypes" .!= mempty))
instance ToJSON ListReportTypesResponse where
toJSON ListReportTypesResponse'{..}
= object
(catMaybes
[("nextPageToken" .=) <$> _lrtrNextPageToken,
("reportTypes" .=) <$> _lrtrReportTypes])
newtype Media = Media'
{ _mResourceName :: Maybe Text
} deriving (Eq,Show,Data,Typeable,Generic)
media
:: Media
media =
Media'
{ _mResourceName = Nothing
}
mResourceName :: Lens' Media (Maybe Text)
mResourceName
= lens _mResourceName
(\ s a -> s{_mResourceName = a})
instance FromJSON Media where
parseJSON
= withObject "Media"
(\ o -> Media' <$> (o .:? "resourceName"))
instance ToJSON Media where
toJSON Media'{..}
= object
(catMaybes [("resourceName" .=) <$> _mResourceName])
data Job = Job'
{ _jName :: !(Maybe Text)
, _jId :: !(Maybe Text)
, _jSystemManaged :: !(Maybe Bool)
, _jReportTypeId :: !(Maybe Text)
, _jExpireTime :: !(Maybe Text)
, _jCreateTime :: !(Maybe Text)
} deriving (Eq,Show,Data,Typeable,Generic)
job
:: Job
job =
Job'
{ _jName = Nothing
, _jId = Nothing
, _jSystemManaged = Nothing
, _jReportTypeId = Nothing
, _jExpireTime = Nothing
, _jCreateTime = Nothing
}
jName :: Lens' Job (Maybe Text)
jName = lens _jName (\ s a -> s{_jName = a})
jId :: Lens' Job (Maybe Text)
jId = lens _jId (\ s a -> s{_jId = a})
jSystemManaged :: Lens' Job (Maybe Bool)
jSystemManaged
= lens _jSystemManaged
(\ s a -> s{_jSystemManaged = a})
jReportTypeId :: Lens' Job (Maybe Text)
jReportTypeId
= lens _jReportTypeId
(\ s a -> s{_jReportTypeId = a})
jExpireTime :: Lens' Job (Maybe Text)
jExpireTime
= lens _jExpireTime (\ s a -> s{_jExpireTime = a})
jCreateTime :: Lens' Job (Maybe Text)
jCreateTime
= lens _jCreateTime (\ s a -> s{_jCreateTime = a})
instance FromJSON Job where
parseJSON
= withObject "Job"
(\ o ->
Job' <$>
(o .:? "name") <*> (o .:? "id") <*>
(o .:? "systemManaged")
<*> (o .:? "reportTypeId")
<*> (o .:? "expireTime")
<*> (o .:? "createTime"))
instance ToJSON Job where
toJSON Job'{..}
= object
(catMaybes
[("name" .=) <$> _jName, ("id" .=) <$> _jId,
("systemManaged" .=) <$> _jSystemManaged,
("reportTypeId" .=) <$> _jReportTypeId,
("expireTime" .=) <$> _jExpireTime,
("createTime" .=) <$> _jCreateTime])
data ListJobsResponse = ListJobsResponse'
{ _ljrNextPageToken :: !(Maybe Text)
, _ljrJobs :: !(Maybe [Job])
} deriving (Eq,Show,Data,Typeable,Generic)
listJobsResponse
:: ListJobsResponse
listJobsResponse =
ListJobsResponse'
{ _ljrNextPageToken = Nothing
, _ljrJobs = Nothing
}
ljrNextPageToken :: Lens' ListJobsResponse (Maybe Text)
ljrNextPageToken
= lens _ljrNextPageToken
(\ s a -> s{_ljrNextPageToken = a})
ljrJobs :: Lens' ListJobsResponse [Job]
ljrJobs
= lens _ljrJobs (\ s a -> s{_ljrJobs = a}) . _Default
. _Coerce
instance FromJSON ListJobsResponse where
parseJSON
= withObject "ListJobsResponse"
(\ o ->
ListJobsResponse' <$>
(o .:? "nextPageToken") <*>
(o .:? "jobs" .!= mempty))
instance ToJSON ListJobsResponse where
toJSON ListJobsResponse'{..}
= object
(catMaybes
[("nextPageToken" .=) <$> _ljrNextPageToken,
("jobs" .=) <$> _ljrJobs])
data ReportType = ReportType'
{ _rtName :: !(Maybe Text)
, _rtId :: !(Maybe Text)
, _rtDeprecateTime :: !(Maybe Text)
, _rtSystemManaged :: !(Maybe Bool)
} deriving (Eq,Show,Data,Typeable,Generic)
reportType
:: ReportType
reportType =
ReportType'
{ _rtName = Nothing
, _rtId = Nothing
, _rtDeprecateTime = Nothing
, _rtSystemManaged = Nothing
}
rtName :: Lens' ReportType (Maybe Text)
rtName = lens _rtName (\ s a -> s{_rtName = a})
rtId :: Lens' ReportType (Maybe Text)
rtId = lens _rtId (\ s a -> s{_rtId = a})
rtDeprecateTime :: Lens' ReportType (Maybe Text)
rtDeprecateTime
= lens _rtDeprecateTime
(\ s a -> s{_rtDeprecateTime = a})
rtSystemManaged :: Lens' ReportType (Maybe Bool)
rtSystemManaged
= lens _rtSystemManaged
(\ s a -> s{_rtSystemManaged = a})
instance FromJSON ReportType where
parseJSON
= withObject "ReportType"
(\ o ->
ReportType' <$>
(o .:? "name") <*> (o .:? "id") <*>
(o .:? "deprecateTime")
<*> (o .:? "systemManaged"))
instance ToJSON ReportType where
toJSON ReportType'{..}
= object
(catMaybes
[("name" .=) <$> _rtName, ("id" .=) <$> _rtId,
("deprecateTime" .=) <$> _rtDeprecateTime,
("systemManaged" .=) <$> _rtSystemManaged])