diff options
Diffstat (limited to 'dichroism/src/models')
| -rw-r--r-- | dichroism/src/models/photo.rs | 15 | 
1 files changed, 9 insertions, 6 deletions
| diff --git a/dichroism/src/models/photo.rs b/dichroism/src/models/photo.rs index 6069085..8c1435e 100644 --- a/dichroism/src/models/photo.rs +++ b/dichroism/src/models/photo.rs @@ -7,12 +7,12 @@ use uuid::Uuid;  #[derive(Debug, Queryable, Serialize, Clone)]  pub struct Photo { -    pub path: String, +    pub filename: String,  }  impl Photo { -    pub fn from_path(path: String) -> Self { -        Self { path } +    pub fn from_filename(filename: String) -> Self { +        Self { filename }      }      pub fn from_image(image: &DynamicImage) -> Result<Self> { @@ -24,8 +24,11 @@ impl Photo {          path.set_extension("jpg");          image.save(&path)?; -        Ok(Self { -            path: path.to_str().ok_or(DichroismError::ImageWrite)?.to_string(), -        }) +        let filename = path +            .file_name() +            .ok_or(DichroismError::ImageWrite)? +            .to_str() +            .ok_or(DichroismError::ImageWrite)?; +        Ok(Self::from_filename(String::from(filename)))      }  } |