google_analytics_api_ga4/
run_realtime_report.rs

1use serde::{Deserialize, Serialize};
2use crate::types::{ Dimension, DimensionOrderBy, FilterExpression, Metric, MetricAggregation};
3
4/// Realtime Dimensions & Metrics
5/// https://developers.google.com/analytics/devguides/reporting/data/v1/realtime-api-schema
6
7#[derive(Default, Debug, Serialize, Deserialize)]
8pub struct RunRealtimeReportRequest {
9    pub dimensions: Vec<Dimension>,
10    pub metrics: Vec<Metric>,
11    #[serde(rename = "dimensionFilter")]
12    pub dimension_filter: Option<FilterExpression>,
13    #[serde(rename = "metricFilter")]
14    pub metric_filter: Option<FilterExpression>,
15    pub limit: Option<String>,
16    #[serde(rename = "metricAggregations")]
17    pub metric_aggregations: Option<Vec<MetricAggregation>>,
18    #[serde(rename = "orderBys")]
19    pub order_bys: Option<Vec<DimensionOrderBy>>,
20    #[serde(rename = "returnPropertyQuota")]
21    pub return_property_quota: Option<bool>,
22    #[serde(rename = "minuteRanges")]
23    pub minute_ranges: Option<Vec<MinuteRange>>,
24}
25
26#[derive(Default, Debug, Serialize, Deserialize)]
27pub struct MinuteRange {
28    name: Option<String>,
29    #[serde(rename = "startMinutesAgo")]
30    start_minutes_ago: Option<String>,
31    #[serde(rename = "endMinutesAgo")]
32    end_minutes_ago: Option<String>,
33}