Bestellung
This commit is contained in:
@@ -9,6 +9,7 @@ import {
|
||||
} from "#lib/middleware/authorization.js";
|
||||
import { UUidWithPrefix } from "#components/Ausweis/types.js";
|
||||
import { getPrismaAusweisAdapter } from "#lib/server/ausweis.js";
|
||||
import { AusweisTyp, PRICES, SERVICES } from "#lib/constants.js";
|
||||
|
||||
export const PUT = defineApiRoute({
|
||||
meta: {
|
||||
@@ -22,6 +23,7 @@ export const PUT = defineApiRoute({
|
||||
.object({
|
||||
ausweisart: z.nativeEnum(Enums.Ausweisart),
|
||||
ausweis_uid: UUidWithPrefix,
|
||||
ausweis_typ: z.nativeEnum(AusweisTyp)
|
||||
})
|
||||
.merge(
|
||||
RechnungSchema.omit({
|
||||
@@ -47,9 +49,13 @@ export const PUT = defineApiRoute({
|
||||
// Wir erstellen eine Mollie Payment Referenz und eine neue Rechnung in unserer Datenbank, daraufhin geben
|
||||
// wir eine Checkout URL zurück auf die der Nutzer weitergeleitet werden kann.
|
||||
|
||||
const { ausweis_uid, ausweisart, bezahlmethode, services } = input;
|
||||
const { ausweis_uid, ausweisart, bezahlmethode, services, ausweis_typ } = input;
|
||||
let betrag = PRICES[ausweisart][ausweis_typ]
|
||||
|
||||
// TODO: Services Implementieren
|
||||
const servicePriceList = SERVICES[ausweisart]
|
||||
for (const service of input.services) {
|
||||
betrag += servicePriceList[service]
|
||||
}
|
||||
|
||||
const adapter = getPrismaAusweisAdapter(ausweis_uid);
|
||||
|
||||
@@ -84,7 +90,7 @@ export const PUT = defineApiRoute({
|
||||
const rechnung = await prisma.rechnung.create({
|
||||
data: {
|
||||
benutzer_id: user.id,
|
||||
betrag: 0,
|
||||
betrag,
|
||||
bezahlmethode: bezahlmethode,
|
||||
status: Enums.Rechnungsstatus.open,
|
||||
aufnahme_id: ausweis.aufnahme_id,
|
||||
|
||||
Reference in New Issue
Block a user