cloudreve_api/api/v3/
directory.rs1use crate::api::v3::models::*;
4use crate::api::v3::ApiV3Client;
5use crate::Error;
6
7impl ApiV3Client {
8 pub async fn list_directory(&self, path: &str) -> Result<DirectoryList, Error> {
10 let encoded_path = urlencoding::encode(path);
11 let response: ApiResponse<DirectoryList> =
12 self.get(&format!("/directory{}", encoded_path)).await?;
13 match response.data {
14 Some(list) => Ok(list),
15 None => Err(Error::Api {
16 code: response.code,
17 message: response.msg,
18 }),
19 }
20 }
21
22 pub async fn create_directory(
24 &self,
25 request: &CreateDirectoryRequest<'_>,
26 ) -> Result<(), Error> {
27 let response: ApiResponse<()> = self.put("/directory", request).await?;
28 if response.code == 0 {
29 Ok(())
30 } else {
31 Err(Error::Api {
32 code: response.code,
33 message: response.msg,
34 })
35 }
36 }
37}