torbox-core-rs 0.1.0

Rust SDK Core for the torbox API
Documentation
pub mod creation;
pub mod general;
pub mod limits;
pub mod notifications;
pub mod torrent;
pub mod user;
pub mod webdownload;

use crate::data::{
    limits::{ActiveLimitStatus, CooldownLimitStatus, MonthlyLimitStatus},
    torrent::TorrentCreationResponse,
    torrent::{TorrentData, TorrentMap, TorrentMeta, TorrentStatus},
    user::{Job, UserProfile},
    webdownload::{HosterInfo, WebdownloadCreationResponse, WebdownloadStatus},
};
use serde::{Deserialize, Serialize};

#[derive(Debug, Serialize, Deserialize)]
#[cfg_attr(feature = "specta", derive(specta::Type))]
#[serde(untagged)]
pub enum ApiDataResponse {
    Message(String),
    TorrentCache(Box<TorrentData>),
    TorrentStatusList(Box<Vec<TorrentStatus>>),
    TorrentMeta(Box<TorrentMeta>),
    TorrentMap(TorrentMap),
    UserData(Box<UserProfile>),
    Jobs(Box<Vec<Job>>),
    TorrentCreation(TorrentCreationResponse),
    ActiveLimit(ActiveLimitStatus),
    MonthlyLimit(MonthlyLimitStatus),
    CooldownLimit(CooldownLimitStatus),
    WebdownloadCreation(WebdownloadCreationResponse),
    WebdownloadList(Box<Vec<WebdownloadStatus>>),
    HosterInfoList(Box<Vec<HosterInfo>>),
}