diff options
Diffstat (limited to 'cli/src/api/client.rs')
-rw-r--r-- | cli/src/api/client.rs | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/cli/src/api/client.rs b/cli/src/api/client.rs new file mode 100644 index 0000000..4e6a2b0 --- /dev/null +++ b/cli/src/api/client.rs @@ -0,0 +1,23 @@ + +use serde::Deserialize; +use std::error::Error; + +#[derive(Debug, Deserialize)] +pub struct Client { + pub id: u32, + pub name: String, + pub contact: Option<String>, + pub address: Option<String>, + pub email: String, + pub phone: Option<String>, + pub vat: bool, +} + +impl Client { + pub fn all() -> Result<Vec<Self>, Box<dyn Error>> { + Ok(ureq::get("http://faktura.ddev.site/api/clients") + .set("Accept", "application/json") + .call()? + .into_json()?) + } +} |