--- import AusweisLayout from "#layouts/AusweisLayoutDatenPartner.astro"; import { Aufnahme, Bild, Enums, GEGNachweisGewerbe, GEGNachweisWohnen, Objekt, Unterlage } from "#lib/server/prisma"; import { getAufnahme, getObjekt, getBilder, getGEGNachweisWohnen, getUnterlagen, getGEGNachweisGewerbe } from "#lib/server/db"; import { getCurrentUser } from "#lib/server/user"; import GEGNachweisGewerbeModule from "#modules/angebot-anfragen/GEGNachweisGewerbeModule.svelte"; const id = Astro.url.searchParams.get("id"); const aufnahme_id = Astro.url.searchParams.get("aufnahme") let nachweistyp = Astro.url.searchParams.get("ausweistyp") as Enums.AusweisTyp || Enums.AusweisTyp.Standard; let nachweis: GEGNachweisGewerbe = {} as GEGNachweisGewerbe; 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?r=${Astro.url.toString()}` ); } nachweis = await getGEGNachweisGewerbe(id) as GEGNachweisGewerbe 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( "/angebot-anfragen/geg-nachweis-gewerbe-anfragen" ); } 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( "/angebot-anfragen/geg-nachweis-gewerbe-anfragen" ); } 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( "/angebot-anfragen/geg-nachweis-gewerbe-anfragen" ); } bilder = await getBilder(aufnahme.id); unterlagen = await getUnterlagen(aufnahme.id); } else if (aufnahme_id) { if (!user) { return Astro.redirect( `/auth/login?r=${Astro.url.toString()}` ); } aufnahme = await getAufnahme(nachweis.aufnahme_id) as Aufnahme if (!aufnahme) { // Die Aufnahme existiert wohl nicht. return Astro.redirect( "/angebot-anfragen/geg-nachweis-gewerbe-anfragen" ); } objekt = await getObjekt(aufnahme.objekt_id) as Objekt if (!objekt) { // Das Objekt existiert nicht. return Astro.redirect( "/angebot-anfragen/geg-nachweis-gewerbe-anfragen" ); } } ---