This commit is contained in:
Lukian LEIZOUR 2024-06-06 14:32:09 +02:00
parent fc2fdf8007
commit defd655959
2 changed files with 57 additions and 0 deletions

View file

@ -0,0 +1,43 @@
const express = require('express');
const jwt = require('jsonwebtoken');
const {setVerified, getUser} = require("../../../libs/mysql.js")
const router = express.Router();
router.post('/', async (req, res) => {
const {token, userid} = req.body;
if (!token) {
return res.status(400).send({error: "invalid token"});
}
try {
const user = jwt.verify(token, process.env.JWTSecret);
if (user.expiration < Date.now()) {
return res.status(400).send({error: "token expired"});
}
if (!user.user.admin) {
return res.status(400).send({error: "unauthorized"});
}
} catch {
return res.status(400).send({error: "invalid token"});
}
const user = await getUser(userid);
if (!user[0]) {
return res.status(400).send({error: "invalid userid"});
}
if (user[0].verified) {
return res.status(400).send({error: "user already verified"});
}
await setVerified(userid);
res.status(200).send({message: "user verified"});
});
module.exports = router;

View file

@ -128,6 +128,19 @@ function getUnverifiedUsers() {
})
}
function setVerified(userid) {
return new Promise((resolve, reject) => {
con.query(
`UPDATE users SET verified = 1 WHERE id = ${userid}`,
(error, result) => {
if (error) {
reject(new Error(error));
}
resolve(result);
})
})
}
module.exports = {
getGames,
getGame,
@ -139,4 +152,5 @@ module.exports = {
addUser,
getUnverifiedUsers,
setVerified,
};