Skip to main content

Crate cloudreve_api

Crate cloudreve_api 

Source
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

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::Share;
pub use api::v3::models::ShareRequest;
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