- Introduce client phone addon, UI, and XEH handlers - Route actor phone interaction to the new phone UI - Add initial phone state, event handling, and persistence
49 lines
1.1 KiB
Rust
49 lines
1.1 KiB
Rust
use serde::{Deserialize, Serialize};
|
|
|
|
#[derive(Debug, Clone, Serialize, Deserialize, Default, PartialEq)]
|
|
#[serde(rename_all = "camelCase")]
|
|
pub struct PhoneMessage {
|
|
#[serde(default)]
|
|
pub id: String,
|
|
#[serde(default)]
|
|
pub from: String,
|
|
#[serde(default)]
|
|
pub to: String,
|
|
#[serde(default)]
|
|
pub message: String,
|
|
#[serde(default)]
|
|
pub timestamp: f64,
|
|
#[serde(default)]
|
|
pub read: bool,
|
|
}
|
|
|
|
#[derive(Debug, Clone, Serialize, Deserialize, Default, PartialEq)]
|
|
#[serde(rename_all = "camelCase")]
|
|
pub struct PhoneEmail {
|
|
#[serde(default)]
|
|
pub id: String,
|
|
#[serde(default)]
|
|
pub from: String,
|
|
#[serde(default)]
|
|
pub to: String,
|
|
#[serde(default)]
|
|
pub subject: String,
|
|
#[serde(default)]
|
|
pub body: String,
|
|
#[serde(default)]
|
|
pub timestamp: f64,
|
|
#[serde(default)]
|
|
pub read: bool,
|
|
}
|
|
|
|
#[derive(Debug, Clone, Serialize, Deserialize, Default, PartialEq)]
|
|
#[serde(rename_all = "camelCase")]
|
|
pub struct PhonePayload {
|
|
#[serde(default)]
|
|
pub contacts: Vec<String>,
|
|
#[serde(default)]
|
|
pub messages: Vec<PhoneMessage>,
|
|
#[serde(default)]
|
|
pub emails: Vec<PhoneEmail>,
|
|
}
|