Database imports gefixt + Ausweis speichern verbessert
This commit is contained in:
@@ -14,49 +14,43 @@
|
||||
import { AuditType, hidden } from "#components/Verbrauchsausweis/audits/hidden";
|
||||
import { auditBedarfsausweisBenoetigt } from "#components/Verbrauchsausweis/audits/BedarfsausweisBenoetigt";
|
||||
import { auditVerbrauchAbweichung } from "#components/Verbrauchsausweis/audits/VerbrauchAbweichung";
|
||||
import { Enums, GebaeudeStammdaten, VerbrauchsausweisWohnen } from "@ibcornelsen/database";
|
||||
import type { GebaeudeStammdaten, VerbrauchsausweisWohnen } from "@ibcornelsen/database/client";
|
||||
import { Enums } from "@ibcornelsen/database/client"
|
||||
import { client } from "src/trpc";
|
||||
import Cookies from "js-cookie";
|
||||
import { API_ACCESS_TOKEN_COOKIE_NAME } from "#lib/constants";
|
||||
import Overlay from "#components/Overlay.svelte";
|
||||
import EmbeddedAuthFlowModule from "#modules/EmbeddedAuthFlowModule.svelte";
|
||||
import AusweisGespeichertModule from "./AusweisGespeichertModule.svelte";
|
||||
import { validateAccessToken } from "#lib/validateAccessToken";
|
||||
|
||||
export let uid: string | null = null;
|
||||
export let gebaeude: GebaeudeStammdaten = {} as GebaeudeStammdaten;
|
||||
export let ausweis: VerbrauchsausweisWohnen = {
|
||||
ausweisart: Enums.Ausweisart.VerbrauchsausweisWohnen
|
||||
} as VerbrauchsausweisWohnen;
|
||||
export let showLoginPage: boolean = false;
|
||||
|
||||
async function spaeterWeitermachen() {
|
||||
|
||||
// Um einen Ausweis zu speichern müssen wir eingeloggt sein, andernfalls wird die API den call ablehnen.
|
||||
// Wir prüfen also ob wir eingeloggt sind und leiten den Nutzer ggf. auf die Login Seite weiter.
|
||||
if (!Cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)) {
|
||||
if (!await validateAccessToken()) {
|
||||
loginOverlayHidden = false;
|
||||
showLoginPage = true;
|
||||
|
||||
const getEvent = (event: MessageEvent) => {
|
||||
if (event.data == "AUTHORIZED") {
|
||||
spaeterWeitermachen();
|
||||
window.removeEventListener("message", getEvent)
|
||||
loginOverlayHidden = true;
|
||||
}
|
||||
}
|
||||
window.addEventListener("message", getEvent)
|
||||
return
|
||||
}
|
||||
|
||||
loginOverlayHidden = true;
|
||||
|
||||
if (uid) {
|
||||
// Anscheinend wurde der Ausweis bereits erstellt und hat eine UID.
|
||||
// Jetzt müssen wir ihn nun nur noch abspeichern.
|
||||
try {
|
||||
await client.v1.verbrauchsausweisWohnen[2016].speichern.mutate({
|
||||
...ausweis,
|
||||
gebaeude_stammdaten: gebaeude,
|
||||
ausweis,
|
||||
gebaeude,
|
||||
uid
|
||||
})
|
||||
|
||||
window.location.href = `/ausweis-gespeichert?uid=${uid}`;
|
||||
speichernOverlayHidden = false;
|
||||
window.history.pushState({}, "", `/verbrauchsausweis?uid=${uid}`);
|
||||
} catch (e) {
|
||||
addNotification({
|
||||
dismissable: false,
|
||||
@@ -69,11 +63,13 @@
|
||||
} else {
|
||||
// Wir speichern den Ausweis ab und leiten auf die "ausweis-gespeichert" Seite weiter.
|
||||
try {
|
||||
const { uid } = await client.v1.verbrauchsausweisWohnen[2016].erstellen.mutate({
|
||||
...ausweis,
|
||||
gebaeude_stammdaten: gebaeude
|
||||
const response = await client.v1.verbrauchsausweisWohnen[2016].erstellen.mutate({
|
||||
ausweis,
|
||||
gebaeude
|
||||
})
|
||||
window.location.href = `/ausweis-gespeichert?uid=${uid}`;
|
||||
uid = response.uid
|
||||
window.history.pushState({}, "", `/verbrauchsausweis?uid=${uid}`);
|
||||
speichernOverlayHidden = false;
|
||||
} catch (e) {
|
||||
addNotification({
|
||||
dismissable: false,
|
||||
@@ -86,21 +82,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
if (uid) {
|
||||
// NOTE: Funktioniert nicht mehr
|
||||
async () => {
|
||||
const result = await fetch(`/api/verbrauchsausweis?uid=${uid}`, {
|
||||
method: "GET",
|
||||
});
|
||||
|
||||
const json = await result.json();
|
||||
|
||||
if (json.success) {
|
||||
gebaeude = json.data.gebaeude
|
||||
ausweis = json.data.ausweis
|
||||
}
|
||||
};
|
||||
}
|
||||
console.log(gebaeude, ausweis)
|
||||
|
||||
function automatischAusfüllen() {
|
||||
gebaeude.baujahr_gebaeude = [1962];
|
||||
@@ -139,13 +121,22 @@
|
||||
|
||||
let waitOverlayHidden = true;
|
||||
let loginOverlayHidden = true;
|
||||
let speichernOverlayHidden = true;
|
||||
</script>
|
||||
|
||||
<Overlay hidden={loginOverlayHidden}>
|
||||
<iframe src="/auth/embedded-login" frameborder="0" width="600" height="400"></iframe>
|
||||
<Overlay bind:hidden={loginOverlayHidden}>
|
||||
<div class="bg-white w-full max-w-screen-sm py-8">
|
||||
<EmbeddedAuthFlowModule onLogin={spaeterWeitermachen}></EmbeddedAuthFlowModule>
|
||||
</div>
|
||||
</Overlay>
|
||||
|
||||
<Overlay hidden={waitOverlayHidden}>
|
||||
<Overlay bind:hidden={speichernOverlayHidden}>
|
||||
<div class="bg-white w-full max-w-screen-sm py-8 px-8">
|
||||
<AusweisGespeichertModule {uid}></AusweisGespeichertModule>
|
||||
</div>
|
||||
</Overlay>
|
||||
|
||||
<Overlay bind:hidden={waitOverlayHidden}>
|
||||
<p class="text-white font-semibold text-4xl">Bitte warten sie, ihr Ausweis wird nun erstellt.</p>
|
||||
</Overlay>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user