module Network.Google.DoubleClickSearch.Types.Product where
import Network.Google.DoubleClickSearch.Types.Sum
import Network.Google.Prelude
newtype ReportRow = ReportRow'
{ _rrAddtional :: HashMap Text JSONValue
} deriving (Eq,Show,Data,Typeable,Generic)
reportRow
:: HashMap Text JSONValue
-> ReportRow
reportRow pRrAddtional_ =
ReportRow'
{ _rrAddtional = _Coerce # pRrAddtional_
}
rrAddtional :: Lens' ReportRow (HashMap Text JSONValue)
rrAddtional
= lens _rrAddtional (\ s a -> s{_rrAddtional = a}) .
_Coerce
instance FromJSON ReportRow where
parseJSON
= withObject "ReportRow"
(\ o -> ReportRow' <$> (parseJSONObject o))
instance ToJSON ReportRow where
toJSON = toJSON . _rrAddtional
data ReportRequest = ReportRequest'
{ _rrMaxRowsPerFile :: !(Maybe (Textual Int32))
, _rrReportScope :: !(Maybe ReportRequestReportScope)
, _rrStatisticsCurrency :: !(Maybe Text)
, _rrTimeRange :: !(Maybe ReportRequestTimeRange)
, _rrOrderBy :: !(Maybe [ReportRequestOrderByItem])
, _rrFilters :: !(Maybe [ReportRequestFiltersItem])
, _rrIncludeRemovedEntities :: !Bool
, _rrIncludeDeletedEntities :: !Bool
, _rrDownloadFormat :: !(Maybe Text)
, _rrStartRow :: !(Textual Int32)
, _rrColumns :: !(Maybe [ReportAPIColumnSpec])
, _rrReportType :: !(Maybe Text)
, _rrVerifySingleTimeZone :: !Bool
, _rrRowCount :: !(Textual Int32)
} deriving (Eq,Show,Data,Typeable,Generic)
reportRequest
:: ReportRequest
reportRequest =
ReportRequest'
{ _rrMaxRowsPerFile = Nothing
, _rrReportScope = Nothing
, _rrStatisticsCurrency = Nothing
, _rrTimeRange = Nothing
, _rrOrderBy = Nothing
, _rrFilters = Nothing
, _rrIncludeRemovedEntities = False
, _rrIncludeDeletedEntities = False
, _rrDownloadFormat = Nothing
, _rrStartRow = 0
, _rrColumns = Nothing
, _rrReportType = Nothing
, _rrVerifySingleTimeZone = False
, _rrRowCount = 10000
}
rrMaxRowsPerFile :: Lens' ReportRequest (Maybe Int32)
rrMaxRowsPerFile
= lens _rrMaxRowsPerFile
(\ s a -> s{_rrMaxRowsPerFile = a})
. mapping _Coerce
rrReportScope :: Lens' ReportRequest (Maybe ReportRequestReportScope)
rrReportScope
= lens _rrReportScope
(\ s a -> s{_rrReportScope = a})
rrStatisticsCurrency :: Lens' ReportRequest (Maybe Text)
rrStatisticsCurrency
= lens _rrStatisticsCurrency
(\ s a -> s{_rrStatisticsCurrency = a})
rrTimeRange :: Lens' ReportRequest (Maybe ReportRequestTimeRange)
rrTimeRange
= lens _rrTimeRange (\ s a -> s{_rrTimeRange = a})
rrOrderBy :: Lens' ReportRequest [ReportRequestOrderByItem]
rrOrderBy
= lens _rrOrderBy (\ s a -> s{_rrOrderBy = a}) .
_Default
. _Coerce
rrFilters :: Lens' ReportRequest [ReportRequestFiltersItem]
rrFilters
= lens _rrFilters (\ s a -> s{_rrFilters = a}) .
_Default
. _Coerce
rrIncludeRemovedEntities :: Lens' ReportRequest Bool
rrIncludeRemovedEntities
= lens _rrIncludeRemovedEntities
(\ s a -> s{_rrIncludeRemovedEntities = a})
rrIncludeDeletedEntities :: Lens' ReportRequest Bool
rrIncludeDeletedEntities
= lens _rrIncludeDeletedEntities
(\ s a -> s{_rrIncludeDeletedEntities = a})
rrDownloadFormat :: Lens' ReportRequest (Maybe Text)
rrDownloadFormat
= lens _rrDownloadFormat
(\ s a -> s{_rrDownloadFormat = a})
rrStartRow :: Lens' ReportRequest Int32
rrStartRow
= lens _rrStartRow (\ s a -> s{_rrStartRow = a}) .
_Coerce
rrColumns :: Lens' ReportRequest [ReportAPIColumnSpec]
rrColumns
= lens _rrColumns (\ s a -> s{_rrColumns = a}) .
_Default
. _Coerce
rrReportType :: Lens' ReportRequest (Maybe Text)
rrReportType
= lens _rrReportType (\ s a -> s{_rrReportType = a})
rrVerifySingleTimeZone :: Lens' ReportRequest Bool
rrVerifySingleTimeZone
= lens _rrVerifySingleTimeZone
(\ s a -> s{_rrVerifySingleTimeZone = a})
rrRowCount :: Lens' ReportRequest Int32
rrRowCount
= lens _rrRowCount (\ s a -> s{_rrRowCount = a}) .
_Coerce
instance FromJSON ReportRequest where
parseJSON
= withObject "ReportRequest"
(\ o ->
ReportRequest' <$>
(o .:? "maxRowsPerFile") <*> (o .:? "reportScope")
<*> (o .:? "statisticsCurrency")
<*> (o .:? "timeRange")
<*> (o .:? "orderBy" .!= mempty)
<*> (o .:? "filters" .!= mempty)
<*> (o .:? "includeRemovedEntities" .!= False)
<*> (o .:? "includeDeletedEntities" .!= False)
<*> (o .:? "downloadFormat")
<*> (o .:? "startRow" .!= 0)
<*> (o .:? "columns" .!= mempty)
<*> (o .:? "reportType")
<*> (o .:? "verifySingleTimeZone" .!= False)
<*> (o .:? "rowCount" .!= 10000))
instance ToJSON ReportRequest where
toJSON ReportRequest'{..}
= object
(catMaybes
[("maxRowsPerFile" .=) <$> _rrMaxRowsPerFile,
("reportScope" .=) <$> _rrReportScope,
("statisticsCurrency" .=) <$> _rrStatisticsCurrency,
("timeRange" .=) <$> _rrTimeRange,
("orderBy" .=) <$> _rrOrderBy,
("filters" .=) <$> _rrFilters,
Just
("includeRemovedEntities" .=
_rrIncludeRemovedEntities),
Just
("includeDeletedEntities" .=
_rrIncludeDeletedEntities),
("downloadFormat" .=) <$> _rrDownloadFormat,
Just ("startRow" .= _rrStartRow),
("columns" .=) <$> _rrColumns,
("reportType" .=) <$> _rrReportType,
Just
("verifySingleTimeZone" .= _rrVerifySingleTimeZone),
Just ("rowCount" .= _rrRowCount)])
data ReportRequestOrderByItem = ReportRequestOrderByItem'
{ _rrobiSortOrder :: !(Maybe Text)
, _rrobiColumn :: !(Maybe ReportAPIColumnSpec)
} deriving (Eq,Show,Data,Typeable,Generic)
reportRequestOrderByItem
:: ReportRequestOrderByItem
reportRequestOrderByItem =
ReportRequestOrderByItem'
{ _rrobiSortOrder = Nothing
, _rrobiColumn = Nothing
}
rrobiSortOrder :: Lens' ReportRequestOrderByItem (Maybe Text)
rrobiSortOrder
= lens _rrobiSortOrder
(\ s a -> s{_rrobiSortOrder = a})
rrobiColumn :: Lens' ReportRequestOrderByItem (Maybe ReportAPIColumnSpec)
rrobiColumn
= lens _rrobiColumn (\ s a -> s{_rrobiColumn = a})
instance FromJSON ReportRequestOrderByItem where
parseJSON
= withObject "ReportRequestOrderByItem"
(\ o ->
ReportRequestOrderByItem' <$>
(o .:? "sortOrder") <*> (o .:? "column"))
instance ToJSON ReportRequestOrderByItem where
toJSON ReportRequestOrderByItem'{..}
= object
(catMaybes
[("sortOrder" .=) <$> _rrobiSortOrder,
("column" .=) <$> _rrobiColumn])
data Report = Report'
{ _rKind :: !Text
, _rRows :: !(Maybe [ReportRow])
, _rStatisticsCurrencyCode :: !(Maybe Text)
, _rIsReportReady :: !(Maybe Bool)
, _rFiles :: !(Maybe [ReportFilesItem])
, _rId :: !(Maybe Text)
, _rStatisticsTimeZone :: !(Maybe Text)
, _rRowCount :: !(Maybe (Textual Int32))
, _rRequest :: !(Maybe ReportRequest)
} deriving (Eq,Show,Data,Typeable,Generic)
report
:: Report
report =
Report'
{ _rKind = "doubleclicksearch#report"
, _rRows = Nothing
, _rStatisticsCurrencyCode = Nothing
, _rIsReportReady = Nothing
, _rFiles = Nothing
, _rId = Nothing
, _rStatisticsTimeZone = Nothing
, _rRowCount = Nothing
, _rRequest = Nothing
}
rKind :: Lens' Report Text
rKind = lens _rKind (\ s a -> s{_rKind = a})
rRows :: Lens' Report [ReportRow]
rRows
= lens _rRows (\ s a -> s{_rRows = a}) . _Default .
_Coerce
rStatisticsCurrencyCode :: Lens' Report (Maybe Text)
rStatisticsCurrencyCode
= lens _rStatisticsCurrencyCode
(\ s a -> s{_rStatisticsCurrencyCode = a})
rIsReportReady :: Lens' Report (Maybe Bool)
rIsReportReady
= lens _rIsReportReady
(\ s a -> s{_rIsReportReady = a})
rFiles :: Lens' Report [ReportFilesItem]
rFiles
= lens _rFiles (\ s a -> s{_rFiles = a}) . _Default .
_Coerce
rId :: Lens' Report (Maybe Text)
rId = lens _rId (\ s a -> s{_rId = a})
rStatisticsTimeZone :: Lens' Report (Maybe Text)
rStatisticsTimeZone
= lens _rStatisticsTimeZone
(\ s a -> s{_rStatisticsTimeZone = a})
rRowCount :: Lens' Report (Maybe Int32)
rRowCount
= lens _rRowCount (\ s a -> s{_rRowCount = a}) .
mapping _Coerce
rRequest :: Lens' Report (Maybe ReportRequest)
rRequest = lens _rRequest (\ s a -> s{_rRequest = a})
instance FromJSON Report where
parseJSON
= withObject "Report"
(\ o ->
Report' <$>
(o .:? "kind" .!= "doubleclicksearch#report") <*>
(o .:? "rows" .!= mempty)
<*> (o .:? "statisticsCurrencyCode")
<*> (o .:? "isReportReady")
<*> (o .:? "files" .!= mempty)
<*> (o .:? "id")
<*> (o .:? "statisticsTimeZone")
<*> (o .:? "rowCount")
<*> (o .:? "request"))
instance ToJSON Report where
toJSON Report'{..}
= object
(catMaybes
[Just ("kind" .= _rKind), ("rows" .=) <$> _rRows,
("statisticsCurrencyCode" .=) <$>
_rStatisticsCurrencyCode,
("isReportReady" .=) <$> _rIsReportReady,
("files" .=) <$> _rFiles, ("id" .=) <$> _rId,
("statisticsTimeZone" .=) <$> _rStatisticsTimeZone,
("rowCount" .=) <$> _rRowCount,
("request" .=) <$> _rRequest])
data ReportFilesItem = ReportFilesItem'
{ _rfiURL :: !(Maybe Text)
, _rfiByteCount :: !(Maybe (Textual Int64))
} deriving (Eq,Show,Data,Typeable,Generic)
reportFilesItem
:: ReportFilesItem
reportFilesItem =
ReportFilesItem'
{ _rfiURL = Nothing
, _rfiByteCount = Nothing
}
rfiURL :: Lens' ReportFilesItem (Maybe Text)
rfiURL = lens _rfiURL (\ s a -> s{_rfiURL = a})
rfiByteCount :: Lens' ReportFilesItem (Maybe Int64)
rfiByteCount
= lens _rfiByteCount (\ s a -> s{_rfiByteCount = a})
. mapping _Coerce
instance FromJSON ReportFilesItem where
parseJSON
= withObject "ReportFilesItem"
(\ o ->
ReportFilesItem' <$>
(o .:? "url") <*> (o .:? "byteCount"))
instance ToJSON ReportFilesItem where
toJSON ReportFilesItem'{..}
= object
(catMaybes
[("url" .=) <$> _rfiURL,
("byteCount" .=) <$> _rfiByteCount])
data ReportRequestFiltersItem = ReportRequestFiltersItem'
{ _rrfiOperator :: !(Maybe Text)
, _rrfiValues :: !(Maybe [JSONValue])
, _rrfiColumn :: !(Maybe ReportAPIColumnSpec)
} deriving (Eq,Show,Data,Typeable,Generic)
reportRequestFiltersItem
:: ReportRequestFiltersItem
reportRequestFiltersItem =
ReportRequestFiltersItem'
{ _rrfiOperator = Nothing
, _rrfiValues = Nothing
, _rrfiColumn = Nothing
}
rrfiOperator :: Lens' ReportRequestFiltersItem (Maybe Text)
rrfiOperator
= lens _rrfiOperator (\ s a -> s{_rrfiOperator = a})
rrfiValues :: Lens' ReportRequestFiltersItem [JSONValue]
rrfiValues
= lens _rrfiValues (\ s a -> s{_rrfiValues = a}) .
_Default
. _Coerce
rrfiColumn :: Lens' ReportRequestFiltersItem (Maybe ReportAPIColumnSpec)
rrfiColumn
= lens _rrfiColumn (\ s a -> s{_rrfiColumn = a})
instance FromJSON ReportRequestFiltersItem where
parseJSON
= withObject "ReportRequestFiltersItem"
(\ o ->
ReportRequestFiltersItem' <$>
(o .:? "operator") <*> (o .:? "values" .!= mempty)
<*> (o .:? "column"))
instance ToJSON ReportRequestFiltersItem where
toJSON ReportRequestFiltersItem'{..}
= object
(catMaybes
[("operator" .=) <$> _rrfiOperator,
("values" .=) <$> _rrfiValues,
("column" .=) <$> _rrfiColumn])
data Availability = Availability'
{ _aAgencyId :: !(Maybe (Textual Int64))
, _aAdvertiserId :: !(Maybe (Textual Int64))
, _aSegmentationId :: !(Maybe (Textual Int64))
, _aSegmentationName :: !(Maybe Text)
, _aAvailabilityTimestamp :: !(Maybe (Textual Word64))
, _aSegmentationType :: !(Maybe Text)
} deriving (Eq,Show,Data,Typeable,Generic)
availability
:: Availability
availability =
Availability'
{ _aAgencyId = Nothing
, _aAdvertiserId = Nothing
, _aSegmentationId = Nothing
, _aSegmentationName = Nothing
, _aAvailabilityTimestamp = Nothing
, _aSegmentationType = Nothing
}
aAgencyId :: Lens' Availability (Maybe Int64)
aAgencyId
= lens _aAgencyId (\ s a -> s{_aAgencyId = a}) .
mapping _Coerce
aAdvertiserId :: Lens' Availability (Maybe Int64)
aAdvertiserId
= lens _aAdvertiserId
(\ s a -> s{_aAdvertiserId = a})
. mapping _Coerce
aSegmentationId :: Lens' Availability (Maybe Int64)
aSegmentationId
= lens _aSegmentationId
(\ s a -> s{_aSegmentationId = a})
. mapping _Coerce
aSegmentationName :: Lens' Availability (Maybe Text)
aSegmentationName
= lens _aSegmentationName
(\ s a -> s{_aSegmentationName = a})
aAvailabilityTimestamp :: Lens' Availability (Maybe Word64)
aAvailabilityTimestamp
= lens _aAvailabilityTimestamp
(\ s a -> s{_aAvailabilityTimestamp = a})
. mapping _Coerce
aSegmentationType :: Lens' Availability (Maybe Text)
aSegmentationType
= lens _aSegmentationType
(\ s a -> s{_aSegmentationType = a})
instance FromJSON Availability where
parseJSON
= withObject "Availability"
(\ o ->
Availability' <$>
(o .:? "agencyId") <*> (o .:? "advertiserId") <*>
(o .:? "segmentationId")
<*> (o .:? "segmentationName")
<*> (o .:? "availabilityTimestamp")
<*> (o .:? "segmentationType"))
instance ToJSON Availability where
toJSON Availability'{..}
= object
(catMaybes
[("agencyId" .=) <$> _aAgencyId,
("advertiserId" .=) <$> _aAdvertiserId,
("segmentationId" .=) <$> _aSegmentationId,
("segmentationName" .=) <$> _aSegmentationName,
("availabilityTimestamp" .=) <$>
_aAvailabilityTimestamp,
("segmentationType" .=) <$> _aSegmentationType])
newtype UpdateAvailabilityRequest = UpdateAvailabilityRequest'
{ _uarAvailabilities :: Maybe [Availability]
} deriving (Eq,Show,Data,Typeable,Generic)
updateAvailabilityRequest
:: UpdateAvailabilityRequest
updateAvailabilityRequest =
UpdateAvailabilityRequest'
{ _uarAvailabilities = Nothing
}
uarAvailabilities :: Lens' UpdateAvailabilityRequest [Availability]
uarAvailabilities
= lens _uarAvailabilities
(\ s a -> s{_uarAvailabilities = a})
. _Default
. _Coerce
instance FromJSON UpdateAvailabilityRequest where
parseJSON
= withObject "UpdateAvailabilityRequest"
(\ o ->
UpdateAvailabilityRequest' <$>
(o .:? "availabilities" .!= mempty))
instance ToJSON UpdateAvailabilityRequest where
toJSON UpdateAvailabilityRequest'{..}
= object
(catMaybes
[("availabilities" .=) <$> _uarAvailabilities])
data CustomMetric = CustomMetric'
{ _cmValue :: !(Maybe (Textual Double))
, _cmName :: !(Maybe Text)
} deriving (Eq,Show,Data,Typeable,Generic)
customMetric
:: CustomMetric
customMetric =
CustomMetric'
{ _cmValue = Nothing
, _cmName = Nothing
}
cmValue :: Lens' CustomMetric (Maybe Double)
cmValue
= lens _cmValue (\ s a -> s{_cmValue = a}) .
mapping _Coerce
cmName :: Lens' CustomMetric (Maybe Text)
cmName = lens _cmName (\ s a -> s{_cmName = a})
instance FromJSON CustomMetric where
parseJSON
= withObject "CustomMetric"
(\ o ->
CustomMetric' <$> (o .:? "value") <*> (o .:? "name"))
instance ToJSON CustomMetric where
toJSON CustomMetric'{..}
= object
(catMaybes
[("value" .=) <$> _cmValue, ("name" .=) <$> _cmName])
data ConversionList = ConversionList'
{ _clKind :: !Text
, _clConversion :: !(Maybe [Conversion])
} deriving (Eq,Show,Data,Typeable,Generic)
conversionList
:: ConversionList
conversionList =
ConversionList'
{ _clKind = "doubleclicksearch#conversionList"
, _clConversion = Nothing
}
clKind :: Lens' ConversionList Text
clKind = lens _clKind (\ s a -> s{_clKind = a})
clConversion :: Lens' ConversionList [Conversion]
clConversion
= lens _clConversion (\ s a -> s{_clConversion = a})
. _Default
. _Coerce
instance FromJSON ConversionList where
parseJSON
= withObject "ConversionList"
(\ o ->
ConversionList' <$>
(o .:? "kind" .!= "doubleclicksearch#conversionList")
<*> (o .:? "conversion" .!= mempty))
instance ToJSON ConversionList where
toJSON ConversionList'{..}
= object
(catMaybes
[Just ("kind" .= _clKind),
("conversion" .=) <$> _clConversion])
data ReportAPIColumnSpec = ReportAPIColumnSpec'
{ _racsCustomDimensionName :: !(Maybe Text)
, _racsSavedColumnName :: !(Maybe Text)
, _racsGroupByColumn :: !Bool
, _racsCustomMetricName :: !(Maybe Text)
, _racsEndDate :: !(Maybe Text)
, _racsProductReportPerspective :: !(Maybe Text)
, _racsStartDate :: !(Maybe Text)
, _racsHeaderText :: !(Maybe Text)
, _racsPlatformSource :: !(Maybe Text)
, _racsColumnName :: !(Maybe Text)
} deriving (Eq,Show,Data,Typeable,Generic)
reportAPIColumnSpec
:: ReportAPIColumnSpec
reportAPIColumnSpec =
ReportAPIColumnSpec'
{ _racsCustomDimensionName = Nothing
, _racsSavedColumnName = Nothing
, _racsGroupByColumn = False
, _racsCustomMetricName = Nothing
, _racsEndDate = Nothing
, _racsProductReportPerspective = Nothing
, _racsStartDate = Nothing
, _racsHeaderText = Nothing
, _racsPlatformSource = Nothing
, _racsColumnName = Nothing
}
racsCustomDimensionName :: Lens' ReportAPIColumnSpec (Maybe Text)
racsCustomDimensionName
= lens _racsCustomDimensionName
(\ s a -> s{_racsCustomDimensionName = a})
racsSavedColumnName :: Lens' ReportAPIColumnSpec (Maybe Text)
racsSavedColumnName
= lens _racsSavedColumnName
(\ s a -> s{_racsSavedColumnName = a})
racsGroupByColumn :: Lens' ReportAPIColumnSpec Bool
racsGroupByColumn
= lens _racsGroupByColumn
(\ s a -> s{_racsGroupByColumn = a})
racsCustomMetricName :: Lens' ReportAPIColumnSpec (Maybe Text)
racsCustomMetricName
= lens _racsCustomMetricName
(\ s a -> s{_racsCustomMetricName = a})
racsEndDate :: Lens' ReportAPIColumnSpec (Maybe Text)
racsEndDate
= lens _racsEndDate (\ s a -> s{_racsEndDate = a})
racsProductReportPerspective :: Lens' ReportAPIColumnSpec (Maybe Text)
racsProductReportPerspective
= lens _racsProductReportPerspective
(\ s a -> s{_racsProductReportPerspective = a})
racsStartDate :: Lens' ReportAPIColumnSpec (Maybe Text)
racsStartDate
= lens _racsStartDate
(\ s a -> s{_racsStartDate = a})
racsHeaderText :: Lens' ReportAPIColumnSpec (Maybe Text)
racsHeaderText
= lens _racsHeaderText
(\ s a -> s{_racsHeaderText = a})
racsPlatformSource :: Lens' ReportAPIColumnSpec (Maybe Text)
racsPlatformSource
= lens _racsPlatformSource
(\ s a -> s{_racsPlatformSource = a})
racsColumnName :: Lens' ReportAPIColumnSpec (Maybe Text)
racsColumnName
= lens _racsColumnName
(\ s a -> s{_racsColumnName = a})
instance FromJSON ReportAPIColumnSpec where
parseJSON
= withObject "ReportAPIColumnSpec"
(\ o ->
ReportAPIColumnSpec' <$>
(o .:? "customDimensionName") <*>
(o .:? "savedColumnName")
<*> (o .:? "groupByColumn" .!= False)
<*> (o .:? "customMetricName")
<*> (o .:? "endDate")
<*> (o .:? "productReportPerspective")
<*> (o .:? "startDate")
<*> (o .:? "headerText")
<*> (o .:? "platformSource")
<*> (o .:? "columnName"))
instance ToJSON ReportAPIColumnSpec where
toJSON ReportAPIColumnSpec'{..}
= object
(catMaybes
[("customDimensionName" .=) <$>
_racsCustomDimensionName,
("savedColumnName" .=) <$> _racsSavedColumnName,
Just ("groupByColumn" .= _racsGroupByColumn),
("customMetricName" .=) <$> _racsCustomMetricName,
("endDate" .=) <$> _racsEndDate,
("productReportPerspective" .=) <$>
_racsProductReportPerspective,
("startDate" .=) <$> _racsStartDate,
("headerText" .=) <$> _racsHeaderText,
("platformSource" .=) <$> _racsPlatformSource,
("columnName" .=) <$> _racsColumnName])
data ReportRequestTimeRange = ReportRequestTimeRange'
{ _rrtrEndDate :: !(Maybe Text)
, _rrtrChangedAttributesSinceTimestamp :: !(Maybe DateTime')
, _rrtrStartDate :: !(Maybe Text)
, _rrtrChangedMetricsSinceTimestamp :: !(Maybe DateTime')
} deriving (Eq,Show,Data,Typeable,Generic)
reportRequestTimeRange
:: ReportRequestTimeRange
reportRequestTimeRange =
ReportRequestTimeRange'
{ _rrtrEndDate = Nothing
, _rrtrChangedAttributesSinceTimestamp = Nothing
, _rrtrStartDate = Nothing
, _rrtrChangedMetricsSinceTimestamp = Nothing
}
rrtrEndDate :: Lens' ReportRequestTimeRange (Maybe Text)
rrtrEndDate
= lens _rrtrEndDate (\ s a -> s{_rrtrEndDate = a})
rrtrChangedAttributesSinceTimestamp :: Lens' ReportRequestTimeRange (Maybe UTCTime)
rrtrChangedAttributesSinceTimestamp
= lens _rrtrChangedAttributesSinceTimestamp
(\ s a ->
s{_rrtrChangedAttributesSinceTimestamp = a})
. mapping _DateTime
rrtrStartDate :: Lens' ReportRequestTimeRange (Maybe Text)
rrtrStartDate
= lens _rrtrStartDate
(\ s a -> s{_rrtrStartDate = a})
rrtrChangedMetricsSinceTimestamp :: Lens' ReportRequestTimeRange (Maybe UTCTime)
rrtrChangedMetricsSinceTimestamp
= lens _rrtrChangedMetricsSinceTimestamp
(\ s a -> s{_rrtrChangedMetricsSinceTimestamp = a})
. mapping _DateTime
instance FromJSON ReportRequestTimeRange where
parseJSON
= withObject "ReportRequestTimeRange"
(\ o ->
ReportRequestTimeRange' <$>
(o .:? "endDate") <*>
(o .:? "changedAttributesSinceTimestamp")
<*> (o .:? "startDate")
<*> (o .:? "changedMetricsSinceTimestamp"))
instance ToJSON ReportRequestTimeRange where
toJSON ReportRequestTimeRange'{..}
= object
(catMaybes
[("endDate" .=) <$> _rrtrEndDate,
("changedAttributesSinceTimestamp" .=) <$>
_rrtrChangedAttributesSinceTimestamp,
("startDate" .=) <$> _rrtrStartDate,
("changedMetricsSinceTimestamp" .=) <$>
_rrtrChangedMetricsSinceTimestamp])
data Conversion = Conversion'
{ _cAdGroupId :: !(Maybe (Textual Int64))
, _cConversionModifiedTimestamp :: !(Maybe (Textual Word64))
, _cState :: !(Maybe Text)
, _cEngineAccountId :: !(Maybe (Textual Int64))
, _cAgencyId :: !(Maybe (Textual Int64))
, _cCurrencyCode :: !(Maybe Text)
, _cStoreId :: !(Maybe Text)
, _cDsConversionId :: !(Maybe (Textual Int64))
, _cConversionId :: !(Maybe Text)
, _cAdvertiserId :: !(Maybe (Textual Int64))
, _cSegmentationId :: !(Maybe (Textual Int64))
, _cChannel :: !(Maybe Text)
, _cProductCountry :: !(Maybe Text)
, _cCampaignId :: !(Maybe (Textual Int64))
, _cCriterionId :: !(Maybe (Textual Int64))
, _cConversionTimestamp :: !(Maybe (Textual Word64))
, _cAttributionModel :: !(Maybe Text)
, _cSegmentationName :: !(Maybe Text)
, _cProductLanguage :: !(Maybe Text)
, _cCustomMetric :: !(Maybe [CustomMetric])
, _cCountMillis :: !(Maybe (Textual Int64))
, _cQuantityMillis :: !(Maybe (Textual Int64))
, _cAdId :: !(Maybe (Textual Int64))
, _cDeviceType :: !(Maybe Text)
, _cType :: !(Maybe Text)
, _cCustomDimension :: !(Maybe [CustomDimension])
, _cFloodlightOrderId :: !(Maybe Text)
, _cRevenueMicros :: !(Maybe (Textual Int64))
, _cClickId :: !(Maybe Text)
, _cInventoryAccountId :: !(Maybe (Textual Int64))
, _cSegmentationType :: !(Maybe Text)
, _cProductId :: !(Maybe Text)
, _cProductGroupId :: !(Maybe (Textual Int64))
} deriving (Eq,Show,Data,Typeable,Generic)
conversion
:: Conversion
conversion =
Conversion'
{ _cAdGroupId = Nothing
, _cConversionModifiedTimestamp = Nothing
, _cState = Nothing
, _cEngineAccountId = Nothing
, _cAgencyId = Nothing
, _cCurrencyCode = Nothing
, _cStoreId = Nothing
, _cDsConversionId = Nothing
, _cConversionId = Nothing
, _cAdvertiserId = Nothing
, _cSegmentationId = Nothing
, _cChannel = Nothing
, _cProductCountry = Nothing
, _cCampaignId = Nothing
, _cCriterionId = Nothing
, _cConversionTimestamp = Nothing
, _cAttributionModel = Nothing
, _cSegmentationName = Nothing
, _cProductLanguage = Nothing
, _cCustomMetric = Nothing
, _cCountMillis = Nothing
, _cQuantityMillis = Nothing
, _cAdId = Nothing
, _cDeviceType = Nothing
, _cType = Nothing
, _cCustomDimension = Nothing
, _cFloodlightOrderId = Nothing
, _cRevenueMicros = Nothing
, _cClickId = Nothing
, _cInventoryAccountId = Nothing
, _cSegmentationType = Nothing
, _cProductId = Nothing
, _cProductGroupId = Nothing
}
cAdGroupId :: Lens' Conversion (Maybe Int64)
cAdGroupId
= lens _cAdGroupId (\ s a -> s{_cAdGroupId = a}) .
mapping _Coerce
cConversionModifiedTimestamp :: Lens' Conversion (Maybe Word64)
cConversionModifiedTimestamp
= lens _cConversionModifiedTimestamp
(\ s a -> s{_cConversionModifiedTimestamp = a})
. mapping _Coerce
cState :: Lens' Conversion (Maybe Text)
cState = lens _cState (\ s a -> s{_cState = a})
cEngineAccountId :: Lens' Conversion (Maybe Int64)
cEngineAccountId
= lens _cEngineAccountId
(\ s a -> s{_cEngineAccountId = a})
. mapping _Coerce
cAgencyId :: Lens' Conversion (Maybe Int64)
cAgencyId
= lens _cAgencyId (\ s a -> s{_cAgencyId = a}) .
mapping _Coerce
cCurrencyCode :: Lens' Conversion (Maybe Text)
cCurrencyCode
= lens _cCurrencyCode
(\ s a -> s{_cCurrencyCode = a})
cStoreId :: Lens' Conversion (Maybe Text)
cStoreId = lens _cStoreId (\ s a -> s{_cStoreId = a})
cDsConversionId :: Lens' Conversion (Maybe Int64)
cDsConversionId
= lens _cDsConversionId
(\ s a -> s{_cDsConversionId = a})
. mapping _Coerce
cConversionId :: Lens' Conversion (Maybe Text)
cConversionId
= lens _cConversionId
(\ s a -> s{_cConversionId = a})
cAdvertiserId :: Lens' Conversion (Maybe Int64)
cAdvertiserId
= lens _cAdvertiserId
(\ s a -> s{_cAdvertiserId = a})
. mapping _Coerce
cSegmentationId :: Lens' Conversion (Maybe Int64)
cSegmentationId
= lens _cSegmentationId
(\ s a -> s{_cSegmentationId = a})
. mapping _Coerce
cChannel :: Lens' Conversion (Maybe Text)
cChannel = lens _cChannel (\ s a -> s{_cChannel = a})
cProductCountry :: Lens' Conversion (Maybe Text)
cProductCountry
= lens _cProductCountry
(\ s a -> s{_cProductCountry = a})
cCampaignId :: Lens' Conversion (Maybe Int64)
cCampaignId
= lens _cCampaignId (\ s a -> s{_cCampaignId = a}) .
mapping _Coerce
cCriterionId :: Lens' Conversion (Maybe Int64)
cCriterionId
= lens _cCriterionId (\ s a -> s{_cCriterionId = a})
. mapping _Coerce
cConversionTimestamp :: Lens' Conversion (Maybe Word64)
cConversionTimestamp
= lens _cConversionTimestamp
(\ s a -> s{_cConversionTimestamp = a})
. mapping _Coerce
cAttributionModel :: Lens' Conversion (Maybe Text)
cAttributionModel
= lens _cAttributionModel
(\ s a -> s{_cAttributionModel = a})
cSegmentationName :: Lens' Conversion (Maybe Text)
cSegmentationName
= lens _cSegmentationName
(\ s a -> s{_cSegmentationName = a})
cProductLanguage :: Lens' Conversion (Maybe Text)
cProductLanguage
= lens _cProductLanguage
(\ s a -> s{_cProductLanguage = a})
cCustomMetric :: Lens' Conversion [CustomMetric]
cCustomMetric
= lens _cCustomMetric
(\ s a -> s{_cCustomMetric = a})
. _Default
. _Coerce
cCountMillis :: Lens' Conversion (Maybe Int64)
cCountMillis
= lens _cCountMillis (\ s a -> s{_cCountMillis = a})
. mapping _Coerce
cQuantityMillis :: Lens' Conversion (Maybe Int64)
cQuantityMillis
= lens _cQuantityMillis
(\ s a -> s{_cQuantityMillis = a})
. mapping _Coerce
cAdId :: Lens' Conversion (Maybe Int64)
cAdId
= lens _cAdId (\ s a -> s{_cAdId = a}) .
mapping _Coerce
cDeviceType :: Lens' Conversion (Maybe Text)
cDeviceType
= lens _cDeviceType (\ s a -> s{_cDeviceType = a})
cType :: Lens' Conversion (Maybe Text)
cType = lens _cType (\ s a -> s{_cType = a})
cCustomDimension :: Lens' Conversion [CustomDimension]
cCustomDimension
= lens _cCustomDimension
(\ s a -> s{_cCustomDimension = a})
. _Default
. _Coerce
cFloodlightOrderId :: Lens' Conversion (Maybe Text)
cFloodlightOrderId
= lens _cFloodlightOrderId
(\ s a -> s{_cFloodlightOrderId = a})
cRevenueMicros :: Lens' Conversion (Maybe Int64)
cRevenueMicros
= lens _cRevenueMicros
(\ s a -> s{_cRevenueMicros = a})
. mapping _Coerce
cClickId :: Lens' Conversion (Maybe Text)
cClickId = lens _cClickId (\ s a -> s{_cClickId = a})
cInventoryAccountId :: Lens' Conversion (Maybe Int64)
cInventoryAccountId
= lens _cInventoryAccountId
(\ s a -> s{_cInventoryAccountId = a})
. mapping _Coerce
cSegmentationType :: Lens' Conversion (Maybe Text)
cSegmentationType
= lens _cSegmentationType
(\ s a -> s{_cSegmentationType = a})
cProductId :: Lens' Conversion (Maybe Text)
cProductId
= lens _cProductId (\ s a -> s{_cProductId = a})
cProductGroupId :: Lens' Conversion (Maybe Int64)
cProductGroupId
= lens _cProductGroupId
(\ s a -> s{_cProductGroupId = a})
. mapping _Coerce
instance FromJSON Conversion where
parseJSON
= withObject "Conversion"
(\ o ->
Conversion' <$>
(o .:? "adGroupId") <*>
(o .:? "conversionModifiedTimestamp")
<*> (o .:? "state")
<*> (o .:? "engineAccountId")
<*> (o .:? "agencyId")
<*> (o .:? "currencyCode")
<*> (o .:? "storeId")
<*> (o .:? "dsConversionId")
<*> (o .:? "conversionId")
<*> (o .:? "advertiserId")
<*> (o .:? "segmentationId")
<*> (o .:? "channel")
<*> (o .:? "productCountry")
<*> (o .:? "campaignId")
<*> (o .:? "criterionId")
<*> (o .:? "conversionTimestamp")
<*> (o .:? "attributionModel")
<*> (o .:? "segmentationName")
<*> (o .:? "productLanguage")
<*> (o .:? "customMetric" .!= mempty)
<*> (o .:? "countMillis")
<*> (o .:? "quantityMillis")
<*> (o .:? "adId")
<*> (o .:? "deviceType")
<*> (o .:? "type")
<*> (o .:? "customDimension" .!= mempty)
<*> (o .:? "floodlightOrderId")
<*> (o .:? "revenueMicros")
<*> (o .:? "clickId")
<*> (o .:? "inventoryAccountId")
<*> (o .:? "segmentationType")
<*> (o .:? "productId")
<*> (o .:? "productGroupId"))
instance ToJSON Conversion where
toJSON Conversion'{..}
= object
(catMaybes
[("adGroupId" .=) <$> _cAdGroupId,
("conversionModifiedTimestamp" .=) <$>
_cConversionModifiedTimestamp,
("state" .=) <$> _cState,
("engineAccountId" .=) <$> _cEngineAccountId,
("agencyId" .=) <$> _cAgencyId,
("currencyCode" .=) <$> _cCurrencyCode,
("storeId" .=) <$> _cStoreId,
("dsConversionId" .=) <$> _cDsConversionId,
("conversionId" .=) <$> _cConversionId,
("advertiserId" .=) <$> _cAdvertiserId,
("segmentationId" .=) <$> _cSegmentationId,
("channel" .=) <$> _cChannel,
("productCountry" .=) <$> _cProductCountry,
("campaignId" .=) <$> _cCampaignId,
("criterionId" .=) <$> _cCriterionId,
("conversionTimestamp" .=) <$> _cConversionTimestamp,
("attributionModel" .=) <$> _cAttributionModel,
("segmentationName" .=) <$> _cSegmentationName,
("productLanguage" .=) <$> _cProductLanguage,
("customMetric" .=) <$> _cCustomMetric,
("countMillis" .=) <$> _cCountMillis,
("quantityMillis" .=) <$> _cQuantityMillis,
("adId" .=) <$> _cAdId,
("deviceType" .=) <$> _cDeviceType,
("type" .=) <$> _cType,
("customDimension" .=) <$> _cCustomDimension,
("floodlightOrderId" .=) <$> _cFloodlightOrderId,
("revenueMicros" .=) <$> _cRevenueMicros,
("clickId" .=) <$> _cClickId,
("inventoryAccountId" .=) <$> _cInventoryAccountId,
("segmentationType" .=) <$> _cSegmentationType,
("productId" .=) <$> _cProductId,
("productGroupId" .=) <$> _cProductGroupId])
data SavedColumn = SavedColumn'
{ _scSavedColumnName :: !(Maybe Text)
, _scKind :: !Text
, _scType :: !(Maybe Text)
} deriving (Eq,Show,Data,Typeable,Generic)
savedColumn
:: SavedColumn
savedColumn =
SavedColumn'
{ _scSavedColumnName = Nothing
, _scKind = "doubleclicksearch#savedColumn"
, _scType = Nothing
}
scSavedColumnName :: Lens' SavedColumn (Maybe Text)
scSavedColumnName
= lens _scSavedColumnName
(\ s a -> s{_scSavedColumnName = a})
scKind :: Lens' SavedColumn Text
scKind = lens _scKind (\ s a -> s{_scKind = a})
scType :: Lens' SavedColumn (Maybe Text)
scType = lens _scType (\ s a -> s{_scType = a})
instance FromJSON SavedColumn where
parseJSON
= withObject "SavedColumn"
(\ o ->
SavedColumn' <$>
(o .:? "savedColumnName") <*>
(o .:? "kind" .!= "doubleclicksearch#savedColumn")
<*> (o .:? "type"))
instance ToJSON SavedColumn where
toJSON SavedColumn'{..}
= object
(catMaybes
[("savedColumnName" .=) <$> _scSavedColumnName,
Just ("kind" .= _scKind), ("type" .=) <$> _scType])
data CustomDimension = CustomDimension'
{ _cdValue :: !(Maybe Text)
, _cdName :: !(Maybe Text)
} deriving (Eq,Show,Data,Typeable,Generic)
customDimension
:: CustomDimension
customDimension =
CustomDimension'
{ _cdValue = Nothing
, _cdName = Nothing
}
cdValue :: Lens' CustomDimension (Maybe Text)
cdValue = lens _cdValue (\ s a -> s{_cdValue = a})
cdName :: Lens' CustomDimension (Maybe Text)
cdName = lens _cdName (\ s a -> s{_cdName = a})
instance FromJSON CustomDimension where
parseJSON
= withObject "CustomDimension"
(\ o ->
CustomDimension' <$>
(o .:? "value") <*> (o .:? "name"))
instance ToJSON CustomDimension where
toJSON CustomDimension'{..}
= object
(catMaybes
[("value" .=) <$> _cdValue, ("name" .=) <$> _cdName])
newtype UpdateAvailabilityResponse = UpdateAvailabilityResponse'
{ _uAvailabilities :: Maybe [Availability]
} deriving (Eq,Show,Data,Typeable,Generic)
updateAvailabilityResponse
:: UpdateAvailabilityResponse
updateAvailabilityResponse =
UpdateAvailabilityResponse'
{ _uAvailabilities = Nothing
}
uAvailabilities :: Lens' UpdateAvailabilityResponse [Availability]
uAvailabilities
= lens _uAvailabilities
(\ s a -> s{_uAvailabilities = a})
. _Default
. _Coerce
instance FromJSON UpdateAvailabilityResponse where
parseJSON
= withObject "UpdateAvailabilityResponse"
(\ o ->
UpdateAvailabilityResponse' <$>
(o .:? "availabilities" .!= mempty))
instance ToJSON UpdateAvailabilityResponse where
toJSON UpdateAvailabilityResponse'{..}
= object
(catMaybes
[("availabilities" .=) <$> _uAvailabilities])
data ReportRequestReportScope = ReportRequestReportScope'
{ _rrrsKeywordId :: !(Maybe (Textual Int64))
, _rrrsAdGroupId :: !(Maybe (Textual Int64))
, _rrrsEngineAccountId :: !(Maybe (Textual Int64))
, _rrrsAgencyId :: !(Maybe (Textual Int64))
, _rrrsAdvertiserId :: !(Maybe (Textual Int64))
, _rrrsCampaignId :: !(Maybe (Textual Int64))
, _rrrsAdId :: !(Maybe (Textual Int64))
} deriving (Eq,Show,Data,Typeable,Generic)
reportRequestReportScope
:: ReportRequestReportScope
reportRequestReportScope =
ReportRequestReportScope'
{ _rrrsKeywordId = Nothing
, _rrrsAdGroupId = Nothing
, _rrrsEngineAccountId = Nothing
, _rrrsAgencyId = Nothing
, _rrrsAdvertiserId = Nothing
, _rrrsCampaignId = Nothing
, _rrrsAdId = Nothing
}
rrrsKeywordId :: Lens' ReportRequestReportScope (Maybe Int64)
rrrsKeywordId
= lens _rrrsKeywordId
(\ s a -> s{_rrrsKeywordId = a})
. mapping _Coerce
rrrsAdGroupId :: Lens' ReportRequestReportScope (Maybe Int64)
rrrsAdGroupId
= lens _rrrsAdGroupId
(\ s a -> s{_rrrsAdGroupId = a})
. mapping _Coerce
rrrsEngineAccountId :: Lens' ReportRequestReportScope (Maybe Int64)
rrrsEngineAccountId
= lens _rrrsEngineAccountId
(\ s a -> s{_rrrsEngineAccountId = a})
. mapping _Coerce
rrrsAgencyId :: Lens' ReportRequestReportScope (Maybe Int64)
rrrsAgencyId
= lens _rrrsAgencyId (\ s a -> s{_rrrsAgencyId = a})
. mapping _Coerce
rrrsAdvertiserId :: Lens' ReportRequestReportScope (Maybe Int64)
rrrsAdvertiserId
= lens _rrrsAdvertiserId
(\ s a -> s{_rrrsAdvertiserId = a})
. mapping _Coerce
rrrsCampaignId :: Lens' ReportRequestReportScope (Maybe Int64)
rrrsCampaignId
= lens _rrrsCampaignId
(\ s a -> s{_rrrsCampaignId = a})
. mapping _Coerce
rrrsAdId :: Lens' ReportRequestReportScope (Maybe Int64)
rrrsAdId
= lens _rrrsAdId (\ s a -> s{_rrrsAdId = a}) .
mapping _Coerce
instance FromJSON ReportRequestReportScope where
parseJSON
= withObject "ReportRequestReportScope"
(\ o ->
ReportRequestReportScope' <$>
(o .:? "keywordId") <*> (o .:? "adGroupId") <*>
(o .:? "engineAccountId")
<*> (o .:? "agencyId")
<*> (o .:? "advertiserId")
<*> (o .:? "campaignId")
<*> (o .:? "adId"))
instance ToJSON ReportRequestReportScope where
toJSON ReportRequestReportScope'{..}
= object
(catMaybes
[("keywordId" .=) <$> _rrrsKeywordId,
("adGroupId" .=) <$> _rrrsAdGroupId,
("engineAccountId" .=) <$> _rrrsEngineAccountId,
("agencyId" .=) <$> _rrrsAgencyId,
("advertiserId" .=) <$> _rrrsAdvertiserId,
("campaignId" .=) <$> _rrrsCampaignId,
("adId" .=) <$> _rrrsAdId])
data SavedColumnList = SavedColumnList'
{ _sclKind :: !Text
, _sclItems :: !(Maybe [SavedColumn])
} deriving (Eq,Show,Data,Typeable,Generic)
savedColumnList
:: SavedColumnList
savedColumnList =
SavedColumnList'
{ _sclKind = "doubleclicksearch#savedColumnList"
, _sclItems = Nothing
}
sclKind :: Lens' SavedColumnList Text
sclKind = lens _sclKind (\ s a -> s{_sclKind = a})
sclItems :: Lens' SavedColumnList [SavedColumn]
sclItems
= lens _sclItems (\ s a -> s{_sclItems = a}) .
_Default
. _Coerce
instance FromJSON SavedColumnList where
parseJSON
= withObject "SavedColumnList"
(\ o ->
SavedColumnList' <$>
(o .:? "kind" .!=
"doubleclicksearch#savedColumnList")
<*> (o .:? "items" .!= mempty))
instance ToJSON SavedColumnList where
toJSON SavedColumnList'{..}
= object
(catMaybes
[Just ("kind" .= _sclKind),
("items" .=) <$> _sclItems])