mirror of
https://github.com/ClaytonWWilson/CS307-Team24.git
synced 2025-12-16 10:18:48 +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,
|
login,
|
||||||
signup,
|
signup,
|
||||||
deleteUser,
|
deleteUser,
|
||||||
updateProfileInfo
|
updateProfileInfo,
|
||||||
|
verifyUser,
|
||||||
|
unverifyUser
|
||||||
} = require("./handlers/users");
|
} = require("./handlers/users");
|
||||||
|
|
||||||
// Adds a user to the database and registers them in firebase with
|
// 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);
|
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 *
|
* handlers/post.js *
|
||||||
*------------------------------------------------------------------*/
|
*------------------------------------------------------------------*/
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user