aboutsummaryrefslogtreecommitdiffstats
path: root/src/ynab
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2019-08-17 06:49:51 -0400
committerJesse Luehrs <doy@tozt.net>2019-08-17 06:49:51 -0400
commit6011682296a68302ff151e7a085a9d60d4afb8be (patch)
treea263ef04c81dfb800943267bf8142760cf78f55b /src/ynab
parent07312c1434242c9aefad6451ede2075119f80556 (diff)
downloadynab-reimbursements-6011682296a68302ff151e7a085a9d60d4afb8be.tar.gz
ynab-reimbursements-6011682296a68302ff151e7a085a9d60d4afb8be.zip
add support for refreshing the list contents
Diffstat (limited to 'src/ynab')
-rw-r--r--src/ynab/budget.rs5
-rw-r--r--src/ynab/client.rs11
2 files changed, 12 insertions, 4 deletions
diff --git a/src/ynab/budget.rs b/src/ynab/budget.rs
index c5a9cde..1d3b80a 100644
--- a/src/ynab/budget.rs
+++ b/src/ynab/budget.rs
@@ -17,6 +17,11 @@ impl Budget {
}
}
+ pub fn refresh(&mut self) {
+ self.budget = self.client.default_budget();
+ self.reimbursables = Self::get_reimbursables(&self.budget)
+ }
+
pub fn name(&self) -> String {
self.budget.name.clone()
}
diff --git a/src/ynab/client.rs b/src/ynab/client.rs
index 9467750..9e2d3ea 100644
--- a/src/ynab/client.rs
+++ b/src/ynab/client.rs
@@ -15,17 +15,20 @@ impl Client {
}
}
- pub fn into_default_budget(self) -> super::budget::Budget {
+ pub fn default_budget(&self) -> ynab_api::models::BudgetDetail {
let budgets =
self.api.budgets_api().get_budgets().unwrap().data.budgets;
let budget = budgets.iter().next().unwrap();
- let full_budget = self
- .api
+ self.api
.budgets_api()
.get_budget_by_id(&budget.id, 0)
.unwrap()
.data
- .budget;
+ .budget
+ }
+
+ pub fn into_default_budget(self) -> super::budget::Budget {
+ let full_budget = self.default_budget();
super::budget::Budget::new(self, full_budget)
}