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

@@ -13,18 +13,19 @@ COPY frontend/ ./
RUN npm run generate RUN npm run generate
FROM rust:bookworm AS backend-builder FROM rust:alpine AS backend-builder
WORKDIR /usr/src/warren WORKDIR /usr/src/warren
COPY backend/Cargo.toml backend/Cargo.lock ./ COPY backend/Cargo.toml backend/Cargo.lock ./
RUN mkdir -p src/bin/backend && mkdir src/lib && echo "fn main() {}" > src/bin/backend/main.rs && echo "" > src/lib/lib.rs RUN mkdir -p src/bin/backend && mkdir src/lib && echo "fn main() {}" > src/bin/backend/main.rs && echo "" > src/lib/lib.rs
RUN apk add --no-cache pkgconfig openssl-dev libc-dev
RUN cargo build --release RUN cargo build --release
COPY backend/ . COPY backend/ .
RUN touch src/bin/backend/main.rs && touch src/lib/lib.rs RUN touch src/bin/backend/main.rs && touch src/lib/lib.rs
RUN cargo build --release RUN cargo build --release
FROM debian:bookworm FROM alpine:3
WORKDIR /var/lib/warren WORKDIR /var/lib/warren
COPY --from=backend-builder /usr/src/warren/target/release/warren_backend /usr/bin/warren COPY --from=backend-builder /usr/src/warren/target/release/warren_backend /usr/bin/warren

View File

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

View File

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

View File

@@ -73,7 +73,11 @@ impl FileSystem {
} }
}; };
let metadata = entry.metadata().await?; 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 { let mime_type = match file_type {
FileType::File => FileMimeType::from_name(&name), FileType::File => FileMimeType::from_name(&name),

View File

@@ -59,6 +59,7 @@ async function openRenameDialog() {
> >
<span>{{ entry.name }}</span> <span>{{ entry.name }}</span>
<NuxtTime <NuxtTime
v-if="entry.createdAt != null"
:datetime="entry.createdAt * 1000" :datetime="entry.createdAt * 1000"
class="text-muted-foreground text-sm" class="text-muted-foreground text-sm"
relative relative

View File

@@ -10,7 +10,7 @@ export type DirectoryEntry = {
fileType: FileType; fileType: FileType;
mimeType: string | null; mimeType: string | null;
/// Timestamp in seconds /// Timestamp in seconds
createdAt: number; createdAt: number | null;
}; };
export type UploadStatus = export type UploadStatus =