const express = require("express"); const fs = require("fs"); const path = require("path"); const cors = require("cors"); const app = express(); const PORT = 4000; // Ścieżki do plików JSON const UCZNIOWIE_FILE = path.join(__dirname, "uczniowie.json"); const KRYTERIA_FILE = path.join(__dirname, "kryteria.json"); const DANE_FILE = path.join(__dirname, "dane.json"); // Middleware do obsługi JSON i CORS app.use(express.json()); app.use(cors()); // Endpoint do pobierania listy uczniów app.get("/uczniowie", (req, res) => { fs.readFile(UCZNIOWIE_FILE, "utf8", (err, data) => { if (err) { console.error("Błąd odczytu uczniów:", err); return res.status(500).send("Błąd odczytu uczniów."); } res.json(JSON.parse(data)); }); }); // Endpoint do pobierania listy kryteriów app.get("/kryteria", (req, res) => { fs.readFile(KRYTERIA_FILE, "utf8", (err, data) => { if (err) { console.error("Błąd odczytu kryteriów:", err); return res.status(500).send("Błąd odczytu kryteriów."); } res.json(JSON.parse(data)); }); }); // Endpoint do pobierania danych uczniów app.get("/dane", (req, res) => { fs.readFile(DANE_FILE, "utf8", (err, data) => { if (err) { console.error("Błąd odczytu danych:", err); return res.status(500).send("Błąd odczytu danych."); } res.json(JSON.parse(data)); }); }); // Endpoint do zapisywania danych uczniów app.post("/dane", (req, res) => { const newData = req.body; fs.writeFile(DANE_FILE, JSON.stringify(newData, null, 2), err => { if (err) { console.error("Błąd zapisywania danych:", err); return res.status(500).send("Błąd zapisywania danych."); } res.send("Dane zapisane pomyślnie."); }); }); // Uruchomienie serwera app.listen(PORT, () => { console.log(`Serwer API działa na http://localhost:${PORT}`); });