seven_client/
balance.rs

1use ureq::{Error};
2use crate::client::Client;
3use serde::{Deserialize};
4
5#[derive(Deserialize)]
6pub struct BalanceResponse {
7    amount: f32,
8    currency: String,
9}
10
11pub struct Balance {
12    client: Client
13}
14
15impl Balance {
16    pub fn new(client: Client) -> Self {
17        Balance {
18            client,
19        }
20    }
21
22    pub fn get(&self) -> Result<f64, Error> {
23        let res = self.client.request("GET", "balance")
24            .call()?
25            .into_json::<f64>()?;
26        Ok(res)
27    }
28
29    pub fn json(&self) -> Result<BalanceResponse, Error> {
30        let res = self.client.request("GET", "balance")
31            .set("Accept", "application/json")
32            .call()?
33            .into_json::<BalanceResponse>()?;
34        Ok(res)
35    }
36}