const express = require("express"); const router = express.Router(); const bcrypt = require("bcryptjs"); const jwt = require("jsonwebtoken"); const db = require("../db"); // Register router.post("/register", (req, res) => { const { nama, email, password } = req.body; const hashedPassword = bcrypt.hashSync(password, 8); db.query( "INSERT INTO users (nama, email, password) VALUES (?, ?, ?)", [nama, email, hashedPassword], (err, result) => { if (err) return res.status(500).json(err); res.json({ message: "User registered!" }); } ); }); // Login router.post("/login", (req, res) => { const { email, password } = req.body; db.query("SELECT * FROM users WHERE email = ?", [email], (err, result) => { if (err) return res.status(500).json(err); if (result.length === 0) return res.status(404).json({ message: "User not found" }); const user = result[0]; const valid = bcrypt.compareSync(password, user.password); if (!valid) return res.status(401).json({ message: "Invalid password" }); const token = jwt.sign({ id: user.id, email: user.email }, "SECRET_KEY", { expiresIn: "1h" }); res.json({ message: "Login success", token, user }); }); }); module.exports = router;