Skip to main content

eero_api/types/
activity.rs

1use 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}