{-# 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.AnalyticsReporting.Types.Product where
import Network.Google.AnalyticsReporting.Types.Sum
import Network.Google.Prelude
data MetricFilter =
MetricFilter'
{ _mfNot :: !(Maybe Bool)
, _mfOperator :: !(Maybe MetricFilterOperator)
, _mfMetricName :: !(Maybe Text)
, _mfComparisonValue :: !(Maybe Text)
}
deriving (Eq, Show, Data, Typeable, Generic)
metricFilter
:: MetricFilter
metricFilter =
MetricFilter'
{ _mfNot = Nothing
, _mfOperator = Nothing
, _mfMetricName = Nothing
, _mfComparisonValue = Nothing
}
mfNot :: Lens' MetricFilter (Maybe Bool)
mfNot = lens _mfNot (\ s a -> s{_mfNot = a})
mfOperator :: Lens' MetricFilter (Maybe MetricFilterOperator)
mfOperator
= lens _mfOperator (\ s a -> s{_mfOperator = a})
mfMetricName :: Lens' MetricFilter (Maybe Text)
mfMetricName
= lens _mfMetricName (\ s a -> s{_mfMetricName = a})
mfComparisonValue :: Lens' MetricFilter (Maybe Text)
mfComparisonValue
= lens _mfComparisonValue
(\ s a -> s{_mfComparisonValue = a})
instance FromJSON MetricFilter where
parseJSON
= withObject "MetricFilter"
(\ o ->
MetricFilter' <$>
(o .:? "not") <*> (o .:? "operator") <*>
(o .:? "metricName")
<*> (o .:? "comparisonValue"))
instance ToJSON MetricFilter where
toJSON MetricFilter'{..}
= object
(catMaybes
[("not" .=) <$> _mfNot,
("operator" .=) <$> _mfOperator,
("metricName" .=) <$> _mfMetricName,
("comparisonValue" .=) <$> _mfComparisonValue])
data EventData =
EventData'
{ _edEventCategory :: !(Maybe Text)
, _edEventCount :: !(Maybe (Textual Int64))
, _edEventValue :: !(Maybe (Textual Int64))
, _edEventLabel :: !(Maybe Text)
, _edEventAction :: !(Maybe Text)
}
deriving (Eq, Show, Data, Typeable, Generic)
eventData
:: EventData
eventData =
EventData'
{ _edEventCategory = Nothing
, _edEventCount = Nothing
, _edEventValue = Nothing
, _edEventLabel = Nothing
, _edEventAction = Nothing
}
edEventCategory :: Lens' EventData (Maybe Text)
edEventCategory
= lens _edEventCategory
(\ s a -> s{_edEventCategory = a})
edEventCount :: Lens' EventData (Maybe Int64)
edEventCount
= lens _edEventCount (\ s a -> s{_edEventCount = a})
. mapping _Coerce
edEventValue :: Lens' EventData (Maybe Int64)
edEventValue
= lens _edEventValue (\ s a -> s{_edEventValue = a})
. mapping _Coerce
edEventLabel :: Lens' EventData (Maybe Text)
edEventLabel
= lens _edEventLabel (\ s a -> s{_edEventLabel = a})
edEventAction :: Lens' EventData (Maybe Text)
edEventAction
= lens _edEventAction
(\ s a -> s{_edEventAction = a})
instance FromJSON EventData where
parseJSON
= withObject "EventData"
(\ o ->
EventData' <$>
(o .:? "eventCategory") <*> (o .:? "eventCount") <*>
(o .:? "eventValue")
<*> (o .:? "eventLabel")
<*> (o .:? "eventAction"))
instance ToJSON EventData where
toJSON EventData'{..}
= object
(catMaybes
[("eventCategory" .=) <$> _edEventCategory,
("eventCount" .=) <$> _edEventCount,
("eventValue" .=) <$> _edEventValue,
("eventLabel" .=) <$> _edEventLabel,
("eventAction" .=) <$> _edEventAction])
data ReportRow =
ReportRow'
{ _rrMetrics :: !(Maybe [DateRangeValues])
, _rrDimensions :: !(Maybe [Text])
}
deriving (Eq, Show, Data, Typeable, Generic)
reportRow
:: ReportRow
reportRow = ReportRow' {_rrMetrics = Nothing, _rrDimensions = Nothing}
rrMetrics :: Lens' ReportRow [DateRangeValues]
rrMetrics
= lens _rrMetrics (\ s a -> s{_rrMetrics = a}) .
_Default
. _Coerce
rrDimensions :: Lens' ReportRow [Text]
rrDimensions
= lens _rrDimensions (\ s a -> s{_rrDimensions = a})
. _Default
. _Coerce
instance FromJSON ReportRow where
parseJSON
= withObject "ReportRow"
(\ o ->
ReportRow' <$>
(o .:? "metrics" .!= mempty) <*>
(o .:? "dimensions" .!= mempty))
instance ToJSON ReportRow where
toJSON ReportRow'{..}
= object
(catMaybes
[("metrics" .=) <$> _rrMetrics,
("dimensions" .=) <$> _rrDimensions])
data PivotHeaderEntry =
PivotHeaderEntry'
{ _pheDimensionValues :: !(Maybe [Text])
, _pheDimensionNames :: !(Maybe [Text])
, _pheMetric :: !(Maybe MetricHeaderEntry)
}
deriving (Eq, Show, Data, Typeable, Generic)
pivotHeaderEntry
:: PivotHeaderEntry
pivotHeaderEntry =
PivotHeaderEntry'
{ _pheDimensionValues = Nothing
, _pheDimensionNames = Nothing
, _pheMetric = Nothing
}
pheDimensionValues :: Lens' PivotHeaderEntry [Text]
pheDimensionValues
= lens _pheDimensionValues
(\ s a -> s{_pheDimensionValues = a})
. _Default
. _Coerce
pheDimensionNames :: Lens' PivotHeaderEntry [Text]
pheDimensionNames
= lens _pheDimensionNames
(\ s a -> s{_pheDimensionNames = a})
. _Default
. _Coerce
pheMetric :: Lens' PivotHeaderEntry (Maybe MetricHeaderEntry)
pheMetric
= lens _pheMetric (\ s a -> s{_pheMetric = a})
instance FromJSON PivotHeaderEntry where
parseJSON
= withObject "PivotHeaderEntry"
(\ o ->
PivotHeaderEntry' <$>
(o .:? "dimensionValues" .!= mempty) <*>
(o .:? "dimensionNames" .!= mempty)
<*> (o .:? "metric"))
instance ToJSON PivotHeaderEntry where
toJSON PivotHeaderEntry'{..}
= object
(catMaybes
[("dimensionValues" .=) <$> _pheDimensionValues,
("dimensionNames" .=) <$> _pheDimensionNames,
("metric" .=) <$> _pheMetric])
newtype PivotValueRegion =
PivotValueRegion'
{ _pvrValues :: Maybe [Text]
}
deriving (Eq, Show, Data, Typeable, Generic)
pivotValueRegion
:: PivotValueRegion
pivotValueRegion = PivotValueRegion' {_pvrValues = Nothing}
pvrValues :: Lens' PivotValueRegion [Text]
pvrValues
= lens _pvrValues (\ s a -> s{_pvrValues = a}) .
_Default
. _Coerce
instance FromJSON PivotValueRegion where
parseJSON
= withObject "PivotValueRegion"
(\ o ->
PivotValueRegion' <$> (o .:? "values" .!= mempty))
instance ToJSON PivotValueRegion where
toJSON PivotValueRegion'{..}
= object (catMaybes [("values" .=) <$> _pvrValues])
data ReportRequest =
ReportRequest'
{ _rMetrics :: !(Maybe [Metric])
, _rPivots :: !(Maybe [Pivot])
, _rCohortGroup :: !(Maybe CohortGroup)
, _rSamplingLevel :: !(Maybe ReportRequestSamplingLevel)
, _rIncludeEmptyRows :: !(Maybe Bool)
, _rDateRanges :: !(Maybe [DateRange])
, _rViewId :: !(Maybe Text)
, _rHideTotals :: !(Maybe Bool)
, _rHideValueRanges :: !(Maybe Bool)
, _rMetricFilterClauses :: !(Maybe [MetricFilterClause])
, _rSegments :: !(Maybe [Segment])
, _rPageToken :: !(Maybe Text)
, _rDimensions :: !(Maybe [Dimension])
, _rDimensionFilterClauses :: !(Maybe [DimensionFilterClause])
, _rPageSize :: !(Maybe (Textual Int32))
, _rOrderBys :: !(Maybe [OrderBy])
, _rFiltersExpression :: !(Maybe Text)
}
deriving (Eq, Show, Data, Typeable, Generic)
reportRequest
:: ReportRequest
reportRequest =
ReportRequest'
{ _rMetrics = Nothing
, _rPivots = Nothing
, _rCohortGroup = Nothing
, _rSamplingLevel = Nothing
, _rIncludeEmptyRows = Nothing
, _rDateRanges = Nothing
, _rViewId = Nothing
, _rHideTotals = Nothing
, _rHideValueRanges = Nothing
, _rMetricFilterClauses = Nothing
, _rSegments = Nothing
, _rPageToken = Nothing
, _rDimensions = Nothing
, _rDimensionFilterClauses = Nothing
, _rPageSize = Nothing
, _rOrderBys = Nothing
, _rFiltersExpression = Nothing
}
rMetrics :: Lens' ReportRequest [Metric]
rMetrics
= lens _rMetrics (\ s a -> s{_rMetrics = a}) .
_Default
. _Coerce
rPivots :: Lens' ReportRequest [Pivot]
rPivots
= lens _rPivots (\ s a -> s{_rPivots = a}) . _Default
. _Coerce
rCohortGroup :: Lens' ReportRequest (Maybe CohortGroup)
rCohortGroup
= lens _rCohortGroup (\ s a -> s{_rCohortGroup = a})
rSamplingLevel :: Lens' ReportRequest (Maybe ReportRequestSamplingLevel)
rSamplingLevel
= lens _rSamplingLevel
(\ s a -> s{_rSamplingLevel = a})
rIncludeEmptyRows :: Lens' ReportRequest (Maybe Bool)
rIncludeEmptyRows
= lens _rIncludeEmptyRows
(\ s a -> s{_rIncludeEmptyRows = a})
rDateRanges :: Lens' ReportRequest [DateRange]
rDateRanges
= lens _rDateRanges (\ s a -> s{_rDateRanges = a}) .
_Default
. _Coerce
rViewId :: Lens' ReportRequest (Maybe Text)
rViewId = lens _rViewId (\ s a -> s{_rViewId = a})
rHideTotals :: Lens' ReportRequest (Maybe Bool)
rHideTotals
= lens _rHideTotals (\ s a -> s{_rHideTotals = a})
rHideValueRanges :: Lens' ReportRequest (Maybe Bool)
rHideValueRanges
= lens _rHideValueRanges
(\ s a -> s{_rHideValueRanges = a})
rMetricFilterClauses :: Lens' ReportRequest [MetricFilterClause]
rMetricFilterClauses
= lens _rMetricFilterClauses
(\ s a -> s{_rMetricFilterClauses = a})
. _Default
. _Coerce
rSegments :: Lens' ReportRequest [Segment]
rSegments
= lens _rSegments (\ s a -> s{_rSegments = a}) .
_Default
. _Coerce
rPageToken :: Lens' ReportRequest (Maybe Text)
rPageToken
= lens _rPageToken (\ s a -> s{_rPageToken = a})
rDimensions :: Lens' ReportRequest [Dimension]
rDimensions
= lens _rDimensions (\ s a -> s{_rDimensions = a}) .
_Default
. _Coerce
rDimensionFilterClauses :: Lens' ReportRequest [DimensionFilterClause]
rDimensionFilterClauses
= lens _rDimensionFilterClauses
(\ s a -> s{_rDimensionFilterClauses = a})
. _Default
. _Coerce
rPageSize :: Lens' ReportRequest (Maybe Int32)
rPageSize
= lens _rPageSize (\ s a -> s{_rPageSize = a}) .
mapping _Coerce
rOrderBys :: Lens' ReportRequest [OrderBy]
rOrderBys
= lens _rOrderBys (\ s a -> s{_rOrderBys = a}) .
_Default
. _Coerce
rFiltersExpression :: Lens' ReportRequest (Maybe Text)
rFiltersExpression
= lens _rFiltersExpression
(\ s a -> s{_rFiltersExpression = a})
instance FromJSON ReportRequest where
parseJSON
= withObject "ReportRequest"
(\ o ->
ReportRequest' <$>
(o .:? "metrics" .!= mempty) <*>
(o .:? "pivots" .!= mempty)
<*> (o .:? "cohortGroup")
<*> (o .:? "samplingLevel")
<*> (o .:? "includeEmptyRows")
<*> (o .:? "dateRanges" .!= mempty)
<*> (o .:? "viewId")
<*> (o .:? "hideTotals")
<*> (o .:? "hideValueRanges")
<*> (o .:? "metricFilterClauses" .!= mempty)
<*> (o .:? "segments" .!= mempty)
<*> (o .:? "pageToken")
<*> (o .:? "dimensions" .!= mempty)
<*> (o .:? "dimensionFilterClauses" .!= mempty)
<*> (o .:? "pageSize")
<*> (o .:? "orderBys" .!= mempty)
<*> (o .:? "filtersExpression"))
instance ToJSON ReportRequest where
toJSON ReportRequest'{..}
= object
(catMaybes
[("metrics" .=) <$> _rMetrics,
("pivots" .=) <$> _rPivots,
("cohortGroup" .=) <$> _rCohortGroup,
("samplingLevel" .=) <$> _rSamplingLevel,
("includeEmptyRows" .=) <$> _rIncludeEmptyRows,
("dateRanges" .=) <$> _rDateRanges,
("viewId" .=) <$> _rViewId,
("hideTotals" .=) <$> _rHideTotals,
("hideValueRanges" .=) <$> _rHideValueRanges,
("metricFilterClauses" .=) <$> _rMetricFilterClauses,
("segments" .=) <$> _rSegments,
("pageToken" .=) <$> _rPageToken,
("dimensions" .=) <$> _rDimensions,
("dimensionFilterClauses" .=) <$>
_rDimensionFilterClauses,
("pageSize" .=) <$> _rPageSize,
("orderBys" .=) <$> _rOrderBys,
("filtersExpression" .=) <$> _rFiltersExpression])
data MetricHeaderEntry =
MetricHeaderEntry'
{ _mheName :: !(Maybe Text)
, _mheType :: !(Maybe MetricHeaderEntryType)
}
deriving (Eq, Show, Data, Typeable, Generic)
metricHeaderEntry
:: MetricHeaderEntry
metricHeaderEntry = MetricHeaderEntry' {_mheName = Nothing, _mheType = Nothing}
mheName :: Lens' MetricHeaderEntry (Maybe Text)
mheName = lens _mheName (\ s a -> s{_mheName = a})
mheType :: Lens' MetricHeaderEntry (Maybe MetricHeaderEntryType)
mheType = lens _mheType (\ s a -> s{_mheType = a})
instance FromJSON MetricHeaderEntry where
parseJSON
= withObject "MetricHeaderEntry"
(\ o ->
MetricHeaderEntry' <$>
(o .:? "name") <*> (o .:? "type"))
instance ToJSON MetricHeaderEntry where
toJSON MetricHeaderEntry'{..}
= object
(catMaybes
[("name" .=) <$> _mheName, ("type" .=) <$> _mheType])
newtype GoalSetData =
GoalSetData'
{ _gsdGoals :: Maybe [GoalData]
}
deriving (Eq, Show, Data, Typeable, Generic)
goalSetData
:: GoalSetData
goalSetData = GoalSetData' {_gsdGoals = Nothing}
gsdGoals :: Lens' GoalSetData [GoalData]
gsdGoals
= lens _gsdGoals (\ s a -> s{_gsdGoals = a}) .
_Default
. _Coerce
instance FromJSON GoalSetData where
parseJSON
= withObject "GoalSetData"
(\ o -> GoalSetData' <$> (o .:? "goals" .!= mempty))
instance ToJSON GoalSetData where
toJSON GoalSetData'{..}
= object (catMaybes [("goals" .=) <$> _gsdGoals])
data CohortGroup =
CohortGroup'
{ _cgCohorts :: !(Maybe [Cohort])
, _cgLifetimeValue :: !(Maybe Bool)
}
deriving (Eq, Show, Data, Typeable, Generic)
cohortGroup
:: CohortGroup
cohortGroup = CohortGroup' {_cgCohorts = Nothing, _cgLifetimeValue = Nothing}
cgCohorts :: Lens' CohortGroup [Cohort]
cgCohorts
= lens _cgCohorts (\ s a -> s{_cgCohorts = a}) .
_Default
. _Coerce
cgLifetimeValue :: Lens' CohortGroup (Maybe Bool)
cgLifetimeValue
= lens _cgLifetimeValue
(\ s a -> s{_cgLifetimeValue = a})
instance FromJSON CohortGroup where
parseJSON
= withObject "CohortGroup"
(\ o ->
CohortGroup' <$>
(o .:? "cohorts" .!= mempty) <*>
(o .:? "lifetimeValue"))
instance ToJSON CohortGroup where
toJSON CohortGroup'{..}
= object
(catMaybes
[("cohorts" .=) <$> _cgCohorts,
("lifetimeValue" .=) <$> _cgLifetimeValue])
newtype SimpleSegment =
SimpleSegment'
{ _ssOrFiltersForSegment :: Maybe [OrFiltersForSegment]
}
deriving (Eq, Show, Data, Typeable, Generic)
simpleSegment
:: SimpleSegment
simpleSegment = SimpleSegment' {_ssOrFiltersForSegment = Nothing}
ssOrFiltersForSegment :: Lens' SimpleSegment [OrFiltersForSegment]
ssOrFiltersForSegment
= lens _ssOrFiltersForSegment
(\ s a -> s{_ssOrFiltersForSegment = a})
. _Default
. _Coerce
instance FromJSON SimpleSegment where
parseJSON
= withObject "SimpleSegment"
(\ o ->
SimpleSegment' <$>
(o .:? "orFiltersForSegment" .!= mempty))
instance ToJSON SimpleSegment where
toJSON SimpleSegment'{..}
= object
(catMaybes
[("orFiltersForSegment" .=) <$>
_ssOrFiltersForSegment])
data DimensionFilterClause =
DimensionFilterClause'
{ _dfcOperator :: !(Maybe DimensionFilterClauseOperator)
, _dfcFilters :: !(Maybe [DimensionFilter])
}
deriving (Eq, Show, Data, Typeable, Generic)
dimensionFilterClause
:: DimensionFilterClause
dimensionFilterClause =
DimensionFilterClause' {_dfcOperator = Nothing, _dfcFilters = Nothing}
dfcOperator :: Lens' DimensionFilterClause (Maybe DimensionFilterClauseOperator)
dfcOperator
= lens _dfcOperator (\ s a -> s{_dfcOperator = a})
dfcFilters :: Lens' DimensionFilterClause [DimensionFilter]
dfcFilters
= lens _dfcFilters (\ s a -> s{_dfcFilters = a}) .
_Default
. _Coerce
instance FromJSON DimensionFilterClause where
parseJSON
= withObject "DimensionFilterClause"
(\ o ->
DimensionFilterClause' <$>
(o .:? "operator") <*> (o .:? "filters" .!= mempty))
instance ToJSON DimensionFilterClause where
toJSON DimensionFilterClause'{..}
= object
(catMaybes
[("operator" .=) <$> _dfcOperator,
("filters" .=) <$> _dfcFilters])
data OrderBy =
OrderBy'
{ _obOrderType :: !(Maybe OrderByOrderType)
, _obSortOrder :: !(Maybe OrderBySortOrder)
, _obFieldName :: !(Maybe Text)
}
deriving (Eq, Show, Data, Typeable, Generic)
orderBy
:: OrderBy
orderBy =
OrderBy'
{_obOrderType = Nothing, _obSortOrder = Nothing, _obFieldName = Nothing}
obOrderType :: Lens' OrderBy (Maybe OrderByOrderType)
obOrderType
= lens _obOrderType (\ s a -> s{_obOrderType = a})
obSortOrder :: Lens' OrderBy (Maybe OrderBySortOrder)
obSortOrder
= lens _obSortOrder (\ s a -> s{_obSortOrder = a})
obFieldName :: Lens' OrderBy (Maybe Text)
obFieldName
= lens _obFieldName (\ s a -> s{_obFieldName = a})
instance FromJSON OrderBy where
parseJSON
= withObject "OrderBy"
(\ o ->
OrderBy' <$>
(o .:? "orderType") <*> (o .:? "sortOrder") <*>
(o .:? "fieldName"))
instance ToJSON OrderBy where
toJSON OrderBy'{..}
= object
(catMaybes
[("orderType" .=) <$> _obOrderType,
("sortOrder" .=) <$> _obSortOrder,
("fieldName" .=) <$> _obFieldName])
data Dimension =
Dimension'
{ _dName :: !(Maybe Text)
, _dHistogramBuckets :: !(Maybe [Textual Int64])
}
deriving (Eq, Show, Data, Typeable, Generic)
dimension
:: Dimension
dimension = Dimension' {_dName = Nothing, _dHistogramBuckets = Nothing}
dName :: Lens' Dimension (Maybe Text)
dName = lens _dName (\ s a -> s{_dName = a})
dHistogramBuckets :: Lens' Dimension [Int64]
dHistogramBuckets
= lens _dHistogramBuckets
(\ s a -> s{_dHistogramBuckets = a})
. _Default
. _Coerce
instance FromJSON Dimension where
parseJSON
= withObject "Dimension"
(\ o ->
Dimension' <$>
(o .:? "name") <*>
(o .:? "histogramBuckets" .!= mempty))
instance ToJSON Dimension where
toJSON Dimension'{..}
= object
(catMaybes
[("name" .=) <$> _dName,
("histogramBuckets" .=) <$> _dHistogramBuckets])
data DateRangeValues =
DateRangeValues'
{ _drvPivotValueRegions :: !(Maybe [PivotValueRegion])
, _drvValues :: !(Maybe [Text])
}
deriving (Eq, Show, Data, Typeable, Generic)
dateRangeValues
:: DateRangeValues
dateRangeValues =
DateRangeValues' {_drvPivotValueRegions = Nothing, _drvValues = Nothing}
drvPivotValueRegions :: Lens' DateRangeValues [PivotValueRegion]
drvPivotValueRegions
= lens _drvPivotValueRegions
(\ s a -> s{_drvPivotValueRegions = a})
. _Default
. _Coerce
drvValues :: Lens' DateRangeValues [Text]
drvValues
= lens _drvValues (\ s a -> s{_drvValues = a}) .
_Default
. _Coerce
instance FromJSON DateRangeValues where
parseJSON
= withObject "DateRangeValues"
(\ o ->
DateRangeValues' <$>
(o .:? "pivotValueRegions" .!= mempty) <*>
(o .:? "values" .!= mempty))
instance ToJSON DateRangeValues where
toJSON DateRangeValues'{..}
= object
(catMaybes
[("pivotValueRegions" .=) <$> _drvPivotValueRegions,
("values" .=) <$> _drvValues])
data PivotHeader =
PivotHeader'
{ _phTotalPivotGroupsCount :: !(Maybe (Textual Int32))
, _phPivotHeaderEntries :: !(Maybe [PivotHeaderEntry])
}
deriving (Eq, Show, Data, Typeable, Generic)
pivotHeader
:: PivotHeader
pivotHeader =
PivotHeader'
{_phTotalPivotGroupsCount = Nothing, _phPivotHeaderEntries = Nothing}
phTotalPivotGroupsCount :: Lens' PivotHeader (Maybe Int32)
phTotalPivotGroupsCount
= lens _phTotalPivotGroupsCount
(\ s a -> s{_phTotalPivotGroupsCount = a})
. mapping _Coerce
phPivotHeaderEntries :: Lens' PivotHeader [PivotHeaderEntry]
phPivotHeaderEntries
= lens _phPivotHeaderEntries
(\ s a -> s{_phPivotHeaderEntries = a})
. _Default
. _Coerce
instance FromJSON PivotHeader where
parseJSON
= withObject "PivotHeader"
(\ o ->
PivotHeader' <$>
(o .:? "totalPivotGroupsCount") <*>
(o .:? "pivotHeaderEntries" .!= mempty))
instance ToJSON PivotHeader where
toJSON PivotHeader'{..}
= object
(catMaybes
[("totalPivotGroupsCount" .=) <$>
_phTotalPivotGroupsCount,
("pivotHeaderEntries" .=) <$> _phPivotHeaderEntries])
data SearchUserActivityRequest =
SearchUserActivityRequest'
{ _suarViewId :: !(Maybe Text)
, _suarDateRange :: !(Maybe DateRange)
, _suarUser :: !(Maybe User)
, _suarPageToken :: !(Maybe Text)
, _suarPageSize :: !(Maybe (Textual Int32))
, _suarActivityTypes :: !(Maybe [Text])
}
deriving (Eq, Show, Data, Typeable, Generic)
searchUserActivityRequest
:: SearchUserActivityRequest
searchUserActivityRequest =
SearchUserActivityRequest'
{ _suarViewId = Nothing
, _suarDateRange = Nothing
, _suarUser = Nothing
, _suarPageToken = Nothing
, _suarPageSize = Nothing
, _suarActivityTypes = Nothing
}
suarViewId :: Lens' SearchUserActivityRequest (Maybe Text)
suarViewId
= lens _suarViewId (\ s a -> s{_suarViewId = a})
suarDateRange :: Lens' SearchUserActivityRequest (Maybe DateRange)
suarDateRange
= lens _suarDateRange
(\ s a -> s{_suarDateRange = a})
suarUser :: Lens' SearchUserActivityRequest (Maybe User)
suarUser = lens _suarUser (\ s a -> s{_suarUser = a})
suarPageToken :: Lens' SearchUserActivityRequest (Maybe Text)
suarPageToken
= lens _suarPageToken
(\ s a -> s{_suarPageToken = a})
suarPageSize :: Lens' SearchUserActivityRequest (Maybe Int32)
suarPageSize
= lens _suarPageSize (\ s a -> s{_suarPageSize = a})
. mapping _Coerce
suarActivityTypes :: Lens' SearchUserActivityRequest [Text]
suarActivityTypes
= lens _suarActivityTypes
(\ s a -> s{_suarActivityTypes = a})
. _Default
. _Coerce
instance FromJSON SearchUserActivityRequest where
parseJSON
= withObject "SearchUserActivityRequest"
(\ o ->
SearchUserActivityRequest' <$>
(o .:? "viewId") <*> (o .:? "dateRange") <*>
(o .:? "user")
<*> (o .:? "pageToken")
<*> (o .:? "pageSize")
<*> (o .:? "activityTypes" .!= mempty))
instance ToJSON SearchUserActivityRequest where
toJSON SearchUserActivityRequest'{..}
= object
(catMaybes
[("viewId" .=) <$> _suarViewId,
("dateRange" .=) <$> _suarDateRange,
("user" .=) <$> _suarUser,
("pageToken" .=) <$> _suarPageToken,
("pageSize" .=) <$> _suarPageSize,
("activityTypes" .=) <$> _suarActivityTypes])
data MetricHeader =
MetricHeader'
{ _mhPivotHeaders :: !(Maybe [PivotHeader])
, _mhMetricHeaderEntries :: !(Maybe [MetricHeaderEntry])
}
deriving (Eq, Show, Data, Typeable, Generic)
metricHeader
:: MetricHeader
metricHeader =
MetricHeader' {_mhPivotHeaders = Nothing, _mhMetricHeaderEntries = Nothing}
mhPivotHeaders :: Lens' MetricHeader [PivotHeader]
mhPivotHeaders
= lens _mhPivotHeaders
(\ s a -> s{_mhPivotHeaders = a})
. _Default
. _Coerce
mhMetricHeaderEntries :: Lens' MetricHeader [MetricHeaderEntry]
mhMetricHeaderEntries
= lens _mhMetricHeaderEntries
(\ s a -> s{_mhMetricHeaderEntries = a})
. _Default
. _Coerce
instance FromJSON MetricHeader where
parseJSON
= withObject "MetricHeader"
(\ o ->
MetricHeader' <$>
(o .:? "pivotHeaders" .!= mempty) <*>
(o .:? "metricHeaderEntries" .!= mempty))
instance ToJSON MetricHeader where
toJSON MetricHeader'{..}
= object
(catMaybes
[("pivotHeaders" .=) <$> _mhPivotHeaders,
("metricHeaderEntries" .=) <$>
_mhMetricHeaderEntries])
data SegmentFilter =
SegmentFilter'
{ _sfNot :: !(Maybe Bool)
, _sfSimpleSegment :: !(Maybe SimpleSegment)
, _sfSequenceSegment :: !(Maybe SequenceSegment)
}
deriving (Eq, Show, Data, Typeable, Generic)
segmentFilter
:: SegmentFilter
segmentFilter =
SegmentFilter'
{_sfNot = Nothing, _sfSimpleSegment = Nothing, _sfSequenceSegment = Nothing}
sfNot :: Lens' SegmentFilter (Maybe Bool)
sfNot = lens _sfNot (\ s a -> s{_sfNot = a})
sfSimpleSegment :: Lens' SegmentFilter (Maybe SimpleSegment)
sfSimpleSegment
= lens _sfSimpleSegment
(\ s a -> s{_sfSimpleSegment = a})
sfSequenceSegment :: Lens' SegmentFilter (Maybe SequenceSegment)
sfSequenceSegment
= lens _sfSequenceSegment
(\ s a -> s{_sfSequenceSegment = a})
instance FromJSON SegmentFilter where
parseJSON
= withObject "SegmentFilter"
(\ o ->
SegmentFilter' <$>
(o .:? "not") <*> (o .:? "simpleSegment") <*>
(o .:? "sequenceSegment"))
instance ToJSON SegmentFilter where
toJSON SegmentFilter'{..}
= object
(catMaybes
[("not" .=) <$> _sfNot,
("simpleSegment" .=) <$> _sfSimpleSegment,
("sequenceSegment" .=) <$> _sfSequenceSegment])
data DateRange =
DateRange'
{ _drEndDate :: !(Maybe Text)
, _drStartDate :: !(Maybe Text)
}
deriving (Eq, Show, Data, Typeable, Generic)
dateRange
:: DateRange
dateRange = DateRange' {_drEndDate = Nothing, _drStartDate = Nothing}
drEndDate :: Lens' DateRange (Maybe Text)
drEndDate
= lens _drEndDate (\ s a -> s{_drEndDate = a})
drStartDate :: Lens' DateRange (Maybe Text)
drStartDate
= lens _drStartDate (\ s a -> s{_drStartDate = a})
instance FromJSON DateRange where
parseJSON
= withObject "DateRange"
(\ o ->
DateRange' <$>
(o .:? "endDate") <*> (o .:? "startDate"))
instance ToJSON DateRange where
toJSON DateRange'{..}
= object
(catMaybes
[("endDate" .=) <$> _drEndDate,
("startDate" .=) <$> _drStartDate])
data Report =
Report'
{ _rNextPageToken :: !(Maybe Text)
, _rData :: !(Maybe ReportData)
, _rColumnHeader :: !(Maybe ColumnHeader)
}
deriving (Eq, Show, Data, Typeable, Generic)
report
:: Report
report =
Report'
{_rNextPageToken = Nothing, _rData = Nothing, _rColumnHeader = Nothing}
rNextPageToken :: Lens' Report (Maybe Text)
rNextPageToken
= lens _rNextPageToken
(\ s a -> s{_rNextPageToken = a})
rData :: Lens' Report (Maybe ReportData)
rData = lens _rData (\ s a -> s{_rData = a})
rColumnHeader :: Lens' Report (Maybe ColumnHeader)
rColumnHeader
= lens _rColumnHeader
(\ s a -> s{_rColumnHeader = a})
instance FromJSON Report where
parseJSON
= withObject "Report"
(\ o ->
Report' <$>
(o .:? "nextPageToken") <*> (o .:? "data") <*>
(o .:? "columnHeader"))
instance ToJSON Report where
toJSON Report'{..}
= object
(catMaybes
[("nextPageToken" .=) <$> _rNextPageToken,
("data" .=) <$> _rData,
("columnHeader" .=) <$> _rColumnHeader])
data PageviewData =
PageviewData'
{ _pdPageTitle :: !(Maybe Text)
, _pdPagePath :: !(Maybe Text)
}
deriving (Eq, Show, Data, Typeable, Generic)
pageviewData
:: PageviewData
pageviewData = PageviewData' {_pdPageTitle = Nothing, _pdPagePath = Nothing}
pdPageTitle :: Lens' PageviewData (Maybe Text)
pdPageTitle
= lens _pdPageTitle (\ s a -> s{_pdPageTitle = a})
pdPagePath :: Lens' PageviewData (Maybe Text)
pdPagePath
= lens _pdPagePath (\ s a -> s{_pdPagePath = a})
instance FromJSON PageviewData where
parseJSON
= withObject "PageviewData"
(\ o ->
PageviewData' <$>
(o .:? "pageTitle") <*> (o .:? "pagePath"))
instance ToJSON PageviewData where
toJSON PageviewData'{..}
= object
(catMaybes
[("pageTitle" .=) <$> _pdPageTitle,
("pagePath" .=) <$> _pdPagePath])
data ReportData =
ReportData'
{ _rdMinimums :: !(Maybe [DateRangeValues])
, _rdRows :: !(Maybe [ReportRow])
, _rdTotals :: !(Maybe [DateRangeValues])
, _rdSamplesReadCounts :: !(Maybe [Textual Int64])
, _rdMaximums :: !(Maybe [DateRangeValues])
, _rdDataLastRefreshed :: !(Maybe DateTime')
, _rdRowCount :: !(Maybe (Textual Int32))
, _rdSamplingSpaceSizes :: !(Maybe [Textual Int64])
, _rdIsDataGolden :: !(Maybe Bool)
}
deriving (Eq, Show, Data, Typeable, Generic)
reportData
:: ReportData
reportData =
ReportData'
{ _rdMinimums = Nothing
, _rdRows = Nothing
, _rdTotals = Nothing
, _rdSamplesReadCounts = Nothing
, _rdMaximums = Nothing
, _rdDataLastRefreshed = Nothing
, _rdRowCount = Nothing
, _rdSamplingSpaceSizes = Nothing
, _rdIsDataGolden = Nothing
}
rdMinimums :: Lens' ReportData [DateRangeValues]
rdMinimums
= lens _rdMinimums (\ s a -> s{_rdMinimums = a}) .
_Default
. _Coerce
rdRows :: Lens' ReportData [ReportRow]
rdRows
= lens _rdRows (\ s a -> s{_rdRows = a}) . _Default .
_Coerce
rdTotals :: Lens' ReportData [DateRangeValues]
rdTotals
= lens _rdTotals (\ s a -> s{_rdTotals = a}) .
_Default
. _Coerce
rdSamplesReadCounts :: Lens' ReportData [Int64]
rdSamplesReadCounts
= lens _rdSamplesReadCounts
(\ s a -> s{_rdSamplesReadCounts = a})
. _Default
. _Coerce
rdMaximums :: Lens' ReportData [DateRangeValues]
rdMaximums
= lens _rdMaximums (\ s a -> s{_rdMaximums = a}) .
_Default
. _Coerce
rdDataLastRefreshed :: Lens' ReportData (Maybe UTCTime)
rdDataLastRefreshed
= lens _rdDataLastRefreshed
(\ s a -> s{_rdDataLastRefreshed = a})
. mapping _DateTime
rdRowCount :: Lens' ReportData (Maybe Int32)
rdRowCount
= lens _rdRowCount (\ s a -> s{_rdRowCount = a}) .
mapping _Coerce
rdSamplingSpaceSizes :: Lens' ReportData [Int64]
rdSamplingSpaceSizes
= lens _rdSamplingSpaceSizes
(\ s a -> s{_rdSamplingSpaceSizes = a})
. _Default
. _Coerce
rdIsDataGolden :: Lens' ReportData (Maybe Bool)
rdIsDataGolden
= lens _rdIsDataGolden
(\ s a -> s{_rdIsDataGolden = a})
instance FromJSON ReportData where
parseJSON
= withObject "ReportData"
(\ o ->
ReportData' <$>
(o .:? "minimums" .!= mempty) <*>
(o .:? "rows" .!= mempty)
<*> (o .:? "totals" .!= mempty)
<*> (o .:? "samplesReadCounts" .!= mempty)
<*> (o .:? "maximums" .!= mempty)
<*> (o .:? "dataLastRefreshed")
<*> (o .:? "rowCount")
<*> (o .:? "samplingSpaceSizes" .!= mempty)
<*> (o .:? "isDataGolden"))
instance ToJSON ReportData where
toJSON ReportData'{..}
= object
(catMaybes
[("minimums" .=) <$> _rdMinimums,
("rows" .=) <$> _rdRows, ("totals" .=) <$> _rdTotals,
("samplesReadCounts" .=) <$> _rdSamplesReadCounts,
("maximums" .=) <$> _rdMaximums,
("dataLastRefreshed" .=) <$> _rdDataLastRefreshed,
("rowCount" .=) <$> _rdRowCount,
("samplingSpaceSizes" .=) <$> _rdSamplingSpaceSizes,
("isDataGolden" .=) <$> _rdIsDataGolden])
data SegmentFilterClause =
SegmentFilterClause'
{ _sfcMetricFilter :: !(Maybe SegmentMetricFilter)
, _sfcNot :: !(Maybe Bool)
, _sfcDimensionFilter :: !(Maybe SegmentDimensionFilter)
}
deriving (Eq, Show, Data, Typeable, Generic)
segmentFilterClause
:: SegmentFilterClause
segmentFilterClause =
SegmentFilterClause'
{ _sfcMetricFilter = Nothing
, _sfcNot = Nothing
, _sfcDimensionFilter = Nothing
}
sfcMetricFilter :: Lens' SegmentFilterClause (Maybe SegmentMetricFilter)
sfcMetricFilter
= lens _sfcMetricFilter
(\ s a -> s{_sfcMetricFilter = a})
sfcNot :: Lens' SegmentFilterClause (Maybe Bool)
sfcNot = lens _sfcNot (\ s a -> s{_sfcNot = a})
sfcDimensionFilter :: Lens' SegmentFilterClause (Maybe SegmentDimensionFilter)
sfcDimensionFilter
= lens _sfcDimensionFilter
(\ s a -> s{_sfcDimensionFilter = a})
instance FromJSON SegmentFilterClause where
parseJSON
= withObject "SegmentFilterClause"
(\ o ->
SegmentFilterClause' <$>
(o .:? "metricFilter") <*> (o .:? "not") <*>
(o .:? "dimensionFilter"))
instance ToJSON SegmentFilterClause where
toJSON SegmentFilterClause'{..}
= object
(catMaybes
[("metricFilter" .=) <$> _sfcMetricFilter,
("not" .=) <$> _sfcNot,
("dimensionFilter" .=) <$> _sfcDimensionFilter])
data SegmentSequenceStep =
SegmentSequenceStep'
{ _sssMatchType :: !(Maybe SegmentSequenceStepMatchType)
, _sssOrFiltersForSegment :: !(Maybe [OrFiltersForSegment])
}
deriving (Eq, Show, Data, Typeable, Generic)
segmentSequenceStep
:: SegmentSequenceStep
segmentSequenceStep =
SegmentSequenceStep'
{_sssMatchType = Nothing, _sssOrFiltersForSegment = Nothing}
sssMatchType :: Lens' SegmentSequenceStep (Maybe SegmentSequenceStepMatchType)
sssMatchType
= lens _sssMatchType (\ s a -> s{_sssMatchType = a})
sssOrFiltersForSegment :: Lens' SegmentSequenceStep [OrFiltersForSegment]
sssOrFiltersForSegment
= lens _sssOrFiltersForSegment
(\ s a -> s{_sssOrFiltersForSegment = a})
. _Default
. _Coerce
instance FromJSON SegmentSequenceStep where
parseJSON
= withObject "SegmentSequenceStep"
(\ o ->
SegmentSequenceStep' <$>
(o .:? "matchType") <*>
(o .:? "orFiltersForSegment" .!= mempty))
instance ToJSON SegmentSequenceStep where
toJSON SegmentSequenceStep'{..}
= object
(catMaybes
[("matchType" .=) <$> _sssMatchType,
("orFiltersForSegment" .=) <$>
_sssOrFiltersForSegment])
newtype OrFiltersForSegment =
OrFiltersForSegment'
{ _offsSegmentFilterClauses :: Maybe [SegmentFilterClause]
}
deriving (Eq, Show, Data, Typeable, Generic)
orFiltersForSegment
:: OrFiltersForSegment
orFiltersForSegment = OrFiltersForSegment' {_offsSegmentFilterClauses = Nothing}
offsSegmentFilterClauses :: Lens' OrFiltersForSegment [SegmentFilterClause]
offsSegmentFilterClauses
= lens _offsSegmentFilterClauses
(\ s a -> s{_offsSegmentFilterClauses = a})
. _Default
. _Coerce
instance FromJSON OrFiltersForSegment where
parseJSON
= withObject "OrFiltersForSegment"
(\ o ->
OrFiltersForSegment' <$>
(o .:? "segmentFilterClauses" .!= mempty))
instance ToJSON OrFiltersForSegment where
toJSON OrFiltersForSegment'{..}
= object
(catMaybes
[("segmentFilterClauses" .=) <$>
_offsSegmentFilterClauses])
newtype SegmentDefinition =
SegmentDefinition'
{ _sdSegmentFilters :: Maybe [SegmentFilter]
}
deriving (Eq, Show, Data, Typeable, Generic)
segmentDefinition
:: SegmentDefinition
segmentDefinition = SegmentDefinition' {_sdSegmentFilters = Nothing}
sdSegmentFilters :: Lens' SegmentDefinition [SegmentFilter]
sdSegmentFilters
= lens _sdSegmentFilters
(\ s a -> s{_sdSegmentFilters = a})
. _Default
. _Coerce
instance FromJSON SegmentDefinition where
parseJSON
= withObject "SegmentDefinition"
(\ o ->
SegmentDefinition' <$>
(o .:? "segmentFilters" .!= mempty))
instance ToJSON SegmentDefinition where
toJSON SegmentDefinition'{..}
= object
(catMaybes
[("segmentFilters" .=) <$> _sdSegmentFilters])
data User =
User'
{ _uUserId :: !(Maybe Text)
, _uType :: !(Maybe UserType)
}
deriving (Eq, Show, Data, Typeable, Generic)
user
:: User
user = User' {_uUserId = Nothing, _uType = Nothing}
uUserId :: Lens' User (Maybe Text)
uUserId = lens _uUserId (\ s a -> s{_uUserId = a})
uType :: Lens' User (Maybe UserType)
uType = lens _uType (\ s a -> s{_uType = a})
instance FromJSON User where
parseJSON
= withObject "User"
(\ o ->
User' <$> (o .:? "userId") <*> (o .:? "type"))
instance ToJSON User where
toJSON User'{..}
= object
(catMaybes
[("userId" .=) <$> _uUserId, ("type" .=) <$> _uType])
data Pivot =
Pivot'
{ _pStartGroup :: !(Maybe (Textual Int32))
, _pMetrics :: !(Maybe [Metric])
, _pMaxGroupCount :: !(Maybe (Textual Int32))
, _pDimensions :: !(Maybe [Dimension])
, _pDimensionFilterClauses :: !(Maybe [DimensionFilterClause])
}
deriving (Eq, Show, Data, Typeable, Generic)
pivot
:: Pivot
pivot =
Pivot'
{ _pStartGroup = Nothing
, _pMetrics = Nothing
, _pMaxGroupCount = Nothing
, _pDimensions = Nothing
, _pDimensionFilterClauses = Nothing
}
pStartGroup :: Lens' Pivot (Maybe Int32)
pStartGroup
= lens _pStartGroup (\ s a -> s{_pStartGroup = a}) .
mapping _Coerce
pMetrics :: Lens' Pivot [Metric]
pMetrics
= lens _pMetrics (\ s a -> s{_pMetrics = a}) .
_Default
. _Coerce
pMaxGroupCount :: Lens' Pivot (Maybe Int32)
pMaxGroupCount
= lens _pMaxGroupCount
(\ s a -> s{_pMaxGroupCount = a})
. mapping _Coerce
pDimensions :: Lens' Pivot [Dimension]
pDimensions
= lens _pDimensions (\ s a -> s{_pDimensions = a}) .
_Default
. _Coerce
pDimensionFilterClauses :: Lens' Pivot [DimensionFilterClause]
pDimensionFilterClauses
= lens _pDimensionFilterClauses
(\ s a -> s{_pDimensionFilterClauses = a})
. _Default
. _Coerce
instance FromJSON Pivot where
parseJSON
= withObject "Pivot"
(\ o ->
Pivot' <$>
(o .:? "startGroup") <*> (o .:? "metrics" .!= mempty)
<*> (o .:? "maxGroupCount")
<*> (o .:? "dimensions" .!= mempty)
<*> (o .:? "dimensionFilterClauses" .!= mempty))
instance ToJSON Pivot where
toJSON Pivot'{..}
= object
(catMaybes
[("startGroup" .=) <$> _pStartGroup,
("metrics" .=) <$> _pMetrics,
("maxGroupCount" .=) <$> _pMaxGroupCount,
("dimensions" .=) <$> _pDimensions,
("dimensionFilterClauses" .=) <$>
_pDimensionFilterClauses])
data TransactionData =
TransactionData'
{ _tdTransactionId :: !(Maybe Text)
, _tdTransactionTax :: !(Maybe (Textual Double))
, _tdTransactionShipping :: !(Maybe (Textual Double))
, _tdTransactionRevenue :: !(Maybe (Textual Double))
}
deriving (Eq, Show, Data, Typeable, Generic)
transactionData
:: TransactionData
transactionData =
TransactionData'
{ _tdTransactionId = Nothing
, _tdTransactionTax = Nothing
, _tdTransactionShipping = Nothing
, _tdTransactionRevenue = Nothing
}
tdTransactionId :: Lens' TransactionData (Maybe Text)
tdTransactionId
= lens _tdTransactionId
(\ s a -> s{_tdTransactionId = a})
tdTransactionTax :: Lens' TransactionData (Maybe Double)
tdTransactionTax
= lens _tdTransactionTax
(\ s a -> s{_tdTransactionTax = a})
. mapping _Coerce
tdTransactionShipping :: Lens' TransactionData (Maybe Double)
tdTransactionShipping
= lens _tdTransactionShipping
(\ s a -> s{_tdTransactionShipping = a})
. mapping _Coerce
tdTransactionRevenue :: Lens' TransactionData (Maybe Double)
tdTransactionRevenue
= lens _tdTransactionRevenue
(\ s a -> s{_tdTransactionRevenue = a})
. mapping _Coerce
instance FromJSON TransactionData where
parseJSON
= withObject "TransactionData"
(\ o ->
TransactionData' <$>
(o .:? "transactionId") <*> (o .:? "transactionTax")
<*> (o .:? "transactionShipping")
<*> (o .:? "transactionRevenue"))
instance ToJSON TransactionData where
toJSON TransactionData'{..}
= object
(catMaybes
[("transactionId" .=) <$> _tdTransactionId,
("transactionTax" .=) <$> _tdTransactionTax,
("transactionShipping" .=) <$>
_tdTransactionShipping,
("transactionRevenue" .=) <$> _tdTransactionRevenue])
data SequenceSegment =
SequenceSegment'
{ _ssFirstStepShouldMatchFirstHit :: !(Maybe Bool)
, _ssSegmentSequenceSteps :: !(Maybe [SegmentSequenceStep])
}
deriving (Eq, Show, Data, Typeable, Generic)
sequenceSegment
:: SequenceSegment
sequenceSegment =
SequenceSegment'
{ _ssFirstStepShouldMatchFirstHit = Nothing
, _ssSegmentSequenceSteps = Nothing
}
ssFirstStepShouldMatchFirstHit :: Lens' SequenceSegment (Maybe Bool)
ssFirstStepShouldMatchFirstHit
= lens _ssFirstStepShouldMatchFirstHit
(\ s a -> s{_ssFirstStepShouldMatchFirstHit = a})
ssSegmentSequenceSteps :: Lens' SequenceSegment [SegmentSequenceStep]
ssSegmentSequenceSteps
= lens _ssSegmentSequenceSteps
(\ s a -> s{_ssSegmentSequenceSteps = a})
. _Default
. _Coerce
instance FromJSON SequenceSegment where
parseJSON
= withObject "SequenceSegment"
(\ o ->
SequenceSegment' <$>
(o .:? "firstStepShouldMatchFirstHit") <*>
(o .:? "segmentSequenceSteps" .!= mempty))
instance ToJSON SequenceSegment where
toJSON SequenceSegment'{..}
= object
(catMaybes
[("firstStepShouldMatchFirstHit" .=) <$>
_ssFirstStepShouldMatchFirstHit,
("segmentSequenceSteps" .=) <$>
_ssSegmentSequenceSteps])
data Metric =
Metric'
{ _mFormattingType :: !(Maybe MetricFormattingType)
, _mAlias :: !(Maybe Text)
, _mExpression :: !(Maybe Text)
}
deriving (Eq, Show, Data, Typeable, Generic)
metric
:: Metric
metric =
Metric'
{_mFormattingType = Nothing, _mAlias = Nothing, _mExpression = Nothing}
mFormattingType :: Lens' Metric (Maybe MetricFormattingType)
mFormattingType
= lens _mFormattingType
(\ s a -> s{_mFormattingType = a})
mAlias :: Lens' Metric (Maybe Text)
mAlias = lens _mAlias (\ s a -> s{_mAlias = a})
mExpression :: Lens' Metric (Maybe Text)
mExpression
= lens _mExpression (\ s a -> s{_mExpression = a})
instance FromJSON Metric where
parseJSON
= withObject "Metric"
(\ o ->
Metric' <$>
(o .:? "formattingType") <*> (o .:? "alias") <*>
(o .:? "expression"))
instance ToJSON Metric where
toJSON Metric'{..}
= object
(catMaybes
[("formattingType" .=) <$> _mFormattingType,
("alias" .=) <$> _mAlias,
("expression" .=) <$> _mExpression])
data SegmentMetricFilter =
SegmentMetricFilter'
{ _smfOperator :: !(Maybe SegmentMetricFilterOperator)
, _smfMetricName :: !(Maybe Text)
, _smfMaxComparisonValue :: !(Maybe Text)
, _smfScope :: !(Maybe SegmentMetricFilterScope)
, _smfComparisonValue :: !(Maybe Text)
}
deriving (Eq, Show, Data, Typeable, Generic)
segmentMetricFilter
:: SegmentMetricFilter
segmentMetricFilter =
SegmentMetricFilter'
{ _smfOperator = Nothing
, _smfMetricName = Nothing
, _smfMaxComparisonValue = Nothing
, _smfScope = Nothing
, _smfComparisonValue = Nothing
}
smfOperator :: Lens' SegmentMetricFilter (Maybe SegmentMetricFilterOperator)
smfOperator
= lens _smfOperator (\ s a -> s{_smfOperator = a})
smfMetricName :: Lens' SegmentMetricFilter (Maybe Text)
smfMetricName
= lens _smfMetricName
(\ s a -> s{_smfMetricName = a})
smfMaxComparisonValue :: Lens' SegmentMetricFilter (Maybe Text)
smfMaxComparisonValue
= lens _smfMaxComparisonValue
(\ s a -> s{_smfMaxComparisonValue = a})
smfScope :: Lens' SegmentMetricFilter (Maybe SegmentMetricFilterScope)
smfScope = lens _smfScope (\ s a -> s{_smfScope = a})
smfComparisonValue :: Lens' SegmentMetricFilter (Maybe Text)
smfComparisonValue
= lens _smfComparisonValue
(\ s a -> s{_smfComparisonValue = a})
instance FromJSON SegmentMetricFilter where
parseJSON
= withObject "SegmentMetricFilter"
(\ o ->
SegmentMetricFilter' <$>
(o .:? "operator") <*> (o .:? "metricName") <*>
(o .:? "maxComparisonValue")
<*> (o .:? "scope")
<*> (o .:? "comparisonValue"))
instance ToJSON SegmentMetricFilter where
toJSON SegmentMetricFilter'{..}
= object
(catMaybes
[("operator" .=) <$> _smfOperator,
("metricName" .=) <$> _smfMetricName,
("maxComparisonValue" .=) <$> _smfMaxComparisonValue,
("scope" .=) <$> _smfScope,
("comparisonValue" .=) <$> _smfComparisonValue])
data GetReportsRequest =
GetReportsRequest'
{ _grrUseResourceQuotas :: !(Maybe Bool)
, _grrReportRequests :: !(Maybe [ReportRequest])
}
deriving (Eq, Show, Data, Typeable, Generic)
getReportsRequest
:: GetReportsRequest
getReportsRequest =
GetReportsRequest'
{_grrUseResourceQuotas = Nothing, _grrReportRequests = Nothing}
grrUseResourceQuotas :: Lens' GetReportsRequest (Maybe Bool)
grrUseResourceQuotas
= lens _grrUseResourceQuotas
(\ s a -> s{_grrUseResourceQuotas = a})
grrReportRequests :: Lens' GetReportsRequest [ReportRequest]
grrReportRequests
= lens _grrReportRequests
(\ s a -> s{_grrReportRequests = a})
. _Default
. _Coerce
instance FromJSON GetReportsRequest where
parseJSON
= withObject "GetReportsRequest"
(\ o ->
GetReportsRequest' <$>
(o .:? "useResourceQuotas") <*>
(o .:? "reportRequests" .!= mempty))
instance ToJSON GetReportsRequest where
toJSON GetReportsRequest'{..}
= object
(catMaybes
[("useResourceQuotas" .=) <$> _grrUseResourceQuotas,
("reportRequests" .=) <$> _grrReportRequests])
data UserActivitySession =
UserActivitySession'
{ _uasPlatform :: !(Maybe Text)
, _uasDeviceCategory :: !(Maybe Text)
, _uasActivities :: !(Maybe [Activity])
, _uasSessionDate :: !(Maybe Text)
, _uasDataSource :: !(Maybe Text)
, _uasSessionId :: !(Maybe Text)
}
deriving (Eq, Show, Data, Typeable, Generic)
userActivitySession
:: UserActivitySession
userActivitySession =
UserActivitySession'
{ _uasPlatform = Nothing
, _uasDeviceCategory = Nothing
, _uasActivities = Nothing
, _uasSessionDate = Nothing
, _uasDataSource = Nothing
, _uasSessionId = Nothing
}
uasPlatform :: Lens' UserActivitySession (Maybe Text)
uasPlatform
= lens _uasPlatform (\ s a -> s{_uasPlatform = a})
uasDeviceCategory :: Lens' UserActivitySession (Maybe Text)
uasDeviceCategory
= lens _uasDeviceCategory
(\ s a -> s{_uasDeviceCategory = a})
uasActivities :: Lens' UserActivitySession [Activity]
uasActivities
= lens _uasActivities
(\ s a -> s{_uasActivities = a})
. _Default
. _Coerce
uasSessionDate :: Lens' UserActivitySession (Maybe Text)
uasSessionDate
= lens _uasSessionDate
(\ s a -> s{_uasSessionDate = a})
uasDataSource :: Lens' UserActivitySession (Maybe Text)
uasDataSource
= lens _uasDataSource
(\ s a -> s{_uasDataSource = a})
uasSessionId :: Lens' UserActivitySession (Maybe Text)
uasSessionId
= lens _uasSessionId (\ s a -> s{_uasSessionId = a})
instance FromJSON UserActivitySession where
parseJSON
= withObject "UserActivitySession"
(\ o ->
UserActivitySession' <$>
(o .:? "platform") <*> (o .:? "deviceCategory") <*>
(o .:? "activities" .!= mempty)
<*> (o .:? "sessionDate")
<*> (o .:? "dataSource")
<*> (o .:? "sessionId"))
instance ToJSON UserActivitySession where
toJSON UserActivitySession'{..}
= object
(catMaybes
[("platform" .=) <$> _uasPlatform,
("deviceCategory" .=) <$> _uasDeviceCategory,
("activities" .=) <$> _uasActivities,
("sessionDate" .=) <$> _uasSessionDate,
("dataSource" .=) <$> _uasDataSource,
("sessionId" .=) <$> _uasSessionId])
data GoalData =
GoalData'
{ _gdGoalPreviousStep2 :: !(Maybe Text)
, _gdGoalName :: !(Maybe Text)
, _gdGoalPreviousStep3 :: !(Maybe Text)
, _gdGoalIndex :: !(Maybe (Textual Int32))
, _gdGoalCompletionLocation :: !(Maybe Text)
, _gdGoalPreviousStep1 :: !(Maybe Text)
, _gdGoalCompletions :: !(Maybe (Textual Int64))
, _gdGoalValue :: !(Maybe (Textual Double))
}
deriving (Eq, Show, Data, Typeable, Generic)
goalData
:: GoalData
goalData =
GoalData'
{ _gdGoalPreviousStep2 = Nothing
, _gdGoalName = Nothing
, _gdGoalPreviousStep3 = Nothing
, _gdGoalIndex = Nothing
, _gdGoalCompletionLocation = Nothing
, _gdGoalPreviousStep1 = Nothing
, _gdGoalCompletions = Nothing
, _gdGoalValue = Nothing
}
gdGoalPreviousStep2 :: Lens' GoalData (Maybe Text)
gdGoalPreviousStep2
= lens _gdGoalPreviousStep2
(\ s a -> s{_gdGoalPreviousStep2 = a})
gdGoalName :: Lens' GoalData (Maybe Text)
gdGoalName
= lens _gdGoalName (\ s a -> s{_gdGoalName = a})
gdGoalPreviousStep3 :: Lens' GoalData (Maybe Text)
gdGoalPreviousStep3
= lens _gdGoalPreviousStep3
(\ s a -> s{_gdGoalPreviousStep3 = a})
gdGoalIndex :: Lens' GoalData (Maybe Int32)
gdGoalIndex
= lens _gdGoalIndex (\ s a -> s{_gdGoalIndex = a}) .
mapping _Coerce
gdGoalCompletionLocation :: Lens' GoalData (Maybe Text)
gdGoalCompletionLocation
= lens _gdGoalCompletionLocation
(\ s a -> s{_gdGoalCompletionLocation = a})
gdGoalPreviousStep1 :: Lens' GoalData (Maybe Text)
gdGoalPreviousStep1
= lens _gdGoalPreviousStep1
(\ s a -> s{_gdGoalPreviousStep1 = a})
gdGoalCompletions :: Lens' GoalData (Maybe Int64)
gdGoalCompletions
= lens _gdGoalCompletions
(\ s a -> s{_gdGoalCompletions = a})
. mapping _Coerce
gdGoalValue :: Lens' GoalData (Maybe Double)
gdGoalValue
= lens _gdGoalValue (\ s a -> s{_gdGoalValue = a}) .
mapping _Coerce
instance FromJSON GoalData where
parseJSON
= withObject "GoalData"
(\ o ->
GoalData' <$>
(o .:? "goalPreviousStep2") <*> (o .:? "goalName")
<*> (o .:? "goalPreviousStep3")
<*> (o .:? "goalIndex")
<*> (o .:? "goalCompletionLocation")
<*> (o .:? "goalPreviousStep1")
<*> (o .:? "goalCompletions")
<*> (o .:? "goalValue"))
instance ToJSON GoalData where
toJSON GoalData'{..}
= object
(catMaybes
[("goalPreviousStep2" .=) <$> _gdGoalPreviousStep2,
("goalName" .=) <$> _gdGoalName,
("goalPreviousStep3" .=) <$> _gdGoalPreviousStep3,
("goalIndex" .=) <$> _gdGoalIndex,
("goalCompletionLocation" .=) <$>
_gdGoalCompletionLocation,
("goalPreviousStep1" .=) <$> _gdGoalPreviousStep1,
("goalCompletions" .=) <$> _gdGoalCompletions,
("goalValue" .=) <$> _gdGoalValue])
data Activity =
Activity'
{ _aEvent :: !(Maybe EventData)
, _aHostname :: !(Maybe Text)
, _aActivityType :: !(Maybe ActivityActivityType)
, _aMedium :: !(Maybe Text)
, _aPageview :: !(Maybe PageviewData)
, _aCampaign :: !(Maybe Text)
, _aGoals :: !(Maybe GoalSetData)
, _aChannelGrouping :: !(Maybe Text)
, _aAppview :: !(Maybe ScreenviewData)
, _aSource :: !(Maybe Text)
, _aActivityTime :: !(Maybe DateTime')
, _aEcommerce :: !(Maybe EcommerceData)
, _aCustomDimension :: !(Maybe [CustomDimension])
, _aKeyword :: !(Maybe Text)
, _aLandingPagePath :: !(Maybe Text)
}
deriving (Eq, Show, Data, Typeable, Generic)
activity
:: Activity
activity =
Activity'
{ _aEvent = Nothing
, _aHostname = Nothing
, _aActivityType = Nothing
, _aMedium = Nothing
, _aPageview = Nothing
, _aCampaign = Nothing
, _aGoals = Nothing
, _aChannelGrouping = Nothing
, _aAppview = Nothing
, _aSource = Nothing
, _aActivityTime = Nothing
, _aEcommerce = Nothing
, _aCustomDimension = Nothing
, _aKeyword = Nothing
, _aLandingPagePath = Nothing
}
aEvent :: Lens' Activity (Maybe EventData)
aEvent = lens _aEvent (\ s a -> s{_aEvent = a})
aHostname :: Lens' Activity (Maybe Text)
aHostname
= lens _aHostname (\ s a -> s{_aHostname = a})
aActivityType :: Lens' Activity (Maybe ActivityActivityType)
aActivityType
= lens _aActivityType
(\ s a -> s{_aActivityType = a})
aMedium :: Lens' Activity (Maybe Text)
aMedium = lens _aMedium (\ s a -> s{_aMedium = a})
aPageview :: Lens' Activity (Maybe PageviewData)
aPageview
= lens _aPageview (\ s a -> s{_aPageview = a})
aCampaign :: Lens' Activity (Maybe Text)
aCampaign
= lens _aCampaign (\ s a -> s{_aCampaign = a})
aGoals :: Lens' Activity (Maybe GoalSetData)
aGoals = lens _aGoals (\ s a -> s{_aGoals = a})
aChannelGrouping :: Lens' Activity (Maybe Text)
aChannelGrouping
= lens _aChannelGrouping
(\ s a -> s{_aChannelGrouping = a})
aAppview :: Lens' Activity (Maybe ScreenviewData)
aAppview = lens _aAppview (\ s a -> s{_aAppview = a})
aSource :: Lens' Activity (Maybe Text)
aSource = lens _aSource (\ s a -> s{_aSource = a})
aActivityTime :: Lens' Activity (Maybe UTCTime)
aActivityTime
= lens _aActivityTime
(\ s a -> s{_aActivityTime = a})
. mapping _DateTime
aEcommerce :: Lens' Activity (Maybe EcommerceData)
aEcommerce
= lens _aEcommerce (\ s a -> s{_aEcommerce = a})
aCustomDimension :: Lens' Activity [CustomDimension]
aCustomDimension
= lens _aCustomDimension
(\ s a -> s{_aCustomDimension = a})
. _Default
. _Coerce
aKeyword :: Lens' Activity (Maybe Text)
aKeyword = lens _aKeyword (\ s a -> s{_aKeyword = a})
aLandingPagePath :: Lens' Activity (Maybe Text)
aLandingPagePath
= lens _aLandingPagePath
(\ s a -> s{_aLandingPagePath = a})
instance FromJSON Activity where
parseJSON
= withObject "Activity"
(\ o ->
Activity' <$>
(o .:? "event") <*> (o .:? "hostname") <*>
(o .:? "activityType")
<*> (o .:? "medium")
<*> (o .:? "pageview")
<*> (o .:? "campaign")
<*> (o .:? "goals")
<*> (o .:? "channelGrouping")
<*> (o .:? "appview")
<*> (o .:? "source")
<*> (o .:? "activityTime")
<*> (o .:? "ecommerce")
<*> (o .:? "customDimension" .!= mempty)
<*> (o .:? "keyword")
<*> (o .:? "landingPagePath"))
instance ToJSON Activity where
toJSON Activity'{..}
= object
(catMaybes
[("event" .=) <$> _aEvent,
("hostname" .=) <$> _aHostname,
("activityType" .=) <$> _aActivityType,
("medium" .=) <$> _aMedium,
("pageview" .=) <$> _aPageview,
("campaign" .=) <$> _aCampaign,
("goals" .=) <$> _aGoals,
("channelGrouping" .=) <$> _aChannelGrouping,
("appview" .=) <$> _aAppview,
("source" .=) <$> _aSource,
("activityTime" .=) <$> _aActivityTime,
("ecommerce" .=) <$> _aEcommerce,
("customDimension" .=) <$> _aCustomDimension,
("keyword" .=) <$> _aKeyword,
("landingPagePath" .=) <$> _aLandingPagePath])
data Cohort =
Cohort'
{ _cDateRange :: !(Maybe DateRange)
, _cName :: !(Maybe Text)
, _cType :: !(Maybe CohortType)
}
deriving (Eq, Show, Data, Typeable, Generic)
cohort
:: Cohort
cohort = Cohort' {_cDateRange = Nothing, _cName = Nothing, _cType = Nothing}
cDateRange :: Lens' Cohort (Maybe DateRange)
cDateRange
= lens _cDateRange (\ s a -> s{_cDateRange = a})
cName :: Lens' Cohort (Maybe Text)
cName = lens _cName (\ s a -> s{_cName = a})
cType :: Lens' Cohort (Maybe CohortType)
cType = lens _cType (\ s a -> s{_cType = a})
instance FromJSON Cohort where
parseJSON
= withObject "Cohort"
(\ o ->
Cohort' <$>
(o .:? "dateRange") <*> (o .:? "name") <*>
(o .:? "type"))
instance ToJSON Cohort where
toJSON Cohort'{..}
= object
(catMaybes
[("dateRange" .=) <$> _cDateRange,
("name" .=) <$> _cName, ("type" .=) <$> _cType])
data EcommerceData =
EcommerceData'
{ _edEcommerceType :: !(Maybe EcommerceDataEcommerceType)
, _edTransaction :: !(Maybe TransactionData)
, _edProducts :: !(Maybe [ProductData])
, _edActionType :: !(Maybe EcommerceDataActionType)
}
deriving (Eq, Show, Data, Typeable, Generic)
ecommerceData
:: EcommerceData
ecommerceData =
EcommerceData'
{ _edEcommerceType = Nothing
, _edTransaction = Nothing
, _edProducts = Nothing
, _edActionType = Nothing
}
edEcommerceType :: Lens' EcommerceData (Maybe EcommerceDataEcommerceType)
edEcommerceType
= lens _edEcommerceType
(\ s a -> s{_edEcommerceType = a})
edTransaction :: Lens' EcommerceData (Maybe TransactionData)
edTransaction
= lens _edTransaction
(\ s a -> s{_edTransaction = a})
edProducts :: Lens' EcommerceData [ProductData]
edProducts
= lens _edProducts (\ s a -> s{_edProducts = a}) .
_Default
. _Coerce
edActionType :: Lens' EcommerceData (Maybe EcommerceDataActionType)
edActionType
= lens _edActionType (\ s a -> s{_edActionType = a})
instance FromJSON EcommerceData where
parseJSON
= withObject "EcommerceData"
(\ o ->
EcommerceData' <$>
(o .:? "ecommerceType") <*> (o .:? "transaction") <*>
(o .:? "products" .!= mempty)
<*> (o .:? "actionType"))
instance ToJSON EcommerceData where
toJSON EcommerceData'{..}
= object
(catMaybes
[("ecommerceType" .=) <$> _edEcommerceType,
("transaction" .=) <$> _edTransaction,
("products" .=) <$> _edProducts,
("actionType" .=) <$> _edActionType])
data DimensionFilter =
DimensionFilter'
{ _dfNot :: !(Maybe Bool)
, _dfOperator :: !(Maybe DimensionFilterOperator)
, _dfExpressions :: !(Maybe [Text])
, _dfDimensionName :: !(Maybe Text)
, _dfCaseSensitive :: !(Maybe Bool)
}
deriving (Eq, Show, Data, Typeable, Generic)
dimensionFilter
:: DimensionFilter
dimensionFilter =
DimensionFilter'
{ _dfNot = Nothing
, _dfOperator = Nothing
, _dfExpressions = Nothing
, _dfDimensionName = Nothing
, _dfCaseSensitive = Nothing
}
dfNot :: Lens' DimensionFilter (Maybe Bool)
dfNot = lens _dfNot (\ s a -> s{_dfNot = a})
dfOperator :: Lens' DimensionFilter (Maybe DimensionFilterOperator)
dfOperator
= lens _dfOperator (\ s a -> s{_dfOperator = a})
dfExpressions :: Lens' DimensionFilter [Text]
dfExpressions
= lens _dfExpressions
(\ s a -> s{_dfExpressions = a})
. _Default
. _Coerce
dfDimensionName :: Lens' DimensionFilter (Maybe Text)
dfDimensionName
= lens _dfDimensionName
(\ s a -> s{_dfDimensionName = a})
dfCaseSensitive :: Lens' DimensionFilter (Maybe Bool)
dfCaseSensitive
= lens _dfCaseSensitive
(\ s a -> s{_dfCaseSensitive = a})
instance FromJSON DimensionFilter where
parseJSON
= withObject "DimensionFilter"
(\ o ->
DimensionFilter' <$>
(o .:? "not") <*> (o .:? "operator") <*>
(o .:? "expressions" .!= mempty)
<*> (o .:? "dimensionName")
<*> (o .:? "caseSensitive"))
instance ToJSON DimensionFilter where
toJSON DimensionFilter'{..}
= object
(catMaybes
[("not" .=) <$> _dfNot,
("operator" .=) <$> _dfOperator,
("expressions" .=) <$> _dfExpressions,
("dimensionName" .=) <$> _dfDimensionName,
("caseSensitive" .=) <$> _dfCaseSensitive])
data GetReportsResponse =
GetReportsResponse'
{ _grrReports :: !(Maybe [Report])
, _grrResourceQuotasRemaining :: !(Maybe ResourceQuotasRemaining)
, _grrQueryCost :: !(Maybe (Textual Int32))
}
deriving (Eq, Show, Data, Typeable, Generic)
getReportsResponse
:: GetReportsResponse
getReportsResponse =
GetReportsResponse'
{ _grrReports = Nothing
, _grrResourceQuotasRemaining = Nothing
, _grrQueryCost = Nothing
}
grrReports :: Lens' GetReportsResponse [Report]
grrReports
= lens _grrReports (\ s a -> s{_grrReports = a}) .
_Default
. _Coerce
grrResourceQuotasRemaining :: Lens' GetReportsResponse (Maybe ResourceQuotasRemaining)
grrResourceQuotasRemaining
= lens _grrResourceQuotasRemaining
(\ s a -> s{_grrResourceQuotasRemaining = a})
grrQueryCost :: Lens' GetReportsResponse (Maybe Int32)
grrQueryCost
= lens _grrQueryCost (\ s a -> s{_grrQueryCost = a})
. mapping _Coerce
instance FromJSON GetReportsResponse where
parseJSON
= withObject "GetReportsResponse"
(\ o ->
GetReportsResponse' <$>
(o .:? "reports" .!= mempty) <*>
(o .:? "resourceQuotasRemaining")
<*> (o .:? "queryCost"))
instance ToJSON GetReportsResponse where
toJSON GetReportsResponse'{..}
= object
(catMaybes
[("reports" .=) <$> _grrReports,
("resourceQuotasRemaining" .=) <$>
_grrResourceQuotasRemaining,
("queryCost" .=) <$> _grrQueryCost])
data CustomDimension =
CustomDimension'
{ _cdValue :: !(Maybe Text)
, _cdIndex :: !(Maybe (Textual Int32))
}
deriving (Eq, Show, Data, Typeable, Generic)
customDimension
:: CustomDimension
customDimension = CustomDimension' {_cdValue = Nothing, _cdIndex = Nothing}
cdValue :: Lens' CustomDimension (Maybe Text)
cdValue = lens _cdValue (\ s a -> s{_cdValue = a})
cdIndex :: Lens' CustomDimension (Maybe Int32)
cdIndex
= lens _cdIndex (\ s a -> s{_cdIndex = a}) .
mapping _Coerce
instance FromJSON CustomDimension where
parseJSON
= withObject "CustomDimension"
(\ o ->
CustomDimension' <$>
(o .:? "value") <*> (o .:? "index"))
instance ToJSON CustomDimension where
toJSON CustomDimension'{..}
= object
(catMaybes
[("value" .=) <$> _cdValue,
("index" .=) <$> _cdIndex])
data Segment =
Segment'
{ _sDynamicSegment :: !(Maybe DynamicSegment)
, _sSegmentId :: !(Maybe Text)
}
deriving (Eq, Show, Data, Typeable, Generic)
segment
:: Segment
segment = Segment' {_sDynamicSegment = Nothing, _sSegmentId = Nothing}
sDynamicSegment :: Lens' Segment (Maybe DynamicSegment)
sDynamicSegment
= lens _sDynamicSegment
(\ s a -> s{_sDynamicSegment = a})
sSegmentId :: Lens' Segment (Maybe Text)
sSegmentId
= lens _sSegmentId (\ s a -> s{_sSegmentId = a})
instance FromJSON Segment where
parseJSON
= withObject "Segment"
(\ o ->
Segment' <$>
(o .:? "dynamicSegment") <*> (o .:? "segmentId"))
instance ToJSON Segment where
toJSON Segment'{..}
= object
(catMaybes
[("dynamicSegment" .=) <$> _sDynamicSegment,
("segmentId" .=) <$> _sSegmentId])
data ProductData =
ProductData'
{ _pdProductName :: !(Maybe Text)
, _pdProductSKU :: !(Maybe Text)
, _pdItemRevenue :: !(Maybe (Textual Double))
, _pdProductQuantity :: !(Maybe (Textual Int64))
}
deriving (Eq, Show, Data, Typeable, Generic)
productData
:: ProductData
productData =
ProductData'
{ _pdProductName = Nothing
, _pdProductSKU = Nothing
, _pdItemRevenue = Nothing
, _pdProductQuantity = Nothing
}
pdProductName :: Lens' ProductData (Maybe Text)
pdProductName
= lens _pdProductName
(\ s a -> s{_pdProductName = a})
pdProductSKU :: Lens' ProductData (Maybe Text)
pdProductSKU
= lens _pdProductSKU (\ s a -> s{_pdProductSKU = a})
pdItemRevenue :: Lens' ProductData (Maybe Double)
pdItemRevenue
= lens _pdItemRevenue
(\ s a -> s{_pdItemRevenue = a})
. mapping _Coerce
pdProductQuantity :: Lens' ProductData (Maybe Int64)
pdProductQuantity
= lens _pdProductQuantity
(\ s a -> s{_pdProductQuantity = a})
. mapping _Coerce
instance FromJSON ProductData where
parseJSON
= withObject "ProductData"
(\ o ->
ProductData' <$>
(o .:? "productName") <*> (o .:? "productSku") <*>
(o .:? "itemRevenue")
<*> (o .:? "productQuantity"))
instance ToJSON ProductData where
toJSON ProductData'{..}
= object
(catMaybes
[("productName" .=) <$> _pdProductName,
("productSku" .=) <$> _pdProductSKU,
("itemRevenue" .=) <$> _pdItemRevenue,
("productQuantity" .=) <$> _pdProductQuantity])
data ResourceQuotasRemaining =
ResourceQuotasRemaining'
{ _rqrHourlyQuotaTokensRemaining :: !(Maybe (Textual Int32))
, _rqrDailyQuotaTokensRemaining :: !(Maybe (Textual Int32))
}
deriving (Eq, Show, Data, Typeable, Generic)
resourceQuotasRemaining
:: ResourceQuotasRemaining
resourceQuotasRemaining =
ResourceQuotasRemaining'
{ _rqrHourlyQuotaTokensRemaining = Nothing
, _rqrDailyQuotaTokensRemaining = Nothing
}
rqrHourlyQuotaTokensRemaining :: Lens' ResourceQuotasRemaining (Maybe Int32)
rqrHourlyQuotaTokensRemaining
= lens _rqrHourlyQuotaTokensRemaining
(\ s a -> s{_rqrHourlyQuotaTokensRemaining = a})
. mapping _Coerce
rqrDailyQuotaTokensRemaining :: Lens' ResourceQuotasRemaining (Maybe Int32)
rqrDailyQuotaTokensRemaining
= lens _rqrDailyQuotaTokensRemaining
(\ s a -> s{_rqrDailyQuotaTokensRemaining = a})
. mapping _Coerce
instance FromJSON ResourceQuotasRemaining where
parseJSON
= withObject "ResourceQuotasRemaining"
(\ o ->
ResourceQuotasRemaining' <$>
(o .:? "hourlyQuotaTokensRemaining") <*>
(o .:? "dailyQuotaTokensRemaining"))
instance ToJSON ResourceQuotasRemaining where
toJSON ResourceQuotasRemaining'{..}
= object
(catMaybes
[("hourlyQuotaTokensRemaining" .=) <$>
_rqrHourlyQuotaTokensRemaining,
("dailyQuotaTokensRemaining" .=) <$>
_rqrDailyQuotaTokensRemaining])
data SegmentDimensionFilter =
SegmentDimensionFilter'
{ _sdfOperator :: !(Maybe SegmentDimensionFilterOperator)
, _sdfMinComparisonValue :: !(Maybe Text)
, _sdfMaxComparisonValue :: !(Maybe Text)
, _sdfExpressions :: !(Maybe [Text])
, _sdfDimensionName :: !(Maybe Text)
, _sdfCaseSensitive :: !(Maybe Bool)
}
deriving (Eq, Show, Data, Typeable, Generic)
segmentDimensionFilter
:: SegmentDimensionFilter
segmentDimensionFilter =
SegmentDimensionFilter'
{ _sdfOperator = Nothing
, _sdfMinComparisonValue = Nothing
, _sdfMaxComparisonValue = Nothing
, _sdfExpressions = Nothing
, _sdfDimensionName = Nothing
, _sdfCaseSensitive = Nothing
}
sdfOperator :: Lens' SegmentDimensionFilter (Maybe SegmentDimensionFilterOperator)
sdfOperator
= lens _sdfOperator (\ s a -> s{_sdfOperator = a})
sdfMinComparisonValue :: Lens' SegmentDimensionFilter (Maybe Text)
sdfMinComparisonValue
= lens _sdfMinComparisonValue
(\ s a -> s{_sdfMinComparisonValue = a})
sdfMaxComparisonValue :: Lens' SegmentDimensionFilter (Maybe Text)
sdfMaxComparisonValue
= lens _sdfMaxComparisonValue
(\ s a -> s{_sdfMaxComparisonValue = a})
sdfExpressions :: Lens' SegmentDimensionFilter [Text]
sdfExpressions
= lens _sdfExpressions
(\ s a -> s{_sdfExpressions = a})
. _Default
. _Coerce
sdfDimensionName :: Lens' SegmentDimensionFilter (Maybe Text)
sdfDimensionName
= lens _sdfDimensionName
(\ s a -> s{_sdfDimensionName = a})
sdfCaseSensitive :: Lens' SegmentDimensionFilter (Maybe Bool)
sdfCaseSensitive
= lens _sdfCaseSensitive
(\ s a -> s{_sdfCaseSensitive = a})
instance FromJSON SegmentDimensionFilter where
parseJSON
= withObject "SegmentDimensionFilter"
(\ o ->
SegmentDimensionFilter' <$>
(o .:? "operator") <*> (o .:? "minComparisonValue")
<*> (o .:? "maxComparisonValue")
<*> (o .:? "expressions" .!= mempty)
<*> (o .:? "dimensionName")
<*> (o .:? "caseSensitive"))
instance ToJSON SegmentDimensionFilter where
toJSON SegmentDimensionFilter'{..}
= object
(catMaybes
[("operator" .=) <$> _sdfOperator,
("minComparisonValue" .=) <$> _sdfMinComparisonValue,
("maxComparisonValue" .=) <$> _sdfMaxComparisonValue,
("expressions" .=) <$> _sdfExpressions,
("dimensionName" .=) <$> _sdfDimensionName,
("caseSensitive" .=) <$> _sdfCaseSensitive])
data DynamicSegment =
DynamicSegment'
{ _dsUserSegment :: !(Maybe SegmentDefinition)
, _dsName :: !(Maybe Text)
, _dsSessionSegment :: !(Maybe SegmentDefinition)
}
deriving (Eq, Show, Data, Typeable, Generic)
dynamicSegment
:: DynamicSegment
dynamicSegment =
DynamicSegment'
{_dsUserSegment = Nothing, _dsName = Nothing, _dsSessionSegment = Nothing}
dsUserSegment :: Lens' DynamicSegment (Maybe SegmentDefinition)
dsUserSegment
= lens _dsUserSegment
(\ s a -> s{_dsUserSegment = a})
dsName :: Lens' DynamicSegment (Maybe Text)
dsName = lens _dsName (\ s a -> s{_dsName = a})
dsSessionSegment :: Lens' DynamicSegment (Maybe SegmentDefinition)
dsSessionSegment
= lens _dsSessionSegment
(\ s a -> s{_dsSessionSegment = a})
instance FromJSON DynamicSegment where
parseJSON
= withObject "DynamicSegment"
(\ o ->
DynamicSegment' <$>
(o .:? "userSegment") <*> (o .:? "name") <*>
(o .:? "sessionSegment"))
instance ToJSON DynamicSegment where
toJSON DynamicSegment'{..}
= object
(catMaybes
[("userSegment" .=) <$> _dsUserSegment,
("name" .=) <$> _dsName,
("sessionSegment" .=) <$> _dsSessionSegment])
data MetricFilterClause =
MetricFilterClause'
{ _mfcOperator :: !(Maybe MetricFilterClauseOperator)
, _mfcFilters :: !(Maybe [MetricFilter])
}
deriving (Eq, Show, Data, Typeable, Generic)
metricFilterClause
:: MetricFilterClause
metricFilterClause =
MetricFilterClause' {_mfcOperator = Nothing, _mfcFilters = Nothing}
mfcOperator :: Lens' MetricFilterClause (Maybe MetricFilterClauseOperator)
mfcOperator
= lens _mfcOperator (\ s a -> s{_mfcOperator = a})
mfcFilters :: Lens' MetricFilterClause [MetricFilter]
mfcFilters
= lens _mfcFilters (\ s a -> s{_mfcFilters = a}) .
_Default
. _Coerce
instance FromJSON MetricFilterClause where
parseJSON
= withObject "MetricFilterClause"
(\ o ->
MetricFilterClause' <$>
(o .:? "operator") <*> (o .:? "filters" .!= mempty))
instance ToJSON MetricFilterClause where
toJSON MetricFilterClause'{..}
= object
(catMaybes
[("operator" .=) <$> _mfcOperator,
("filters" .=) <$> _mfcFilters])
data ColumnHeader =
ColumnHeader'
{ _chMetricHeader :: !(Maybe MetricHeader)
, _chDimensions :: !(Maybe [Text])
}
deriving (Eq, Show, Data, Typeable, Generic)
columnHeader
:: ColumnHeader
columnHeader =
ColumnHeader' {_chMetricHeader = Nothing, _chDimensions = Nothing}
chMetricHeader :: Lens' ColumnHeader (Maybe MetricHeader)
chMetricHeader
= lens _chMetricHeader
(\ s a -> s{_chMetricHeader = a})
chDimensions :: Lens' ColumnHeader [Text]
chDimensions
= lens _chDimensions (\ s a -> s{_chDimensions = a})
. _Default
. _Coerce
instance FromJSON ColumnHeader where
parseJSON
= withObject "ColumnHeader"
(\ o ->
ColumnHeader' <$>
(o .:? "metricHeader") <*>
(o .:? "dimensions" .!= mempty))
instance ToJSON ColumnHeader where
toJSON ColumnHeader'{..}
= object
(catMaybes
[("metricHeader" .=) <$> _chMetricHeader,
("dimensions" .=) <$> _chDimensions])
data SearchUserActivityResponse =
SearchUserActivityResponse'
{ _suarNextPageToken :: !(Maybe Text)
, _suarSampleRate :: !(Maybe (Textual Double))
, _suarSessions :: !(Maybe [UserActivitySession])
, _suarTotalRows :: !(Maybe (Textual Int32))
}
deriving (Eq, Show, Data, Typeable, Generic)
searchUserActivityResponse
:: SearchUserActivityResponse
searchUserActivityResponse =
SearchUserActivityResponse'
{ _suarNextPageToken = Nothing
, _suarSampleRate = Nothing
, _suarSessions = Nothing
, _suarTotalRows = Nothing
}
suarNextPageToken :: Lens' SearchUserActivityResponse (Maybe Text)
suarNextPageToken
= lens _suarNextPageToken
(\ s a -> s{_suarNextPageToken = a})
suarSampleRate :: Lens' SearchUserActivityResponse (Maybe Double)
suarSampleRate
= lens _suarSampleRate
(\ s a -> s{_suarSampleRate = a})
. mapping _Coerce
suarSessions :: Lens' SearchUserActivityResponse [UserActivitySession]
suarSessions
= lens _suarSessions (\ s a -> s{_suarSessions = a})
. _Default
. _Coerce
suarTotalRows :: Lens' SearchUserActivityResponse (Maybe Int32)
suarTotalRows
= lens _suarTotalRows
(\ s a -> s{_suarTotalRows = a})
. mapping _Coerce
instance FromJSON SearchUserActivityResponse where
parseJSON
= withObject "SearchUserActivityResponse"
(\ o ->
SearchUserActivityResponse' <$>
(o .:? "nextPageToken") <*> (o .:? "sampleRate") <*>
(o .:? "sessions" .!= mempty)
<*> (o .:? "totalRows"))
instance ToJSON SearchUserActivityResponse where
toJSON SearchUserActivityResponse'{..}
= object
(catMaybes
[("nextPageToken" .=) <$> _suarNextPageToken,
("sampleRate" .=) <$> _suarSampleRate,
("sessions" .=) <$> _suarSessions,
("totalRows" .=) <$> _suarTotalRows])
data ScreenviewData =
ScreenviewData'
{ _sdMobileDeviceModel :: !(Maybe Text)
, _sdMobileDeviceBranding :: !(Maybe Text)
, _sdAppName :: !(Maybe Text)
, _sdScreenName :: !(Maybe Text)
}
deriving (Eq, Show, Data, Typeable, Generic)
screenviewData
:: ScreenviewData
screenviewData =
ScreenviewData'
{ _sdMobileDeviceModel = Nothing
, _sdMobileDeviceBranding = Nothing
, _sdAppName = Nothing
, _sdScreenName = Nothing
}
sdMobileDeviceModel :: Lens' ScreenviewData (Maybe Text)
sdMobileDeviceModel
= lens _sdMobileDeviceModel
(\ s a -> s{_sdMobileDeviceModel = a})
sdMobileDeviceBranding :: Lens' ScreenviewData (Maybe Text)
sdMobileDeviceBranding
= lens _sdMobileDeviceBranding
(\ s a -> s{_sdMobileDeviceBranding = a})
sdAppName :: Lens' ScreenviewData (Maybe Text)
sdAppName
= lens _sdAppName (\ s a -> s{_sdAppName = a})
sdScreenName :: Lens' ScreenviewData (Maybe Text)
sdScreenName
= lens _sdScreenName (\ s a -> s{_sdScreenName = a})
instance FromJSON ScreenviewData where
parseJSON
= withObject "ScreenviewData"
(\ o ->
ScreenviewData' <$>
(o .:? "mobileDeviceModel") <*>
(o .:? "mobileDeviceBranding")
<*> (o .:? "appName")
<*> (o .:? "screenName"))
instance ToJSON ScreenviewData where
toJSON ScreenviewData'{..}
= object
(catMaybes
[("mobileDeviceModel" .=) <$> _sdMobileDeviceModel,
("mobileDeviceBranding" .=) <$>
_sdMobileDeviceBranding,
("appName" .=) <$> _sdAppName,
("screenName" .=) <$> _sdScreenName])