dok/routes/character.route.js
2026-04-07 15:06:47 +01:00

49 lines
999 B
JavaScript

const express = require("express");
const router = express.Router();
const db = require("../database/database");
/* Character erstellen Seite */
router.get("/", (req, res) => {
if (!req.session.user) {
return res.redirect("/");
}
res.render("create-character");
});
/* Character speichern */
router.post("/", async (req, res) => {
const { ingame_name } = req.body;
const userId = req.session.user.id;
const nameRegex = /^[a-zA-Z0-9_]{3,16}$/;
if (!nameRegex.test(ingame_name)) {
return res.render("create-character", {
error: "Ungültiger Name",
});
}
const [existing] = await db.query(
"SELECT id FROM accounts WHERE ingame_name = ?",
[ingame_name],
);
if (existing.length > 0) {
return res.render("create-character", {
error: "Name bereits vergeben",
});
}
await db.query("UPDATE accounts SET ingame_name = ? WHERE id = ?", [
ingame_name,
userId,
]);
res.redirect("/launcher");
});
module.exports = router;