Delete relay energy information
This commit is contained in:
		@@ -157,8 +157,19 @@ impl Handler<DeleteDevice> for EnergyActor {
 | 
			
		||||
 | 
			
		||||
    fn handle(&mut self, msg: DeleteDevice, _ctx: &mut Context<Self>) -> Self::Result {
 | 
			
		||||
        log::info!("Requested to delete device {:?}...", &msg.0);
 | 
			
		||||
 | 
			
		||||
        let Some(device) = self.devices.get_single(&msg.0) else {
 | 
			
		||||
            log::warn!("Requested to delete non-existent device!");
 | 
			
		||||
            return Ok(());
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
        // Delete device relays
 | 
			
		||||
        for relay in device.relays {
 | 
			
		||||
            self.devices.relay_delete(relay.id)?;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        self.devices.delete(&msg.0)?;
 | 
			
		||||
        // TODO : delete energy related information
 | 
			
		||||
 | 
			
		||||
        Ok(())
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -26,7 +26,7 @@ impl RelayStateHistory {
 | 
			
		||||
    /// Open relay state history file, if it exists, or create an empty one
 | 
			
		||||
    pub fn open(id: DeviceRelayID, time: u64) -> anyhow::Result<Self> {
 | 
			
		||||
        let day = day_number(time);
 | 
			
		||||
        let path = AppConfig::get().relay_runtime_file_path(id, day);
 | 
			
		||||
        let path = AppConfig::get().relay_runtime_day_file_path(id, day);
 | 
			
		||||
 | 
			
		||||
        if path.exists() {
 | 
			
		||||
            Ok(Self {
 | 
			
		||||
@@ -86,7 +86,7 @@ impl RelayStateHistory {
 | 
			
		||||
 | 
			
		||||
    /// Persist device relay state history
 | 
			
		||||
    pub fn save(&self) -> anyhow::Result<()> {
 | 
			
		||||
        let path = AppConfig::get().relay_runtime_file_path(self.id, self.day);
 | 
			
		||||
        let path = AppConfig::get().relay_runtime_day_file_path(self.id, self.day);
 | 
			
		||||
        files_utils::create_directory_if_missing(path.parent().unwrap())?;
 | 
			
		||||
        std::fs::write(path, &self.buff)?;
 | 
			
		||||
        Ok(())
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user