From 69e169362b95c509930dc032bd5c321ad3bd2b4a Mon Sep 17 00:00:00 2001 From: Moritz Utcke Date: Sat, 22 Feb 2025 12:37:54 +1100 Subject: [PATCH] Persistent Directory --- astro.config.mjs | 2 +- ...img-741ae0ba-9f33-4eb5-adfc-391e29dcdbdc.jpg | Bin 0 -> 72706 bytes src/astro-typesafe-api-caller.ts | 12 ++++++------ src/components/AusweisPruefenBox.svelte | 2 +- .../pdfDatenblattVerbrauchsausweisGewerbe.ts | 3 ++- .../pdf/pdfDatenblattVerbrauchsausweisWohnen.ts | 3 ++- src/lib/pdf/pdfVerbrauchsausweisWohnen.ts | 3 ++- src/lib/server/constants.ts | 8 ++++++++ src/pages/api/admin/ausstellen.ts | 5 +++-- src/pages/api/aufnahme/[uid]/bilder.ts | 6 ++---- src/pages/api/bild.ts | 5 ++--- src/pages/api/bilder/[uid].ts | 3 ++- src/pages/api/unterlage.ts | 3 ++- src/pages/bilder/[uid].jpg.ts | 3 ++- .../energieausweis-kosten/index.astro | 2 +- 15 files changed, 36 insertions(+), 24 deletions(-) create mode 100644 persistent/images/img-741ae0ba-9f33-4eb5-adfc-391e29dcdbdc.jpg create mode 100644 src/lib/server/constants.ts diff --git a/astro.config.mjs b/astro.config.mjs index 8228b373..b6a1cb58 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -13,7 +13,7 @@ export default defineConfig({ outDir: "./dist", output: "server", adapter: node({ - mode: "middleware" + mode: "middleware", }), vite: { ssr: { diff --git a/persistent/images/img-741ae0ba-9f33-4eb5-adfc-391e29dcdbdc.jpg b/persistent/images/img-741ae0ba-9f33-4eb5-adfc-391e29dcdbdc.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0a57bb5beeca36918b0a9a84898b1bf780fbe0d0 GIT binary patch literal 72706 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 literal 0 HcmV?d00001 diff --git a/src/astro-typesafe-api-caller.ts b/src/astro-typesafe-api-caller.ts index 134a6860..fc09910e 100644 --- a/src/astro-typesafe-api-caller.ts +++ b/src/astro-typesafe-api-caller.ts @@ -5,7 +5,6 @@ export const createCaller = createCallerFactory({ "klimafaktoren": await import("../src/pages/api/klimafaktoren.ts"), "postleitzahlen": await import("../src/pages/api/postleitzahlen.ts"), "unterlage": await import("../src/pages/api/unterlage.ts"), - "aufnahme": await import("../src/pages/api/aufnahme/index.ts"), "admin/ausstellen": await import("../src/pages/api/admin/ausstellen.ts"), "admin/bestellbestaetigung": await import("../src/pages/api/admin/bestellbestaetigung.ts"), "admin/erinnern": await import("../src/pages/api/admin/erinnern.ts"), @@ -14,25 +13,26 @@ export const createCaller = createCallerFactory({ "admin/registriernummer": await import("../src/pages/api/admin/registriernummer.ts"), "admin/stornieren": await import("../src/pages/api/admin/stornieren.ts"), "ausweise": await import("../src/pages/api/ausweise/index.ts"), + "aufnahme": await import("../src/pages/api/aufnahme/index.ts"), "auth/access-token": await import("../src/pages/api/auth/access-token.ts"), "auth/forgot-password": await import("../src/pages/api/auth/forgot-password.ts"), "auth/refresh-token": await import("../src/pages/api/auth/refresh-token.ts"), "bedarfsausweis-wohnen/[uid]": await import("../src/pages/api/bedarfsausweis-wohnen/[uid].ts"), "bedarfsausweis-wohnen": await import("../src/pages/api/bedarfsausweis-wohnen/index.ts"), "bilder/[uid]": await import("../src/pages/api/bilder/[uid].ts"), - "geg-nachweis-wohnen/[uid]": await import("../src/pages/api/geg-nachweis-wohnen/[uid].ts"), - "geg-nachweis-wohnen": await import("../src/pages/api/geg-nachweis-wohnen/index.ts"), "geg-nachweis-gewerbe/[uid]": await import("../src/pages/api/geg-nachweis-gewerbe/[uid].ts"), "geg-nachweis-gewerbe": await import("../src/pages/api/geg-nachweis-gewerbe/index.ts"), + "geg-nachweis-wohnen/[uid]": await import("../src/pages/api/geg-nachweis-wohnen/[uid].ts"), + "geg-nachweis-wohnen": await import("../src/pages/api/geg-nachweis-wohnen/index.ts"), + "objekt": await import("../src/pages/api/objekt/index.ts"), "rechnung/anfordern": await import("../src/pages/api/rechnung/anfordern.ts"), "rechnung": await import("../src/pages/api/rechnung/index.ts"), - "objekt": await import("../src/pages/api/objekt/index.ts"), + "ticket": await import("../src/pages/api/ticket/index.ts"), "user": await import("../src/pages/api/user/index.ts"), "user/self": await import("../src/pages/api/user/self.ts"), - "ticket": await import("../src/pages/api/ticket/index.ts"), + "webhooks/mollie": await import("../src/pages/api/webhooks/mollie.ts"), "verbrauchsausweis-gewerbe/[uid]": await import("../src/pages/api/verbrauchsausweis-gewerbe/[uid].ts"), "verbrauchsausweis-gewerbe": await import("../src/pages/api/verbrauchsausweis-gewerbe/index.ts"), - "webhooks/mollie": await import("../src/pages/api/webhooks/mollie.ts"), "verbrauchsausweis-wohnen/[uid]": await import("../src/pages/api/verbrauchsausweis-wohnen/[uid].ts"), "verbrauchsausweis-wohnen": await import("../src/pages/api/verbrauchsausweis-wohnen/index.ts"), "aufnahme/[uid]/bilder": await import("../src/pages/api/aufnahme/[uid]/bilder.ts"), diff --git a/src/components/AusweisPruefenBox.svelte b/src/components/AusweisPruefenBox.svelte index 8870c6bc..c1f72128 100644 --- a/src/components/AusweisPruefenBox.svelte +++ b/src/components/AusweisPruefenBox.svelte @@ -12,7 +12,7 @@ import { addNotification } from "#components/Notifications/shared.js"; import { CheckCircled, CrossCircled, Image } from "radix-svelte-icons"; import ChevronDown from "radix-svelte-icons/src/lib/icons/ChevronDown.svelte"; - import { Event } from "#lib/client/prisma"; + import { Event } from "#lib/client/prisma.js"; import { api } from "astro-typesafe-api/client"; import Cookies from "js-cookie"; import { API_ACCESS_TOKEN_COOKIE_NAME } from "#lib/constants.js"; diff --git a/src/lib/pdf/pdfDatenblattVerbrauchsausweisGewerbe.ts b/src/lib/pdf/pdfDatenblattVerbrauchsausweisGewerbe.ts index 437de813..8d7b7b85 100644 --- a/src/lib/pdf/pdfDatenblattVerbrauchsausweisGewerbe.ts +++ b/src/lib/pdf/pdfDatenblattVerbrauchsausweisGewerbe.ts @@ -8,6 +8,7 @@ import { Heizungsstatus } from "#lib/server/prisma.js"; import { endEnergieVerbrauchVerbrauchsausweisGewerbe_2016 } from "#lib/Berechnungen/VerbrauchsausweisGewerbe/VerbrauchsausweisGewerbe_2016.js"; import { fileURLToPath } from "url"; import { copyPage } from "./utils/copyPage.js"; +import { PERSISTENT_DIR } from "#lib/server/constants.js"; /* -------------------------------- Pdf Tools ------------------------------- */ @@ -359,7 +360,7 @@ export async function pdfDatenblattVerbrauchsausweisGewerbe(ausweis: Verbrauchsa let image: string = ""; if (bild.uid) { - image = `` + image = `` } else if (bild.data) { image = `` } diff --git a/src/lib/pdf/pdfDatenblattVerbrauchsausweisWohnen.ts b/src/lib/pdf/pdfDatenblattVerbrauchsausweisWohnen.ts index 8ad641e0..e64b478d 100644 --- a/src/lib/pdf/pdfDatenblattVerbrauchsausweisWohnen.ts +++ b/src/lib/pdf/pdfDatenblattVerbrauchsausweisWohnen.ts @@ -8,6 +8,7 @@ import moment from "moment"; import { BilderKategorie, Heizungsstatus } from "#lib/server/prisma"; import { fileURLToPath } from "url"; import { copyPage } from "./utils/copyPage.js"; +import { PERSISTENT_DIR } from "#lib/server/constants.js"; /* -------------------------------- Pdf Tools ------------------------------- */ @@ -303,7 +304,7 @@ export async function pdfDatenblattVerbrauchsausweisWohnen(ausweis: Verbrauchsau let img: string; if (c.uid) { - img = `` + img = `` } else { img = `` } diff --git a/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts b/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts index 7a9958f4..d9ac0161 100644 --- a/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts +++ b/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts @@ -9,6 +9,7 @@ import { addCheckMark } from "./utils/checkbox.js"; import { addText } from "./utils/text.js"; import { addAnsichtsausweisLabel, addDatumGEG } from "./utils/helpers.js"; import { fileURLToPath } from "url"; +import { PERSISTENT_DIR } from "#lib/server/constants.js"; /* -------------------------------- Pdf Tools ------------------------------- */ @@ -85,7 +86,7 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne const bild = bilder && bilder.find(image => image.kategorie === Enums.BilderKategorie.Gebaeude); if (bild) { - const file = fs.readFileSync(fileURLToPath(new URL(`../../../persistent/images/${bild.uid}.jpg`, import.meta.url))) + const file = fs.readFileSync(fileURLToPath(new URL(`${PERSISTENT_DIR}/images/${bild.uid}.jpg`, import.meta.url))) let image: PDFImage; image = await pdf.embedJpg(file) pages[0].drawImage(image, { diff --git a/src/lib/server/constants.ts b/src/lib/server/constants.ts new file mode 100644 index 00000000..12842436 --- /dev/null +++ b/src/lib/server/constants.ts @@ -0,0 +1,8 @@ +import os from "os" +import fs from "fs" + +export const PERSISTENT_DIR = `${os.homedir()}/persistent/online-energieausweis` + +if (!fs.existsSync(PERSISTENT_DIR)) { + fs.mkdirSync(PERSISTENT_DIR) +} \ No newline at end of file diff --git a/src/pages/api/admin/ausstellen.ts b/src/pages/api/admin/ausstellen.ts index c54409f7..e4c1278e 100644 --- a/src/pages/api/admin/ausstellen.ts +++ b/src/pages/api/admin/ausstellen.ts @@ -10,6 +10,7 @@ import * as fs from "fs"; import { transport } from "#lib/mail.js"; import { BASE_URI } from "#lib/constants.js"; import { getAnsichtsausweis, getDatenblatt } from "#lib/server/ausweis.js"; +import { PERSISTENT_DIR } from "#lib/server/constants.js"; export const GET = defineApiRoute({ input: z.object({ @@ -99,7 +100,7 @@ export const GET = defineApiRoute({ if (pdfAusweis) { const pdfAusweisPath = fileURLToPath( new URL( - `../../../../persistent/generated/Ausweis-${ausweis.uid}.pdf`, + `${PERSISTENT_DIR}/generated/Ausweis-${ausweis.uid}.pdf`, import.meta.url ) ); @@ -109,7 +110,7 @@ export const GET = defineApiRoute({ if (pdfDatenblatt) { const pdfDatenblattPath = fileURLToPath( new URL( - `../../../../persistent/generated/Datenblatt-${ausweis.uid}.pdf`, + `${PERSISTENT_DIR}/generated/Datenblatt-${ausweis.uid}.pdf`, import.meta.url ) ); diff --git a/src/pages/api/aufnahme/[uid]/bilder.ts b/src/pages/api/aufnahme/[uid]/bilder.ts index 57ba7a7e..939dd1fa 100644 --- a/src/pages/api/aufnahme/[uid]/bilder.ts +++ b/src/pages/api/aufnahme/[uid]/bilder.ts @@ -1,11 +1,9 @@ import { authorizationMiddleware } from "#lib/middleware/authorization.js"; -import { BildSchema, prisma } from "#lib/server/prisma"; +import { prisma } from "#lib/server/prisma.js"; import { APIError, defineApiRoute } from "astro-typesafe-api/server"; import { z } from "zod"; -import isBase64 from "is-base64"; -import { fileURLToPath } from "url"; -import { writeFileSync } from "fs"; import { UUidWithPrefix } from "#components/Ausweis/types.js"; +import { BildSchema } from "src/generated/zod/bild.js"; export const PUT = defineApiRoute({ input: z.array(UUidWithPrefix), diff --git a/src/pages/api/bild.ts b/src/pages/api/bild.ts index 415f269a..faefb8a5 100644 --- a/src/pages/api/bild.ts +++ b/src/pages/api/bild.ts @@ -8,6 +8,7 @@ import { writeFileSync } from "fs" import { UUidWithPrefix } from "#components/Ausweis/types.js"; import { BildSchema } from "src/generated/zod/bild.js"; import sharp from "sharp" +import { PERSISTENT_DIR } from "#lib/server/constants.js"; export const PUT = defineApiRoute({ input: BildSchema.pick({ @@ -43,7 +44,7 @@ export const PUT = defineApiRoute({ }, }); - const filePath = fileURLToPath(new URL(`../../../persistent/images/${bild.uid}.jpg`, import.meta.url)); + const filePath = fileURLToPath(new URL(`${PERSISTENT_DIR}/images/${bild.uid}.jpg`, import.meta.url)); try { // Wir optimieren das Bild und konvertieren es in JPEG @@ -51,8 +52,6 @@ export const PUT = defineApiRoute({ writeFileSync(filePath, optimizedBuffer) } catch(e) { - console.log(e); - // Bild wurde nicht gespeichert, wir löschen den Eintrag wieder await prisma.bild.delete({ where: { diff --git a/src/pages/api/bilder/[uid].ts b/src/pages/api/bilder/[uid].ts index e9a0c300..eab40241 100644 --- a/src/pages/api/bilder/[uid].ts +++ b/src/pages/api/bilder/[uid].ts @@ -8,6 +8,7 @@ import { writeFileSync } from "fs"; import { UUidWithPrefix } from "#components/Ausweis/types.js"; import sharp from "sharp" import { BildSchema } from "src/generated/zod/bild.js"; +import { PERSISTENT_DIR } from "#lib/server/constants.js"; export const PATCH = defineApiRoute({ input: BildSchema.pick({ @@ -67,7 +68,7 @@ export const PATCH = defineApiRoute({ }); } - const filePath = fileURLToPath(new URL(`../../../../../persistent/images/${image.uid}.jpg`, import.meta.url)); + const filePath = fileURLToPath(new URL(`${PERSISTENT_DIR}/images/${image.uid}.jpg`, import.meta.url)); try { // Wir optimieren das Bild und konvertieren es in WebP diff --git a/src/pages/api/unterlage.ts b/src/pages/api/unterlage.ts index b2c2f353..a4f0c7b3 100644 --- a/src/pages/api/unterlage.ts +++ b/src/pages/api/unterlage.ts @@ -4,6 +4,7 @@ import { APIError, defineApiRoute } from "astro-typesafe-api/server"; import { z } from "zod"; import { fileURLToPath } from "url"; import { writeFileSync } from "fs"; +import { PERSISTENT_DIR } from "#lib/server/constants.js"; export const PUT = defineApiRoute({ input: UnterlageSchema.omit({ @@ -37,7 +38,7 @@ export const PUT = defineApiRoute({ }, }); - const filePath = fileURLToPath(new URL(`../../../persistent/unterlagen/${unterlage.uid}`, import.meta.url)); + const filePath = fileURLToPath(new URL(`${PERSISTENT_DIR}/unterlagen/${unterlage.uid}`, import.meta.url)); try { writeFileSync(filePath, buffer) diff --git a/src/pages/bilder/[uid].jpg.ts b/src/pages/bilder/[uid].jpg.ts index 876cad41..8eb3187a 100644 --- a/src/pages/bilder/[uid].jpg.ts +++ b/src/pages/bilder/[uid].jpg.ts @@ -2,6 +2,7 @@ import { prisma } from "#lib/server/prisma.js"; import { APIRoute } from "astro"; import * as fs from "fs"; import { fileURLToPath } from "url"; +import { PERSISTENT_DIR } from "#lib/server/constants.js"; export const GET: APIRoute = async (Astro) => { const { uid } = Astro.params; @@ -19,7 +20,7 @@ export const GET: APIRoute = async (Astro) => { } const path = fileURLToPath( - new URL(`../../../persistent/images/${image.uid}.jpg`, import.meta.url) + new URL(`${PERSISTENT_DIR}/images/${image.uid}.jpg`, import.meta.url) ); if (!fs.existsSync(path)) { diff --git a/src/pages/energieausweis/energieausweis-kosten/index.astro b/src/pages/energieausweis/energieausweis-kosten/index.astro index 4f4137c4..16568208 100644 --- a/src/pages/energieausweis/energieausweis-kosten/index.astro +++ b/src/pages/energieausweis/energieausweis-kosten/index.astro @@ -5,7 +5,7 @@ import ProduktUebersichtBedarfsausweisGewerbe from "#components/design/content/P import ProduktUebersichtVerbrauchsausweisWohnen from "#components/design/content/ProduktUebersichtVerbrauchsausweisWohnen.svelte"; import ProduktUebersichtVerbrauchsausweisGewerbe from "#components/design/content/ProduktUebersichtVerbrauchsausweisGewerbe.svelte"; import { PRICES } from "#lib/constants.js"; -import { Enums } from "@ibcornelsen/database/client"; +import { Enums } from "#lib/server/prisma"; ---