64 lines
7.4 KiB
TypeScript
64 lines
7.4 KiB
TypeScript
import * as z from "zod"
|
|
import { Ausweisart, Heizungsstatus, Heizungsstatus, Lueftungskonzept } from "@prisma/client"
|
|
|
|
export const AufnahmeSchema = z.object({
|
|
id: z.string(),
|
|
benutzer_id: z.string().nullish(),
|
|
ausweisart: z.nativeEnum(Ausweisart).describe("Art des korrespondierenden Ausweises, wie z.B. VerbrauchsausweisWohnen").nullish(),
|
|
gebaeudetyp: z.string().describe("Art des Gebäudes und seiner primären Nutzungsart").nullish(),
|
|
gebaeudeteil: z.string().describe("Betrachteter Teil des Gebäudes, z.B. Gesamtgebäude, Wohnteil, Gewerbeteil").nullish(),
|
|
baujahr_gebaeude: z.number().int().array().describe("Alle Jahre in denen das Gebäude konstruiert oder grundlegend verändert wurde"),
|
|
baujahr_heizung: z.number().int().array().describe("Alle Jahre in denen die Heizung eingebaut oder grundlegend verändert wurde"),
|
|
baujahr_klima: z.number().int().array().describe("Alle Jahre in denen die Klimaanlage eingebaut oder grundlegend verändert wurde"),
|
|
einheiten: z.number().int().describe("Anzahl der (Wohn)Einheiten im Gebäude").nullish(),
|
|
flaeche: z.number().int().describe("Wohnfläche bei Wohngebäuden, Nutzfläche bei Gewerbegebäuden").nullish(),
|
|
nutzflaeche: z.number().int().describe("(energetische) Nutzfläche des Gebäudes. Bei Gewerbegebäuden entspricht Sie der Nutzfläche").nullish(),
|
|
saniert: z.boolean().describe("Falls das Gebäude energetisch saniert ist, sollte dieser Wert auf true stehen").nullish(),
|
|
keller: z.nativeEnum(Heizungsstatus).describe("Ob ein Keller vorhanden, beheizt oder unbeheizt ist").nullish(),
|
|
dachgeschoss: z.nativeEnum(Heizungsstatus).describe("Ob ein Dachgeschoss vorhanden, beheizt oder unbeheizt ist").nullish(),
|
|
lueftung: z.nativeEnum(Lueftungskonzept).describe("Art der Gebäudelüftung").nullish(),
|
|
kuehlung: z.string().describe("Art der Gebäudekühlung").nullish(),
|
|
leerstand: z.number().int().describe("Prozentualer Leerstand des Gebäudes in einem durchschnittlichen Jahr").nullish(),
|
|
alternative_heizung: z.boolean().describe("Falls der Heizungsverbrauch alternative Energieversorgungssysteme beinhaltet sollte dieser Wert auf true stehen").nullish(),
|
|
alternative_warmwasser: z.boolean().describe("Falls der Warmwasserverbrauch alternative Energieversorgungssysteme beinhaltet sollte dieser Wert auf true stehen").nullish(),
|
|
alternative_lueftung: z.boolean().describe("Falls die Lüftung alternative Energieversorgungssysteme beinhaltet sollte dieser Wert auf true stehen").nullish(),
|
|
alternative_kuehlung: z.boolean().describe("Falls die Kühlung alternative Energieversorgungssysteme beinhaltet sollte dieser Wert auf true stehen").nullish(),
|
|
brennstoff_1: z.string().describe("Genutzer Brennstoff der primären Energiequelle").nullish(),
|
|
brennstoff_2: z.string().describe("Genutzer Brennstoff der sekundären Energiequelle").nullish(),
|
|
boxpruefung: z.boolean().nullish(),
|
|
energieeffizienzklasse: z.string().describe("Die aus der Berechnung hervorgehende Energieeffizienzklasse des Gebäudes").nullish(),
|
|
erstellungsdatum: z.date().describe("Datum an dem der Kunde den Ausweis erstellt hat").nullish(),
|
|
ausstellungsdatum: z.date().describe("Datum an dem der Aussteller den Ausweis ausgestellt hat").nullish(),
|
|
zentralheizung: z.boolean().describe("Falls das Gebäude über eine Zentralbeheizung verfügt, sollte dieser Wert auf true stehen").nullish(),
|
|
solarsystem_warmwasser: z.boolean().describe("Falls das Gebäude über ein Solarsystem für Warmwasser verfügt, sollte dieser Wert auf true stehen").nullish(),
|
|
warmwasser_rohre_gedaemmt: z.boolean().describe("Falls die Warmwasserrohre des Gebäudes gedämmt sind, sollte dieser Wert auf true stehen").nullish(),
|
|
niedertemperatur_kessel: z.boolean().describe("Falls das Gebäude über einen Niedertemperaturkessel verfügt, sollte dieser Wert auf true stehen").nullish(),
|
|
brennwert_kessel: z.boolean().describe("Falls das Gebäude über einen Brennwertkessel verfügt, sollte dieser Wert auf true stehen").nullish(),
|
|
heizungsrohre_gedaemmt: z.boolean().describe("Falls die Heizungsrohre des Gebäudes gedämmt sind, sollte dieser Wert auf true stehen").nullish(),
|
|
standard_kessel: z.boolean().nullish(),
|
|
waermepumpe: z.boolean().describe("Falls das Gebäude über eine Wärmepumpe verfügt, sollte dieser Wert auf true stehen").nullish(),
|
|
raum_temperatur_regler: z.boolean().describe("Falls das Gebäude über einen Raumtemperaturregler verfügt, sollte dieser Wert auf true stehen").nullish(),
|
|
photovoltaik: z.boolean().describe("Falls das Gebäude über eine Photovoltaikanlage verfügt, sollte dieser Wert auf true stehen").nullish(),
|
|
durchlauf_erhitzer: z.boolean().describe("Falls das Gebäude über einen Durchlauferhitzer verfügt, sollte dieser Wert auf true stehen").nullish(),
|
|
einzelofen: z.boolean().nullish(),
|
|
zirkulation: z.boolean().describe("Falls das Gebäude über eine Zirkulationspumpe verfügt, sollte dieser Wert auf true stehen").nullish(),
|
|
einfach_verglasung: z.boolean().describe("Falls die Fenster des Gebäudes einfach gedämmt sind, sollte dieser Wert auf true stehen").nullish(),
|
|
dreifach_verglasung: z.boolean().describe("Falls die Fenster des Gebäudes dreifach gedämmt sind, sollte dieser Wert auf true stehen").nullish(),
|
|
fenster_teilweise_undicht: z.boolean().describe("Falls die Fenster des Gebäudes teilweise undicht sind, sollte dieser Wert auf true stehen").nullish(),
|
|
doppel_verglasung: z.boolean().describe("Falls die Fenster des Gebäudes doppelt gedämmt sind, sollte dieser Wert auf true stehen").nullish(),
|
|
fenster_dicht: z.boolean().describe("Falls die Fenster des Gebäudes dicht sind, sollte dieser Wert auf true stehen").nullish(),
|
|
rolllaeden_kaesten_gedaemmt: z.boolean().describe("Falls das Gebäude über gedämmte Rolllädenkästen verfügt, sollte dieser Wert auf true stehen").nullish(),
|
|
isolier_verglasung: z.boolean().describe("Falls die Fenster des Gebäudes isolier Verglasung haben, sollte dieser Wert auf true stehen").nullish(),
|
|
tueren_undicht: z.boolean().describe("Falls die Türen des Gebäudes undicht sind, sollte dieser Wert auf true stehen").nullish(),
|
|
tueren_dicht: z.boolean().describe("Falls die Türen des Gebäudes dicht sind, sollte dieser Wert auf true stehen").nullish(),
|
|
dachgeschoss_gedaemmt: z.boolean().describe("Falls das Dachgeschoss des Gebäudes gedämmt ist, sollte dieser Wert auf true stehen").nullish(),
|
|
keller_decke_gedaemmt: z.boolean().describe("Falls die Kellerdecke des Gebäudes gedämmt ist, sollte dieser Wert auf true stehen").nullish(),
|
|
keller_wand_gedaemmt: z.boolean().describe("Falls die Kellerwände des Gebäudes gedämmt sind, sollte dieser Wert auf true stehen").nullish(),
|
|
aussenwand_gedaemmt: z.boolean().describe("Falls die Außenwände des Gebäudes gedämmt sind, sollte dieser Wert auf true stehen").nullish(),
|
|
oberste_geschossdecke_gedaemmt: z.boolean().describe("Falls die oberste Geschossdecke des Gebäudes gedämmt ist, sollte dieser Wert auf true stehen").nullish(),
|
|
aussenwand_min_12cm_gedaemmt: z.boolean().describe("Falls die Außenwände des Gebäudes mindestens 12cm gedämmt sind, sollte dieser Wert auf true stehen").nullish(),
|
|
dachgeschoss_min_12cm_gedaemmt: z.boolean().describe("Falls das Dachgeschoss des Gebäudes mindestens 12cm gedämmt ist, sollte dieser Wert auf true stehen").nullish(),
|
|
oberste_geschossdecke_min_12cm_gedaemmt: z.boolean().describe("Falls die oberste Geschossdecke des Gebäudes mindestens 12cm gedämmt ist, sollte dieser Wert auf true stehen").nullish(),
|
|
objekt_id: z.string(),
|
|
})
|