39 lines
877 B
JavaScript
39 lines
877 B
JavaScript
const bcrypt = require("bcrypt");
|
|
|
|
async function createUser(db, username, password, role) {
|
|
const hash = await bcrypt.hash(password, 10);
|
|
|
|
return new Promise((resolve, reject) => {
|
|
db.query(
|
|
"INSERT INTO users (username, password, role, active) VALUES (?, ?, ?, 1)",
|
|
[username, hash, role],
|
|
err => {
|
|
if (err) {
|
|
if (err.code === "ER_DUP_ENTRY") {
|
|
return reject("Benutzername existiert bereits");
|
|
}
|
|
return reject("Datenbankfehler");
|
|
}
|
|
resolve();
|
|
}
|
|
);
|
|
});
|
|
}
|
|
|
|
function getAllUsers(db) {
|
|
return new Promise((resolve, reject) => {
|
|
db.query(
|
|
"SELECT id, username, role, active FROM users ORDER BY username",
|
|
(err, users) => {
|
|
if (err) return reject(err);
|
|
resolve(users);
|
|
}
|
|
);
|
|
});
|
|
}
|
|
|
|
module.exports = {
|
|
createUser,
|
|
getAllUsers
|
|
};
|