eero_api/types/
activity.rs1use std::collections::HashMap;
2
3use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Clone, Deserialize, Serialize)]
6pub struct ActivitySummary {
7 #[serde(default)]
8 pub insights: Option<Vec<Insight>>,
9 #[serde(default)]
10 pub counts: Option<ActivityCounts>,
11 #[serde(flatten)]
12 pub extra: HashMap<String, serde_json::Value>,
13}
14
15#[derive(Debug, Clone, Deserialize, Serialize)]
16pub struct Insight {
17 #[serde(rename = "type")]
18 pub insight_type: Option<String>,
19 pub category: Option<String>,
20 pub count: Option<u64>,
21 pub domain: Option<String>,
22}
23
24#[derive(Debug, Clone, Deserialize, Serialize)]
25pub struct ActivityCounts {
26 pub blocked: Option<u64>,
27 pub allowed: Option<u64>,
28 pub inspected: Option<u64>,
29}
30
31#[derive(Debug, Clone, Deserialize, Serialize)]
32pub struct ClientActivity {
33 pub url: Option<String>,
34 pub display_name: Option<String>,
35 #[serde(default)]
36 pub insights: Option<Vec<Insight>>,
37 #[serde(default)]
38 pub counts: Option<ActivityCounts>,
39 #[serde(flatten)]
40 pub extra: HashMap<String, serde_json::Value>,
41}