feat: add user update functionality and theme management

This commit is contained in:
2025-07-23 19:45:21 +02:00
parent a7ee03bce0
commit e56278fa82
9 changed files with 245 additions and 33 deletions

View File

@@ -52,7 +52,7 @@ app.get("/api/getAllUsers", authenticate, async (req, res) => {
if (req.user.role === "admin") {
getAllUsers()
.then((users) => {
res.status(200).json(users);
res.status(200).json(users).reload();
})
.catch((err) => {
console.error("Error fetching users:", err);
@@ -92,6 +92,33 @@ app.post("/api/deleteUser", authenticate, async (req, res) => {
}
});
app.post("/api/updateUser", authenticate, async (req, res) => {
if (req.user.role === "admin") {
updateUser(
req.body.username,
req.body.first_name,
req.body.last_name,
req.body.password,
req.body.email,
req.body.id
)
.then((result) => {
if (result.success) {
res.status(200).json(result);
} else {
throw new Error("Failed to update user");
}
})
.catch((err) => {
console.error("Error updating user:", err);
res
.status(500)
.json({ success: false, message: "Internal server error" });
});
console.log("User updated successfully");
}
})
app.listen(port, () => {
console.log(`Express backend server is running at http://localhost:${port}`);
});

View File

@@ -62,13 +62,14 @@ export async function updateUser(
first_name,
last_name,
password,
email
email,
id
) {
try {
// Update user details based on username
// Update user details based on id
const [result] = await pool.query(
"UPDATE users SET first_name = ?, last_name = ?, password = ?, email = ? WHERE username = ?",
[first_name, last_name, password, email, username]
"UPDATE users SET first_name = ?, last_name = ?, password = ?, email = ?, username = ? WHERE id = ?",
[first_name, last_name, password, email, username, id]
);
const resultOfquery = result.affectedRows;