openlark_webhook/robot/v1/
models.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Serialize, Deserialize)]
5pub struct TextMessage {
6 pub text: String,
8}
9
10#[derive(Debug, Clone, Serialize, Deserialize)]
12pub struct CardMessage {
13 pub card: serde_json::Value,
15}
16
17#[derive(Debug, Clone, Serialize, Deserialize)]
19#[serde(untagged)]
20pub enum MessageContent {
21 Text(TextMessage),
23 Card(CardMessage),
25}
26
27#[cfg(test)]
28#[allow(unused_imports)]
29mod tests {
30
31 #[test]
32 fn test_serialization_roundtrip() {
33 let json = r#"{"test": "value"}"#;
35 assert!(serde_json::from_str::<serde_json::Value>(json).is_ok());
36 }
37
38 #[test]
39 fn test_deserialization_from_json() {
40 let json = r#"{"field": "data"}"#;
42 let value: serde_json::Value = serde_json::from_str(json).expect("JSON 反序列化失败");
43 assert_eq!(value["field"], "data");
44 }
45}