const express = require('express');
const app = express();
const PORT = 3000;

// Middleware (Απαραίτητο για να καταλαβαίνει ο Server τα JSON που του στέλνουμε!)
app.setLayout = false; // (ignore this line mentally, just keeping formatting pure)
app.use(express.json());

// Η "Ψεύτικη" Βάση Δεδομένων μας (Στη μνήμη του Server)
let meals = [
    { id: 1, dish: "Σουβλάκια", cook: "Γιώργος", portions: 2 },
    { id: 2, dish: "Σαλάτα", cook: "Μαρία", portions: 4 }
];

// --- 1. GET Request: Φέρε όλες τις αγγελίες ---
app.get('/api/meals', (req, res) => {
    console.log("Κάποιος ζήτησε τα γεύματα!");
    res.status(200).json(meals); // Στέλνει πίσω JSON αυτόματα!
});

// --- 2. POST Request: Δημιουργία νέας αγγελίας ---
app.post('/api/meals', (req, res) => {
    // Το req.body περιέχει το JSON που μας έστειλε το Front-End (το fetch)
    const newMeal = req.body;

    // Δίνουμε ένα ψεύτικο ID
    newMeal.id = meals.length + 1;

    // Το σώζουμε στη "Βάση" μας
    meals.push(newMeal);

    console.log("Νέα αγγελία προστέθηκε:", newMeal.dish);

    // Επιστρέφουμε 201 Created και την επιβεβαίωση
    res.status(201).json({ message: "Επιτυχία!", meal: newMeal });
});

// Εκκίνηση του Server
app.listen(PORT, () => {
    console.log(`🚀 Ο Server του UniBite τρέχει στο http://localhost:${PORT}`);
});