Node.js/Express-Server als Ersatz für Cloudflare Pages Functions + D1 (läuft auf eigenem Server statt Cloudflare)
Build & Deploy / deploy (push) Waiting to run
Build & Deploy / deploy (push) Waiting to run
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
/* =====================================================================
|
||||
routes/orders.js — POST /api/orders, legt eine Überweisungs-Bestellung (Vorkasse) an.
|
||||
1:1 portiert aus functions/api/orders.js. Lehnt zahlungsart:"paypal" bewusst ab (Betrugsschutz
|
||||
— PayPal-Bestellungen entstehen NUR über routes/paypal.js, nach echter Zahlungsprüfung).
|
||||
===================================================================== */
|
||||
|
||||
import { Router } from "express";
|
||||
import { erstelleBestellung } from "../lib/bestellung-erstellen.js";
|
||||
|
||||
export const ordersRouter = Router();
|
||||
|
||||
ordersRouter.post("/api/orders", async (req, res) => {
|
||||
const body = req.body || {};
|
||||
const zahlungsart = String(body.zahlungsart || "");
|
||||
|
||||
if (zahlungsart === "paypal") {
|
||||
return res.status(400).json({
|
||||
ok: false,
|
||||
error: "PayPal-Bestellungen laufen über den PayPal-Button im Checkout, nicht über diese Route.",
|
||||
});
|
||||
}
|
||||
if (zahlungsart !== "ueberweisung") {
|
||||
return res.status(400).json({ ok: false, error: "Ungültige oder nicht unterstützte Zahlungsart." });
|
||||
}
|
||||
|
||||
const ergebnis = await erstelleBestellung(body, { status: "zahlungOffen" });
|
||||
if (!ergebnis.ok) {
|
||||
return res.status(ergebnis.httpStatus || 500).json({ ok: false, error: ergebnis.error });
|
||||
}
|
||||
return res.status(201).json({ ok: true, id: ergebnis.id, bestellnummer: ergebnis.bestellnummer });
|
||||
});
|
||||
Reference in New Issue
Block a user