mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-12-17 00:40:14 +01:00
* feat: basic invite-user script * feat: add invite user functionality and registration validation middleware * fix: invite user fixes * refactor: consolidate direct model access to a central place of functions * style(Registration): add spinner to continue button * refactor: import ordrer * feat: improve invite user script and error handling * fix: merge conflict * refactor: remove `console.log` and use `logger` * fix: token operation and checkinvite issues * bring back comment and remove console log * fix: return invalid token when token is not found * fix: getInvite fix * refactor: Update Token.js to use async/await syntax for update and delete operations * feat: Refactor Token.js to use async/await syntax for createToken and findToken functions * refactor(inviteUser): define functions outside of module.exports * Update AuthService.js --------- Co-authored-by: Danny Avila <danny@librechat.ai>
27 lines
658 B
JavaScript
27 lines
658 B
JavaScript
const { getInvite } = require('~/models/inviteUser');
|
|
const { deleteTokens } = require('~/models/Token');
|
|
|
|
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' });
|
|
}
|
|
|
|
await deleteTokens({ token: invite.token });
|
|
req.invite = invite;
|
|
next();
|
|
} catch (error) {
|
|
return res.status(429).json({ message: error.message });
|
|
}
|
|
}
|
|
|
|
module.exports = checkInviteUser;
|