From bf2a18c239bdc5bce49a9f8d83672874fda0331e Mon Sep 17 00:00:00 2001 From: vextrixes <113197359+vextrixes@users.noreply.github.com> Date: Sun, 25 Oct 2026 14:16:05 +0100 Subject: [PATCH] added payments --- src/lib.rs | 2 ++ src/payments.rs | 41 +++++++++++++++++++++++++++++++++++++++++ tracker.md | 2 +- 3 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 src/payments.rs diff --git a/src/lib.rs b/src/lib.rs index bfe17d1..28d17f2 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -5,6 +5,7 @@ mod error; mod events; mod homework; mod marks; +mod payments; mod stdtype; mod subjects; mod themes; @@ -17,6 +18,7 @@ pub use error::Error; pub use events::Events; pub use homework::{Homework, HomeworkListItem}; pub use marks::{Mark, Marks, SubjectMarks}; +pub use payments::{ClassfundPayments, ClassfundSummary, Payment, PaymentMonthlyData, AddBalance}; pub use stdtype::StdType; pub use subjects::{Subject, Subjects}; pub use themes::{Theme, Themes}; diff --git a/src/payments.rs b/src/payments.rs new file mode 100644 index 0000000..e53f14c --- /dev/null +++ b/src/payments.rs @@ -0,0 +1,41 @@ +use chrono::{DateTime, Utc}; +use serde::{Deserialize, Serialize}; + +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(rename_all = "PascalCase")] +pub struct ClassfundSummary { + pub student_name_with_class: String, + pub balance: f64, + pub spent: f64, +} + +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(rename_all = "PascalCase")] +pub struct ClassfundPayments { + pub monthly_data: Vec, +} + +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(rename_all = "PascalCase")] +pub struct PaymentMonthlyData { + pub date: DateTime, + pub monthly_balance: i64, + pub items: Vec, +} + +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(rename_all = "PascalCase")] +pub struct Payment { + pub description: String, + pub date: DateTime, + pub amount: i64, +} + +pub struct AddBalance { + pub instructions: String, + pub bank_account: String, + pub variable_symbol: u32, + pub specific_symbol: u32, + pub amount: i64, + pub message: String, +} diff --git a/tracker.md b/tracker.md index b5f39e8..11ab264 100644 --- a/tracker.md +++ b/tracker.md @@ -9,7 +9,7 @@ - [ ] lesson - [x] marks - [ ] measures -- [ ] payments +- [x] payments - [x] subjects - [ ] substitutions - [x] themes