From 6d1300640051baa23360846197b54e1e69ae32e3 Mon Sep 17 00:00:00 2001 From: Joris Guyonvarch Date: Sat, 18 Apr 2026 11:04:47 +0200 Subject: Add balancing capabilities If payment are too unbalanced, it’s easier to make a transfer. --- src/validation/balancing.rs | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 src/validation/balancing.rs (limited to 'src/validation/balancing.rs') diff --git a/src/validation/balancing.rs b/src/validation/balancing.rs new file mode 100644 index 0000000..8892bca --- /dev/null +++ b/src/validation/balancing.rs @@ -0,0 +1,34 @@ +use std::collections::HashMap; + +use crate::model::balancing::{Create, Update}; +use crate::validation::utils::*; + +pub fn create(form: &HashMap) -> Option { + let source = parse::(form, "source")?; + let destination = parse::(form, "destination")?; + + if source == destination { + None + } else { + Some(Create { + source, + destination, + amount: parse::(form, "amount")? + }) + } +} + +pub fn update(form: &HashMap) -> Option { + let source = parse::(form, "source")?; + let destination = parse::(form, "destination")?; + + if source == destination { + None + } else { + Some(Update { + source, + destination, + amount: parse::(form, "amount")? + }) + } +} -- cgit v1.2.3