Verbrauchsausweis Gewerbe

This commit is contained in:
Moritz Utcke
2025-03-08 14:46:16 -03:00
parent c4de916057
commit c3c7fd313f
24 changed files with 266 additions and 102 deletions

View File

@@ -12,13 +12,13 @@ export const createCaller = createCallerFactory({
"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"),
"ausweise": await import("../src/pages/api/ausweise/index.ts"),
"aufnahme": await import("../src/pages/api/aufnahme/index.ts"),
"bedarfsausweis-wohnen/[uid]": await import("../src/pages/api/bedarfsausweis-wohnen/[uid].ts"),
"bedarfsausweis-wohnen": await import("../src/pages/api/bedarfsausweis-wohnen/index.ts"),
"ausweise": await import("../src/pages/api/ausweise/index.ts"),
"auth/access-token": await import("../src/pages/api/auth/access-token.ts"),
"auth/forgot-password": await import("../src/pages/api/auth/forgot-password.ts"),
"auth/refresh-token": await import("../src/pages/api/auth/refresh-token.ts"),
"bedarfsausweis-wohnen/[uid]": await import("../src/pages/api/bedarfsausweis-wohnen/[uid].ts"),
"bedarfsausweis-wohnen": await import("../src/pages/api/bedarfsausweis-wohnen/index.ts"),
"bilder/[uid]": await import("../src/pages/api/bilder/[uid].ts"),
"geg-nachweis-gewerbe/[uid]": await import("../src/pages/api/geg-nachweis-gewerbe/[uid].ts"),
"geg-nachweis-gewerbe": await import("../src/pages/api/geg-nachweis-gewerbe/index.ts"),

View File

@@ -653,9 +653,8 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
<input
name="stromverbrauch_enthaelt_sonstige"
type="number"
type="text"
bind:value={ausweis.stromverbrauch_enthaelt_sonstige}
required
/>
<div class="help-label">

View File

@@ -1,8 +1,9 @@
<script lang="ts">
import HelpLabel from "#components/labels/HelpLabel.svelte";
import Inputlabel from "#components/labels/InputLabel.svelte";
import { VerbrauchsausweisGewerbeClient, VerbrauchsausweisWohnenClient } from "./types.js";
export let ausweis;
export let ausweis: VerbrauchsausweisWohnenClient | VerbrauchsausweisGewerbeClient;
$: {
if (!ausweis.warmwasser_enthalten) {

View File

@@ -1,5 +1,5 @@
<script lang="ts">
import { AufnahmeKomplettClient, getAusweisartFromUUID, ObjektKomplettClient, VerbrauchsausweisWohnenClient } from "#components/Ausweis/types.js";
import { AufnahmeKomplettClient, BedarfsausweisWohnenClient, getAusweisartFromUUID, ObjektKomplettClient, VerbrauchsausweisGewerbeClient, VerbrauchsausweisWohnenClient } from "#components/Ausweis/types.js";
import moment from "moment";
import { dialogs } from "svelte-dialogs";
import {
@@ -13,9 +13,10 @@
import { api } from "astro-typesafe-api/client";
import Cookies from "js-cookie";
import { API_ACCESS_TOKEN_COOKIE_NAME } from "#lib/constants.js";
import { Enums, Objekt } from "#lib/client/prisma";
import { Enums, Objekt } from "#lib/client/prisma.js";
import { endEnergieVerbrauchVerbrauchsausweisGewerbe_2016 } from "#lib/Berechnungen/VerbrauchsausweisGewerbe/VerbrauchsausweisGewerbe_2016.js";
export let ausweis: VerbrauchsausweisWohnenClient;
export let ausweis: VerbrauchsausweisWohnenClient | VerbrauchsausweisGewerbeClient | BedarfsausweisWohnenClient;
export let aufnahme: AufnahmeKomplettClient;
export let objekt: Objekt;
export let progress: number;
@@ -65,9 +66,18 @@
}
let hilfeModal: HTMLDialogElement;
let calculations = null;
if (ausweisart === Enums.Ausweisart.VerbrauchsausweisWohnen) {
calculations = endEnergieVerbrauchVerbrauchsausweis_2016(ausweis as VerbrauchsausweisWohnenClient, aufnahme, objekt);
} else if (ausweisart === Enums.Ausweisart.VerbrauchsausweisGewerbe) {
calculations = endEnergieVerbrauchVerbrauchsausweisGewerbe_2016(ausweis as VerbrauchsausweisGewerbeClient, aufnahme, objekt);
}
</script>
<div class="card lg:card-side relative bg-base-200 card-bordered border-base-300">
<div class="relative bg-base-200 border border-base-300 rounded-lg p-4">
{#if ausweis.storniert}
<div
class="absolute top-0 left-0 w-full h-full bg-[rgba(0,0,0,0.7)] z-[5] rounded-lg select-none"
@@ -79,14 +89,6 @@
</h1>
</div>
{/if}
<!-- <figure class="lg:w-1/2">
<img
src={(bilder.length > 0 && `/bilder/${bilder[0].uid}.webp`) ||
"/images/placeholder.jpg"}
class="object-cover w-full h-full"
alt="Gebäudebild"
/>
</figure> -->
<div class="card-body">
<div
class="flex justify-end mb-2 dropdown dropdown-bottom absolute top-4 right-4"
@@ -113,23 +115,25 @@
</li>
</ul>
</div>
<div class="flex flex-row flex-wrap gap-2">
<div class="flex flex-row flex-wrap items-center gap-2">
{#if ausweisart == Enums.Ausweisart.VerbrauchsausweisWohnen}
<div class="badge badge-accent font-semibold text-secondary text-lg">
<div class="text-lg font-semibold">
Verbrauchsausweis Wohnen
</div>
{:else if ausweisart == Enums.Ausweisart.BedarfsausweisWohnen}
<div class="badge badge-accent font-semibold">
<div class="text-lg font-semibold">
Bedarfsausweis Wohnen
</div>
{:else if ausweisart == Enums.Ausweisart.VerbrauchsausweisGewerbe}
<div class="badge badge-accent font-semibold">
<div class="text-lg font-semibold">
Verbrauchsausweis Gewerbe
</div>
{/if}
{#if ausweis.ausgestellt}
<div class="badge badge-success font-semibold">Ausgestellt</div>
<span class="bg-green-600 px-2 py-0.5 text-sm font-semibold rounded-lg text-white">Ausgestellt</span>
{:else if ausweis.bestellt}
<span class="bg-yellow-600 px-2 py-0.5 text-sm font-semibold rounded-lg text-white">Bestellt</span>
{/if}
</div>
<div class="badge badge-accent font-semibold text-black text-m">{objekt.adresse}</div>
@@ -141,7 +145,7 @@
>{progress}%</span
>
</div>
{#await endEnergieVerbrauchVerbrauchsausweis_2016(ausweis, aufnahme, objekt) then calculations}
{#await calculations then calculations}
<div class="flex flex-col gap-2">
<div class="flex flex-row justify-between">
<span>Energieverbrauch</span>
@@ -183,22 +187,28 @@
<div class="flex flex-row justify-between">
<span>ID</span>
<span class="font-bold text-base-content"
>{ausweis.uid.split("-")[0]}</span
>{ausweis.uid}</span
>
</div>
</div>
{/await}
<div class="flex flex-row justify-end gap-4 mt-4">
<a
{#if !ausweis.storniert && !ausweis.ausgestellt}
<a
class="button text-sm"
href="/energieausweis-erstellen/verbrauchsausweis-wohngebaeude?uid={ausweis.uid}"
>Stornieren</a>
{/if}
<a
{#if !ausweis.ausgestellt}
<!-- TODO -->
<a
class="button text-sm"
href="/energieausweis-erstellen/verbrauchsausweis-wohngebaeude?uid={ausweis.uid}"
>Freigeben</a>
>Bearbeiten</a>
{/if}
<a
class="p-2 rounded-lg hover:bg-gray-200"

View File

@@ -1,6 +1,6 @@
import { AufnahmeClient, VerbrauchsausweisWohnenClient } from "#components/Ausweis/types.js";
import { AufnahmeClient, VerbrauchsausweisGewerbeClient, VerbrauchsausweisWohnenClient } from "#components/Ausweis/types.js";
export function auditBedarfsausweisBenoetigt(ausweis: VerbrauchsausweisWohnenClient, gebaeude: AufnahmeClient): boolean {
export function auditBedarfsausweisBenoetigt(ausweis: VerbrauchsausweisWohnenClient | VerbrauchsausweisGewerbeClient, gebaeude: AufnahmeClient): boolean {
if (ausweis.ausstellgrund == "Neubau" || ausweis.ausstellgrund == "Modernisierung") {
return true;
}

View File

@@ -1,9 +1,9 @@
import { ObjektClient, VerbrauchsausweisWohnenClient, AufnahmeClient } from "#components/Ausweis/types.js";
import { ObjektClient, VerbrauchsausweisWohnenClient, AufnahmeClient, VerbrauchsausweisGewerbeClient } from "#components/Ausweis/types.js";
import { AuditType, hidden } from "./hidden.js";
import { endEnergieVerbrauchVerbrauchsausweis_2016 } from "#lib/Berechnungen/VerbrauchsausweisWohnen/VerbrauchsausweisWohnen_2016.js";
import { getKlimafaktoren } from "#lib/Klimafaktoren.js";
export async function auditEndEnergie(ausweis: VerbrauchsausweisWohnenClient, objekt: ObjektClient, aufnahme: AufnahmeClient): Promise<boolean> {
export async function auditEndEnergie(ausweis: VerbrauchsausweisWohnenClient | VerbrauchsausweisGewerbeClient, objekt: ObjektClient, aufnahme: AufnahmeClient): Promise<boolean> {
if (hidden.has(AuditType.END_ENERGIE)) {
return false;
}

View File

@@ -1,12 +1,13 @@
import {
ObjektClient,
VerbrauchsausweisGewerbeClient,
VerbrauchsausweisWohnenClient,
} from "#components/Ausweis/types.js";
import { AuditType, hidden } from "./hidden.js";
import { getKlimafaktoren } from "#lib/Klimafaktoren.js";
export async function auditKlimaFaktoren(
ausweis: VerbrauchsausweisWohnenClient,
ausweis: VerbrauchsausweisWohnenClient | VerbrauchsausweisGewerbeClient,
gebaeude: ObjektClient
): Promise<boolean> {
if (hidden.has(AuditType.KLIMA_FAKTOREN)) {

View File

@@ -1,7 +1,7 @@
import { VerbrauchsausweisWohnenClient } from "#components/Ausweis/types.js";
import { VerbrauchsausweisGewerbeClient, VerbrauchsausweisWohnenClient } from "#components/Ausweis/types.js";
import { AuditType, hidden } from "./hidden.js";
export function auditWarmWasser(ausweis: VerbrauchsausweisWohnenClient): boolean {
export function auditWarmWasser(ausweis: VerbrauchsausweisWohnenClient | VerbrauchsausweisGewerbeClient): boolean {
if (ausweis.warmwasser_anteil_bekannt && ausweis.warmwasser_enthalten && ausweis.anteil_warmwasser_1) {
if (!hidden.has(AuditType.WARM_WASSER)){

View File

@@ -1,7 +1,7 @@
import { ObjektClient, VerbrauchsausweisWohnenClient } from "#components/Ausweis/types.js";
import { ObjektClient, VerbrauchsausweisGewerbeClient, VerbrauchsausweisWohnenClient } from "#components/Ausweis/types.js";
import { AuditType, hidden } from "./hidden.js";
export function auditZeitraumAktuell(ausweis: VerbrauchsausweisWohnenClient, gebaeude: ObjektClient): boolean {
export function auditZeitraumAktuell(ausweis: VerbrauchsausweisWohnenClient | VerbrauchsausweisGewerbeClient, gebaeude: ObjektClient): boolean {
if (hidden.has(AuditType.ZEITRAUM_AKTUELL)) {
return false;
}

View File

@@ -1,23 +1,23 @@
export * from "./anteilshaber.js"
export * from "./apirequests.js"
export * from "./aufnahme.js"
export * from "./bedarfsausweisgewerbe.js"
export * from "./bedarfsausweiswohnen.js"
export * from "./benutzer.js"
export * from "./bild.js"
export * from "./event.js"
export * from "./gegeinpreisung.js"
export * from "./gegnachweisgewerbe.js"
export * from "./gegnachweiswohnen.js"
export * from "./klimafaktoren.js"
export * from "./objekt.js"
export * from "./postleitzahlen.js"
export * from "./rechnung.js"
export * from "./refreshtokens.js"
export * from "./tickets.js"
export * from "./unterlage.js"
export * from "./verbrauchsausweisgewerbe.js"
export * from "./verbrauchsausweiswohnen.js"
export * from "./documenttemplates.js"
export * from "./documenttypes.js"
export * from "./tokens.js"
export * from "./anteilshaber"
export * from "./apirequests"
export * from "./aufnahme"
export * from "./bedarfsausweisgewerbe"
export * from "./bedarfsausweiswohnen"
export * from "./benutzer"
export * from "./bild"
export * from "./event"
export * from "./gegeinpreisung"
export * from "./gegnachweisgewerbe"
export * from "./gegnachweiswohnen"
export * from "./klimafaktoren"
export * from "./objekt"
export * from "./postleitzahlen"
export * from "./rechnung"
export * from "./refreshtokens"
export * from "./tickets"
export * from "./unterlage"
export * from "./verbrauchsausweisgewerbe"
export * from "./verbrauchsausweiswohnen"
export * from "./documenttemplates"
export * from "./documenttypes"
export * from "./tokens"

View File

@@ -37,6 +37,7 @@ export const VerbrauchsausweisGewerbeSchema = z.object({
alternative_lueftung: z.boolean().nullish(),
alternative_kuehlung: z.boolean().nullish(),
warmwasser_enthalten: z.boolean().nullish(),
warmwasser_anteil_bekannt: z.boolean().describe("Falls der Warmwasser Anteil am Verbrauch bekannt ist, sollte dieser Wert auf true stehen").nullish(),
anteil_warmwasser_1: z.number().nullish(),
anteil_warmwasser_2: z.number().nullish(),
ausgestellt: z.boolean().nullish(),

View File

@@ -81,7 +81,7 @@ export async function sendInvoiceMail(
<tr><td>IBAN</td><td>:<td>\t DE81 2004 0000 0348 6008 00</td>
<tr><td>BIC</td><td>:</td><td>\t COBADEFFXXX</td>
<tr><td>Betrag</td><td>:</td><td>\t <b>${rechnung.betrag}€</b></td>
<tr><td>Verwendungszweck</td><td>:</td><td>\t <b>${rechnung.uid}</b></td>
<tr><td>Verwendungszweck</td><td>:</td><td>\t <b>${rechnung.id}</b></td>
</table>
<br>

View File

@@ -9,18 +9,12 @@
export let aufnahme: AufnahmeKomplettClient;
export let objekt: Objekt;
import { onMount } from "svelte";
let dropdownOpen = false;
function toggleDropdown() {
dropdownOpen = !dropdownOpen;
}
function closeDropdown() {
dropdownOpen = false;
}
</script>
<h1>{objekt.adresse}, {objekt.plz} {objekt.ort}</h1>
@@ -34,9 +28,9 @@
{#if dropdownOpen}
<div class="absolut mt-2 w-56 rounded-md shadow-lg bg-white ring-1 ring-black ring-opacity-5" on:click|stopPropagation on:keydown|stopPropagation on:keyup|stopPropagation>
<div class="py-1" role="menu" aria-orientation="vertical" aria-labelledby="options-menu">
<button class="block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100 w-full text-left" role="menuitem">Verbrauchsausweis Wohnen Erstellen</button>
<button class="block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100 w-full text-left" role="menuitem">Verbrauchsausweis Gewerbe Erstellen</button>
<button class="block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100 w-full text-left" role="menuitem">Bedarfsausweis Erstellen</button>
<a href="/energieausweis-erstellen/verbrauchsausweis-wohngebaeude?aufnahme={aufnahme.uid}" class="block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100 w-full text-left" role="menuitem">Verbrauchsausweis Wohnen Erstellen</a>
<a href="/energieausweis-erstellen/verbrauchsausweis-gewerbe?aufnahme={aufnahme.uid}" class="block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100 w-full text-left" role="menuitem">Verbrauchsausweis Gewerbe Erstellen</a>
<a href="/energieausweis-erstellen/bedarfsausweis-wohngebaeude?aufnahme={aufnahme.uid}" class="block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100 w-full text-left" role="menuitem">Bedarfsausweis Erstellen</a>
</div>
</div>
{/if}

View File

@@ -19,7 +19,7 @@
import { AufnahmeClient, ObjektClient, UploadedGebaeudeBild, VerbrauchsausweisGewerbeClient } from "#components/Ausweis/types.js";
import { BenutzerClient } from "#components/Ausweis/types.js";
import GebaeudeDaten from "#components/Ausweis/GebaeudeDaten.svelte";
import { Enums } from "#lib/client/prisma";
import { Enums } from "#lib/client/prisma.js";
import moment from "moment";
import {
AuditType,
@@ -37,7 +37,11 @@
import { auditWohnFlaeche } from "#components/Verbrauchsausweis/audits/WohnFlaeche.js";
import { auditWohnflaecheGroesserGesamtflaeche } from "#components/Verbrauchsausweis/audits/WohnflaecheGroesserGesamtflaeche.js";
import { auditZeitraumAktuell } from "#components/Verbrauchsausweis/audits/ZeitraumAktuell.js";
import { notifications, RawNotificationWrapper, RawNotification } from "@ibcornelsen/ui";
import {
RawNotificationWrapper,
RawNotification,
notifications,
} from "#components/Notifications/index.js";
export let ausweis: VerbrauchsausweisGewerbeClient;
export let user: BenutzerClient;
@@ -116,10 +120,13 @@
localStorage.setItem("objekt", JSON.stringify(objekt))
localStorage.setItem("bilder", JSON.stringify(bilder))
}
let form: HTMLFormElement;
let skala: HTMLDivElement;
</script>
<div id="skala" class="bg-white grid grid-cols-1 px-0 sm:p-4 lg:grid-cols-2 lg:gap-x-6">
<div id="skala" bind:this={skala} class="bg-white grid grid-cols-1 px-0 sm:p-4 lg:grid-cols-2 lg:gap-x-6">
<PerformanceScore
bind:ausweis
@@ -138,7 +145,7 @@
<!-- TODO: Submit implementieren in externer Datei wenn Verbrauchsausweis Wohnen fertig ist -->
<form id="formInput-1" data-cy="ausweis" name="ausweis">
<form id="formInput-1" data-cy="ausweis" name="ausweis" bind:this={form}>
<div id="formular-box" class="formular-boxen ring-0">
<ButtonWeiterHilfe
@@ -147,8 +154,10 @@
bind:user
bind:objekt
bind:aufnahme
ausweisart={Enums.Ausweisart.VerbrauchsausweisWohnen}
ausweisart={Enums.Ausweisart.VerbrauchsausweisGewerbe}
showWeiter={false}
{form}
{skala}
>
</ButtonWeiterHilfe>
@@ -261,6 +270,9 @@
bind:objekt
bind:aufnahme
ausweisart={Enums.Ausweisart.VerbrauchsausweisGewerbe}
showWeiter={true}
{form}
{skala}
>
</ButtonWeiterHilfe>

View File

@@ -1,8 +1,9 @@
import { AufnahmeClient, OptionalNullable, UUidWithPrefix, ZodOverlap } from "#components/Ausweis/types.js";
import { exclude } from "#lib/exclude.js";
import { authorizationMiddleware } from "#lib/middleware/authorization.js";
import { AufnahmeSchema, prisma } from "#lib/server/prisma.js";
import { prisma } from "#lib/server/prisma.js";
import { APIError, defineApiRoute } from "astro-typesafe-api/server";
import { AufnahmeSchema } from "src/generated/zod/aufnahme.js";
import { z } from "zod";
export const PATCH = defineApiRoute({
@@ -22,7 +23,7 @@ export const PATCH = defineApiRoute({
where: {
uid,
benutzer_id: user.id
},
}
});
if (!aufnahme) {

View File

@@ -1,5 +1,5 @@
import { z } from "zod";
import { Enums, RechnungSchema, prisma } from "#lib/server/prisma";
import { Enums, prisma } from "#lib/server/prisma.js";
import { mollieClient } from "#lib/mollie.js";
import { PaymentMethod } from "@mollie/api-client";
import { APIError, defineApiRoute } from "astro-typesafe-api/server";
@@ -10,6 +10,8 @@ import {
import { UUidWithPrefix } from "#components/Ausweis/types.js";
import { getPrismaAusweisAdapter } from "#lib/server/ausweis.js";
import { PRICES, SERVICES } from "#lib/constants.js";
import { Rechnung } from "#lib/client/prisma.js";
import { RechnungSchema } from "src/generated/zod/rechnung.js";
export const PUT = defineApiRoute({
meta: {
@@ -28,7 +30,6 @@ export const PUT = defineApiRoute({
.merge(
RechnungSchema.omit({
benutzer_id: true,
aufnahme_id: true,
bezahlt_am: true,
erstellt_am: true,
id: true,
@@ -86,27 +87,57 @@ export const PUT = defineApiRoute({
});
}
// TODO
// Wir erstellen eine neue Rechnung in unserer Datenbank.
const rechnung = await prisma.rechnung.create({
data: {
benutzer_id: user.id,
betrag,
bezahlmethode: bezahlmethode,
status: Enums.Rechnungsstatus.open,
verbrauchsausweis_wohnen: {
connect: {
uid: ausweis_uid
}
},
services,
ausweistyp
},
select: {
uid: true,
betrag: true,
},
});
let rechnung: Rechnung | null = null;
if (ausweisart === Enums.Ausweisart.VerbrauchsausweisWohnen) {
rechnung = await prisma.rechnung.create({
data: {
benutzer_id: user.id,
betrag,
bezahlmethode: bezahlmethode,
status: Enums.Rechnungsstatus.open,
verbrauchsausweis_wohnen: {
connect: {
uid: ausweis_uid
}
},
services,
ausweistyp
}
});
} else if (ausweisart === Enums.Ausweisart.VerbrauchsausweisGewerbe) {
rechnung = await prisma.rechnung.create({
data: {
benutzer_id: user.id,
betrag,
bezahlmethode: bezahlmethode,
status: Enums.Rechnungsstatus.open,
verbrauchsausweis_gewerbe: {
connect: {
uid: ausweis_uid
}
},
services,
ausweistyp
}
});
} else if (ausweisart === Enums.Ausweisart.BedarfsausweisWohnen) {
rechnung = await prisma.rechnung.create({
data: {
benutzer_id: user.id,
betrag,
bezahlmethode: bezahlmethode,
status: Enums.Rechnungsstatus.open,
bedarfsausweis_wohnen: {
connect: {
uid: ausweis_uid
}
},
services,
ausweistyp
}
});
}
if (!rechnung) {
throw new APIError({

View File

@@ -1,7 +1,8 @@
import { UUidWithPrefix } from "#components/Ausweis/types.js";
import { authorizationHeaders, authorizationMiddleware } from "#lib/middleware/authorization.js";
import { prisma, VerbrauchsausweisGewerbeSchema } from "#lib/server/prisma";
import { prisma } from "#lib/server/prisma.js";
import { APIError, defineApiRoute } from "astro-typesafe-api/server";
import { VerbrauchsausweisGewerbeSchema } from "src/generated/zod/verbrauchsausweisgewerbe.js";
import { z } from "zod";
export const PUT = defineApiRoute({
@@ -17,7 +18,9 @@ export const PUT = defineApiRoute({
benutzer_id: true,
uid: true,
aufnahme_id: true
}),
}).merge(z.object({
startdatum: z.coerce.date()
})),
uid_aufnahme: UUidWithPrefix
}),
output: z.object({

View File

@@ -8,6 +8,7 @@ import { validateAccessTokenServer } from "#server/lib/validateAccessToken";
import VerbrauchsausweisGewerbeModule from "#modules/VerbrauchsausweisGewerbe/VerbrauchsausweisGewerbeModule.svelte";
const uid = Astro.url.searchParams.get("uid");
const uid_aufnahme = Astro.url.searchParams.get("aufnahme")
let ausweis: VerbrauchsausweisGewerbeClient = {} as VerbrauchsausweisGewerbeClient;
let aufnahme: AufnahmeClient = {} as AufnahmeClient;
let objekt: ObjektClient = {} as ObjektClient;
@@ -75,6 +76,32 @@ if (uid) {
"/energieausweis-erstellen/verbrauchsausweis-gewerbe"
);
}
} else if (uid_aufnahme) {
if (!valid) {
return Astro.redirect(
`/auth/login?redirect=${Astro.url.toString()}`
);
}
let { uid_objekt, ...result} = await caller.aufnahme._uid.GET.fetch(null, {
headers: {
authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}`
},
params: {
uid: uid_aufnahme
}
})
aufnahme = result;
objekt = await caller.objekt._uid.GET.fetch(null, {
headers: {
authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}`
},
params: {
uid: uid_objekt
}
})
}
---

View File

@@ -8,6 +8,7 @@ import { validateAccessTokenServer } from "#server/lib/validateAccessToken";
import { Enums } from "#lib/server/prisma";
const uid = Astro.url.searchParams.get("uid");
const uid_aufnahme = Astro.url.searchParams.get("aufnahme")
const ausweistyp = Astro.url.searchParams.get("ausweistyp") || Enums.AusweisTyp.Standard;
@@ -76,6 +77,32 @@ if (uid) {
"/energieausweis-erstellen/verbrauchsausweis-wohngebaeude"
);
}
} else if (uid_aufnahme) {
if (!valid) {
return Astro.redirect(
`/auth/login?redirect=${Astro.url.toString()}`
);
}
let { uid_objekt, ...result} = await caller.aufnahme._uid.GET.fetch(null, {
headers: {
authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}`
},
params: {
uid: uid_aufnahme
}
})
aufnahme = result;
objekt = await caller.objekt._uid.GET.fetch(null, {
headers: {
authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}`
},
params: {
uid: uid_objekt
}
})
}
---

View File

@@ -660,6 +660,7 @@ export function fakeVerbrauchsausweisGewerbe() {
alternative_lueftung: undefined,
alternative_kuehlung: undefined,
warmwasser_enthalten: undefined,
warmwasser_anteil_bekannt: undefined,
anteil_warmwasser_1: undefined,
anteil_warmwasser_2: undefined,
prueftext: undefined,
@@ -703,6 +704,7 @@ export function fakeVerbrauchsausweisGewerbeComplete() {
alternative_lueftung: undefined,
alternative_kuehlung: undefined,
warmwasser_enthalten: undefined,
warmwasser_anteil_bekannt: undefined,
anteil_warmwasser_1: undefined,
anteil_warmwasser_2: undefined,
ausgestellt: false,