renaming, restructuring, adding an api util to the frontend (currently editPage only and a mock backend

This commit is contained in:
Anika Raemer 2025-09-10 20:04:26 +02:00
parent 1bd1952ecb
commit 38a5707622
16 changed files with 247 additions and 117 deletions

View file

@ -2,37 +2,38 @@ import express from "express";
import cors from "cors";
import { v4 as uuidv4 } from "uuid";
import { recipes } from "../mock_data/recipes"
import { Recipe } from "../types/recipe"
import { recipes } from "./mock_data/recipes"
import { Recipe } from "./types/recipe"
const app = express();
app.use(cors());
app.use(express.json());
let recipeList = recipes;
// Routes
app.get("/recipes", (req, res) => res.json(recipes));
app.get("/recipe", (req, res) => res.json(recipeList));
app.get("/recipes/:id", (req, res) => {
const recipe = recipes.find(r => r.id === req.params.id);
app.get("/recipe/:id", (req, res) => {
const recipe = recipeList.find(r => r.id === req.params.id);
recipe ? res.json(recipe) : res.status(404).send("Recipe not found");
});
app.post("/recipes", (req, res) => {
app.post("/recipe", (req, res) => {
const newRecipe: Recipe = { id: uuidv4(), ...req.body };
recipes.push(newRecipe);
recipeList.push(newRecipe);
res.status(201).json(newRecipe);
});
app.put("/recipes/:id", (req, res) => {
app.put("/recipe/:id", (req, res) => {
const index = recipes.findIndex(r => r.id === req.params.id);
if (index === -1) return res.status(404).send("Recipe not found");
recipes[index] = { ...recipes[index], ...req.body };
res.json(recipes[index]);
recipeList[index] = { ...recipeList[index], ...req.body };
res.json(recipeList[index]);
});
app.delete("/recipes/:id", (req, res) => {
recipes = recipes.filter(r => r.id !== req.params.id);
app.delete("/recipe/:id", (req, res) => {
recipeList = recipeList.filter(r => r.id !== req.params.id);
res.status(204).send();
});