24 lines
887 B
JavaScript
24 lines
887 B
JavaScript
// Ausschließlich Testserver: temporäre CSV und simulierter Versand.
|
|
import { mkdtemp, rm } from "node:fs/promises";
|
|
import { tmpdir } from "node:os";
|
|
import { join } from "node:path";
|
|
import { createApp } from "../../server/index.js";
|
|
import { createCsvStorage } from "../../server/services/csv-storage.js";
|
|
import { demoPackages } from "../../shared/packages.js";
|
|
|
|
const directory = await mkdtemp(join(tmpdir(), "trihub-browser-"));
|
|
const server = createApp({
|
|
catalog: demoPackages,
|
|
storage: createCsvStorage(join(directory, "bookings.csv")),
|
|
sendConfirmation: async () => {},
|
|
});
|
|
server.listen(3000, "127.0.0.1");
|
|
async function stop() {
|
|
server.closeAllConnections();
|
|
await new Promise((resolve) => server.close(resolve));
|
|
await rm(directory, { recursive: true, force: true });
|
|
process.exit(0);
|
|
}
|
|
process.on("SIGTERM", stop);
|
|
process.on("SIGINT", stop);
|