Notifications + Plausibilitätsprüfung

This commit is contained in:
Moritz Utcke
2023-05-12 23:40:31 +04:00
parent 33c8a1d447
commit 5559f5ca4d
37 changed files with 855 additions and 357 deletions

View File

@@ -1,44 +1,10 @@
---
import AusweisLayout from "~/layouts/AusweisLayout.astro";
import VerbrauchsausweisContent from "~/components/Verbrauchsausweis/VerbrauchsausweisContent.svelte";
import { Verbrauchsausweis } from "src/lib/Ausweis/Verbrauchsausweis";
import { db } from "src/lib/shared";
import { Gebaeude } from "src/lib/Gebaeude";
import { Energiekennwerte } from "src/lib/Energiekennwerte";
import { Ausweis, getAusweis } from "src/lib/Ausweis/Ausweis";
let gebaeude = new Gebaeude();
if (Astro.cookies.has("ausweis_uid")) {
const uid = Astro.cookies.get("ausweis_uid").value;
let result = await db<{ gebaeude: Gebaeude, kennwerte: Energiekennwerte, ausweis: Ausweis}>("gebaeude")
.select([
db.raw("(json_agg(gebaeude)->0) AS gebaeude"),
db.raw("(json_agg(energiekennwerte)->0) AS kennwerte"),
db.raw("(json_agg(energieausweise)->0) AS ausweis"),
])
.leftJoin(
"energiekennwerte",
"energiekennwerte.gebaeude_id",
"gebaeude.id"
)
.leftJoin(
"energieausweise",
"energieausweise.gebaeude_id",
"gebaeude.id"
)
.where("gebaeude.uid", uid)
.groupBy("gebaeude.id")
.first();
if (result) {
gebaeude = new Gebaeude(result.gebaeude);
gebaeude.ausweis = getAusweis(result.ausweis.ausweisart, result.ausweis);
gebaeude.ausweis.gebaeude = gebaeude;
gebaeude.ausweis.kennwerte = new Energiekennwerte(result.kennwerte);
}
}
const uid = Astro.cookies.get("ausweis_uid").value;
---
<AusweisLayout title="Verbrauchsausweis erstellen">
<VerbrauchsausweisContent client:load gebaeude={gebaeude} />
<VerbrauchsausweisContent client:load uid={uid} />
</AusweisLayout>