Skip to main content

android_sms_gateway/types/
device.rs

1use chrono::{DateTime, Utc};
2use serde::{Deserialize, Serialize};
3
4/// A registered device.
5#[derive(Debug, Clone, Serialize, Deserialize)]
6#[serde(rename_all = "camelCase")]
7pub struct Device {
8    pub id: String,
9    pub name: String,
10    pub created_at: DateTime<Utc>,
11    pub updated_at: DateTime<Utc>,
12    #[serde(default, skip_serializing_if = "Option::is_none")]
13    pub deleted_at: Option<DateTime<Utc>>,
14    pub last_seen: DateTime<Utc>,
15    #[serde(default, skip_serializing_if = "Option::is_none")]
16    pub sim_cards: Option<Vec<SimCard>>,
17}
18
19/// Information about a SIM card installed in a device.
20#[derive(Debug, Clone, Serialize, Deserialize)]
21#[serde(rename_all = "camelCase")]
22pub struct SimCard {
23    pub slot_index: i32,
24    pub sim_number: i32,
25    #[serde(default, skip_serializing_if = "Option::is_none")]
26    pub phone_number: Option<String>,
27    #[serde(default, skip_serializing_if = "Option::is_none")]
28    pub carrier_name: Option<String>,
29    #[serde(default, skip_serializing_if = "Option::is_none")]
30    pub iccid: Option<String>,
31}