Add functions to remove account

main
sudoer777 2021-11-25 12:49:31 -07:00
parent 23e85b7af3
commit 08545bfb5c
3 changed files with 12 additions and 0 deletions

View File

@ -85,6 +85,14 @@ async function edit(id, email, password, isAdmin) {
return new User(id, email, isAdmin);
}
async function remove(id) {
const query = `DELETE FROM accounts.users
WHERE user_id = $1
RETURNING email, admin;`;
const row = (await database.executeQuery(query, [id]))[0];
return new User(id, row[0], row[1]);
}
async function retrieveAll() {
const query = `SELECT user_id, email, admin
FROM accounts.users
@ -109,6 +117,7 @@ async function getFromID(id) {
exports.create = create;
exports.edit = edit;
exports.remove = remove;
exports.retrieveAll = retrieveAll;
exports.getFromID = getFromID;
exports.passport = passport;

View File

@ -45,3 +45,4 @@ async function checkDataValidity() {
else submitButton.disabled = true;
}
Form.addRemoveFunction(deleteButton, submissionForm, "account");

View File

@ -150,7 +150,9 @@ router.post('/account', adminLoggedIn, (req, res, next) => {
const isAdmin = !!req.body.admin;
const accountID = req.body.account;
const remove = req.body.remove;
if(remove) accounts.remove(accountID).then(res.redirect('/manage'));
if(accountID) accounts.edit(accountID, email, password, isAdmin).then(res.redirect('/manage'));
else accounts.create(req.body.email, req.body.password, !!req.body.admin).then(res.redirect('/manage'));
});