src/lib/server/paths.ts: zentrale Auflösung der env-vars; vorher 6× IMAGE_DIR und 2× DATABASE_PATH dupliziert mit identischen Defaults. Migrierte Sites: - src/lib/server/db/index.ts (DATABASE_PATH + IMAGE_DIR) - src/routes/api/admin/backup/+server.ts - src/routes/api/domains/+server.ts - src/routes/api/domains/[id]/+server.ts - src/routes/api/recipes/import/+server.ts - src/routes/api/recipes/[id]/image/+server.ts - src/routes/images/[filename]/+server.ts ARCHITECTURE.md: - 49 Flachwitze -> 150 (waren tatsaechlich 150) - 'search/' Route entfernt — wurde nie als eigene Route gebaut, Suche laeuft direkt auf der Homepage via API-Calls Findings aus zweiter Review-Runde (siehe OPEN-ISSUES-NEXT.md)
17 lines
625 B
TypeScript
17 lines
625 B
TypeScript
import type { RequestHandler } from './$types';
|
|
import { createBackupStream, backupFilename } from '$lib/server/backup/export';
|
|
import { DATABASE_PATH, IMAGE_DIR } from '$lib/server/paths';
|
|
import { Readable } from 'node:stream';
|
|
|
|
export const GET: RequestHandler = async () => {
|
|
const archive = createBackupStream({ dbPath: DATABASE_PATH, imagesDir: IMAGE_DIR });
|
|
const filename = backupFilename();
|
|
return new Response(Readable.toWeb(archive) as ReadableStream, {
|
|
status: 200,
|
|
headers: {
|
|
'content-type': 'application/zip',
|
|
'content-disposition': `attachment; filename="${filename}"`
|
|
}
|
|
});
|
|
};
|