A convenient and easy to use wrapper for the Up Bank API. https://crates.io/crates/up-api
Go to file
2022-07-10 18:43:28 +10:00
src 0.1.0 2022-07-10 18:39:53 +10:00
.gitignore first commit 2022-07-09 23:01:31 +10:00
Cargo.toml 0.1.0 2022-07-10 18:39:53 +10:00
LICENSE-APACHE licenses, publish fields in toml, version handling 2022-07-10 11:32:41 +10:00
LICENSE-MIT licenses, publish fields in toml, version handling 2022-07-10 11:32:41 +10:00
README.md paginated navigation planned change noted 2022-07-10 18:43:28 +10:00

Up API

A convenient and easy to use wrapper for the Up Bank API.

Example

The following example shows the calculation of the sum of all transactions after a given date (up to the page limit).

use up_api::v1::Client;
use up_api::v1::transactions::ListTransactionsOptions;

#[tokio::main]
async fn main() {
    let token = std::env::var("UP_ACCESS_TOKEN").unwrap();

    let client = Client::new(token.to_string());

    let mut options = ListTransactionsOptions::default();
    options.filter_since("2020-01-01T01:02:03Z".to_string());
    options.page_size(100);

    let transactions = client.list_transactions(&options).await.unwrap();

    let total : f32 =
        transactions
        .data
        .into_iter()
        .map(|t| t.attributes.amount.value)
        .map(|v| v.parse::<f32>().unwrap())
        .filter(|a| a > &0.0)
        .sum();

    println!("{}", total);
}

Planned Features

  • Currently this API wrapper supports all of the v1 Up API endpoints except webhooks. This is planned for a (hopefully soon) future release.
  • Functions prev and next on the reslts of paginated endpoints are planned to make moving between pages significantly easier.