{-# 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.AbusiveExperienceReport.Types.Product where
import Network.Google.AbusiveExperienceReport.Types.Sum
import Network.Google.Prelude
data SiteSummaryResponse = SiteSummaryResponse'
{ _ssrAbusiveStatus :: !(Maybe SiteSummaryResponseAbusiveStatus)
, _ssrEnforcementTime :: !(Maybe DateTime')
, _ssrLastChangeTime :: !(Maybe DateTime')
, _ssrFilterStatus :: !(Maybe SiteSummaryResponseFilterStatus)
, _ssrUnderReview :: !(Maybe Bool)
, _ssrReportURL :: !(Maybe Text)
, _ssrReviewedSite :: !(Maybe Text)
} deriving (Eq,Show,Data,Typeable,Generic)
siteSummaryResponse
:: SiteSummaryResponse
siteSummaryResponse =
SiteSummaryResponse'
{ _ssrAbusiveStatus = Nothing
, _ssrEnforcementTime = Nothing
, _ssrLastChangeTime = Nothing
, _ssrFilterStatus = Nothing
, _ssrUnderReview = Nothing
, _ssrReportURL = Nothing
, _ssrReviewedSite = Nothing
}
ssrAbusiveStatus :: Lens' SiteSummaryResponse (Maybe SiteSummaryResponseAbusiveStatus)
ssrAbusiveStatus
= lens _ssrAbusiveStatus
(\ s a -> s{_ssrAbusiveStatus = a})
ssrEnforcementTime :: Lens' SiteSummaryResponse (Maybe UTCTime)
ssrEnforcementTime
= lens _ssrEnforcementTime
(\ s a -> s{_ssrEnforcementTime = a})
. mapping _DateTime
ssrLastChangeTime :: Lens' SiteSummaryResponse (Maybe UTCTime)
ssrLastChangeTime
= lens _ssrLastChangeTime
(\ s a -> s{_ssrLastChangeTime = a})
. mapping _DateTime
ssrFilterStatus :: Lens' SiteSummaryResponse (Maybe SiteSummaryResponseFilterStatus)
ssrFilterStatus
= lens _ssrFilterStatus
(\ s a -> s{_ssrFilterStatus = a})
ssrUnderReview :: Lens' SiteSummaryResponse (Maybe Bool)
ssrUnderReview
= lens _ssrUnderReview
(\ s a -> s{_ssrUnderReview = a})
ssrReportURL :: Lens' SiteSummaryResponse (Maybe Text)
ssrReportURL
= lens _ssrReportURL (\ s a -> s{_ssrReportURL = a})
ssrReviewedSite :: Lens' SiteSummaryResponse (Maybe Text)
ssrReviewedSite
= lens _ssrReviewedSite
(\ s a -> s{_ssrReviewedSite = a})
instance FromJSON SiteSummaryResponse where
parseJSON
= withObject "SiteSummaryResponse"
(\ o ->
SiteSummaryResponse' <$>
(o .:? "abusiveStatus") <*> (o .:? "enforcementTime")
<*> (o .:? "lastChangeTime")
<*> (o .:? "filterStatus")
<*> (o .:? "underReview")
<*> (o .:? "reportUrl")
<*> (o .:? "reviewedSite"))
instance ToJSON SiteSummaryResponse where
toJSON SiteSummaryResponse'{..}
= object
(catMaybes
[("abusiveStatus" .=) <$> _ssrAbusiveStatus,
("enforcementTime" .=) <$> _ssrEnforcementTime,
("lastChangeTime" .=) <$> _ssrLastChangeTime,
("filterStatus" .=) <$> _ssrFilterStatus,
("underReview" .=) <$> _ssrUnderReview,
("reportUrl" .=) <$> _ssrReportURL,
("reviewedSite" .=) <$> _ssrReviewedSite])
newtype ViolatingSitesResponse = ViolatingSitesResponse'
{ _vsrViolatingSites :: Maybe [SiteSummaryResponse]
} deriving (Eq,Show,Data,Typeable,Generic)
violatingSitesResponse
:: ViolatingSitesResponse
violatingSitesResponse =
ViolatingSitesResponse'
{ _vsrViolatingSites = Nothing
}
vsrViolatingSites :: Lens' ViolatingSitesResponse [SiteSummaryResponse]
vsrViolatingSites
= lens _vsrViolatingSites
(\ s a -> s{_vsrViolatingSites = a})
. _Default
. _Coerce
instance FromJSON ViolatingSitesResponse where
parseJSON
= withObject "ViolatingSitesResponse"
(\ o ->
ViolatingSitesResponse' <$>
(o .:? "violatingSites" .!= mempty))
instance ToJSON ViolatingSitesResponse where
toJSON ViolatingSitesResponse'{..}
= object
(catMaybes
[("violatingSites" .=) <$> _vsrViolatingSites])