misskey_api/endpoint/messaging/
history.rs

1use crate::model::messaging::MessagingMessage;
2
3use serde::Serialize;
4
5#[derive(Serialize, Default, Debug, Clone)]
6#[serde(rename_all = "camelCase")]
7pub struct Request {
8    #[serde(skip_serializing_if = "Option::is_none")]
9    pub group: Option<bool>,
10    /// 1 .. 100
11    #[serde(skip_serializing_if = "Option::is_none")]
12    pub limit: Option<u8>,
13}
14
15impl misskey_core::Request for Request {
16    type Response = Vec<MessagingMessage>;
17    const ENDPOINT: &'static str = "messaging/history";
18}
19
20#[cfg(test)]
21mod tests {
22    use super::Request;
23    use crate::test::{ClientExt, TestClient};
24
25    #[tokio::test]
26    async fn request() {
27        let client = TestClient::new();
28        client.test(Request::default()).await;
29    }
30
31    #[tokio::test]
32    async fn request_with_option() {
33        let client = TestClient::new();
34        client
35            .test(Request {
36                group: Some(true),
37                limit: None,
38            })
39            .await;
40    }
41
42    #[tokio::test]
43    async fn request_with_limit() {
44        let client = TestClient::new();
45        client
46            .test(Request {
47                group: None,
48                limit: Some(100),
49            })
50            .await;
51    }
52}