cloudreve_api/api/v3/
user.rs

1//! User-related API endpoints for Cloudreve API v3
2
3use crate::api::v3::models::*;
4use crate::api::v3::ApiV3Client;
5use crate::Error;
6use serde::Deserialize;
7
8#[derive(Debug, Deserialize)]
9struct WebdavListWrapper {
10    accounts: Vec<WebdavAccount>,
11}
12
13impl ApiV3Client {
14    /// Get WebDAV accounts
15    pub async fn get_webdav_accounts(&self) -> Result<Vec<WebdavAccount>, Error> {
16        let response: ApiResponse<WebdavListWrapper> = self.get("/webdav/accounts").await?;
17        match response.data {
18            Some(wrapper) => Ok(wrapper.accounts),
19            None => Err(Error::Api {
20                code: response.code,
21                message: response.msg,
22            }),
23        }
24    }
25}