zulip_api/message/delete_message/
request.rs1use serde::{Deserialize, Serialize};
2
3use crate::{field_access, impl_default, impl_display};
4
5#[derive(Clone, Debug, Eq, PartialEq, Deserialize, Serialize)]
7pub struct Request {
8 #[serde(skip)]
9 message_id: u64,
10}
11
12impl Request {
13 pub const fn new() -> Self {
15 Self { message_id: 0 }
16 }
17}
18
19field_access! {
20 Request {
21 message_id: u64,
23 }
24}
25
26impl_default!(Request);
27impl_display!(Request);
28
29#[cfg(test)]
30mod tests {
31 use super::*;
32
33 #[test]
34 fn test_delete_message() {
35 let message_id = 1;
36
37 let mut req = Request::new().with_message_id(message_id);
38
39 let req_json = "{}".to_string();
40
41 assert_eq!(req.message_id(), message_id);
42
43 assert_eq!(serde_json::to_string(&req).unwrap(), req_json);
44
45 req.set_message_id(0);
46 assert_eq!(serde_json::from_str::<Request>(&req_json).unwrap(), req);
47 }
48}