diff --git a/.gitignore b/.gitignore index fd1ae897..de9f8506 100644 --- a/.gitignore +++ b/.gitignore @@ -25,8 +25,6 @@ src/astro-typesafe-api-caller.ts # macOS-specific files .DS_Store -public/fonts/ - *.Identifier src/lib/Berechnungen/BedarfsausweisWohnen/18599-Tabellenverfahren-Wohngebaeude-komplett-ocr.pdf diff --git a/public/fonts/Content.svg b/public/fonts/Content.svg new file mode 100644 index 00000000..7103aa54 --- /dev/null +++ b/public/fonts/Content.svg @@ -0,0 +1,75 @@ + + + + +Copyright (C) 2017 by original authors @ fontello.com + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/fonts/Content.woff b/public/fonts/Content.woff new file mode 100644 index 00000000..6d674525 Binary files /dev/null and b/public/fonts/Content.woff differ diff --git a/public/fonts/Immo-Sans/immoSans-Bold.eot b/public/fonts/Immo-Sans/immoSans-Bold.eot new file mode 100644 index 00000000..d2ac24e1 Binary files /dev/null and b/public/fonts/Immo-Sans/immoSans-Bold.eot differ diff --git a/public/fonts/Immo-Sans/immoSans-Regular.eot b/public/fonts/Immo-Sans/immoSans-Regular.eot new file mode 100644 index 00000000..ead52e29 Binary files /dev/null and b/public/fonts/Immo-Sans/immoSans-Regular.eot differ diff --git a/public/fonts/Immo-Sans/immoSans-Regular.woff b/public/fonts/Immo-Sans/immoSans-Regular.woff new file mode 100644 index 00000000..d8496313 Binary files /dev/null and b/public/fonts/Immo-Sans/immoSans-Regular.woff differ diff --git a/public/fonts/Immo-Sans/immoSans-Regular.woff2 b/public/fonts/Immo-Sans/immoSans-Regular.woff2 new file mode 100644 index 00000000..355d4f3d Binary files /dev/null and b/public/fonts/Immo-Sans/immoSans-Regular.woff2 differ diff --git a/public/images/immowelt/hero-desktop.png b/public/images/immowelt/hero-desktop.png new file mode 100644 index 00000000..8073d325 Binary files /dev/null and b/public/images/immowelt/hero-desktop.png differ diff --git a/public/images/immowelt/immonet.svg b/public/images/immowelt/immonet.svg new file mode 100644 index 00000000..a182803b --- /dev/null +++ b/public/images/immowelt/immonet.svg @@ -0,0 +1 @@ +Immonet Startseite \ No newline at end of file diff --git a/public/images/partner/immonet/hero-energieausweis.jpg b/public/images/partner/immonet/hero-energieausweis.jpg new file mode 100644 index 00000000..b2aea339 Binary files /dev/null and b/public/images/partner/immonet/hero-energieausweis.jpg differ diff --git a/public/images/partner/immonet/immonet.svg b/public/images/partner/immonet/immonet.svg new file mode 100644 index 00000000..a182803b --- /dev/null +++ b/public/images/partner/immonet/immonet.svg @@ -0,0 +1 @@ +Immonet Startseite \ No newline at end of file diff --git a/public/images/partner/immowelt/gewerbegebaeude_immowelt.svg b/public/images/partner/immowelt/gewerbegebaeude_immowelt.svg new file mode 100644 index 00000000..6ac92ac8 --- /dev/null +++ b/public/images/partner/immowelt/gewerbegebaeude_immowelt.svg @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/images/partner/immowelt/hero-energieausweis.jpg b/public/images/partner/immowelt/hero-energieausweis.jpg new file mode 100644 index 00000000..b2aea339 Binary files /dev/null and b/public/images/partner/immowelt/hero-energieausweis.jpg differ diff --git a/public/images/partner/immowelt/immowelt.svg b/public/images/partner/immowelt/immowelt.svg new file mode 100644 index 00000000..939a8bda --- /dev/null +++ b/public/images/partner/immowelt/immowelt.svg @@ -0,0 +1 @@ +immowelt Startseite \ No newline at end of file diff --git a/public/images/partner/immowelt/wohngebaeude_immowelt.svg b/public/images/partner/immowelt/wohngebaeude_immowelt.svg new file mode 100644 index 00000000..8fb28cde --- /dev/null +++ b/public/images/partner/immowelt/wohngebaeude_immowelt.svg @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/astro-typesafe-api-caller.ts b/src/astro-typesafe-api-caller.ts index a6ca81e3..38dbbbd9 100644 --- a/src/astro-typesafe-api-caller.ts +++ b/src/astro-typesafe-api-caller.ts @@ -5,6 +5,13 @@ export const createCaller = createCallerFactory({ "klimafaktoren": await import("../src/pages/api/klimafaktoren.ts"), "postleitzahlen": await import("../src/pages/api/postleitzahlen.ts"), "unterlage": await import("../src/pages/api/unterlage.ts"), + "admin/ausstellen": await import("../src/pages/api/admin/ausstellen.ts"), + "admin/bestellbestaetigung": await import("../src/pages/api/admin/bestellbestaetigung.ts"), + "admin/erinnern": await import("../src/pages/api/admin/erinnern.ts"), + "admin/nicht-ausstellen": await import("../src/pages/api/admin/nicht-ausstellen.ts"), + "admin/post-ausstellen": await import("../src/pages/api/admin/post-ausstellen.ts"), + "admin/registriernummer": await import("../src/pages/api/admin/registriernummer.ts"), + "admin/stornieren": await import("../src/pages/api/admin/stornieren.ts"), "aufnahme": await import("../src/pages/api/aufnahme/index.ts"), "ausweise": await import("../src/pages/api/ausweise/index.ts"), "auth/access-token": await import("../src/pages/api/auth/access-token.ts"), @@ -14,29 +21,22 @@ export const createCaller = createCallerFactory({ "bedarfsausweis-gewerbe": await import("../src/pages/api/bedarfsausweis-gewerbe/index.ts"), "bedarfsausweis-wohnen/[id]": await import("../src/pages/api/bedarfsausweis-wohnen/[id].ts"), "bedarfsausweis-wohnen": await import("../src/pages/api/bedarfsausweis-wohnen/index.ts"), - "admin/ausstellen": await import("../src/pages/api/admin/ausstellen.ts"), - "admin/bestellbestaetigung": await import("../src/pages/api/admin/bestellbestaetigung.ts"), - "admin/erinnern": await import("../src/pages/api/admin/erinnern.ts"), - "admin/nicht-ausstellen": await import("../src/pages/api/admin/nicht-ausstellen.ts"), - "admin/post-ausstellen": await import("../src/pages/api/admin/post-ausstellen.ts"), - "admin/registriernummer": await import("../src/pages/api/admin/registriernummer.ts"), - "admin/stornieren": await import("../src/pages/api/admin/stornieren.ts"), "bilder/[id]": await import("../src/pages/api/bilder/[id].ts"), "geg-nachweis-gewerbe/[id]": await import("../src/pages/api/geg-nachweis-gewerbe/[id].ts"), "geg-nachweis-gewerbe": await import("../src/pages/api/geg-nachweis-gewerbe/index.ts"), "geg-nachweis-wohnen/[id]": await import("../src/pages/api/geg-nachweis-wohnen/[id].ts"), "geg-nachweis-wohnen": await import("../src/pages/api/geg-nachweis-wohnen/index.ts"), "objekt": await import("../src/pages/api/objekt/index.ts"), - "ticket": await import("../src/pages/api/ticket/index.ts"), - "verbrauchsausweis-wohnen/[id]": await import("../src/pages/api/verbrauchsausweis-wohnen/[id].ts"), - "verbrauchsausweis-wohnen": await import("../src/pages/api/verbrauchsausweis-wohnen/index.ts"), "rechnung/[id]": await import("../src/pages/api/rechnung/[id].ts"), "rechnung/anfordern": await import("../src/pages/api/rechnung/anfordern.ts"), "rechnung": await import("../src/pages/api/rechnung/index.ts"), - "verbrauchsausweis-gewerbe/[id]": await import("../src/pages/api/verbrauchsausweis-gewerbe/[id].ts"), - "verbrauchsausweis-gewerbe": await import("../src/pages/api/verbrauchsausweis-gewerbe/index.ts"), + "ticket": await import("../src/pages/api/ticket/index.ts"), "user": await import("../src/pages/api/user/index.ts"), "user/self": await import("../src/pages/api/user/self.ts"), + "verbrauchsausweis-gewerbe/[id]": await import("../src/pages/api/verbrauchsausweis-gewerbe/[id].ts"), + "verbrauchsausweis-gewerbe": await import("../src/pages/api/verbrauchsausweis-gewerbe/index.ts"), + "verbrauchsausweis-wohnen/[id]": await import("../src/pages/api/verbrauchsausweis-wohnen/[id].ts"), + "verbrauchsausweis-wohnen": await import("../src/pages/api/verbrauchsausweis-wohnen/index.ts"), "webhooks/mollie": await import("../src/pages/api/webhooks/mollie.ts"), "aufnahme/[id]/bilder": await import("../src/pages/api/aufnahme/[id]/bilder.ts"), "aufnahme/[id]": await import("../src/pages/api/aufnahme/[id]/index.ts"), diff --git a/src/components/Ausweis/LueftungKuehlung.svelte b/src/components/Ausweis/LueftungKuehlung.svelte index c304b351..12564f10 100644 --- a/src/components/Ausweis/LueftungKuehlung.svelte +++ b/src/components/Ausweis/LueftungKuehlung.svelte @@ -10,10 +10,11 @@ -
@@ -77,7 +78,7 @@ xl:grid-cols-4 xl:gap-x-8 xl:gap-y-8
-
+
- - - - - - - -
-
- - \ No newline at end of file diff --git a/src/components/design/header/AusweisHeader_partner.astro b/src/components/design/header/AusweisHeader_partner.astro new file mode 100644 index 00000000..21a1389b --- /dev/null +++ b/src/components/design/header/AusweisHeader_partner.astro @@ -0,0 +1,110 @@ +--- +import HeaderLogin from "#components/design/header/HeaderLogin.svelte"; +const { tabHover1 } = Astro.props; +const { tabHover2 } = Astro.props; +const { tabHover3 } = Astro.props; +const { tabHover4 } = Astro.props; +const { tabHover5 } = Astro.props; +const { tabHover6 } = Astro.props; +const { tabHover7 } = Astro.props; + + +const { params, url } = Astro; +const partner = params.partner; + +const url1 = new URL(Astro.request.url); + +// Beispiel: prüfen, ob "immowelt" im Pfad vorkommt +const urlPath = url1.pathname; // z. B. "/immowelt/angebot-anfragen/..." +const isVA = urlPath.includes("verbrauchsausweis-wohngebaeude"); +const isVAG = urlPath.includes("verbrauchsausweis-gewerbe"); +const isBA = urlPath.includes("bedarfsausweis-wohngebaeude"); +const isBAG = urlPath.includes("bedarfsausweis-gewerbe-anfragen"); +const isGGW = urlPath.includes("geg-nachweis-wohnen-anfragen"); +const isGGG = urlPath.includes("geg-nachweis-gewerbe-anfragen"); +const isWEA = urlPath.includes("welcher-ausweis"); + +--- + + + +
+ + + {isVA ?
Hier komfortabel und einfach online den Verbrauchsausweis Wohngebäude bestellen
: ""} + {isVAG ?
Hier komfortabel und einfach online den Verbrauchsausweis Gewerbe bestellen
: ""} + {isBA ?
Hier komfortabel und einfach online den Bedarfsausweis Wohngebäude bestellen
: ""} + {isBAG ?
Hier komfortabel und einfach online den Bedarfsausweis Gewerbe bestellen
: ""} + {isGGW ?
Hier komfortabel und einfach online den GEG Nachweis Wohngebäude bestellen
: ""} + {isGGG ?
Hier komfortabel und einfach online den GEG Nachweis Gewerbe bestellen
: ""} + {isWEA ?
Hier komfortabel und einfach online den richtigen Ausweis finden
: ""} + + +
+ + \ No newline at end of file diff --git a/src/layouts/AusweisLayoutDaten.astro b/src/layouts/AusweisLayoutDaten.astro index e4657fee..b7434832 100644 --- a/src/layouts/AusweisLayoutDaten.astro +++ b/src/layouts/AusweisLayoutDaten.astro @@ -17,7 +17,7 @@ export interface Props { const { title } = Astro.props; --- - + diff --git a/src/layouts/AusweisLayoutDaten_immowelt.astro b/src/layouts/AusweisLayoutDaten_partner.astro similarity index 58% rename from src/layouts/AusweisLayoutDaten_immowelt.astro rename to src/layouts/AusweisLayoutDaten_partner.astro index 9c4974c7..95c3b941 100644 --- a/src/layouts/AusweisLayoutDaten_immowelt.astro +++ b/src/layouts/AusweisLayoutDaten_partner.astro @@ -2,7 +2,7 @@ import "../style/global.css"; import "../style/formular.css"; import "../../svelte-dialogs.config" -import Header from "#components/design/header/AusweisHeader_immowelt.astro"; +import Header from "#components/design/header/AusweisHeader_partner.astro"; import Footer from "#components/design/footer/Footer.astro"; import SidebarLeft from "#components/design/sidebars/SidebarLeft.astro"; import { NotificationWrapper } from "@ibcornelsen/ui"; @@ -15,8 +15,11 @@ export interface Props { tabHover4: string; tabHover5: string; tabHover6: string; + tabHover7: string; + } + const { title } = Astro.props; const { tabHover1 } = Astro.props; const { tabHover2 } = Astro.props; @@ -24,25 +27,75 @@ const { tabHover3 } = Astro.props; const { tabHover4 } = Astro.props; const { tabHover5 } = Astro.props; const { tabHover6 } = Astro.props; +const { tabHover7 } = Astro.props; + --- @@ -91,13 +144,13 @@ window.addEventListener("scroll", (event) => { -
+
-
+
-
+
diff --git a/src/modules/angebot-anfragen/GEGNachweisGewerbeModule.svelte b/src/modules/angebot-anfragen/GEGNachweisGewerbeModule.svelte index 5d568429..4f6a4e6c 100644 --- a/src/modules/angebot-anfragen/GEGNachweisGewerbeModule.svelte +++ b/src/modules/angebot-anfragen/GEGNachweisGewerbeModule.svelte @@ -23,6 +23,7 @@ export let user: BenutzerClient = {} as BenutzerClient; export let bilder: BildClient[] = []; export let plaene: UnterlageClient[] = []; + export let nachweistyp: Enums.AusweisTyp = Enums.AusweisTyp.Standard; export let unterlagen: UnterlageClient[] = []; if (Object.keys(nachweis).length === 0) { @@ -110,6 +111,7 @@ {ausweisart} {anliegen} steps={["Gebäudedaten", "Kundendaten", "Anfragebestätigung"]} + ausweistyp={nachweistyp} />
diff --git a/src/pages/[partner]/angebot-anfragen/bedarfsausweis-gewerbe-anfragen/index.astro b/src/pages/[partner]/angebot-anfragen/bedarfsausweis-gewerbe-anfragen/index.astro new file mode 100644 index 00000000..148a8902 --- /dev/null +++ b/src/pages/[partner]/angebot-anfragen/bedarfsausweis-gewerbe-anfragen/index.astro @@ -0,0 +1,88 @@ +--- +import AusweisLayout from "#layouts/AusweisLayoutDaten_partner.astro"; +import VerbrauchsausweisWohnenModule from "#modules/VerbrauchsausweisWohnen/VerbrauchsausweisWohnenModule.svelte"; +import { AufnahmeClient, BildClient, ObjektClient, UploadedGebaeudeBild, VerbrauchsausweisWohnenClient } from "#components/Ausweis/types"; +import { Aufnahme, BedarfsausweisGewerbe, Bild, Enums, Objekt, Unterlage, VerbrauchsausweisWohnen } from "#lib/server/prisma"; +import { getAufnahme, getBedarfsausweisGewerbe, getBilder, getObjekt, getUnterlagen, getVerbrauchsausweisWohnen } from "#lib/server/db"; +import { getCurrentUser } from "#lib/server/user"; +import BedarfsausweisGewerbeModule from "#modules/angebot-anfragen/BedarfsausweisGewerbeModule.svelte"; + +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: BedarfsausweisGewerbe = {} as BedarfsausweisGewerbe; +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 getBedarfsausweisGewerbe(id) as BedarfsausweisGewerbe + + 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" + ); + } +} +--- + + + + diff --git a/src/pages/[partner]/angebot-anfragen/bedarfsausweis-gewerbe-anfragen/produkt-uebersicht.astro b/src/pages/[partner]/angebot-anfragen/bedarfsausweis-gewerbe-anfragen/produkt-uebersicht.astro new file mode 100644 index 00000000..26b7aa8a --- /dev/null +++ b/src/pages/[partner]/angebot-anfragen/bedarfsausweis-gewerbe-anfragen/produkt-uebersicht.astro @@ -0,0 +1,13 @@ +--- +import AusweisLayout from "#layouts/AusweisLayoutDaten_partner.astro"; +import ProduktUebersichtBedarfsausweisGewerbe from "#components/design/content/ProduktUebersichtBedarfsausweisGewerbe.svelte"; +--- + + + + + + + + + \ No newline at end of file diff --git a/src/pages/immowelt/angebot-anfragen/geg-nachweis-gewerbe-anfragen/index.astro b/src/pages/[partner]/angebot-anfragen/geg-nachweis-gewerbe-anfragen/index.astro similarity index 97% rename from src/pages/immowelt/angebot-anfragen/geg-nachweis-gewerbe-anfragen/index.astro rename to src/pages/[partner]/angebot-anfragen/geg-nachweis-gewerbe-anfragen/index.astro index ce483012..3efede6b 100644 --- a/src/pages/immowelt/angebot-anfragen/geg-nachweis-gewerbe-anfragen/index.astro +++ b/src/pages/[partner]/angebot-anfragen/geg-nachweis-gewerbe-anfragen/index.astro @@ -1,5 +1,5 @@ --- -import AusweisLayout from "#layouts/AusweisLayoutDaten_immowelt.astro"; +import AusweisLayout from "#layouts/AusweisLayoutDaten_partner.astro"; import { AufnahmeClient, GEGNachweisWohnenClient, ObjektClient, UnterlageClient, UploadedGebaeudeBild } from "#components/Ausweis/types"; import { createCaller } from "src/astro-typesafe-api-caller"; import { API_ACCESS_TOKEN_COOKIE_NAME } from "#lib/constants.js"; diff --git a/src/pages/[partner]/angebot-anfragen/geg-nachweis-gewerbe-anfragen/produkt-uebersicht.astro b/src/pages/[partner]/angebot-anfragen/geg-nachweis-gewerbe-anfragen/produkt-uebersicht.astro new file mode 100644 index 00000000..2660d01b --- /dev/null +++ b/src/pages/[partner]/angebot-anfragen/geg-nachweis-gewerbe-anfragen/produkt-uebersicht.astro @@ -0,0 +1,13 @@ +--- +import AusweisLayout from "#layouts/AusweisLayoutDaten_partner.astro"; +import ProduktUebersichtGEGNachweisGewerbe from "#components/design/content/ProduktUebersichtGEGNachweisGewerbe.svelte"; +--- + + + + + + + + + \ No newline at end of file diff --git a/src/pages/immowelt/angebot-anfragen/geg-nachweis-wohnen-anfragen/index.astro b/src/pages/[partner]/angebot-anfragen/geg-nachweis-wohnen-anfragen/index.astro similarity index 91% rename from src/pages/immowelt/angebot-anfragen/geg-nachweis-wohnen-anfragen/index.astro rename to src/pages/[partner]/angebot-anfragen/geg-nachweis-wohnen-anfragen/index.astro index 8ff0eeea..6190484c 100644 --- a/src/pages/immowelt/angebot-anfragen/geg-nachweis-wohnen-anfragen/index.astro +++ b/src/pages/[partner]/angebot-anfragen/geg-nachweis-wohnen-anfragen/index.astro @@ -1,12 +1,15 @@ --- -import AusweisLayout from "#layouts/AusweisLayoutDaten_immowelt.astro"; +import AusweisLayout from "#layouts/AusweisLayoutDaten_partner.astro"; import { AufnahmeClient, GEGNachweisWohnenClient, ObjektClient, UnterlageClient, UploadedGebaeudeBild } from "#components/Ausweis/types"; import { createCaller } from "src/astro-typesafe-api-caller"; import { API_ACCESS_TOKEN_COOKIE_NAME } from "#lib/constants.js"; import { validateAccessTokenServer } from "#server/lib/validateAccessToken.js"; import GEGNachweisWohnenModule from "#modules/angebot-anfragen/GEGNachweisWohnenModule.svelte"; +import { Enums } from "#lib/server/prisma"; const uid = Astro.url.searchParams.get("uid"); +const ausweistyp = Astro.url.searchParams.get("ausweistyp") || Enums.AusweisTyp.Standard; + let nachweis: GEGNachweisWohnenClient = {} as GEGNachweisWohnenClient; let aufnahme: AufnahmeClient = {} as AufnahmeClient; let objekt: ObjektClient = {} as ObjektClient; @@ -86,5 +89,5 @@ if (uid) { --- - + diff --git a/src/pages/[partner]/angebot-anfragen/geg-nachweis-wohnen-anfragen/produkt-uebersicht.astro b/src/pages/[partner]/angebot-anfragen/geg-nachweis-wohnen-anfragen/produkt-uebersicht.astro new file mode 100644 index 00000000..366ea7ed --- /dev/null +++ b/src/pages/[partner]/angebot-anfragen/geg-nachweis-wohnen-anfragen/produkt-uebersicht.astro @@ -0,0 +1,13 @@ +--- +import AusweisLayout from "#layouts/AusweisLayoutDaten_partner.astro"; +import ProduktUebersichtGEGNachweisWohnen from "#components/design/content/ProduktUebersichtGEGNachweisWohnen.svelte"; +--- + + + + + + + + + \ No newline at end of file diff --git a/src/pages/immowelt/energieausweis-erstellen/bedarfsausweis-wohngebaeude/index.astro b/src/pages/[partner]/energieausweis-erstellen/bedarfsausweis-wohngebaeude/index.astro similarity index 97% rename from src/pages/immowelt/energieausweis-erstellen/bedarfsausweis-wohngebaeude/index.astro rename to src/pages/[partner]/energieausweis-erstellen/bedarfsausweis-wohngebaeude/index.astro index 3d0b40d9..ac407bfd 100644 --- a/src/pages/immowelt/energieausweis-erstellen/bedarfsausweis-wohngebaeude/index.astro +++ b/src/pages/[partner]/energieausweis-erstellen/bedarfsausweis-wohngebaeude/index.astro @@ -1,6 +1,6 @@ --- -import AusweisLayout from "#layouts/AusweisLayoutDaten_immowelt.astro"; +import AusweisLayout from "#layouts/AusweisLayoutDaten_partner.astro"; import BedarfsausweisWohnenModule from "#modules/BedarfsausweisWohnen/BedarfsausweisWohnenModule.svelte"; import { AufnahmeClient, BedarfsausweisWohnenClient, ObjektClient, UploadedGebaeudeBild, VerbrauchsausweisWohnenClient } from "#components/Ausweis/types"; import { createCaller } from "src/astro-typesafe-api-caller"; diff --git a/src/pages/[partner]/energieausweis-erstellen/bedarfsausweis-wohngebaeude/produkt-uebersicht.astro b/src/pages/[partner]/energieausweis-erstellen/bedarfsausweis-wohngebaeude/produkt-uebersicht.astro new file mode 100644 index 00000000..f2aa1985 --- /dev/null +++ b/src/pages/[partner]/energieausweis-erstellen/bedarfsausweis-wohngebaeude/produkt-uebersicht.astro @@ -0,0 +1,13 @@ +--- +import AusweisLayout from "#layouts/AusweisLayoutDaten_partner.astro"; +import ProduktUebersichtBedarfsausweisWohnen from "#components/design/content/ProduktUebersichtBedarfsausweisWohnen.svelte"; +--- + + + +
+ + +
+ +
\ No newline at end of file diff --git a/src/pages/immowelt/energieausweis-erstellen/verbrauchsausweis-gewerbe/index.astro b/src/pages/[partner]/energieausweis-erstellen/verbrauchsausweis-gewerbe/index.astro similarity index 90% rename from src/pages/immowelt/energieausweis-erstellen/verbrauchsausweis-gewerbe/index.astro rename to src/pages/[partner]/energieausweis-erstellen/verbrauchsausweis-gewerbe/index.astro index 169aba0c..90793f9d 100644 --- a/src/pages/immowelt/energieausweis-erstellen/verbrauchsausweis-gewerbe/index.astro +++ b/src/pages/[partner]/energieausweis-erstellen/verbrauchsausweis-gewerbe/index.astro @@ -1,13 +1,16 @@ --- -import AusweisLayout from "#layouts/AusweisLayoutDaten_immowelt.astro"; +import AusweisLayout from "#layouts/AusweisLayoutDaten_partner.astro"; import { AufnahmeClient, ObjektClient, UploadedGebaeudeBild, VerbrauchsausweisGewerbeClient } from "#components/Ausweis/types"; import { createCaller } from "src/astro-typesafe-api-caller"; import { inferOutput } from "astro-typesafe-api/client"; import { API_ACCESS_TOKEN_COOKIE_NAME } from "#lib/constants"; import { validateAccessTokenServer } from "#server/lib/validateAccessToken"; import VerbrauchsausweisGewerbeModule from "#modules/VerbrauchsausweisGewerbe/VerbrauchsausweisGewerbeModule.svelte"; +import { Enums } from "#lib/server/prisma"; const uid = Astro.url.searchParams.get("uid"); +const ausweistyp = Astro.url.searchParams.get("ausweistyp") || Enums.AusweisTyp.Standard; + let ausweis: VerbrauchsausweisGewerbeClient = {} as VerbrauchsausweisGewerbeClient; let aufnahme: AufnahmeClient = {} as AufnahmeClient; let objekt: ObjektClient = {} as ObjektClient; @@ -79,5 +82,5 @@ if (uid) { --- - + \ No newline at end of file diff --git a/src/pages/[partner]/energieausweis-erstellen/verbrauchsausweis-gewerbe/produkt-uebersicht.astro b/src/pages/[partner]/energieausweis-erstellen/verbrauchsausweis-gewerbe/produkt-uebersicht.astro new file mode 100644 index 00000000..96edc43f --- /dev/null +++ b/src/pages/[partner]/energieausweis-erstellen/verbrauchsausweis-gewerbe/produkt-uebersicht.astro @@ -0,0 +1,14 @@ +--- +import AusweisLayout from "#layouts/AusweisLayoutDaten_partner.astro"; +import ProduktUebersichtVerbrauchsausweisGewerbe from "#components/design/content/ProduktUebersichtVerbrauchsausweisGewerbe.svelte"; +--- + + + +
+ + + +
+ +
\ No newline at end of file diff --git a/src/pages/immowelt/energieausweis-erstellen/verbrauchsausweis-wohngebaeude/index.astro b/src/pages/[partner]/energieausweis-erstellen/verbrauchsausweis-wohngebaeude/index.astro similarity index 97% rename from src/pages/immowelt/energieausweis-erstellen/verbrauchsausweis-wohngebaeude/index.astro rename to src/pages/[partner]/energieausweis-erstellen/verbrauchsausweis-wohngebaeude/index.astro index 36a9ec48..a0b1cf47 100644 --- a/src/pages/immowelt/energieausweis-erstellen/verbrauchsausweis-wohngebaeude/index.astro +++ b/src/pages/[partner]/energieausweis-erstellen/verbrauchsausweis-wohngebaeude/index.astro @@ -1,5 +1,5 @@ --- -import AusweisLayout from "#layouts/AusweisLayoutDaten_immowelt.astro"; +import AusweisLayout from "#layouts/AusweisLayoutDaten_partner.astro"; import VerbrauchsausweisWohnenModule from "#modules/VerbrauchsausweisWohnen/VerbrauchsausweisWohnenModule.svelte"; import { AufnahmeClient, ObjektClient, UploadedGebaeudeBild, VerbrauchsausweisWohnenClient } from "#components/Ausweis/types"; import { createCaller } from "src/astro-typesafe-api-caller"; diff --git a/src/pages/[partner]/energieausweis-erstellen/verbrauchsausweis-wohngebaeude/produkt-uebersicht.astro b/src/pages/[partner]/energieausweis-erstellen/verbrauchsausweis-wohngebaeude/produkt-uebersicht.astro new file mode 100644 index 00000000..cbcd0b17 --- /dev/null +++ b/src/pages/[partner]/energieausweis-erstellen/verbrauchsausweis-wohngebaeude/produkt-uebersicht.astro @@ -0,0 +1,13 @@ +--- +import AusweisLayout from "#layouts/AusweisLayoutDaten_partner.astro"; +import ProduktUebersichtVerbrauchsausweisWohnen from "#components/design/content/ProduktUebersichtVerbrauchsausweisWohnen.svelte"; +--- + + + +
+ + +
+ +
\ No newline at end of file diff --git a/src/pages/immowelt/angebot-anfragen/bedarfsausweis-gewerbe-anfragen/index.astro b/src/pages/immowelt-old/angebot-anfragen/bedarfsausweis-gewerbe-anfragen/index.astro similarity index 97% rename from src/pages/immowelt/angebot-anfragen/bedarfsausweis-gewerbe-anfragen/index.astro rename to src/pages/immowelt-old/angebot-anfragen/bedarfsausweis-gewerbe-anfragen/index.astro index 5c8b2a9b..96a97daa 100644 --- a/src/pages/immowelt/angebot-anfragen/bedarfsausweis-gewerbe-anfragen/index.astro +++ b/src/pages/immowelt-old/angebot-anfragen/bedarfsausweis-gewerbe-anfragen/index.astro @@ -1,5 +1,5 @@ --- -import AusweisLayout from "#layouts/AusweisLayoutDaten_immowelt.astro"; +import AusweisLayout from "#layouts/AusweisLayoutDaten_partner.astro"; import { AufnahmeClient, GEGNachweisWohnenClient, ObjektClient, UnterlageClient, UploadedGebaeudeBild } from "#components/Ausweis/types"; import { createCaller } from "src/astro-typesafe-api-caller"; import { API_ACCESS_TOKEN_COOKIE_NAME } from "#lib/constants.js"; diff --git a/src/pages/immowelt/angebot-anfragen/bedarfsausweis-gewerbe-anfragen/produkt-uebersicht.astro b/src/pages/immowelt-old/angebot-anfragen/bedarfsausweis-gewerbe-anfragen/produkt-uebersicht.astro similarity index 84% rename from src/pages/immowelt/angebot-anfragen/bedarfsausweis-gewerbe-anfragen/produkt-uebersicht.astro rename to src/pages/immowelt-old/angebot-anfragen/bedarfsausweis-gewerbe-anfragen/produkt-uebersicht.astro index 0eef6164..988aec09 100644 --- a/src/pages/immowelt/angebot-anfragen/bedarfsausweis-gewerbe-anfragen/produkt-uebersicht.astro +++ b/src/pages/immowelt-old/angebot-anfragen/bedarfsausweis-gewerbe-anfragen/produkt-uebersicht.astro @@ -1,5 +1,5 @@ --- -import Layout from "#layouts/AusweisLayoutDaten_immowelt.astro"; +import Layout from "#layouts/AusweisLayoutDaten_partner.astro"; import ProduktUebersichtBedarfsausweisGewerbe from "#components/design/content/ProduktUebersichtBedarfsausweisGewerbe.svelte"; --- diff --git a/src/pages/immowelt-old/angebot-anfragen/geg-nachweis-gewerbe-anfragen/index.astro b/src/pages/immowelt-old/angebot-anfragen/geg-nachweis-gewerbe-anfragen/index.astro new file mode 100644 index 00000000..3efede6b --- /dev/null +++ b/src/pages/immowelt-old/angebot-anfragen/geg-nachweis-gewerbe-anfragen/index.astro @@ -0,0 +1,90 @@ +--- +import AusweisLayout from "#layouts/AusweisLayoutDaten_partner.astro"; +import { AufnahmeClient, GEGNachweisWohnenClient, ObjektClient, UnterlageClient, UploadedGebaeudeBild } from "#components/Ausweis/types"; +import { createCaller } from "src/astro-typesafe-api-caller"; +import { API_ACCESS_TOKEN_COOKIE_NAME } from "#lib/constants.js"; +import { validateAccessTokenServer } from "#server/lib/validateAccessToken.js"; +import GEGNachweisGewerbeModule from "#modules/angebot-anfragen/GEGNachweisGewerbeModule.svelte"; + +const uid = Astro.url.searchParams.get("uid"); +let nachweis: GEGNachweisWohnenClient = {} as GEGNachweisWohnenClient; +let aufnahme: AufnahmeClient = {} as AufnahmeClient; +let objekt: ObjektClient = {} as ObjektClient; +let bilder: UploadedGebaeudeBild[] = [] +let unterlagen: UnterlageClient[] = [] + +const valid = validateAccessTokenServer(Astro); + +const caller = createCaller(Astro); + +if (uid) { + if (!valid) { + return Astro.redirect( + `/auth/login?redirect=${Astro.url.toString()}` + ); + } + + try { + nachweis = await caller["geg-nachweis-wohnen"]._uid.GET.fetch(null, { + headers: { + authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}` + }, + params: { + uid + } + }); + + aufnahme = await caller.aufnahme._uid.GET.fetch(null, { + headers: { + authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}` + }, + params: { + uid: nachweis.uid_aufnahme + } + }) + + objekt = await caller.objekt._uid.GET.fetch(null, { + headers: { + authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}` + }, + params: { + uid: nachweis.uid_objekt + } + }) + + bilder = await caller.aufnahme._uid.bilder.GET.fetch(null, { + headers: { + authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}` + }, + params: { + uid: nachweis.uid_aufnahme + } + }) + + unterlagen = await caller.aufnahme._uid.unterlagen.GET.fetch(null, { + headers: { + authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}` + }, + params: { + uid: nachweis.uid_aufnahme + } + }) + + if (!nachweis) { + // Der Ausweis scheint nicht zu existieren. + // Wir leiten auf die generische Ausweisseite ohne UID weiter. + return Astro.redirect( + "/angebot-anfragen/geg-nachweis-wohnen-anfragen" + ); + } + } catch(e) { + return Astro.redirect( + "/angebot-anfragen/geg-nachweis-wohnen-anfragen" + ); + } +} +--- + + + + diff --git a/src/pages/immowelt/angebot-anfragen/geg-nachweis-gewerbe-anfragen/produkt-uebersicht.astro b/src/pages/immowelt-old/angebot-anfragen/geg-nachweis-gewerbe-anfragen/produkt-uebersicht.astro similarity index 80% rename from src/pages/immowelt/angebot-anfragen/geg-nachweis-gewerbe-anfragen/produkt-uebersicht.astro rename to src/pages/immowelt-old/angebot-anfragen/geg-nachweis-gewerbe-anfragen/produkt-uebersicht.astro index 4448a110..fc482bab 100644 --- a/src/pages/immowelt/angebot-anfragen/geg-nachweis-gewerbe-anfragen/produkt-uebersicht.astro +++ b/src/pages/immowelt-old/angebot-anfragen/geg-nachweis-gewerbe-anfragen/produkt-uebersicht.astro @@ -1,5 +1,5 @@ --- -import Layout from "#layouts/AusweisLayoutDaten_immowelt.astro"; +import Layout from "#layouts/AusweisLayoutDaten_partner.astro"; import ProduktUebersichtGEGNachweisGewerbe from "#components/design/content/ProduktUebersichtGEGNachweisGewerbe.svelte"; --- diff --git a/src/pages/immowelt-old/angebot-anfragen/geg-nachweis-wohnen-anfragen/index.astro b/src/pages/immowelt-old/angebot-anfragen/geg-nachweis-wohnen-anfragen/index.astro new file mode 100644 index 00000000..6190484c --- /dev/null +++ b/src/pages/immowelt-old/angebot-anfragen/geg-nachweis-wohnen-anfragen/index.astro @@ -0,0 +1,93 @@ +--- +import AusweisLayout from "#layouts/AusweisLayoutDaten_partner.astro"; +import { AufnahmeClient, GEGNachweisWohnenClient, ObjektClient, UnterlageClient, UploadedGebaeudeBild } from "#components/Ausweis/types"; +import { createCaller } from "src/astro-typesafe-api-caller"; +import { API_ACCESS_TOKEN_COOKIE_NAME } from "#lib/constants.js"; +import { validateAccessTokenServer } from "#server/lib/validateAccessToken.js"; +import GEGNachweisWohnenModule from "#modules/angebot-anfragen/GEGNachweisWohnenModule.svelte"; +import { Enums } from "#lib/server/prisma"; + +const uid = Astro.url.searchParams.get("uid"); +const ausweistyp = Astro.url.searchParams.get("ausweistyp") || Enums.AusweisTyp.Standard; + +let nachweis: GEGNachweisWohnenClient = {} as GEGNachweisWohnenClient; +let aufnahme: AufnahmeClient = {} as AufnahmeClient; +let objekt: ObjektClient = {} as ObjektClient; +let bilder: UploadedGebaeudeBild[] = [] +let unterlagen: UnterlageClient[] = [] + +const valid = validateAccessTokenServer(Astro); + +const caller = createCaller(Astro); + +if (uid) { + if (!valid) { + return Astro.redirect( + `/auth/login?redirect=${Astro.url.toString()}` + ); + } + + try { + nachweis = await caller["geg-nachweis-wohnen"]._uid.GET.fetch(null, { + headers: { + authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}` + }, + params: { + uid + } + }); + + aufnahme = await caller.aufnahme._uid.GET.fetch(null, { + headers: { + authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}` + }, + params: { + uid: nachweis.uid_aufnahme + } + }) + + objekt = await caller.objekt._uid.GET.fetch(null, { + headers: { + authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}` + }, + params: { + uid: nachweis.uid_objekt + } + }) + + bilder = await caller.aufnahme._uid.bilder.GET.fetch(null, { + headers: { + authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}` + }, + params: { + uid: nachweis.uid_aufnahme + } + }) + + unterlagen = await caller.aufnahme._uid.unterlagen.GET.fetch(null, { + headers: { + authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}` + }, + params: { + uid: nachweis.uid_aufnahme + } + }) + + if (!nachweis) { + // Der Ausweis scheint nicht zu existieren. + // Wir leiten auf die generische Ausweisseite ohne UID weiter. + return Astro.redirect( + "/angebot-anfragen/geg-nachweis-wohnen-anfragen" + ); + } + } catch(e) { + return Astro.redirect( + "/angebot-anfragen/geg-nachweis-wohnen-anfragen" + ); + } +} +--- + + + + diff --git a/src/pages/immowelt/angebot-anfragen/geg-nachweis-wohnen-anfragen/produkt-uebersicht.astro b/src/pages/immowelt-old/angebot-anfragen/geg-nachweis-wohnen-anfragen/produkt-uebersicht.astro similarity index 80% rename from src/pages/immowelt/angebot-anfragen/geg-nachweis-wohnen-anfragen/produkt-uebersicht.astro rename to src/pages/immowelt-old/angebot-anfragen/geg-nachweis-wohnen-anfragen/produkt-uebersicht.astro index 6bbcc8d6..e10294a3 100644 --- a/src/pages/immowelt/angebot-anfragen/geg-nachweis-wohnen-anfragen/produkt-uebersicht.astro +++ b/src/pages/immowelt-old/angebot-anfragen/geg-nachweis-wohnen-anfragen/produkt-uebersicht.astro @@ -1,5 +1,5 @@ --- -import Layout from "#layouts/AusweisLayoutDaten_immowelt.astro"; +import Layout from "#layouts/AusweisLayoutDaten_partner.astro"; import ProduktUebersichtGEGNachweisWohnen from "#components/design/content/ProduktUebersichtGEGNachweisWohnen.svelte"; --- diff --git a/src/pages/immowelt-old/energieausweis-erstellen/bedarfsausweis-wohngebaeude/index.astro b/src/pages/immowelt-old/energieausweis-erstellen/bedarfsausweis-wohngebaeude/index.astro new file mode 100644 index 00000000..1eeea3ec --- /dev/null +++ b/src/pages/immowelt-old/energieausweis-erstellen/bedarfsausweis-wohngebaeude/index.astro @@ -0,0 +1,81 @@ +--- +import AusweisLayout from "#layouts/AusweisLayoutDaten_partner.astro"; +import BedarfsausweisWohnenModule from "#modules/BedarfsausweisWohnen/BedarfsausweisWohnenModule.svelte"; +import { AufnahmeClient, BedarfsausweisWohnenClient, ObjektClient, UploadedGebaeudeBild, VerbrauchsausweisWohnenClient } from "#components/Ausweis/types"; +import { createCaller } from "src/astro-typesafe-api-caller"; +import { API_ACCESS_TOKEN_COOKIE_NAME } from "#lib/constants"; +import { validateAccessTokenServer } from "#server/lib/validateAccessToken"; + +const uid = Astro.url.searchParams.get("uid"); +let ausweis: VerbrauchsausweisWohnenClient = {} as VerbrauchsausweisWohnenClient; +let aufnahme: AufnahmeClient = {} as AufnahmeClient; +let objekt: ObjektClient = {} as ObjektClient; +let bilder: UploadedGebaeudeBild[] = [] + +const valid = validateAccessTokenServer(Astro); + +const caller = createCaller(Astro); + +if (uid) { + if (!valid) { + return Astro.redirect( + `/auth/login?redirect=${Astro.url.toString()}` + ); + } + + try { + ausweis = await caller["bedarfsausweis-wohnen"]._uid.GET.fetch(null, { + headers: { + authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}` + }, + params: { + uid + } + }); + + aufnahme = await caller.aufnahme._uid.GET.fetch(null, { + headers: { + authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}` + }, + params: { + uid: ausweis.uid_aufnahme + } + }) + + objekt = await caller.objekt._uid.GET.fetch(null, { + headers: { + authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}` + }, + params: { + uid: ausweis.uid_objekt + } + }) + + bilder = await caller.aufnahme._uid.bilder.GET.fetch(null, { + headers: { + authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}` + }, + params: { + uid: ausweis.uid_aufnahme + } + }) + + if (!ausweis) { + // Der Ausweis scheint nicht zu existieren. + // Wir leiten auf die generische Ausweisseite ohne UID weiter. + return Astro.redirect( + "/energieausweis-erstellen/bedarfsausweis-wohnen" + ); + } + } catch(e) { + return Astro.redirect( + "/energieausweis-erstellen/bedarfsausweis-wohnen" + ); + } +} + + +--- + + + \ No newline at end of file diff --git a/src/pages/immowelt/energieausweis-erstellen/bedarfsausweis-wohngebaeude/produkt-uebersicht.astro b/src/pages/immowelt-old/energieausweis-erstellen/bedarfsausweis-wohngebaeude/produkt-uebersicht.astro similarity index 84% rename from src/pages/immowelt/energieausweis-erstellen/bedarfsausweis-wohngebaeude/produkt-uebersicht.astro rename to src/pages/immowelt-old/energieausweis-erstellen/bedarfsausweis-wohngebaeude/produkt-uebersicht.astro index f221bcdd..3ea62094 100644 --- a/src/pages/immowelt/energieausweis-erstellen/bedarfsausweis-wohngebaeude/produkt-uebersicht.astro +++ b/src/pages/immowelt-old/energieausweis-erstellen/bedarfsausweis-wohngebaeude/produkt-uebersicht.astro @@ -1,5 +1,5 @@ --- -import Layout from "#layouts/AusweisLayoutDaten_immowelt.astro"; +import Layout from "#layouts/AusweisLayoutDaten_partner.astro"; import ProduktUebersichtBedarfsausweisWohnen from "#components/design/content/ProduktUebersichtBedarfsausweisWohnen.svelte"; --- diff --git a/src/pages/immowelt-old/energieausweis-erstellen/verbrauchsausweis-gewerbe/index.astro b/src/pages/immowelt-old/energieausweis-erstellen/verbrauchsausweis-gewerbe/index.astro new file mode 100644 index 00000000..90793f9d --- /dev/null +++ b/src/pages/immowelt-old/energieausweis-erstellen/verbrauchsausweis-gewerbe/index.astro @@ -0,0 +1,86 @@ +--- +import AusweisLayout from "#layouts/AusweisLayoutDaten_partner.astro"; +import { AufnahmeClient, ObjektClient, UploadedGebaeudeBild, VerbrauchsausweisGewerbeClient } from "#components/Ausweis/types"; +import { createCaller } from "src/astro-typesafe-api-caller"; +import { inferOutput } from "astro-typesafe-api/client"; +import { API_ACCESS_TOKEN_COOKIE_NAME } from "#lib/constants"; +import { validateAccessTokenServer } from "#server/lib/validateAccessToken"; +import VerbrauchsausweisGewerbeModule from "#modules/VerbrauchsausweisGewerbe/VerbrauchsausweisGewerbeModule.svelte"; +import { Enums } from "#lib/server/prisma"; + +const uid = Astro.url.searchParams.get("uid"); +const ausweistyp = Astro.url.searchParams.get("ausweistyp") || Enums.AusweisTyp.Standard; + +let ausweis: VerbrauchsausweisGewerbeClient = {} as VerbrauchsausweisGewerbeClient; +let aufnahme: AufnahmeClient = {} as AufnahmeClient; +let objekt: ObjektClient = {} as ObjektClient; +let bilder: UploadedGebaeudeBild[] = [] + +const valid = validateAccessTokenServer(Astro); + +const caller = createCaller(Astro); + +if (uid) { + if (!valid) { + return Astro.redirect( + `/auth/login?redirect=${Astro.url.toString()}` + ); + } + + try { + let { uid_aufnahme, uid_objekt, uid_benutzer, ...result } = await caller["verbrauchsausweis-gewerbe"]._uid.GET.fetch(null, { + headers: { + authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}` + }, + params: { + uid + } + }); + + ausweis = result + + aufnahme = await caller.aufnahme._uid.GET.fetch(null, { + headers: { + authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}` + }, + params: { + uid: uid_aufnahme + } + }) + + objekt = await caller.objekt._uid.GET.fetch(null, { + headers: { + authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}` + }, + params: { + uid: uid_objekt + } + }) + + bilder = await caller.aufnahme._uid.bilder.GET.fetch(null, { + headers: { + authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}` + }, + params: { + uid: uid_aufnahme + } + }) + + if (!ausweis) { + // Der Ausweis scheint nicht zu existieren. + // Wir leiten auf die generische Ausweisseite ohne UID weiter. + return Astro.redirect( + "/energieausweis-erstellen/verbrauchsausweis-gewerbe" + ); + } + } catch(e) { + return Astro.redirect( + "/energieausweis-erstellen/verbrauchsausweis-gewerbe" + ); + } +} +--- + + + + \ No newline at end of file diff --git a/src/pages/immowelt/energieausweis-erstellen/verbrauchsausweis-gewerbe/produkt-uebersicht.astro b/src/pages/immowelt-old/energieausweis-erstellen/verbrauchsausweis-gewerbe/produkt-uebersicht.astro similarity index 85% rename from src/pages/immowelt/energieausweis-erstellen/verbrauchsausweis-gewerbe/produkt-uebersicht.astro rename to src/pages/immowelt-old/energieausweis-erstellen/verbrauchsausweis-gewerbe/produkt-uebersicht.astro index 840f5928..91075a82 100644 --- a/src/pages/immowelt/energieausweis-erstellen/verbrauchsausweis-gewerbe/produkt-uebersicht.astro +++ b/src/pages/immowelt-old/energieausweis-erstellen/verbrauchsausweis-gewerbe/produkt-uebersicht.astro @@ -1,5 +1,5 @@ --- -import Layout from "#layouts/AusweisLayoutDaten_immowelt.astro"; +import Layout from "#layouts/AusweisLayoutDaten_partner.astro"; import ProduktUebersichtVerbrauchsausweisGewerbe from "#components/design/content/ProduktUebersichtVerbrauchsausweisGewerbe.svelte"; --- diff --git a/src/pages/immowelt-old/energieausweis-erstellen/verbrauchsausweis-wohngebaeude/index.astro b/src/pages/immowelt-old/energieausweis-erstellen/verbrauchsausweis-wohngebaeude/index.astro new file mode 100644 index 00000000..a0b1cf47 --- /dev/null +++ b/src/pages/immowelt-old/energieausweis-erstellen/verbrauchsausweis-wohngebaeude/index.astro @@ -0,0 +1,85 @@ +--- +import AusweisLayout from "#layouts/AusweisLayoutDaten_partner.astro"; +import VerbrauchsausweisWohnenModule from "#modules/VerbrauchsausweisWohnen/VerbrauchsausweisWohnenModule.svelte"; +import { AufnahmeClient, ObjektClient, UploadedGebaeudeBild, VerbrauchsausweisWohnenClient } from "#components/Ausweis/types"; +import { createCaller } from "src/astro-typesafe-api-caller"; +import { API_ACCESS_TOKEN_COOKIE_NAME } from "#lib/constants"; +import { validateAccessTokenServer } from "#server/lib/validateAccessToken"; +import { Enums } from "#lib/server/prisma"; + +const uid = Astro.url.searchParams.get("uid"); +const ausweistyp = Astro.url.searchParams.get("ausweistyp") || Enums.AusweisTyp.Standard; + + +let ausweis: VerbrauchsausweisWohnenClient = {} as VerbrauchsausweisWohnenClient; +let aufnahme: AufnahmeClient = {} as AufnahmeClient; +let objekt: ObjektClient = {} as ObjektClient; +let bilder: UploadedGebaeudeBild[] = [] + +const valid = validateAccessTokenServer(Astro); + +const caller = createCaller(Astro); + +if (uid) { + if (!valid) { + return Astro.redirect( + `/auth/login?redirect=${Astro.url.toString()}` + ); + } + + try { + ausweis = await caller["verbrauchsausweis-wohnen"]._uid.GET.fetch(null, { + headers: { + authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}` + }, + params: { + uid + } + }); + + aufnahme = await caller.aufnahme._uid.GET.fetch(null, { + headers: { + authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}` + }, + params: { + uid: ausweis.uid_aufnahme + } + }) + + objekt = await caller.objekt._uid.GET.fetch(null, { + headers: { + authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}` + }, + params: { + uid: ausweis.uid_objekt + } + }) + + bilder = await caller.aufnahme._uid.bilder.GET.fetch(null, { + headers: { + authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}` + }, + params: { + uid: ausweis.uid_aufnahme + } + }) + + if (!ausweis) { + // Der Ausweis scheint nicht zu existieren. + // Wir leiten auf die generische Ausweisseite ohne UID weiter. + return Astro.redirect( + "/energieausweis-erstellen/verbrauchsausweis-wohngebaeude" + ); + } + } catch(e) { + return Astro.redirect( + "/energieausweis-erstellen/verbrauchsausweis-wohngebaeude" + ); + } +} + +--- + + + + diff --git a/src/pages/immowelt/energieausweis-erstellen/verbrauchsausweis-wohngebaeude/produkt-uebersicht.astro b/src/pages/immowelt-old/energieausweis-erstellen/verbrauchsausweis-wohngebaeude/produkt-uebersicht.astro similarity index 85% rename from src/pages/immowelt/energieausweis-erstellen/verbrauchsausweis-wohngebaeude/produkt-uebersicht.astro rename to src/pages/immowelt-old/energieausweis-erstellen/verbrauchsausweis-wohngebaeude/produkt-uebersicht.astro index 794528d8..86c31476 100644 --- a/src/pages/immowelt/energieausweis-erstellen/verbrauchsausweis-wohngebaeude/produkt-uebersicht.astro +++ b/src/pages/immowelt-old/energieausweis-erstellen/verbrauchsausweis-wohngebaeude/produkt-uebersicht.astro @@ -1,5 +1,5 @@ --- -import Layout from "#layouts/AusweisLayoutDaten_immowelt.astro"; +import Layout from "#layouts/AusweisLayoutDaten_partner.astro"; import ProduktUebersichtVerbrauchsausweisWohnen from "#components/design/content/ProduktUebersichtVerbrauchsausweisWohnen.svelte"; ---