Expand description
A Rust library for interacting with Cloudreve API
This library provides asynchronous access to the Cloudreve API endpoints. It handles authentication, request building, and response parsing.
§Examples
§Using CloudreveAPI (recommended)
use cloudreve_api::{CloudreveAPI, Result};
#[tokio::main]
async fn main() -> Result<()> {
// Auto-detect version
let mut api = CloudreveAPI::new("https://your-cloudreve-instance.com").await?;
// Login
api.login("user@example.com", "password").await?;
// List files
let files = api.list_files("/", None, None).await?;
println!("Found {} items", files.total_count());
Ok(())
}Re-exports§
pub use api::v3::models::ApiResponse;pub use api::v3::models::Aria2CreateRequest;pub use api::v3::models::Aria2Task;pub use api::v3::models::CopyObjectRequest;pub use api::v3::models::CreateDirectoryRequest;pub use api::v3::models::CreateFileRequest;pub use api::v3::models::DeleteObjectRequest;pub use api::v3::models::DirectoryList;pub use api::v3::models::DownloadUrl;pub use api::v3::models::FileSource;pub use api::v3::models::FileSourceRequest;pub use api::v3::models::LoginRequest;pub use api::v3::models::MoveObjectRequest;pub use api::v3::models::Object;pub use api::v3::models::OtpLoginRequest;pub use api::v3::models::Policy;pub use api::v3::models::Property;pub use api::v3::models::RenameObjectRequest;pub use api::v3::models::SiteConfig;pub use api::v3::models::SourceItems;pub use api::v3::models::StorageInfo;pub use api::v3::models::UploadFileRequest;pub use api::v3::models::UploadSession;pub use api::v3::models::User;pub use api::v3::models::UserGroup;pub use api::v3::models::WebdavAccount;pub use cloudreve_api::CaptchaInfo;pub use cloudreve_api::CloudreveAPI;pub use cloudreve_api::DeleteResult;pub use cloudreve_api::DeleteTarget;pub use cloudreve_api::FileInfo;pub use cloudreve_api::FileItem;pub use cloudreve_api::FileList;pub use cloudreve_api::FileListAll;pub use cloudreve_api::LoginResponse;pub use cloudreve_api::SiteConfigValue;pub use cloudreve_api::TokenInfo;pub use cloudreve_api::UserInfo;pub use cloudreve_api::V3LoginResponse;pub use cloudreve_api::V4LoginResponse;pub use api::v4::ApiV4Client as CloudreveClient;pub use client::UnifiedClient;pub use api::v3::ApiV3Client;pub use api::v4::ApiV4Client as ApiV4Client_;pub use api::ApiVersion;pub use api::VersionInfo;pub use error::Error;pub use api::v4::models::*;
Modules§
- api
- API version management module
- client
- Unified Cloudreve client with automatic version detection
- cloudreve_
api - Cloudreve API - Simplified unified interface
- error
- Error types for the Cloudreve API client
Constants§
- VERSION
- Cloudreve API library version
Type Aliases§
- Result
- A result type alias for convenience