Files
online-energieausweis/src/client/lib/ausweisSpeichern.ts
Moritz Utcke 8daee69576 Bugfixes
2025-04-09 11:46:27 -04:00

626 lines
24 KiB
TypeScript

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<string> {
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<string> {
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<string> {
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,
};
}