import { api } from "astro-typesafe-api/client"; import Cookies from "js-cookie"; import { API_ACCESS_TOKEN_COOKIE_NAME } from "#lib/constants.js"; import { AufnahmeClient, BedarfsausweisWohnenClient, BildClient, ObjektClient, VerbrauchsausweisGewerbeClient, VerbrauchsausweisWohnenClient, } from "#components/Ausweis/types.js"; import { BedarfsausweisWohnen, Enums, Unterlage, VerbrauchsausweisGewerbe, VerbrauchsausweisWohnen, } from "#lib/client/prisma.js"; import { tryCatch } from "#lib/tryCatch.js"; import { addNotification } from "@ibcornelsen/ui"; import { objektSpeichern, aufnahmeSpeichern } from "./speichern.js"; export async function verbrauchsausweisWohnenSpeichern( ausweis: VerbrauchsausweisWohnen, aufnahme_id: string ): Promise { if (ausweis.id) { await api["verbrauchsausweis-wohnen"]._id.PATCH.fetch( { ausweistyp: ausweis.ausweistyp, startdatum: ausweis.startdatum, alternative_heizung: ausweis.alternative_heizung, alternative_kuehlung: ausweis.alternative_kuehlung, alternative_lueftung: ausweis.alternative_lueftung, alternative_warmwasser: ausweis.alternative_warmwasser, anteil_warmwasser_1: ausweis.anteil_warmwasser_1, anteil_warmwasser_2: ausweis.anteil_warmwasser_2, ausgestellt: ausweis.ausgestellt, ausstellgrund: ausweis.ausstellgrund, ausstellungsdatum: ausweis.ausstellungsdatum, beschreibung: ausweis.beschreibung, bestellt: ausweis.bestellt, boxpruefung: ausweis.boxpruefung, brennstoff_1: ausweis.brennstoff_1, brennstoff_2: ausweis.brennstoff_2, einheit_1: ausweis.einheit_1, einheit_2: ausweis.einheit_2, energieeffizienzklasse: ausweis.energieeffizienzklasse, faktorKeller: ausweis.faktorKeller, kontrolldatei_angefragt: ausweis.kontrolldatei_angefragt, prueftext: ausweis.prueftext, registriernummer: ausweis.registriernummer, storniert: ausweis.storniert, verbrauch_1: ausweis.verbrauch_1, verbrauch_2: ausweis.verbrauch_2, verbrauch_3: ausweis.verbrauch_3, verbrauch_4: ausweis.verbrauch_4, verbrauch_5: ausweis.verbrauch_5, verbrauch_6: ausweis.verbrauch_6, warmwasser_anteil_bekannt: ausweis.warmwasser_anteil_bekannt, warmwasser_enthalten: ausweis.warmwasser_enthalten, zurueckgestellt: ausweis.zurueckgestellt, zusaetzliche_heizquelle: ausweis.zusaetzliche_heizquelle, pruefpunkt_anteil_warmwasser: ausweis.pruefpunkt_anteil_warmwasser, pruefpunkt_fenster: ausweis.pruefpunkt_fenster, pruefpunkt_geometrie: ausweis.pruefpunkt_geometrie, pruefpunkt_heizungsalter: ausweis.pruefpunkt_heizungsalter, pruefpunkt_heizungsanlage: ausweis.pruefpunkt_heizungsanlage, pruefpunkt_plz: ausweis.pruefpunkt_plz, pruefpunkt_strom_abweichung: ausweis.pruefpunkt_strom_abweichung, pruefpunkt_strom_null: ausweis.pruefpunkt_strom_null, pruefpunkt_verbrauch_abweichung: ausweis.pruefpunkt_verbrauch_abweichung, pruefpunkt_verbrauch_hoch: ausweis.pruefpunkt_verbrauch_hoch, pruefpunkt_verbrauch_niedrig: ausweis.pruefpunkt_verbrauch_niedrig, pruefpunkt_verbrauch_null: ausweis.pruefpunkt_verbrauch_null, pruefpunkt_wohnflaeche: ausweis.pruefpunkt_wohnflaeche, pruefpunkt_wohnflaeche_einheiten: ausweis.pruefpunkt_wohnflaeche_einheiten, }, { params: { id: ausweis.id, }, headers: { Authorization: `Bearer ${Cookies.get( API_ACCESS_TOKEN_COOKIE_NAME )}`, }, } ); return ausweis.id; } else { const { id } = await api["verbrauchsausweis-wohnen"].PUT.fetch( { ausweis: { ausweistyp: ausweis.ausweistyp, startdatum: ausweis.startdatum, alternative_heizung: ausweis.alternative_heizung, alternative_kuehlung: ausweis.alternative_kuehlung, alternative_lueftung: ausweis.alternative_lueftung, alternative_warmwasser: ausweis.alternative_warmwasser, anteil_warmwasser_1: ausweis.anteil_warmwasser_1, anteil_warmwasser_2: ausweis.anteil_warmwasser_2, ausgestellt: ausweis.ausgestellt, ausstellgrund: ausweis.ausstellgrund, ausstellungsdatum: ausweis.ausstellungsdatum, beschreibung: ausweis.beschreibung, bestellt: ausweis.bestellt, boxpruefung: ausweis.boxpruefung, brennstoff_1: ausweis.brennstoff_1, brennstoff_2: ausweis.brennstoff_2, einheit_1: ausweis.einheit_1, einheit_2: ausweis.einheit_2, energieeffizienzklasse: ausweis.energieeffizienzklasse, faktorKeller: ausweis.faktorKeller, kontrolldatei_angefragt: ausweis.kontrolldatei_angefragt, prueftext: ausweis.prueftext, registriernummer: ausweis.registriernummer, storniert: ausweis.storniert, verbrauch_1: ausweis.verbrauch_1, verbrauch_2: ausweis.verbrauch_2, verbrauch_3: ausweis.verbrauch_3, verbrauch_4: ausweis.verbrauch_4, verbrauch_5: ausweis.verbrauch_5, verbrauch_6: ausweis.verbrauch_6, warmwasser_anteil_bekannt: ausweis.warmwasser_anteil_bekannt, warmwasser_enthalten: ausweis.warmwasser_enthalten, zurueckgestellt: ausweis.zurueckgestellt, zusaetzliche_heizquelle: ausweis.zusaetzliche_heizquelle, pruefpunkt_anteil_warmwasser: ausweis.pruefpunkt_anteil_warmwasser, pruefpunkt_fenster: ausweis.pruefpunkt_fenster, pruefpunkt_geometrie: ausweis.pruefpunkt_geometrie, pruefpunkt_heizungsalter: ausweis.pruefpunkt_heizungsalter, pruefpunkt_heizungsanlage: ausweis.pruefpunkt_heizungsanlage, pruefpunkt_plz: ausweis.pruefpunkt_plz, pruefpunkt_strom_abweichung: ausweis.pruefpunkt_strom_abweichung, pruefpunkt_strom_null: ausweis.pruefpunkt_strom_null, pruefpunkt_verbrauch_abweichung: ausweis.pruefpunkt_verbrauch_abweichung, pruefpunkt_verbrauch_hoch: ausweis.pruefpunkt_verbrauch_hoch, pruefpunkt_verbrauch_niedrig: ausweis.pruefpunkt_verbrauch_niedrig, pruefpunkt_verbrauch_null: ausweis.pruefpunkt_verbrauch_null, pruefpunkt_wohnflaeche: ausweis.pruefpunkt_wohnflaeche, pruefpunkt_wohnflaeche_einheiten: ausweis.pruefpunkt_wohnflaeche_einheiten, }, aufnahme_id, }, { headers: { Authorization: `Bearer ${Cookies.get( API_ACCESS_TOKEN_COOKIE_NAME )}`, }, } ); return id; } } export async function verbrauchsausweisGewerbeSpeichern( ausweis: VerbrauchsausweisGewerbe, aufnahme_id: string ): Promise { if (ausweis.id) { await api["verbrauchsausweis-gewerbe"]._id.PATCH.fetch( { ausweistyp: ausweis.ausweistyp, startdatum: ausweis.startdatum, alternative_heizung: ausweis.alternative_heizung, alternative_kuehlung: ausweis.alternative_kuehlung, alternative_lueftung: ausweis.alternative_lueftung, alternative_warmwasser: ausweis.alternative_warmwasser, anteil_warmwasser_1: ausweis.anteil_warmwasser_1, anteil_warmwasser_2: ausweis.anteil_warmwasser_2, ausgestellt: ausweis.ausgestellt, ausstellgrund: ausweis.ausstellgrund, ausstellungsdatum: ausweis.ausstellungsdatum, beschreibung: ausweis.beschreibung, bestellt: ausweis.bestellt, boxpruefung: ausweis.boxpruefung, brennstoff_1: ausweis.brennstoff_1, brennstoff_2: ausweis.brennstoff_2, einheit_1: ausweis.einheit_1, einheit_2: ausweis.einheit_2, energieeffizienzklasse: ausweis.energieeffizienzklasse, kontrolldatei_angefragt: ausweis.kontrolldatei_angefragt, prueftext: ausweis.prueftext, registriernummer: ausweis.registriernummer, storniert: ausweis.storniert, verbrauch_1: ausweis.verbrauch_1, verbrauch_2: ausweis.verbrauch_2, verbrauch_3: ausweis.verbrauch_3, verbrauch_4: ausweis.verbrauch_4, verbrauch_5: ausweis.verbrauch_5, verbrauch_6: ausweis.verbrauch_6, warmwasser_anteil_bekannt: ausweis.warmwasser_anteil_bekannt, warmwasser_enthalten: ausweis.warmwasser_enthalten, zurueckgestellt: ausweis.zurueckgestellt, zusaetzliche_heizquelle: ausweis.zusaetzliche_heizquelle, anteil_kuehlung_1: ausweis.anteil_kuehlung_1, anteil_kuehlung_2: ausweis.anteil_kuehlung_2, keller_beheizt: ausweis.keller_beheizt, kuehlung_enthalten: ausweis.kuehlung_enthalten, rechnung_id: ausweis.rechnung_id, strom_1: ausweis.strom_1, strom_2: ausweis.strom_2, strom_3: ausweis.strom_3, stromverbrauch_enthaelt_beleuchtung: ausweis.stromverbrauch_enthaelt_beleuchtung, stromverbrauch_enthaelt_heizung: ausweis.stromverbrauch_enthaelt_heizung, stromverbrauch_enthaelt_kuehlung: ausweis.stromverbrauch_enthaelt_kuehlung, stromverbrauch_enthaelt_lueftung: ausweis.stromverbrauch_enthaelt_lueftung, stromverbrauch_enthaelt_sonstige: ausweis.stromverbrauch_enthaelt_sonstige, stromverbrauch_enthaelt_warmwasser: ausweis.stromverbrauch_enthaelt_warmwasser, pruefpunkt_anteil_warmwasser: ausweis.pruefpunkt_anteil_warmwasser, pruefpunkt_fenster: ausweis.pruefpunkt_fenster, pruefpunkt_geometrie: ausweis.pruefpunkt_geometrie, pruefpunkt_heizungsalter: ausweis.pruefpunkt_heizungsalter, pruefpunkt_heizungsanlage: ausweis.pruefpunkt_heizungsanlage, pruefpunkt_plz: ausweis.pruefpunkt_plz, pruefpunkt_strom_abweichung: ausweis.pruefpunkt_strom_abweichung, pruefpunkt_strom_null: ausweis.pruefpunkt_strom_null, pruefpunkt_verbrauch_abweichung: ausweis.pruefpunkt_verbrauch_abweichung, pruefpunkt_verbrauch_hoch: ausweis.pruefpunkt_verbrauch_hoch, pruefpunkt_verbrauch_niedrig: ausweis.pruefpunkt_verbrauch_niedrig, pruefpunkt_verbrauch_null: ausweis.pruefpunkt_verbrauch_null, pruefpunkt_wohnflaeche: ausweis.pruefpunkt_wohnflaeche, pruefpunkt_wohnflaeche_einheiten: ausweis.pruefpunkt_wohnflaeche_einheiten, }, { params: { id: ausweis.id, }, headers: { Authorization: `Bearer ${Cookies.get( API_ACCESS_TOKEN_COOKIE_NAME )}`, }, } ); return ausweis.id; } else { const { id } = await api["verbrauchsausweis-gewerbe"].PUT.fetch( { ausweis: { ausweistyp: ausweis.ausweistyp, startdatum: ausweis.startdatum, alternative_heizung: ausweis.alternative_heizung, alternative_kuehlung: ausweis.alternative_kuehlung, alternative_lueftung: ausweis.alternative_lueftung, alternative_warmwasser: ausweis.alternative_warmwasser, anteil_warmwasser_1: ausweis.anteil_warmwasser_1, anteil_warmwasser_2: ausweis.anteil_warmwasser_2, ausgestellt: ausweis.ausgestellt, ausstellgrund: ausweis.ausstellgrund, ausstellungsdatum: ausweis.ausstellungsdatum, beschreibung: ausweis.beschreibung, bestellt: ausweis.bestellt, boxpruefung: ausweis.boxpruefung, brennstoff_1: ausweis.brennstoff_1, brennstoff_2: ausweis.brennstoff_2, einheit_1: ausweis.einheit_1, einheit_2: ausweis.einheit_2, energieeffizienzklasse: ausweis.energieeffizienzklasse, kontrolldatei_angefragt: ausweis.kontrolldatei_angefragt, prueftext: ausweis.prueftext, registriernummer: ausweis.registriernummer, storniert: ausweis.storniert, verbrauch_1: ausweis.verbrauch_1, verbrauch_2: ausweis.verbrauch_2, verbrauch_3: ausweis.verbrauch_3, verbrauch_4: ausweis.verbrauch_4, verbrauch_5: ausweis.verbrauch_5, verbrauch_6: ausweis.verbrauch_6, warmwasser_anteil_bekannt: ausweis.warmwasser_anteil_bekannt, warmwasser_enthalten: ausweis.warmwasser_enthalten, zurueckgestellt: ausweis.zurueckgestellt, zusaetzliche_heizquelle: ausweis.zusaetzliche_heizquelle, anteil_kuehlung_1: ausweis.anteil_kuehlung_1, anteil_kuehlung_2: ausweis.anteil_kuehlung_2, keller_beheizt: ausweis.keller_beheizt, kuehlung_enthalten: ausweis.kuehlung_enthalten, strom_1: ausweis.strom_1, strom_2: ausweis.strom_2, strom_3: ausweis.strom_3, stromverbrauch_enthaelt_beleuchtung: ausweis.stromverbrauch_enthaelt_beleuchtung, stromverbrauch_enthaelt_heizung: ausweis.stromverbrauch_enthaelt_heizung, stromverbrauch_enthaelt_kuehlung: ausweis.stromverbrauch_enthaelt_kuehlung, stromverbrauch_enthaelt_lueftung: ausweis.stromverbrauch_enthaelt_lueftung, stromverbrauch_enthaelt_sonstige: ausweis.stromverbrauch_enthaelt_sonstige, stromverbrauch_enthaelt_warmwasser: ausweis.stromverbrauch_enthaelt_warmwasser, pruefpunkt_anteil_warmwasser: ausweis.pruefpunkt_anteil_warmwasser, pruefpunkt_fenster: ausweis.pruefpunkt_fenster, pruefpunkt_geometrie: ausweis.pruefpunkt_geometrie, pruefpunkt_heizungsalter: ausweis.pruefpunkt_heizungsalter, pruefpunkt_heizungsanlage: ausweis.pruefpunkt_heizungsanlage, pruefpunkt_plz: ausweis.pruefpunkt_plz, pruefpunkt_strom_abweichung: ausweis.pruefpunkt_strom_abweichung, pruefpunkt_strom_null: ausweis.pruefpunkt_strom_null, pruefpunkt_verbrauch_abweichung: ausweis.pruefpunkt_verbrauch_abweichung, pruefpunkt_verbrauch_hoch: ausweis.pruefpunkt_verbrauch_hoch, pruefpunkt_verbrauch_niedrig: ausweis.pruefpunkt_verbrauch_niedrig, pruefpunkt_verbrauch_null: ausweis.pruefpunkt_verbrauch_null, pruefpunkt_wohnflaeche: ausweis.pruefpunkt_wohnflaeche, pruefpunkt_wohnflaeche_einheiten: ausweis.pruefpunkt_wohnflaeche_einheiten, }, aufnahme_id, }, { headers: { Authorization: `Bearer ${Cookies.get( API_ACCESS_TOKEN_COOKIE_NAME )}`, }, } ); return id; } } export async function bedarfsausweisWohnenSpeichern( ausweis: BedarfsausweisWohnen, aufnahme_id: string ): Promise { if (ausweis.id) { await api["bedarfsausweis-wohnen"]._id.PATCH.fetch( { ausweistyp: ausweis.ausweistyp, alternative_heizung: ausweis.alternative_heizung, alternative_kuehlung: ausweis.alternative_kuehlung, alternative_lueftung: ausweis.alternative_lueftung, alternative_warmwasser: ausweis.alternative_warmwasser, ausstellgrund: ausweis.ausstellgrund, ausstellungsdatum: ausweis.ausstellungsdatum, beschreibung: ausweis.beschreibung, boxpruefung: ausweis.boxpruefung, energieeffizienzklasse: ausweis.energieeffizienzklasse, kontrolldatei_angefragt: ausweis.kontrolldatei_angefragt, prueftext: ausweis.prueftext, registriernummer: ausweis.registriernummer, anteil_zusatzheizung: ausweis.anteil_zusatzheizung, anzahl_gauben: ausweis.anzahl_gauben, anzahl_vollgeschosse: ausweis.anzahl_vollgeschosse, aussenwand_bauart: ausweis.aussenwand_bauart, aussenwand_daemmung: ausweis.aussenwand_daemmung, aussenwand_flaeche: ausweis.aussenwand_flaeche, aussenwand_u_wert: ausweis.aussenwand_u_wert, aussenwandflaeche_unbeheizt: ausweis.aussenwandflaeche_unbeheizt, boden_bauart: ausweis.boden_bauart, boden_daemmung: ausweis.boden_daemmung, breite_gauben: ausweis.breite_gauben, dach_bauart: ausweis.dach_bauart, dach_daemmung: ausweis.dach_daemmung, dach_u_wert: ausweis.dach_u_wert, dachfenster_art: ausweis.dachfenster_art, dachfenster_flaeche: ausweis.dachfenster_flaeche, dachflaeche: ausweis.dachflaeche, decke_bauart: ausweis.decke_bauart, decke_daemmung: ausweis.decke_daemmung, decke_u_wert: ausweis.decke_u_wert, deckenflaeche: ausweis.deckenflaeche, dicht: ausweis.dicht, fenster_art_1: ausweis.fenster_art_1, fenster_art_2: ausweis.fenster_art_2, fenster_flaeche_1: ausweis.fenster_flaeche_1, fenster_flaeche_2: ausweis.fenster_flaeche_2, fensterflaeche_nw_no: ausweis.fensterflaeche_nw_no, fensterflaeche_so_sw: ausweis.fensterflaeche_so_sw, fussboden_flaeche: ausweis.fussboden_flaeche, fussboden_u_wert: ausweis.fussboden_u_wert, geschosshoehe: ausweis.geschosshoehe, haustuer_art: ausweis.haustuer_art, haustuer_flaeche: ausweis.haustuer_flaeche, heizung_speicherung: ausweis.heizung_speicherung, heizung_verteilung: ausweis.heizung_verteilung, heizung_zentral: ausweis.heizung_zentral, kollektor_flaeche: ausweis.kollektor_flaeche, masse_a: ausweis.masse_a, masse_b: ausweis.masse_b, masse_c: ausweis.masse_c, masse_d: ausweis.masse_d, masse_e: ausweis.masse_e, masse_f: ausweis.masse_f, volumen: ausweis.volumen, waerme_erzeugung_heizung: ausweis.waerme_erzeugung_heizung, warmwasser_erzeugung: ausweis.warmwasser_erzeugung, warmwasser_speicherung: ausweis.warmwasser_speicherung, warmwasser_verteilung: ausweis.warmwasser_verteilung, pruefpunkt_anteil_warmwasser: ausweis.pruefpunkt_anteil_warmwasser, pruefpunkt_fenster: ausweis.pruefpunkt_fenster, pruefpunkt_geometrie: ausweis.pruefpunkt_geometrie, pruefpunkt_heizungsalter: ausweis.pruefpunkt_heizungsalter, pruefpunkt_heizungsanlage: ausweis.pruefpunkt_heizungsanlage, pruefpunkt_plz: ausweis.pruefpunkt_plz, pruefpunkt_strom_abweichung: ausweis.pruefpunkt_strom_abweichung, pruefpunkt_strom_null: ausweis.pruefpunkt_strom_null, pruefpunkt_verbrauch_abweichung: ausweis.pruefpunkt_verbrauch_abweichung, pruefpunkt_verbrauch_hoch: ausweis.pruefpunkt_verbrauch_hoch, pruefpunkt_verbrauch_niedrig: ausweis.pruefpunkt_verbrauch_niedrig, pruefpunkt_verbrauch_null: ausweis.pruefpunkt_verbrauch_null, pruefpunkt_wohnflaeche: ausweis.pruefpunkt_wohnflaeche, pruefpunkt_wohnflaeche_einheiten: ausweis.pruefpunkt_wohnflaeche_einheiten, }, { params: { id: ausweis.id, }, headers: { Authorization: `Bearer ${Cookies.get( API_ACCESS_TOKEN_COOKIE_NAME )}`, }, } ); return ausweis.id; } else { const id = await api["bedarfsausweis-wohnen"].PUT.fetch( { ausweis: { ausweistyp: ausweis.ausweistyp, alternative_heizung: ausweis.alternative_heizung, alternative_kuehlung: ausweis.alternative_kuehlung, alternative_lueftung: ausweis.alternative_lueftung, alternative_warmwasser: ausweis.alternative_warmwasser, ausstellgrund: ausweis.ausstellgrund, ausstellungsdatum: ausweis.ausstellungsdatum, beschreibung: ausweis.beschreibung, boxpruefung: ausweis.boxpruefung, energieeffizienzklasse: ausweis.energieeffizienzklasse, kontrolldatei_angefragt: ausweis.kontrolldatei_angefragt, prueftext: ausweis.prueftext, registriernummer: ausweis.registriernummer, anteil_zusatzheizung: ausweis.anteil_zusatzheizung, anzahl_gauben: ausweis.anzahl_gauben, anzahl_vollgeschosse: ausweis.anzahl_vollgeschosse, aussenwand_bauart: ausweis.aussenwand_bauart, aussenwand_daemmung: ausweis.aussenwand_daemmung, aussenwand_flaeche: ausweis.aussenwand_flaeche, aussenwand_u_wert: ausweis.aussenwand_u_wert, aussenwandflaeche_unbeheizt: ausweis.aussenwandflaeche_unbeheizt, boden_bauart: ausweis.boden_bauart, boden_daemmung: ausweis.boden_daemmung, breite_gauben: ausweis.breite_gauben, dach_bauart: ausweis.dach_bauart, dach_daemmung: ausweis.dach_daemmung, dach_u_wert: ausweis.dach_u_wert, dachfenster_art: ausweis.dachfenster_art, dachfenster_flaeche: ausweis.dachfenster_flaeche, dachflaeche: ausweis.dachflaeche, decke_bauart: ausweis.decke_bauart, decke_daemmung: ausweis.decke_daemmung, decke_u_wert: ausweis.decke_u_wert, deckenflaeche: ausweis.deckenflaeche, dicht: ausweis.dicht, fenster_art_1: ausweis.fenster_art_1, fenster_art_2: ausweis.fenster_art_2, fenster_flaeche_1: ausweis.fenster_flaeche_1, fenster_flaeche_2: ausweis.fenster_flaeche_2, fensterflaeche_nw_no: ausweis.fensterflaeche_nw_no, fensterflaeche_so_sw: ausweis.fensterflaeche_so_sw, fussboden_flaeche: ausweis.fussboden_flaeche, fussboden_u_wert: ausweis.fussboden_u_wert, geschosshoehe: ausweis.geschosshoehe, haustuer_art: ausweis.haustuer_art, haustuer_flaeche: ausweis.haustuer_flaeche, heizung_speicherung: ausweis.heizung_speicherung, heizung_verteilung: ausweis.heizung_verteilung, heizung_zentral: ausweis.heizung_zentral, kollektor_flaeche: ausweis.kollektor_flaeche, masse_a: ausweis.masse_a, masse_b: ausweis.masse_b, masse_c: ausweis.masse_c, masse_d: ausweis.masse_d, masse_e: ausweis.masse_e, masse_f: ausweis.masse_f, volumen: ausweis.volumen, waerme_erzeugung_heizung: ausweis.waerme_erzeugung_heizung, warmwasser_erzeugung: ausweis.warmwasser_erzeugung, warmwasser_speicherung: ausweis.warmwasser_speicherung, warmwasser_verteilung: ausweis.warmwasser_verteilung, pruefpunkt_anteil_warmwasser: ausweis.pruefpunkt_anteil_warmwasser, pruefpunkt_fenster: ausweis.pruefpunkt_fenster, pruefpunkt_geometrie: ausweis.pruefpunkt_geometrie, pruefpunkt_heizungsalter: ausweis.pruefpunkt_heizungsalter, pruefpunkt_heizungsanlage: ausweis.pruefpunkt_heizungsanlage, pruefpunkt_plz: ausweis.pruefpunkt_plz, pruefpunkt_strom_abweichung: ausweis.pruefpunkt_strom_abweichung, pruefpunkt_strom_null: ausweis.pruefpunkt_strom_null, pruefpunkt_verbrauch_abweichung: ausweis.pruefpunkt_verbrauch_abweichung, pruefpunkt_verbrauch_hoch: ausweis.pruefpunkt_verbrauch_hoch, pruefpunkt_verbrauch_niedrig: ausweis.pruefpunkt_verbrauch_niedrig, pruefpunkt_verbrauch_null: ausweis.pruefpunkt_verbrauch_null, pruefpunkt_wohnflaeche: ausweis.pruefpunkt_wohnflaeche, pruefpunkt_wohnflaeche_einheiten: ausweis.pruefpunkt_wohnflaeche_einheiten, }, aufnahme_id, }, { headers: { Authorization: `Bearer ${Cookies.get( API_ACCESS_TOKEN_COOKIE_NAME )}`, }, } ); return id; } } export async function ausweisSpeichern( ausweis: | VerbrauchsausweisWohnenClient | VerbrauchsausweisGewerbeClient | BedarfsausweisWohnenClient, objekt: ObjektClient, aufnahme: AufnahmeClient, bilder: BildClient[], unterlagen: Unterlage[], ausweisart: Enums.Ausweisart ) { const [objekt_id, objekt_error] = await tryCatch(objektSpeichern(objekt)); if (objekt_error) { addNotification({ message: "Das hat nicht geklappt.", subtext: "Beim Speichern des Objektes ist ein Fehler aufgetreten, bitte versuchen sie es erneut.", }); return; } objekt.id = objekt_id; let [aufnahme_id, aufnahme_error] = await tryCatch( aufnahmeSpeichern(aufnahme, objekt_id) ); if (aufnahme_error) { addNotification({ message: "Das hat nicht geklappt.", subtext: "Beim Speichern der Objektaufnahme ist ein Fehler aufgetreten, bitte versuchen sie es erneut.", }); return; } aufnahme.id = aufnahme_id as string; if (ausweisart == Enums.Ausweisart.VerbrauchsausweisWohnen) { const id = await verbrauchsausweisWohnenSpeichern( ausweis as VerbrauchsausweisWohnen, aufnahme_id ); ausweis.id = id; } else if (ausweisart == Enums.Ausweisart.VerbrauchsausweisGewerbe) { const id = await verbrauchsausweisGewerbeSpeichern( ausweis as VerbrauchsausweisGewerbe, aufnahme_id ); ausweis.id = id; } else if (ausweisart == Enums.Ausweisart.BedarfsausweisWohnen) { const id = await bedarfsausweisWohnenSpeichern( ausweis as BedarfsausweisWohnen, aufnahme_id ); ausweis.id = id; } await api.aufnahme._id.bilder.PUT.fetch( bilder.map((bild) => bild.id), { params: { id: aufnahme.id, }, headers: { Authorization: `Bearer ${Cookies.get( API_ACCESS_TOKEN_COOKIE_NAME )}`, }, } ); if (ausweisart === Enums.Ausweisart.BedarfsausweisWohnen) { await api.aufnahme._id.unterlagen.PUT.fetch( unterlagen.map((unterlage) => unterlage.id), { params: { id: aufnahme.id, }, headers: { Authorization: `Bearer ${Cookies.get( API_ACCESS_TOKEN_COOKIE_NAME )}`, }, } ); } return { ausweis_id: ausweis.id, aufnahme_id: aufnahme.id, objekt_id: objekt.id, }; }