Files
online-energieausweis/src/generated/zod/bedarfsausweiswohnen.ts
2025-03-30 20:18:30 -03:00

78 lines
3.6 KiB
TypeScript

import * as z from "zod"
import { Ausstellgrund, AusweisTyp } 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(),
ausweistyp: z.nativeEnum(AusweisTyp),
rechnung_id: z.string().nullish(),
aufnahme_id: z.string().describe("ID der korrespondierenden Gebäudeaufnahme"),
})