diff --git a/src/id_store.rs b/src/id_store.rs index 3bacedc..fe3d80c 100644 --- a/src/id_store.rs +++ b/src/id_store.rs @@ -44,14 +44,8 @@ impl IDStore { /// Add a new id for the current day /// Returns false if ID is already present at the current day. - /// Can fail because the store will be saved to a file. - pub fn add_id(&mut self, id: TallyID) -> Result> { - if self.get_current_day().add_id(id) { - self.export_json("./data.json")?; - return Ok(true); - } - - Ok(false) + pub fn add_id(&mut self, id: TallyID) -> bool { + self.get_current_day().add_id(id) } /// Get the `AttendanceDay` of the current day diff --git a/src/main.rs b/src/main.rs index 307a5be..1fcbe5e 100644 --- a/src/main.rs +++ b/src/main.rs @@ -67,20 +67,17 @@ async fn main() -> Result<(), Box> { let channel_store = store.clone(); tokio::spawn(async move { while let Some(tally_id_string) = rx.recv().await { - match channel_store + if channel_store .lock() .await .add_id(id_store::TallyID(tally_id_string)) { - Ok(added) => { - if added { - debug!("~Beep~ Added new ID"); - // TODO: Add buzzer here - } - } - Err(e) => { - error!("Failed to save id to the store: {}", e); - // TODO: What to do if the ID could not be saved ? + info!("Added new id to current day"); + // TODO: trigger the buzzer + + if let Err(e) = channel_store.lock().await.export_json(STORE_PATH) { + error!("Failed to save id store to file: {}", e); + // TODO: How to handle a failure to save ? } } }