cloudreve_api/api/v3/
site.rs1use crate::api::v3::models::*;
4use crate::api::v3::ApiV3Client;
5use crate::Error;
6
7impl ApiV3Client {
8 pub async fn get_site_config(&self) -> Result<SiteConfig, Error> {
10 let response: ApiResponse<SiteConfig> = self.get("/site/config").await?;
11 match response.data {
12 Some(config) => Ok(config),
13 None => Err(Error::Api {
14 code: response.code,
15 message: response.msg,
16 }),
17 }
18 }
19
20 pub async fn get_user_storage(&self) -> Result<StorageInfo, Error> {
22 let response: ApiResponse<StorageInfo> = self.get("/user/storage").await?;
23 match response.data {
24 Some(storage) => Ok(storage),
25 None => Err(Error::Api {
26 code: response.code,
27 message: response.msg,
28 }),
29 }
30 }
31
32 pub async fn ping(&self) -> Result<String, Error> {
34 let response: ApiResponse<String> = self.get("/site/ping").await?;
35 Ok(response.msg)
36 }
37
38 pub async fn get_user_settings(&self) -> Result<StorageInfo, Error> {
40 let response: ApiResponse<StorageInfo> = self.get("/user/setting").await?;
41 match response.data {
42 Some(settings) => Ok(settings),
43 None => Err(Error::Api {
44 code: response.code,
45 message: response.msg,
46 }),
47 }
48 }
49
50 pub async fn get_task_queue(&self) -> Result<Vec<Aria2Task>, Error> {
52 let response: ApiResponse<Vec<Aria2Task>> = self.get("/user/setting/tasks").await?;
53 match response.data {
54 Some(tasks) => Ok(tasks),
55 None => Err(Error::Api {
56 code: response.code,
57 message: response.msg,
58 }),
59 }
60 }
61}