gewe_core/message/
revoke.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Serialize, Deserialize)]
4#[serde(rename_all = "camelCase")]
5pub struct RevokeMessageRequest<'a> {
6    #[serde(rename = "appId")]
7    pub app_id: &'a str,
8    #[serde(rename = "toWxid")]
9    pub to_wxid: &'a str,
10    #[serde(rename = "msgId")]
11    pub msg_id: &'a str,
12    #[serde(rename = "newMsgId")]
13    pub new_msg_id: &'a str,
14    #[serde(rename = "createTime")]
15    pub create_time: &'a str,
16}
17
18#[cfg(test)]
19mod tests {
20    use super::*;
21
22    #[test]
23    fn test_revoke_message_request_serialization() {
24        let req = RevokeMessageRequest {
25            app_id: "test_app",
26            to_wxid: "wxid_test",
27            msg_id: "123456",
28            new_msg_id: "789012",
29            create_time: "1234567890",
30        };
31        let json = serde_json::to_string(&req).unwrap();
32        assert!(json.contains("test_app"));
33        assert!(json.contains("wxid_test"));
34        assert!(json.contains("123456"));
35        assert!(json.contains("789012"));
36        assert!(json.contains("1234567890"));
37    }
38}