made_core/value_objects/budget/
budget_balance.rs1use super::{BudgetLimits, BudgetQuantities};
2use serde::{Deserialize, Serialize};
3
4#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
5pub struct BudgetBalance {
6 limits: BudgetLimits,
7 reserved: BudgetQuantities,
8 observed: BudgetQuantities,
9 estimated: BudgetQuantities,
10 unconfirmed: BudgetQuantities,
11 overrun: BudgetQuantities,
12 available: BudgetQuantities,
13}
14impl BudgetBalance {
15 #[must_use]
16 pub const fn new(
17 limits: BudgetLimits,
18 reserved: BudgetQuantities,
19 observed: BudgetQuantities,
20 estimated: BudgetQuantities,
21 unconfirmed: BudgetQuantities,
22 overrun: BudgetQuantities,
23 available: BudgetQuantities,
24 ) -> Self {
25 Self {
26 limits,
27 reserved,
28 observed,
29 estimated,
30 unconfirmed,
31 overrun,
32 available,
33 }
34 }
35 #[must_use]
36 pub const fn limits(&self) -> &BudgetLimits {
37 &self.limits
38 }
39 #[must_use]
40 pub const fn reserved(&self) -> BudgetQuantities {
41 self.reserved
42 }
43 #[must_use]
44 pub const fn observed(&self) -> BudgetQuantities {
45 self.observed
46 }
47 #[must_use]
48 pub const fn estimated(&self) -> BudgetQuantities {
49 self.estimated
50 }
51 #[must_use]
52 pub const fn unconfirmed(&self) -> BudgetQuantities {
53 self.unconfirmed
54 }
55 #[must_use]
56 pub const fn overrun(&self) -> BudgetQuantities {
57 self.overrun
58 }
59 #[must_use]
60 pub const fn available(&self) -> BudgetQuantities {
61 self.available
62 }
63}