discloud-rs 0.3.0-alpha

A rust wrapper for Discloud's API
Documentation
extern crate discloud_rs;
use std::env;

use discloud_rs::AppStartError;
use dotenvy::dotenv;
#[tokio::main]
async fn main() {
    dotenv().unwrap();

    let client = discloud_rs::Discloud::new(&env::var("DISCLOUD_TOKEN").unwrap());

    let apps = client.get_all_apps().await.unwrap();

    println!("All apps fetched: {apps:?}");

    match apps.first() {
        Some(app) => {
            match app.start(&client).await {
                // Or client.start_app(&a.id);
                Ok(_) => println!("Started app: {app:#?}"),
                Err(error) => match error {
                    AppStartError::AlreadyOnline => println!("App already online"),
                    AppStartError::Other(e) => println!("Other error: {e:#?}"),
                },
            };
        }
        None => {
            println!("No app to start");
        }
    }
}