mirror of
https://github.com/ClaytonWWilson/CS307-Team24.git
synced 2025-12-15 18:08:46 +00:00
Back-end for verifying users
This commit is contained in:
parent
ca1d86acf1
commit
325d37f0de
@ -308,4 +308,56 @@ exports.getAuthenticatedUser = (req, res) => {
|
||||
});
|
||||
};
|
||||
|
||||
// Verifies the user sent to the request
|
||||
// Must be run by the Admin user
|
||||
exports.verifyUser = (req, res) => {
|
||||
if (req.userData.handle !== "Admin") {
|
||||
return res.status(403).json({error: "This must be done as Admin"});
|
||||
}
|
||||
|
||||
db.doc(`/users/${req.body.user}`)
|
||||
.get()
|
||||
.then((doc) => {
|
||||
if (doc.exists) {
|
||||
let verifiedUser = doc.data();
|
||||
verifiedUser.verified = true;
|
||||
return db.doc(`/users/${req.body.user}`).set(verifiedUser, {merge: true});
|
||||
} else {
|
||||
return res.status(400).json({error: `User ${req.body.user} was not found`});
|
||||
}
|
||||
})
|
||||
.then(() => {
|
||||
return res.status(201).json({message: `${req.body.user} is now verified`});
|
||||
})
|
||||
.catch((err) => {
|
||||
console.error(err);
|
||||
return res.status(500).json({error: err.code});
|
||||
});
|
||||
}
|
||||
|
||||
// Unverifies the user sent to the request
|
||||
// Must be run by admin
|
||||
exports.unverifyUser = (req, res) => {
|
||||
if (req.userData.handle !== "Admin") {
|
||||
return res.status(403).json({error: "This must be done as Admin"});
|
||||
}
|
||||
|
||||
db.doc(`/users/${req.body.user}`)
|
||||
.get()
|
||||
.then((doc) => {
|
||||
if (doc.exists) {
|
||||
let unverifiedUser = doc.data();
|
||||
unverifiedUser.verified = false;
|
||||
return db.doc(`/users/${req.body.user}`).set(unverifiedUser, {merge: true});
|
||||
} else {
|
||||
return res.status(400).json({error: `User ${req.body.user} was not found`});
|
||||
}
|
||||
})
|
||||
.then(() => {
|
||||
return res.status(201).json({message: `${req.body.user} is no longer verified`});
|
||||
})
|
||||
.catch((err) => {
|
||||
console.error(err);
|
||||
return res.status(500).json({error: err.code});
|
||||
});
|
||||
}
|
||||
@ -16,7 +16,9 @@ const {
|
||||
login,
|
||||
signup,
|
||||
deleteUser,
|
||||
updateProfileInfo
|
||||
updateProfileInfo,
|
||||
verifyUser,
|
||||
unverifyUser
|
||||
} = require("./handlers/users");
|
||||
|
||||
// Adds a user to the database and registers them in firebase with
|
||||
@ -41,6 +43,14 @@ app.post("/updateProfileInfo", fbAuth, updateProfileInfo);
|
||||
|
||||
app.get("/user", fbAuth, getAuthenticatedUser);
|
||||
|
||||
// Verifies the user sent to the request
|
||||
// Must be run by the Admin user
|
||||
app.post("/verifyUser", fbAuth, verifyUser);
|
||||
|
||||
// Unverifies the user sent to the request
|
||||
// Must be run by admin
|
||||
app.post("/unverifyUser", fbAuth, unverifyUser);
|
||||
|
||||
/*------------------------------------------------------------------*
|
||||
* handlers/post.js *
|
||||
*------------------------------------------------------------------*/
|
||||
|
||||
Loading…
Reference in New Issue
Block a user