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)
} deriving (Eq,Show,Data,Typeable,Generic)
report
:: Report
report =
Report
{ _rJobId = Nothing
, _rStartTime = Nothing
, _rDownloadURL = Nothing
, _rEndTime = Nothing
, _rId = Nothing
, _rCreateTime = 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})
instance FromJSON Report where
parseJSON
= withObject "Report"
(\ o ->
Report <$>
(o .:? "jobId") <*> (o .:? "startTime") <*>
(o .:? "downloadUrl")
<*> (o .:? "endTime")
<*> (o .:? "id")
<*> (o .:? "createTime"))
instance ToJSON Report where
toJSON Report{..}
= object
(catMaybes
[("jobId" .=) <$> _rJobId,
("startTime" .=) <$> _rStartTime,
("downloadUrl" .=) <$> _rDownloadURL,
("endTime" .=) <$> _rEndTime, ("id" .=) <$> _rId,
("createTime" .=) <$> _rCreateTime])
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)
, _jReportTypeId :: !(Maybe Text)
, _jCreateTime :: !(Maybe Text)
} deriving (Eq,Show,Data,Typeable,Generic)
job
:: Job
job =
Job
{ _jName = Nothing
, _jId = Nothing
, _jReportTypeId = 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})
jReportTypeId :: Lens' Job (Maybe Text)
jReportTypeId
= lens _jReportTypeId
(\ s a -> s{_jReportTypeId = 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 .:? "reportTypeId")
<*> (o .:? "createTime"))
instance ToJSON Job where
toJSON Job{..}
= object
(catMaybes
[("name" .=) <$> _jName, ("id" .=) <$> _jId,
("reportTypeId" .=) <$> _jReportTypeId,
("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)
} deriving (Eq,Show,Data,Typeable,Generic)
reportType
:: ReportType
reportType =
ReportType
{ _rtName = Nothing
, _rtId = 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})
instance FromJSON ReportType where
parseJSON
= withObject "ReportType"
(\ o ->
ReportType <$> (o .:? "name") <*> (o .:? "id"))
instance ToJSON ReportType where
toJSON ReportType{..}
= object
(catMaybes
[("name" .=) <$> _rtName, ("id" .=) <$> _rtId])