diff --git a/src/backup/manager/mod.rs b/src/backup/manager/mod.rs index db53ad8..6a43f9f 100644 --- a/src/backup/manager/mod.rs +++ b/src/backup/manager/mod.rs @@ -153,13 +153,11 @@ where /// Calculate the next time a backup should be created. If no backup has been created yet, it /// will return now. pub fn next_scheduled_time(&self) -> chrono::DateTime { - if let Some(last_chain) = self.chains.last() { - if let Some(last_backup) = last_chain.last() { - return last_backup.start_time + self.frequency; - } - } - - chrono::offset::Utc::now() + self.chains + .last() + .and_then(|last_chain| last_chain.last()) + .map(|last_backup| last_backup.start_time + self.frequency) + .unwrap_or_else(chrono::offset::Utc::now) } /// Search for a chain containing a backup with the specified start time.