Verbrauchsausweis Gewerbe
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import { z } from "zod";
|
||||
import { Enums, RechnungSchema, prisma } from "#lib/server/prisma";
|
||||
import { Enums, prisma } from "#lib/server/prisma.js";
|
||||
import { mollieClient } from "#lib/mollie.js";
|
||||
import { PaymentMethod } from "@mollie/api-client";
|
||||
import { APIError, defineApiRoute } from "astro-typesafe-api/server";
|
||||
@@ -10,6 +10,8 @@ import {
|
||||
import { UUidWithPrefix } from "#components/Ausweis/types.js";
|
||||
import { getPrismaAusweisAdapter } from "#lib/server/ausweis.js";
|
||||
import { PRICES, SERVICES } from "#lib/constants.js";
|
||||
import { Rechnung } from "#lib/client/prisma.js";
|
||||
import { RechnungSchema } from "src/generated/zod/rechnung.js";
|
||||
|
||||
export const PUT = defineApiRoute({
|
||||
meta: {
|
||||
@@ -28,7 +30,6 @@ export const PUT = defineApiRoute({
|
||||
.merge(
|
||||
RechnungSchema.omit({
|
||||
benutzer_id: true,
|
||||
aufnahme_id: true,
|
||||
bezahlt_am: true,
|
||||
erstellt_am: true,
|
||||
id: true,
|
||||
@@ -86,27 +87,57 @@ export const PUT = defineApiRoute({
|
||||
});
|
||||
}
|
||||
|
||||
// TODO
|
||||
// Wir erstellen eine neue Rechnung in unserer Datenbank.
|
||||
const rechnung = await prisma.rechnung.create({
|
||||
data: {
|
||||
benutzer_id: user.id,
|
||||
betrag,
|
||||
bezahlmethode: bezahlmethode,
|
||||
status: Enums.Rechnungsstatus.open,
|
||||
verbrauchsausweis_wohnen: {
|
||||
connect: {
|
||||
uid: ausweis_uid
|
||||
}
|
||||
},
|
||||
services,
|
||||
ausweistyp
|
||||
},
|
||||
select: {
|
||||
uid: true,
|
||||
betrag: true,
|
||||
},
|
||||
});
|
||||
let rechnung: Rechnung | null = null;
|
||||
if (ausweisart === Enums.Ausweisart.VerbrauchsausweisWohnen) {
|
||||
rechnung = await prisma.rechnung.create({
|
||||
data: {
|
||||
benutzer_id: user.id,
|
||||
betrag,
|
||||
bezahlmethode: bezahlmethode,
|
||||
status: Enums.Rechnungsstatus.open,
|
||||
verbrauchsausweis_wohnen: {
|
||||
connect: {
|
||||
uid: ausweis_uid
|
||||
}
|
||||
},
|
||||
services,
|
||||
ausweistyp
|
||||
}
|
||||
});
|
||||
} else if (ausweisart === Enums.Ausweisart.VerbrauchsausweisGewerbe) {
|
||||
rechnung = await prisma.rechnung.create({
|
||||
data: {
|
||||
benutzer_id: user.id,
|
||||
betrag,
|
||||
bezahlmethode: bezahlmethode,
|
||||
status: Enums.Rechnungsstatus.open,
|
||||
verbrauchsausweis_gewerbe: {
|
||||
connect: {
|
||||
uid: ausweis_uid
|
||||
}
|
||||
},
|
||||
services,
|
||||
ausweistyp
|
||||
}
|
||||
});
|
||||
} else if (ausweisart === Enums.Ausweisart.BedarfsausweisWohnen) {
|
||||
rechnung = await prisma.rechnung.create({
|
||||
data: {
|
||||
benutzer_id: user.id,
|
||||
betrag,
|
||||
bezahlmethode: bezahlmethode,
|
||||
status: Enums.Rechnungsstatus.open,
|
||||
bedarfsausweis_wohnen: {
|
||||
connect: {
|
||||
uid: ausweis_uid
|
||||
}
|
||||
},
|
||||
services,
|
||||
ausweistyp
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (!rechnung) {
|
||||
throw new APIError({
|
||||
|
||||
Reference in New Issue
Block a user