google_analytics_api_ga4/
check_compatibility.rs1use crate::types::{Dimension, DimensionMetadata, FilterExpression, Metric, MetricMetadata};
2use serde::{Deserialize, Serialize};
3
4#[derive(Default, Debug, Serialize, Deserialize, Clone)]
6#[serde(rename_all = "camelCase")]
7pub struct CheckCompatibilityRequest {
8 #[serde(skip_serializing_if = "Option::is_none")]
9 pub dimensions: Option<Vec<Dimension>>,
10 #[serde(skip_serializing_if = "Option::is_none")]
11 pub metrics: Option<Vec<Metric>>,
12 #[serde(skip_serializing_if = "Option::is_none")]
13 pub dimension_filter: Option<FilterExpression>,
14 #[serde(skip_serializing_if = "Option::is_none")]
15 pub metric_filter: Option<FilterExpression>,
16 #[serde(skip_serializing_if = "Option::is_none")]
17 pub compatibility_filter: Option<Compatibility>,
18}
19
20#[derive(Default, Debug, Serialize, Deserialize, Clone)]
21#[serde(rename_all = "camelCase")]
22pub struct CheckCompatibilityResponse {
23 #[serde(skip_serializing_if = "Option::is_none")]
24 pub dimension_compatibilities: Option<Vec<DimensionCompatibility>>,
25 #[serde(skip_serializing_if = "Option::is_none")]
26 pub metric_compatibilities: Option<Vec<MetricCompatibility>>,
27}
28
29#[derive(Default, Debug, Serialize, Deserialize, Clone)]
30#[serde(rename_all = "camelCase")]
31pub struct DimensionCompatibility {
32 #[serde(skip_serializing_if = "Option::is_none")]
33 pub dimension_metadata: Option<DimensionMetadata>,
34 #[serde(skip_serializing_if = "Option::is_none")]
35 pub compatibility: Option<Compatibility>,
36}
37
38#[derive(Default, Debug, Serialize, Deserialize, Clone)]
39#[serde(rename_all = "camelCase")]
40pub struct MetricCompatibility {
41 #[serde(skip_serializing_if = "Option::is_none")]
42 pub metric_metadata: Option<MetricMetadata>,
43 #[serde(skip_serializing_if = "Option::is_none")]
44 pub compatibility: Option<Compatibility>,
45}
46
47#[derive(Debug, Serialize, Deserialize, Clone, PartialEq, Eq)]
49#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
50pub enum Compatibility {
51 CompatibilityUnspecified,
52 Compatible,
53 Incompatible,
54}