diff options
Diffstat (limited to 'src/ynab')
-rw-r--r-- | src/ynab/budget.rs | 5 | ||||
-rw-r--r-- | src/ynab/client.rs | 11 |
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) } |