diff --git a/src/client/lib/ausweisSpeichern.ts b/src/client/lib/ausweisSpeichern.ts index b85c4d62..c7c58165 100644 --- a/src/client/lib/ausweisSpeichern.ts +++ b/src/client/lib/ausweisSpeichern.ts @@ -4,7 +4,7 @@ import { exclude } from "#lib/exclude.js"; import Cookies from "js-cookie"; import { API_ACCESS_TOKEN_COOKIE_NAME } from "#lib/constants.js"; import { AufnahmeClient, BedarfsausweisWohnenClient, BildClient, ObjektClient, UploadedGebaeudeBild, VerbrauchsausweisGewerbeClient, VerbrauchsausweisWohnenClient, } from "#components/Ausweis/types.js"; -import { Enums } from "#lib/client/prisma"; +import { Enums } from "#lib/client/prisma.js"; export async function ausweisSpeichern( ausweis: VerbrauchsausweisWohnenClient | VerbrauchsausweisGewerbeClient | BedarfsausweisWohnenClient, diff --git a/src/modules/KundendatenModule.svelte b/src/modules/KundendatenModule.svelte index 5ddee285..2663e6e9 100644 --- a/src/modules/KundendatenModule.svelte +++ b/src/modules/KundendatenModule.svelte @@ -14,7 +14,6 @@ BenutzerClient, BildClient, ObjektClient, - RechnungClient, UnterlageClient, VerbrauchsausweisWohnenClient, } from "#components/Ausweis/types.js"; @@ -160,19 +159,20 @@ loginOverlayHidden = true let result: Awaited> | null = null; - if (ausweisart === Enums.Ausweisart.GEGNachweisWohnen) { - result = await nachweisSpeichern(ausweis, objekt, aufnahme, bilder, unterlagen, ausweisart) - } else { - result = await ausweisSpeichern(ausweis, objekt, aufnahme, bilder, ausweisart) - } - if (result === null) { - addNotification({ - dismissable: true, - message: "Ups... Das hat nicht geklappt.", - subtext: "Der Nachweis konnte nicht gespeichert werden, bitte versuchen sie es erneut oder kontaktieren sie unseren Support." - }) - } + try { + if (ausweisart === Enums.Ausweisart.GEGNachweisWohnen) { + result = await nachweisSpeichern(ausweis, objekt, aufnahme, bilder, unterlagen, ausweisart) + } else { + result = await ausweisSpeichern(ausweis, objekt, aufnahme, bilder, ausweisart) + } + } catch(e) { + addNotification({ + dismissable: true, + message: "Ups... Das hat nicht geklappt.", + subtext: "Speichern ist fehlgeschlagen, bitte versuchen sie es erneut oder kontaktieren sie unseren Support." + }) + } try { const { uid } = await api.rechnung.anfordern.PUT.fetch( @@ -219,10 +219,18 @@ loginOverlayHidden = true let result: Awaited> | null = null; - if (ausweisart === Enums.Ausweisart.GEGNachweisWohnen || ausweisart === Enums.Ausweisart.GEGNachweisGewerbe || ausweisart === Enums.Ausweisart.GEGNachweisBedarfsausweis) { - result = await nachweisSpeichern(ausweis, objekt, aufnahme, bilder, unterlagen, ausweisart) - } else { - result = await ausweisSpeichern(ausweis, objekt, aufnahme, bilder, ausweisart) + try { + if (ausweisart === Enums.Ausweisart.GEGNachweisWohnen) { + result = await nachweisSpeichern(ausweis, objekt, aufnahme, bilder, unterlagen, ausweisart) + } else { + result = await ausweisSpeichern(ausweis, objekt, aufnahme, bilder, ausweisart) + } + } catch(e) { + addNotification({ + dismissable: true, + message: "Ups... Das hat nicht geklappt.", + subtext: "Speichern ist fehlgeschlagen, bitte versuchen sie es erneut oder kontaktieren sie unseren Support." + }) } if (result !== null) { @@ -232,7 +240,7 @@ `${location.pathname}?uid=${ausweis.uid}` ); - localStorage.clear() + localStorage.clear(); window.location.href = `/speichern-erfolgreich?uid=${ausweis.uid}` } } diff --git a/src/pages/api/aufnahme/[uid]/index.ts b/src/pages/api/aufnahme/[uid]/index.ts index e9469a61..b0ef0432 100644 --- a/src/pages/api/aufnahme/[uid]/index.ts +++ b/src/pages/api/aufnahme/[uid]/index.ts @@ -1,7 +1,7 @@ import { AufnahmeClient, OptionalNullable, UUidWithPrefix, ZodOverlap } from "#components/Ausweis/types.js"; import { exclude } from "#lib/exclude.js"; import { authorizationMiddleware } from "#lib/middleware/authorization.js"; -import { AufnahmeSchema, prisma } from "#lib/server/prisma"; +import { AufnahmeSchema, prisma } from "#lib/server/prisma.js"; import { APIError, defineApiRoute } from "astro-typesafe-api/server"; import { z } from "zod"; @@ -11,6 +11,7 @@ export const PATCH = defineApiRoute({ uid: true, benutzer_id: true, objekt_id: true, + erstellungsdatum: true }), output: z.void(), middleware: authorizationMiddleware, diff --git a/src/pages/api/objekt/[uid]/index.ts b/src/pages/api/objekt/[uid]/index.ts index f9ff21a6..f7787798 100644 --- a/src/pages/api/objekt/[uid]/index.ts +++ b/src/pages/api/objekt/[uid]/index.ts @@ -1,7 +1,7 @@ import { ObjektClient, OptionalNullable, ZodOverlap } from "#components/Ausweis/types.js"; import { exclude } from "#lib/exclude.js"; import { authorizationMiddleware } from "#lib/middleware/authorization.js"; -import { ObjektSchema, prisma } from "#lib/server/prisma"; +import { ObjektSchema, prisma } from "#lib/server/prisma.js"; import { APIError, defineApiRoute } from "astro-typesafe-api/server"; import { z } from "zod"; @@ -9,7 +9,8 @@ export const PATCH = defineApiRoute({ input: ObjektSchema.omit({ uid: true, id: true, - benutzer_id: true + benutzer_id: true, + erstellungsdatum: true }), output: z.void(), headers: { diff --git a/src/pages/api/verbrauchsausweis-wohnen/[uid].ts b/src/pages/api/verbrauchsausweis-wohnen/[uid].ts index e28bae07..338db999 100644 --- a/src/pages/api/verbrauchsausweis-wohnen/[uid].ts +++ b/src/pages/api/verbrauchsausweis-wohnen/[uid].ts @@ -1,7 +1,7 @@ import { OptionalNullable, UUidWithPrefix, VerbrauchsausweisWohnenClient, ZodOverlap } from "#components/Ausweis/types.js"; import { exclude } from "#lib/exclude.js"; import { authorizationHeaders, authorizationMiddleware } from "#lib/middleware/authorization.js"; -import { prisma, VerbrauchsausweisWohnenSchema } from "#lib/server/prisma"; +import { prisma, VerbrauchsausweisWohnenSchema } from "#lib/server/prisma.js"; import { APIError, defineApiRoute } from "astro-typesafe-api/server"; import { z } from "zod"; @@ -10,8 +10,10 @@ export const PATCH = defineApiRoute({ uid: true, id: true, benutzer_id: true, - aufnahme_id: true, - }), + aufnahme_id: true + }).merge(z.object({ + startdatum: z.coerce.date() + })), output: z.void(), headers: { "Authorization": z.string()