Skip to main content

Crate wave_api

Crate wave_api 

Source
Expand description

§wave-api

Typed Rust client for the Wave Accounting GraphQL API.

wave_claw wraps Wave’s GraphQL API in idiomatic Rust — no code generation, no raw GraphQL strings in user code. All connection types are flattened into Page<T> results, monetary values use rust_decimal::Decimal, and mutations use a builder pattern for inputs.

§Quick Start

use wave_claw::{WaveClient, OAuthConfig, ListBusinessesOptions};

let client = WaveClient::with_oauth(OAuthConfig {
    client_id: "...".into(),
    client_secret: "...".into(),
    access_token: "...".into(),
    refresh_token: "...".into(),
    redirect_uri: "http://localhost:3099/callback".into(),
    on_token_refresh: None,
});

let businesses = client.list_businesses(Default::default()).await?;
for biz in &businesses.items {
    println!("{}: {}", biz.id, biz.name);
}

Re-exports§

pub use auth::OAuthConfig;
pub use client::WaveClient;
pub use error::WaveError;
pub use pagination::Page;
pub use options::*;

Modules§

auth
client
enums
error
inputs
models
options
pagination