--- import AusweisLayout from "#layouts/AusweisLayoutDaten.astro"; import BedarfsausweisWohnenModule from "#modules/BedarfsausweisWohnen/BedarfsausweisWohnenModule.svelte"; import { Aufnahme, BedarfsausweisWohnen, Bild, Enums, Objekt } from "#lib/server/prisma"; import { getAufnahme, getObjekt, getBilder, getBedarfsausweisWohnen } from "#lib/server/db"; import { getCurrentUser } from "#lib/server/user"; 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 ausweis: BedarfsausweisWohnen = {} as BedarfsausweisWohnen; let aufnahme: Aufnahme = {} as Aufnahme; let objekt: Objekt = {} as Objekt; let bilder: Bild[] = [] const user = await getCurrentUser(Astro) if (id) { if (!user) { return Astro.redirect( `/auth/login?redirect=${Astro.url.toString()}` ); } ausweis = await getBedarfsausweisWohnen(id) as BedarfsausweisWohnen if (!ausweis || ausweis.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(ausweis.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); } else if (aufnahme_id) { if (!user) { return Astro.redirect( `/auth/login?redirect=${Astro.url.toString()}` ); } aufnahme = await getAufnahme(ausweis.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" ); } } ---