--- import AusweisLayout from "#layouts/AusweisLayoutDaten.astro"; import GEGNachweisWohnenModule from "#modules/angebot-anfragen/GEGNachweisWohnenModule.svelte"; import { getGEGNachweisWohnen, getAufnahme, getObjekt, getBilder } from "#lib/server/db"; import { Enums, Aufnahme, Objekt, Bild, GEGNachweisWohnen, Unterlage } from "#lib/server/prisma"; import { getCurrentUser } from "#lib/server/user"; import { getUnterlagen } from "#lib/server/db"; const id = Astro.url.searchParams.get("id"); const aufnahme_id = Astro.url.searchParams.get("aufnahme") let ausweistyp = Astro.url.searchParams.get("ausweistyp") as Enums.AusweisTyp || Enums.AusweisTyp.Standard; let nachweis: GEGNachweisWohnen = {} as GEGNachweisWohnen; let aufnahme: Aufnahme = {} as Aufnahme; let objekt: Objekt = {} as Objekt; let bilder: Bild[] = [] let unterlagen: Unterlage[] = [] const user = await getCurrentUser(Astro) if (id) { if (!user) { return Astro.redirect( `/auth/login?redirect=${Astro.url.toString()}` ); } nachweis = await getGEGNachweisWohnen(id) as GEGNachweisWohnen if (!nachweis || nachweis.benutzer_id !== user.id) { // Der Ausweis scheint nicht zu existieren. // Wir leiten auf die generische Ausweisseite ohne ID weiter. return Astro.redirect( "/energieausweis-erstellen/verbrauchsausweis-wohngebaeude" ); } aufnahme = await getAufnahme(nachweis.aufnahme_id) as Aufnahme if (!aufnahme) { // Die Aufnahme existiert nicht, das sollte eigentlich nicht passieren aber so können wir nicht fortfahren. return Astro.redirect( "/energieausweis-erstellen/verbrauchsausweis-wohngebaeude" ); } objekt = await getObjekt(aufnahme.objekt_id) as Objekt if (!objekt) { // Das Objekt existiert nicht, das sollte eigentlich nicht passieren aber so können wir nicht fortfahren. return Astro.redirect( "/energieausweis-erstellen/verbrauchsausweis-wohngebaeude" ); } bilder = await getBilder(aufnahme.id); unterlagen = await getUnterlagen(aufnahme.id); } else if (aufnahme_id) { if (!user) { return Astro.redirect( `/auth/login?redirect=${Astro.url.toString()}` ); } aufnahme = await getAufnahme(nachweis.aufnahme_id) as Aufnahme if (!aufnahme) { // Die Aufnahme existiert wohl nicht. return Astro.redirect( "/energieausweis-erstellen/verbrauchsausweis-wohngebaeude" ); } objekt = await getObjekt(aufnahme.objekt_id) as Objekt if (!objekt) { // Das Objekt existiert nicht. return Astro.redirect( "/energieausweis-erstellen/verbrauchsausweis-wohngebaeude" ); } } ---