file_storage/system/local/file/delete.rs
1use crate::system::LocalPath;
2use crate::Error;
3use crate::Operation::Delete;
4use std::io::ErrorKind::NotFound;
5
6impl<'a> LocalPath<'a> {
7 //! Delete
8
9 /// See `FilePath::delete_if_exists`.
10 pub fn delete_if_exists(&self) -> Result<bool, Error> {
11 match std::fs::remove_file(self.path.as_str()) {
12 Ok(()) => Ok(true),
13 Err(error) => {
14 if error.kind() == NotFound {
15 Ok(false)
16 } else {
17 Err(Error::from_source(self.path.clone(), Delete, error))
18 }
19 }
20 }
21 }
22}