Files
online-energieausweis/src/generated/zod/bedarfsausweiswohnen.ts
2025-04-09 20:13:52 -04:00

93 lines
4.3 KiB
TypeScript

import * as z from "zod"
import { Ausstellgrund, AusweisTyp, Ausweisart } from "@prisma/client"
export const BedarfsausweisWohnenSchema = z.object({
id: z.string(),
alte_ausweis_id: z.number().int().nullish(),
benutzer_id: z.string().nullish(),
ausstellgrund: z.nativeEnum(Ausstellgrund).nullish(),
registriernummer: z.string().nullish(),
alternative_heizung: z.boolean().nullish(),
alternative_warmwasser: z.boolean().nullish(),
alternative_lueftung: z.boolean().nullish(),
alternative_kuehlung: z.boolean().nullish(),
energieeffizienzklasse: z.string().describe("Die aus der Berechnung hervorgehende Energieeffizienzklasse des Gebäudes").nullish(),
ausstellungsdatum: z.date().describe("Datum an dem der Aussteller den Ausweis ausgestellt hat").nullish(),
boxpruefung: z.boolean().nullish(),
anzahl_vollgeschosse: z.number().int().nullish(),
geschosshoehe: z.number().nullish(),
anzahl_gauben: z.number().int().nullish(),
breite_gauben: z.number().nullish(),
masse_a: z.number().nullish(),
masse_b: z.number().nullish(),
masse_c: z.number().nullish(),
masse_d: z.number().nullish(),
masse_e: z.number().nullish(),
masse_f: z.number().nullish(),
fensterflaeche_so_sw: z.number().nullish(),
fensterflaeche_nw_no: z.number().nullish(),
aussenwandflaeche_unbeheizt: z.number().nullish(),
dachflaeche: z.number().nullish(),
deckenflaeche: z.number().nullish(),
dach_u_wert: z.number().nullish(),
decke_u_wert: z.number().nullish(),
aussenwand_flaeche: z.number().nullish(),
aussenwand_u_wert: z.number().nullish(),
fussboden_flaeche: z.number().nullish(),
fussboden_u_wert: z.number().nullish(),
volumen: z.number().nullish(),
dicht: z.boolean().nullish(),
fenster_flaeche_1: z.number().nullish(),
fenster_art_1: z.number().nullish(),
fenster_flaeche_2: z.number().nullish(),
fenster_art_2: z.number().nullish(),
dachfenster_flaeche: z.number().nullish(),
dachfenster_art: z.number().nullish(),
haustuer_flaeche: z.number().nullish(),
haustuer_art: z.number().nullish(),
dach_bauart: z.string().nullish(),
decke_bauart: z.string().nullish(),
dach_daemmung: z.number().nullish(),
decke_daemmung: z.number().nullish(),
aussenwand_daemmung: z.number().nullish(),
boden_daemmung: z.number().nullish(),
aussenwand_bauart: z.string().nullish(),
boden_bauart: z.string().nullish(),
warmwasser_verteilung: z.string().nullish(),
warmwasser_speicherung: z.string().nullish(),
warmwasser_erzeugung: z.string().nullish(),
heizung_zentral: z.boolean().nullish(),
heizung_verteilung: z.string().nullish(),
heizung_speicherung: z.string().nullish(),
waerme_erzeugung_heizung: z.string().nullish(),
anteil_zusatzheizung: z.number().nullish(),
kollektor_flaeche: z.number().nullish(),
ausgestellt: z.boolean().nullish(),
storniert: z.boolean().describe("Falls der Ausweis storniert wurde, sollte dieser Wert auf true stehen").nullish(),
bestellt: z.boolean().describe("Falls der Ausweis bestellt wurde, sollte dieser Wert auf true stehen").nullish(),
zurueckgestellt: z.boolean().describe("Falls der Ausweis vom Aussteller zurückgestellt wurde, sollte dieser Wert auf true stehen").nullish(),
prueftext: z.string().describe("Durch den Kunden hinzugefügte Anmerkung zur Vorabprüfung").nullish(),
beschreibung: z.string().nullish(),
kontrolldatei_angefragt: z.boolean().describe("Ob bei der Anfrage der Registriernummer eine Kontrolldatei angefragt wurde").nullish(),
created_at: z.date(),
updated_at: z.date(),
pruefpunkt_heizungsalter: z.boolean().nullish(),
pruefpunkt_verbrauch_niedrig: z.boolean().nullish(),
pruefpunkt_verbrauch_hoch: z.boolean().nullish(),
pruefpunkt_verbrauch_null: z.boolean().nullish(),
pruefpunkt_verbrauch_abweichung: z.boolean().nullish(),
pruefpunkt_wohnflaeche_einheiten: z.boolean().nullish(),
pruefpunkt_strom_null: z.boolean().nullish(),
pruefpunkt_strom_abweichung: z.boolean().nullish(),
pruefpunkt_plz: z.boolean().nullish(),
pruefpunkt_heizungsanlage: z.boolean().nullish(),
pruefpunkt_anteil_warmwasser: z.boolean().nullish(),
pruefpunkt_wohnflaeche: z.boolean().nullish(),
pruefpunkt_geometrie: z.boolean().nullish(),
pruefpunkt_fenster: z.boolean().nullish(),
ausweistyp: z.nativeEnum(AusweisTyp),
ausweisart: z.nativeEnum(Ausweisart),
rechnung_id: z.string().nullish(),
aufnahme_id: z.string().describe("ID der korrespondierenden Gebäudeaufnahme"),
})