aboutsummaryrefslogtreecommitdiffstats
path: root/src/ynab/client.rs
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2019-08-17 02:36:43 -0400
committerJesse Luehrs <doy@tozt.net>2019-08-17 02:36:43 -0400
commite801bc38e6ef8746ea61dd2bc7fce59e3204049f (patch)
tree4183b294737ad7b54a160c7c42dd27b29a2813b6 /src/ynab/client.rs
parenta494b85f2ab08c98f57c59883c07bb92e2afd193 (diff)
downloadynab-api-e801bc38e6ef8746ea61dd2bc7fce59e3204049f.tar.gz
ynab-api-e801bc38e6ef8746ea61dd2bc7fce59e3204049f.zip
add ability to actually update transactions
Diffstat (limited to 'src/ynab/client.rs')
-rw-r--r--src/ynab/client.rs20
1 files changed, 18 insertions, 2 deletions
diff --git a/src/ynab/client.rs b/src/ynab/client.rs
index 852481a..9467750 100644
--- a/src/ynab/client.rs
+++ b/src/ynab/client.rs
@@ -15,7 +15,7 @@ impl Client {
}
}
- pub fn default_budget(&self) -> super::budget::Budget {
+ pub fn into_default_budget(self) -> super::budget::Budget {
let budgets =
self.api.budgets_api().get_budgets().unwrap().data.budgets;
let budget = budgets.iter().next().unwrap();
@@ -26,6 +26,22 @@ impl Client {
.unwrap()
.data
.budget;
- super::budget::Budget::new(full_budget)
+ super::budget::Budget::new(self, full_budget)
+ }
+
+ pub fn update_transactions(
+ &self,
+ budget_id: &str,
+ transactions: ynab_api::models::UpdateTransactionsWrapper,
+ ) -> Option<String> {
+ let res = self
+ .api
+ .transactions_api()
+ .update_transactions(budget_id, transactions);
+ if let Err(e) = res {
+ Some(format!("{:?}", e))
+ } else {
+ None
+ }
}
}