From f7cb0fda1e2cdf797eb64ae41535aec0cb410841 Mon Sep 17 00:00:00 2001
From: Holm_Sven <svenholmstudium@gmail.com>
Date: Sun, 9 Jun 2024 18:42:46 +0200
Subject: [PATCH] add 'ad-fruit, fruit-table' and 'list-fruits' .js

---
 dmwt_session10/src/pages/API/add-fruit.js   | 13 +++++++++++++
 dmwt_session10/src/pages/API/fruit-table.js | 19 +++++++++++++++++++
 dmwt_session10/src/pages/API/list-fruits.js | 10 ++++++++++
 3 files changed, 42 insertions(+)
 create mode 100644 dmwt_session10/src/pages/API/add-fruit.js
 create mode 100644 dmwt_session10/src/pages/API/fruit-table.js
 create mode 100644 dmwt_session10/src/pages/API/list-fruits.js

diff --git a/dmwt_session10/src/pages/API/add-fruit.js b/dmwt_session10/src/pages/API/add-fruit.js
new file mode 100644
index 0000000..6483780
--- /dev/null
+++ b/dmwt_session10/src/pages/API/add-fruit.js
@@ -0,0 +1,13 @@
+import { sql } from '@vercel/postgres';
+
+export default async function handler(request, response) {
+    try {
+        const { id, DeutscherName, LateinischerName, Farbe, Herkunft, Kalorien} = JSON.parse(request.body);
+        if (!id || !DeutscherName || !LateinischerName || !Farbe || !Herkunft || !Kalorien) throw new Error ('Irgendwas muss hier stehen') ;
+        await sql `INSERT INTO Obst (id, Deutscher Name ,Lateinischer Name, Farbe, Herkunft, Kalorien) VALUES (${id}, ${DeutscherName}, ${LateinischerName}, ${Farbe}, ${Herkunft}, ${Kalorien});`;
+        const Obst = await sql `SELECT * FROM Obst;`;
+        return response.status(200).json(Obst.rows);
+    }   catch (error) {
+        return response.status(500).json({ error });
+    }
+}
\ No newline at end of file
diff --git a/dmwt_session10/src/pages/API/fruit-table.js b/dmwt_session10/src/pages/API/fruit-table.js
new file mode 100644
index 0000000..d61bb8c
--- /dev/null
+++ b/dmwt_session10/src/pages/API/fruit-table.js
@@ -0,0 +1,19 @@
+import {sql} from '@vercel/postgres';
+export default async function handler(request, response) {
+    try {
+        const result =
+        await sql `CREATE TABLE Obst (
+
+            id int(11) NOT NULL,
+            Deutscher Name varchar(50) NOT NULL,
+            Lateinischer Name varchar(50) NOT NULL,
+            Farbe varchar(50) NOT NULL,
+            Herkunft varchar(200) NOT NULL,
+            Kalorien auf 100 Gramm int(11) NOT NULL
+        
+          );`;
+          return response.status(200).json({ result });
+          } catch (errror) {
+            return response.status(500).json({ error });
+          }
+        }
\ No newline at end of file
diff --git a/dmwt_session10/src/pages/API/list-fruits.js b/dmwt_session10/src/pages/API/list-fruits.js
new file mode 100644
index 0000000..89d8696
--- /dev/null
+++ b/dmwt_session10/src/pages/API/list-fruits.js
@@ -0,0 +1,10 @@
+import { sql } from '@vercel/postgres'
+
+export default async function handler(request, response) {
+    try {
+        const pets = await sql `SELECT * FROM Obst;`;
+        return response.status(200).json(pets.rows);
+    } catch (error) {
+        return response.status(500).json({ error })
+    }
+}
\ No newline at end of file
-- 
GitLab