Files
Checkmate/Server/db/mongo/modules/inviteModule.js
Alexander Holliday e47d3685ce Moved all methods to modules (#460)
* Moved all methods to modules

* removed old mongoDB file
2024-07-26 18:25:20 -07:00

38 lines
896 B
JavaScript

const InviteToken = require("../../../models/InviteToken");
const crypto = require("crypto");
const { errorMessages } = require("../../../utils/messages");
const requestInviteToken = async (req, res) => {
try {
await InviteToken.deleteMany({ email: req.body.email });
let inviteToken = new InviteToken({
email: req.body.email,
role: req.body.role,
token: crypto.randomBytes(32).toString("hex"),
});
await inviteToken.save();
return inviteToken;
} catch (error) {
throw error;
}
};
const getInviteToken = async (req, res) => {
try {
const invite = await InviteToken.findOneAndDelete({
token: req.body.token,
});
if (invite === null) {
throw new Error(errorMessages.AUTH_INVITE_NOT_FOUND);
}
return invite;
} catch (error) {
throw error;
}
};
module.exports = {
requestInviteToken,
getInviteToken,
};