Prüfung / Lint, Typen, Tests (push) Canceled after 0s
Prüfung / Images bauen (pdf) (push) Canceled after 0s
Prüfung / Images bauen (web) (push) Canceled after 0s
Prüfung / Images bauen (worker) (push) Canceled after 0s
Images / bauen (pdf, docker/pdf.Dockerfile) (push) Canceled after 0s
Images / bauen (web, docker/web.Dockerfile) (push) Canceled after 0s
Images / bauen (worker, docker/worker.Dockerfile) (push) Canceled after 0s
375 Vorkommen in 210 Dateien. Betrifft Kommentare, Oberflaechentexte und die README; an keiner Stelle Bedeutung, nur Zeichensetzung.
40 lines
1.1 KiB
TypeScript
40 lines
1.1 KiB
TypeScript
import type { AttachmentView } from '@/components/files/Attachments'
|
|
|
|
/**
|
|
* Formt die Datenbankzeilen für die Oberfläche um.
|
|
*
|
|
* Zwei Dinge passieren hier, beide mit Absicht: `thumbKey` wird zu einem
|
|
* Wahrheitswert - der Pfad auf der Platte geht den Browser nichts an -, und
|
|
* `createdAt` wird zu einer Zeichenkette, weil ein `Date` die Grenze zur
|
|
* Client-Komponente nicht sauber überquert.
|
|
*/
|
|
export function toAttachmentViews(
|
|
rows: {
|
|
id: string
|
|
originalName: string
|
|
mimeType: string
|
|
sizeBytes: number
|
|
scanStatus: string
|
|
scanMessage: string | null
|
|
thumbKey: string | null
|
|
blurhash: string | null
|
|
width: number | null
|
|
height: number | null
|
|
createdAt: Date
|
|
}[],
|
|
): AttachmentView[] {
|
|
return rows.map((row) => ({
|
|
id: row.id,
|
|
originalName: row.originalName,
|
|
mimeType: row.mimeType,
|
|
sizeBytes: row.sizeBytes,
|
|
scanStatus: row.scanStatus,
|
|
scanMessage: row.scanMessage,
|
|
blurhash: row.blurhash,
|
|
width: row.width,
|
|
height: row.height,
|
|
hasThumb: row.thumbKey !== null,
|
|
createdAt: row.createdAt.toISOString(),
|
|
}))
|
|
}
|