--- import AusweisLayout from "#layouts/AusweisLayoutDaten.astro"; import { AufnahmeClient, ObjektClient, BildClient, VerbrauchsausweisGewerbeClient } from "#components/Ausweis/types"; import VerbrauchsausweisGewerbeModule from "#modules/VerbrauchsausweisGewerbe/VerbrauchsausweisGewerbeModule.svelte"; import { Aufnahme, Enums, Objekt, VerbrauchsausweisGewerbe } from "#lib/server/prisma"; import { getAufnahme, getObjekt, getBilder, getVerbrauchsausweisGewerbe } 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; const partner_code = Astro.params.partner as string; let ausweis: VerbrauchsausweisGewerbeClient = {} as VerbrauchsausweisGewerbeClient; let aufnahme: AufnahmeClient = {} as AufnahmeClient; let objekt: ObjektClient = {} as ObjektClient; let bilder: BildClient[] = [] const user = await getCurrentUser(Astro) if (id) { if (!user) { return Astro.redirect( `/auth/login?redirect=${Astro.url.toString()}` ); } ausweis = await getVerbrauchsausweisGewerbe(id) as VerbrauchsausweisGewerbe ausweistyp = ausweis.ausweistyp; if (!ausweis || (ausweis.benutzer_id !== user.id && user.rolle !== Enums.BenutzerRolle.ADMIN)) { // Der Ausweis scheint nicht zu existieren. // Wir leiten auf die generische Ausweisseite ohne ID weiter. return Astro.redirect( "/energieausweis-erstellen/verbrauchsausweis-gewerbe" ); } 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-gewerbe" ); } 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-gewerbe" ); } 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-gewerbe" ); } objekt = await getObjekt(aufnahme.objekt_id) as Objekt if (!objekt) { // Das Objekt existiert nicht. return Astro.redirect( "/energieausweis-erstellen/verbrauchsausweis-gewerbe" ); } } ---