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"), })