88 lines
2.6 KiB
Plaintext
88 lines
2.6 KiB
Plaintext
---
|
|
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"
|
|
);
|
|
}
|
|
}
|
|
---
|
|
|
|
<AusweisLayout title="GEG Nachweis Wohnen anfragen">
|
|
<GEGNachweisWohnenModule client:only {nachweis} {objekt} {aufnahme} {bilder} {unterlagen} {id} />
|
|
</AusweisLayout>
|