google_analytics_api_ga4/
run_report.rs

1use serde::{Deserialize, Serialize};
2use crate::types::{CohortSpec, DateRange, Dimension, DimensionOrderBy, FilterExpression, Metric, MetricAggregation};
3
4
5#[derive(Default, Debug, Serialize, Deserialize)]
6pub struct RunReportRequest {
7    pub property: String,
8    pub dimensions: Vec<Dimension>,
9    pub metrics: Vec<Metric>,
10    #[serde(rename = "dateRanges")]
11    pub date_ranges: Vec<DateRange>,
12    #[serde(rename = "dimensionFilter")]
13    pub dimension_filter: Option<FilterExpression>,
14    #[serde(rename = "metricFilter")]
15    pub metric_filter: Option<FilterExpression>,
16    pub offset: Option<String>,
17    pub limit: Option<String>,
18    #[serde(rename = "metricAggregations")]
19    pub metric_aggregations: Option<Vec<MetricAggregation>>,
20    #[serde(rename = "orderBys")]
21    pub order_bys: Option<Vec<DimensionOrderBy>>,
22    #[serde(rename = "currencyCode")]
23    pub currency_code: Option<String>,
24    #[serde(rename = "cohortSpec")]
25    pub cohort_spec: Option<CohortSpec>,
26    #[serde(rename = "keepEmptyRows")]
27    pub keep_empty_rows: Option<bool>,
28    #[serde(rename = "returnPropertyQuota")]
29    pub return_property_quota: Option<bool>,
30}