handle fs metadata.created() not present

This commit is contained in:
2025-07-17 17:37:39 +02:00
parent c1f1185ad4
commit d8963e1f2d
6 changed files with 14 additions and 8 deletions

View File

@@ -12,7 +12,7 @@ pub struct File {
name: FileName,
file_type: FileType,
mime_type: Option<FileMimeType>,
created_at: u64,
created_at: Option<u64>,
}
impl File {
@@ -20,7 +20,7 @@ impl File {
name: FileName,
file_type: FileType,
mime_type: Option<FileMimeType>,
created_at: u64,
created_at: Option<u64>,
) -> Self {
Self {
name,
@@ -42,7 +42,7 @@ impl File {
self.mime_type.as_ref()
}
pub fn created_at(&self) -> u64 {
pub fn created_at(&self) -> Option<u64> {
self.created_at
}
}

View File

@@ -66,7 +66,7 @@ pub struct WarrenFileElement {
name: String,
file_type: FileType,
mime_type: Option<String>,
created_at: u64,
created_at: Option<u64>,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize)]

View File

@@ -73,7 +73,11 @@ impl FileSystem {
}
};
let metadata = entry.metadata().await?;
let created_at = metadata.created()?.duration_since(UNIX_EPOCH)?.as_secs();
let created_at = metadata
.created()
.ok()
.map(|c| c.duration_since(UNIX_EPOCH).ok().map(|c| c.as_secs()))
.flatten();
let mime_type = match file_type {
FileType::File => FileMimeType::from_name(&name),