Praxissofttware/services/admin.service.js

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
};