Ошибка при авторизации на сайте

Получаю ошибку в консоль при авторизации пользователя, где показывает, что проблема, судя по консоли, находится в экспортируемой функции comparePass. Как это решить?

C:\Users\ASUS\Desktop\EaWView\models\user.js:48
    if(err) throw err;
            ^

Error: Illegal arguments: undefined, string
    at _async (C:\Users\ASUS\Desktop\EaWView\node_modules\bcryptjs\dist\bcrypt.js:286:46)
    at Object.bcrypt.compare (C:\Users\ASUS\Desktop\EaWView\node_modules\bcryptjs\dist\bcrypt.js:304:13)
    at Function.module.exports.comparePass (C:\Users\ASUS\Desktop\EaWView\models\user.js:47:12)
    at C:\Users\ASUS\Desktop\EaWView\routes\account.js:43:14
    at C:\Users\ASUS\Desktop\EaWView\node_modules\mongoose\lib\model.js:4838:16
    at C:\Users\ASUS\Desktop\EaWView\node_modules\mongoose\lib\model.js:4838:16
    at C:\Users\ASUS\Desktop\EaWView\node_modules\mongoose\lib\helpers\promiseOrCallback.js:24:16
    at C:\Users\ASUS\Desktop\EaWView\node_modules\mongoose\lib\model.js:4861:21
    at C:\Users\ASUS\Desktop\EaWView\node_modules\mongoose\lib\query.js:4407:11
    at C:\Users\ASUS\Desktop\EaWView\node_modules\kareem\index.js:135:16
    at processTicksAndRejections (internal/process/task_queues.js:75:11)
    at runNextTicks (internal/process/task_queues.js:62:3)
    at processImmediate (internal/timers.js:434:9)

Ошибка в файле user.js:

const mongoose = require('mongoose');
const bcrypt = require('bcryptjs');
const config = require('../config/db');

const UserSchema = mongoose.Schema({
    name: {
        type: String
    },
    email: {
        type: String,
        required: true
    },
    login: {
        type: String,
        required: true
    },
    password: {
        type: String,
        required: true
    },

});

const User = module.exports = mongoose.model('User', UserSchema);

module.exports.getUserByLogin = function(login, callback) {
    const query = {login: login};
    User.findOne(query, callback);
}

module.exports.getUserById = function(id, callback) {
    User.findById(id, callback);
}

module.exports.addUser = function(newUser, callback) {
    bcrypt.genSalt(10, (err, salt) => {
        bcrypt.hash(newUser.password, salt, (err, hash) => {
            if(err) throw err;
            newUser.password = hash;
            newUser.save(callback);
        });
    });
    //newUser.save(callback);
}

module.exports.comparePass = function (passFromUser, userDBPass, callback) {
    bcrypt.compare(passFromUser, userDBPass, (err, isMatch) => {
        if (err)
            throw err;
        callback(null, isMatch);
    });
}

Ответы (0 шт):