cloudreve_api/lib.rs
1//! A Rust library for interacting with Cloudreve API
2//!
3//! This library provides asynchronous access to the Cloudreve API endpoints.
4//! It handles authentication, request building, and response parsing.
5//!
6//! # Examples
7//!
8//! ```
9//! use cloudreve_api::{CloudreveClient, Result};
10//!
11//! #[tokio::main]
12//! async fn main() -> Result<()> {
13//! let client = CloudreveClient::new("https://your-cloudreve-instance.com");
14//! // Use the client to make API calls
15//! Ok(())
16//! }
17//! ```
18
19pub mod api;
20pub mod error;
21
22pub use api::v3::models::{
23 ApiResponse, Aria2CreateRequest, Aria2Task, CopyObjectRequest, CreateDirectoryRequest,
24 CreateFileRequest, DeleteObjectRequest, DirectoryList, DownloadUrl, FileSource,
25 FileSourceRequest, LoginRequest, MoveObjectRequest, Object, OtpLoginRequest, Policy, Property,
26 RenameObjectRequest, Share, ShareRequest, SiteConfig, SourceItems, StorageInfo,
27 UploadFileRequest, UploadSession, User, UserGroup, WebdavAccount,
28};
29pub use api::v4::models::*;
30pub use error::Error;
31
32/// Main Cloudreve API client (alias for v4)
33pub use api::v4::ApiV4Client as CloudreveClient;
34
35/// Cloudreve API v3 client
36pub use api::v3::ApiV3Client;
37
38/// A result type alias for convenience
39pub type Result<T> = std::result::Result<T, Error>;