2024-08-18 06:23:38 +02:00
|
|
|
const { getInvite } = require('~/models/inviteUser');
|
2025-05-30 12:54:24 -04:00
|
|
|
const { deleteTokens } = require('~/models');
|
2024-08-18 06:23:38 +02:00
|
|
|
|
|
|
|
|
async function checkInviteUser(req, res, next) {
|
|
|
|
|
const token = req.body.token;
|
|
|
|
|
|
|
|
|
|
if (!token || token === 'undefined') {
|
|
|
|
|
next();
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
const invite = await getInvite(token, req.body.email);
|
|
|
|
|
|
|
|
|
|
if (!invite || invite.error === true) {
|
|
|
|
|
return res.status(400).json({ message: 'Invalid invite token' });
|
|
|
|
|
}
|
|
|
|
|
|
2025-05-30 04:28:22 -04:00
|
|
|
await deleteTokens({ token: invite.token });
|
2024-08-18 06:23:38 +02:00
|
|
|
req.invite = invite;
|
|
|
|
|
next();
|
|
|
|
|
} catch (error) {
|
|
|
|
|
return res.status(429).json({ message: error.message });
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
module.exports = checkInviteUser;
|