mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-12-19 09:50:15 +01:00
27 lines
736 B
JavaScript
27 lines
736 B
JavaScript
const bcrypt = require('bcryptjs');
|
|
|
|
/**
|
|
* Compares the provided password with the user's password.
|
|
*
|
|
* @param {MongoUser} user - The user to compare the password for.
|
|
* @param {string} candidatePassword - The password to test against the user's password.
|
|
* @returns {Promise<boolean>} A promise that resolves to a boolean indicating if the password matches.
|
|
*/
|
|
const comparePassword = async (user, candidatePassword) => {
|
|
if (!user) {
|
|
throw new Error('No user provided');
|
|
}
|
|
|
|
return new Promise((resolve, reject) => {
|
|
bcrypt.compare(candidatePassword, user.password, (err, isMatch) => {
|
|
if (err) {
|
|
reject(err);
|
|
}
|
|
resolve(isMatch);
|
|
});
|
|
});
|
|
};
|
|
|
|
module.exports = {
|
|
comparePassword,
|
|
};
|