Nod.js функция bycrapt.compare что я делаю не так

Не получается сравнить пароли, буду благодарен за любую помощь.

const { name, email, pass } = req.body
                     db.query('SELECT * FROM users WHERE name=$1::text AND email=$2::text AND pass=$3::text', [name, email, pass], (err, row) =>{
                        if(err){
                            console.log('Error executing query', err.stack);
                        }
                        
                            bcrypt.compareSync(pass, req.params.pass, function(err, res){
                                if(err){
                                    console.log(err)
                                }
                                
                            })
                            res.json(row.rows[0])

вот такая ошибка в консоли

C:\Users\User\Desktop\Fullstack\server\node_modules\pg\lib\query.js:143
          throw err
          ^

Error: data and hash arguments required
    at Object.compareSync (C:\Users\User\Desktop\Fullstack\server\node_modules\bcrypt\bcrypt.js:166:15)
    at C:\Users\User\Desktop\Fullstack\server\controller\user.controller.js:75:32
    at Query.<anonymous> (C:\Users\User\Desktop\Fullstack\server\node_modules\pg-pool\index.js:421:18)
    at Query.handleReadyForQuery (C:\Users\User\Desktop\Fullstack\server\node_modules\pg\lib\query.js:139:14)
    at Client._handleReadyForQuery (C:\Users\User\Desktop\Fullstack\server\node_modules\pg\lib\client.js:290:19)
    at Connection.emit (node:events:527:28)
    at C:\Users\User\Desktop\Fullstack\server\node_modules\pg\lib\connection.js:114:12
    at Parser.parse (C:\Users\User\Desktop\Fullstack\server\node_modules\pg-protocol\dist\parser.js:40:17)
    at Socket.<anonymous> (C:\Users\User\Desktop\Fullstack\server\node_modules\pg-protocol\dist\index.js:11:42)
    at Socket.emit (node:events:527:28)

Чуть другой код:

async getOneUser (req, res, hashPass) {
        try{

            //const id = req.params.id
             

            
                const { name, email, pass } = req.body
                
                 db.query('SELECT * FROM users WHERE name=$1::text AND email=$2::text AND pass=$3::text', [name, email, pass], (err, row) =>{
                    if(err){
                        console.log('Error executing query', err.stack);
                    }
                    
                     bcrypt.compare(pass, hashPass, function(err, res){
                            if(err){
                                console.log(err)
                            }
                        })
                        
                        res.json(row.rows[0])
                        
                        
                        /*if(hashSync){
                            res.json({"message": "login successful"})
                        }else{
                            res.json({"message": "wrong password"})
                        }
                        
                    res.json(row.rows[0]);*/
                    
               });
            
        }catch(e){
            console.log(e);
            //res.send({message: "Ошобка сервера getOneUser"})

        }
        
        
    }

hashPass беру от сюда

async createUser  (req, res) { //Регистрация пользователя.    
        try{

            const {name, surname, email, pass, pass2} = req.body

               db.query('SELECT * FROM users WHERE email = $1::text', [email] , (err, row) =>{

                if(err){
                    console.log('Error executing query', err.stack);
                }
                //console.log(row);
               let isTrue=false;
                if(row.rowCount){//Проверка существет ли такой email
                    for(let i=0; i < row.rows.length; i++){
                        if(row.rows[i].email === email){
                            isTrue = true;
                            break;              
                    }
                }
            }
            if(isTrue){// если есть email то показываем его
                res.json(row.rows[0].email)
            }else{
                //res.json({"message": "Регистрирую пользователя"})
                 if(pass==pass2){// Сравнение паролев
                    
                    (async () =>{// регистрация пользователя если email отсутствует
                        const hashPass = bcrypt.hashSync(pass, 15)
                        const hashPass2 = bcrypt.hashSync(pass2, 15)
                        const newPerson = await db.query(`INSERT INTO users(name, surname, email, pass, pass2) values ($1, $2, $3, $4, $5) RETURNING *`, [name, surname, email, hashPass, hashPass2])
                        res.json(newPerson.rows[0]);
                    })();
                    
                }else{
                    res.json({"message" : "пароли не совпадают"})
                }
            }
                
              });
        } catch(e){
            console.log(e)
            res.send({message: "Ошобка сервера"})
        }
    }

это фаил use.routs.js

const Router = require('express')
const userController = require('../controller/user.controller')
const router = new Router()


router.post('/registration', userController.createUser)
router.get('/user', userController.getUsers)
router.get('/login', userController.getOneUser)
router.put('/user', userController.updateUser)
router.delete('/delete/:id', userController.deleteUser)



module.exports = router

Это фаил inde.js

const express = require('express')
const config = require('config')
const userRouter = require('./routs/user.routs')


const app = express()
app.use(express.json())
const PORT = config.get('serverPort')

app.use('/api', userRouter)

const start = async () => {
    try{

        app.listen(PORT, () => {
            console.log('Сервер запущен на порту', PORT)
        })

    }catch(e){

    }
} 

start()

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