diff options
| author | Mikkel Thestrup <mikkel@mithe.dk> | 2026-02-04 09:13:04 +0100 |
|---|---|---|
| committer | Mikkel Thestrup <mikkel@mithe.dk> | 2026-02-04 09:13:04 +0100 |
| commit | 314a12381803f1d9e99ec4034823c0c0a8aa18b4 (patch) | |
| tree | bd3d4bcd2dd19ac3cd39bfb974f6af0b5bd21298 /src/domain/event.rs | |
| parent | 81c008822b93ee3bc2fcfdd8c94cb3290808b70e (diff) | |
| download | kal-314a12381803f1d9e99ec4034823c0c0a8aa18b4.tar.gz kal-314a12381803f1d9e99ec4034823c0c0a8aa18b4.zip | |
Instead of setting updated_at to current everywhere, aggregate in
touch() method.
Diffstat (limited to 'src/domain/event.rs')
| -rw-r--r-- | src/domain/event.rs | 16 |
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(); + } } |