45 lines
1.2 KiB
JavaScript
45 lines
1.2 KiB
JavaScript
const express = require("express");
|
|
const router = express.Router();
|
|
const db = require("../db");
|
|
|
|
// Get semua siswa
|
|
router.get("/", (req, res) => {
|
|
db.query("SELECT * FROM siswa", (err, result) => {
|
|
if (err) return res.status(500).json({ message: err.message });
|
|
res.json(result); // data array
|
|
});
|
|
});
|
|
|
|
// Tambah siswa
|
|
router.post("/add", (req, res) => {
|
|
const { nama, kelas, umur } = req.body;
|
|
|
|
if (!nama || !kelas || !umur) {
|
|
return res.status(400).json({ message: "Semua field wajib diisi" });
|
|
}
|
|
|
|
db.query(
|
|
"INSERT INTO siswa (nama, kelas, umur) VALUES (?, ?, ?)",
|
|
[nama, kelas, umur],
|
|
(err, result) => {
|
|
if (err) return res.status(500).json({ message: err.message });
|
|
res.json({ message: "Siswa berhasil ditambahkan!", id: result.insertId });
|
|
}
|
|
);
|
|
});
|
|
|
|
// Hapus siswa berdasarkan ID
|
|
router.delete("/delete/:id", (req, res) => {
|
|
const { id } = req.params;
|
|
|
|
db.query("DELETE FROM siswa WHERE id = ?", [id], (err, result) => {
|
|
if (err) return res.status(500).json({ message: err.message });
|
|
if (result.affectedRows === 0)
|
|
return res.status(404).json({ message: "Siswa tidak ditemukan" });
|
|
|
|
res.json({ message: "Siswa berhasil dihapus!" });
|
|
});
|
|
});
|
|
|
|
module.exports = router;
|