const express = require("express"); const router = express.Router(); const db = require("../database/database"); const bcrypt = require("bcrypt"); /* ================================ Login verarbeiten ================================ */ router.post("/", async (req, res) => { const { username, password } = req.body; try { /* Server laden (für index.ejs) */ const [servers] = await db.query("SELECT * FROM servers"); const [rows] = await db.query( "SELECT * FROM accounts WHERE username = ? AND verified = 1", [username], ); if (rows.length === 0) { return res.render("index", { error: "Login fehlgeschlagen", servers, }); } const user = rows[0]; const passwordMatch = await bcrypt.compare(password, user.password); if (!passwordMatch) { return res.render("index", { error: "Login fehlgeschlagen", servers, }); } /* Session speichern */ req.session.user = { id: user.id, username: user.username, }; /* Wenn kein Charaktername existiert */ if (!user.ingame_name) { return res.redirect("/create-character"); } /* Wenn Charakter existiert */ res.redirect("/launcher"); } catch (error) { console.error(error); res.send("Login Fehler"); } }); module.exports = router;