make database_backup_path a PathBuf

Signed-off-by: strawberry <strawberry@puppygock.gay>
This commit is contained in:
strawberry 2024-03-20 00:23:46 -04:00 committed by June
parent 5a434e7f3d
commit f9a60bf48b
2 changed files with 8 additions and 6 deletions

View file

@ -42,7 +42,7 @@ pub struct Config {
#[serde(default = "default_database_backend")]
pub database_backend: String,
pub database_path: PathBuf,
pub database_backup_path: Option<String>,
pub database_backup_path: Option<PathBuf>,
#[serde(default = "default_database_backups_to_keep")]
pub database_backups_to_keep: i16,
#[serde(default = "default_db_cache_capacity_mb")]
@ -257,8 +257,8 @@ impl fmt::Display for Config {
("Database path", &self.database_path.to_string_lossy()),
(
"Database backup path",
match self.database_backup_path.as_ref() {
Some(path) => path,
match &self.database_backup_path {
Some(path) => path.to_str().unwrap(),
None => "",
},
),

View file

@ -225,7 +225,7 @@ impl KeyValueDatabaseEngine for Arc<Engine> {
fn backup(&self) -> Result<(), Box<dyn std::error::Error>> {
let path = self.config.database_backup_path.as_ref();
if path.is_none() || path.is_some_and(String::is_empty) {
if path.is_none() || path.is_some_and(|path| path.as_os_str().is_empty()) {
return Ok(());
}
@ -260,8 +260,10 @@ impl KeyValueDatabaseEngine for Arc<Engine> {
fn backup_list(&self) -> Result<String> {
let path = self.config.database_backup_path.as_ref();
if path.is_none() || path.is_some_and(String::is_empty) {
return Ok("Configure database_backup_path to enable backups".to_owned());
if path.is_none() || path.is_some_and(|path| path.as_os_str().is_empty()) {
return Ok(
"Configure database_backup_path to enable backups, or the path specified is not valid".to_owned(),
);
}
let mut res = String::new();