"Konnte die Anfrage nicht lesen."], 400); } try { switch ($action) { case "save": $anzahl = preiseSpeichern($body["reihe"] ?? "", $body["zeilen"] ?? []); // Die gespeicherte Fassung zurueckgeben: die Maske zeigt danach // die abgeleiteten Enddaten, nicht die eingetippten. jsonAntwort([ "gespeichert" => $anzahl, "zeilen" => preiseLaden($body["reihe"]), ]); default: jsonAntwort(["error" => "Unbekannte Aktion."], 400); } } catch (InvalidArgumentException $e) { jsonAntwort(["error" => $e->getMessage()], 400); } catch (Throwable $e) { jsonAntwort(["error" => "Speichern fehlgeschlagen: " . $e->getMessage()], 500); } } if ($action === "list") { try { jsonAntwort(["zeilen" => preiseLaden($_GET["reihe"] ?? "")]); } catch (InvalidArgumentException $e) { jsonAntwort(["error" => $e->getMessage()], 400); } catch (Throwable $e) { jsonAntwort(["error" => "Laden fehlgeschlagen: " . $e->getMessage()], 500); } } jsonAntwort(["error" => "Unbekannte Aktion."], 400);