diff --git a/packages/core/src/library/locations.rs b/packages/core/src/library/locations.rs index bcb4cb5ec..bb94a5241 100644 --- a/packages/core/src/library/locations.rs +++ b/packages/core/src/library/locations.rs @@ -10,7 +10,7 @@ use serde::{Deserialize, Serialize}; use std::{fs, io, io::Write}; use thiserror::Error; -#[derive(Serialize, Deserialize)] +#[derive(Serialize, Deserialize, Default)] pub struct DotSpaceDrive { pub location_uuid: String, pub library_uuid: String, @@ -24,7 +24,7 @@ static DOTFILE_NAME: &str = ".spacedrive"; pub async fn check_location(path: &str) -> Result { let dotfile: DotSpaceDrive = match fs::File::open(format!("{}/{}", path.clone(), DOTFILE_NAME)) { - Ok(file) => serde_json::from_reader(file).unwrap(), + Ok(file) => serde_json::from_reader(file).unwrap_or(DotSpaceDrive::default()), Err(e) => return Err(LocationError::DotfileReadFailure(e)), };