misskey_api/endpoint/drive/files/
find.rs

1use crate::model::{
2    drive::{DriveFile, DriveFolder},
3    id::Id,
4};
5
6use serde::Serialize;
7
8#[derive(Serialize, Debug, Clone)]
9#[serde(rename_all = "camelCase")]
10pub struct Request {
11    pub name: String,
12    pub folder_id: Option<Id<DriveFolder>>,
13}
14
15impl misskey_core::Request for Request {
16    type Response = Vec<DriveFile>;
17    const ENDPOINT: &'static str = "drive/files/find";
18}
19
20#[cfg(test)]
21mod tests {
22    use super::Request;
23    use crate::test::{ClientExt, HttpClientExt, TestClient};
24
25    #[tokio::test]
26    async fn request() {
27        let client = TestClient::new();
28        client.create_text_file("test.txt", "test").await;
29
30        client
31            .test(Request {
32                name: "test.txt".to_string(),
33                folder_id: None,
34            })
35            .await;
36    }
37
38    #[tokio::test]
39    async fn request_with_folder() {
40        let client = TestClient::new();
41        let folder = client
42            .test(crate::endpoint::drive::folders::create::Request {
43                name: None,
44                parent_id: None,
45            })
46            .await;
47
48        client
49            .test(Request {
50                name: "test.txt".to_string(),
51                folder_id: Some(folder.id),
52            })
53            .await;
54    }
55}