eero_api/types/
account.rs1use std::collections::HashMap;
2
3use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Clone, Deserialize, Serialize)]
6pub struct Account {
7 #[serde(default)]
8 pub url: Option<String>,
9 pub name: Option<String>,
10 #[serde(default)]
11 pub phone: Option<ContactInfo>,
12 #[serde(default)]
13 pub email: Option<ContactInfo>,
14 #[serde(default)]
15 pub networks: Networks,
16 #[serde(default)]
17 pub premium_status: Option<String>,
18 #[serde(default)]
19 pub can_transfer: Option<bool>,
20 #[serde(default)]
21 pub is_premium: Option<bool>,
22 #[serde(default)]
23 pub amazon_directed_id: Option<String>,
24 #[serde(default)]
25 pub log_id: Option<String>,
26 #[serde(default)]
27 pub role: Option<String>,
28 #[serde(flatten)]
29 pub extra: HashMap<String, serde_json::Value>,
30}
31
32#[derive(Debug, Clone, Deserialize, Serialize)]
33pub struct ContactInfo {
34 pub value: String,
35 #[serde(default)]
36 pub verified: Option<bool>,
37 #[serde(default)]
38 pub country_code: Option<String>,
39 #[serde(default)]
40 pub national_number: Option<String>,
41}
42
43#[derive(Debug, Clone, Default, Deserialize, Serialize)]
44pub struct Networks {
45 #[serde(default)]
46 pub count: u32,
47 #[serde(default)]
48 pub data: Vec<NetworkRef>,
49}
50
51#[derive(Debug, Clone, Deserialize, Serialize)]
52pub struct NetworkRef {
53 pub url: String,
54 pub name: Option<String>,
55}