From 39e91dae7bb946337f97847625a01cde23b9dee8 Mon Sep 17 00:00:00 2001 From: Carl Mahnke Date: Fri, 2 May 2025 11:44:24 +0200 Subject: [PATCH] Ausgestellte Ausweis PDFs aus der Cloud laden und nicht neu generieren --- src/astro-typesafe-api-caller.ts | 4 ++-- src/pages/pdf/ansichtsausweis.ts | 27 +++++++++++++++++---------- 2 files changed, 19 insertions(+), 12 deletions(-) diff --git a/src/astro-typesafe-api-caller.ts b/src/astro-typesafe-api-caller.ts index 262124be..301c62fe 100644 --- a/src/astro-typesafe-api-caller.ts +++ b/src/astro-typesafe-api-caller.ts @@ -35,11 +35,11 @@ export const createCaller = createCallerFactory({ "user/self": await import("../src/pages/api/user/self.ts"), "verbrauchsausweis-gewerbe/[id]": await import("../src/pages/api/verbrauchsausweis-gewerbe/[id].ts"), "verbrauchsausweis-gewerbe": await import("../src/pages/api/verbrauchsausweis-gewerbe/index.ts"), - "verbrauchsausweis-wohnen/[id]": await import("../src/pages/api/verbrauchsausweis-wohnen/[id].ts"), - "verbrauchsausweis-wohnen": await import("../src/pages/api/verbrauchsausweis-wohnen/index.ts"), "webhooks/mollie": await import("../src/pages/api/webhooks/mollie.ts"), "aufnahme/[id]/bilder": await import("../src/pages/api/aufnahme/[id]/bilder.ts"), "aufnahme/[id]": await import("../src/pages/api/aufnahme/[id]/index.ts"), "aufnahme/[id]/unterlagen": await import("../src/pages/api/aufnahme/[id]/unterlagen.ts"), "objekt/[id]": await import("../src/pages/api/objekt/[id]/index.ts"), + "verbrauchsausweis-wohnen/[id]": await import("../src/pages/api/verbrauchsausweis-wohnen/[id].ts"), + "verbrauchsausweis-wohnen": await import("../src/pages/api/verbrauchsausweis-wohnen/index.ts"), }) \ No newline at end of file diff --git a/src/pages/pdf/ansichtsausweis.ts b/src/pages/pdf/ansichtsausweis.ts index 16a97d4b..84e1623b 100644 --- a/src/pages/pdf/ansichtsausweis.ts +++ b/src/pages/pdf/ansichtsausweis.ts @@ -45,16 +45,23 @@ export const GET: APIRoute = async (Astro) => { user = await getCurrentUser(Astro) let pdf: Uint8Array | null = null; - if (/[A-Z]{2}[0-9]{8}/.test(ausweis.id)) { - const id = ausweis.id.match(/[A-Z]{2}([0-9]{8})/) as RegExpMatchArray - // Dieser Ausweis wurde mit der alten Version erstellt, das PDF sollte bereits existieren. - pdf = await getS3File("ibc-pdfs", `ID_${id[1]}_Energieausweis.pdf`) - } else if (ausweisart === Enums.Ausweisart.VerbrauchsausweisWohnen) { - pdf = await pdfVerbrauchsausweisWohnen(ausweis as VerbrauchsausweisWohnenClient, aufnahme, objekt, bilder, user, !ausweis.ausgestellt); - } else if (ausweisart === Enums.Ausweisart.VerbrauchsausweisGewerbe) { - pdf = await pdfVerbrauchsausweisGewerbe(ausweis as VerbrauchsausweisGewerbeClient, aufnahme, objekt, bilder, user, !ausweis.ausgestellt); - } else if (ausweisart === Enums.Ausweisart.BedarfsausweisWohnen) { - pdf = await getS3File("ibc-pdfs", `ID_${ausweis.id}_Energieausweis.pdf`) + + if (ausweis.ausgestellt) { + if (/[A-Z]{2}[0-9]{8}/.test(ausweis.id)) { + const id = ausweis.id.match(/[A-Z]{2}([0-9]{8})/) as RegExpMatchArray + // Dieser Ausweis wurde mit der alten Version erstellt, das PDF sollte bereits existieren. + pdf = await getS3File("ibc-pdfs", `ID_${id[1]}_Energieausweis.pdf`) + } else { + pdf = await getS3File("ibc-pdfs", `ID_${ausweis.id}_Energieausweis.pdf`) + } + } else { + if (ausweisart === Enums.Ausweisart.VerbrauchsausweisWohnen) { + pdf = await pdfVerbrauchsausweisWohnen(ausweis as VerbrauchsausweisWohnenClient, aufnahme, objekt, bilder, user, !ausweis.ausgestellt); + } else if (ausweisart === Enums.Ausweisart.VerbrauchsausweisGewerbe) { + pdf = await pdfVerbrauchsausweisGewerbe(ausweis as VerbrauchsausweisGewerbeClient, aufnahme, objekt, bilder, user, !ausweis.ausgestellt); + } else if (ausweisart === Enums.Ausweisart.BedarfsausweisWohnen) { + //todo + } } return new Response(pdf, {