aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMikkel Thestrup <mikkel@mithe.dk>2026-02-04 09:13:04 +0100
committerMikkel Thestrup <mikkel@mithe.dk>2026-02-04 09:13:04 +0100
commit314a12381803f1d9e99ec4034823c0c0a8aa18b4 (patch)
treebd3d4bcd2dd19ac3cd39bfb974f6af0b5bd21298
parent81c008822b93ee3bc2fcfdd8c94cb3290808b70e (diff)
downloadkal-314a12381803f1d9e99ec4034823c0c0a8aa18b4.tar.gz
kal-314a12381803f1d9e99ec4034823c0c0a8aa18b4.zip
style(domain event): Added touch() methodHEADmaster
Instead of setting updated_at to current everywhere, aggregate in touch() method.
-rw-r--r--src/domain/event.rs16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/domain/event.rs b/src/domain/event.rs
index 93216a4..0772020 100644
--- a/src/domain/event.rs
+++ b/src/domain/event.rs
@@ -79,32 +79,32 @@ impl Event {
pub fn cancel(&mut self) {
self.is_cancelled = true;
- self.updated_at = Utc::now();
+ self.touch();
}
pub fn restore(&mut self) {
self.is_cancelled = false;
- self.updated_at = Utc::now();
+ self.touch();
}
pub fn update_title(&mut self, title: String) {
self.title = title;
- self.updated_at = Utc::now();
+ self.touch();
}
pub fn update_description(&mut self, description: Option<String>) {
self.description = description;
- self.updated_at = Utc::now();
+ self.touch();
}
pub fn update_time_range(&mut self, time_range: TimeRange) {
self.time_range = time_range;
- self.updated_at = Utc::now();
+ self.touch();
}
pub fn update_color(&mut self, color: EventColor) {
self.color = color;
- self.updated_at = Utc::now();
+ self.touch();
}
pub fn overlaps_with(&self, other: &Event) -> bool {
@@ -113,4 +113,8 @@ impl Event {
&& self.calendar_id == other.calendar_id
&& self.time_range.overlaps(other.time_range())
}
+
+ pub fn touch(&mut self) {
+ self.updated_at = Utc::now();
+ }
}