Donate. I desperately need donations to survive due to my health

Get paid by answering surveys Click here

Click here to donate

Remote/Work from Home jobs

Why I cant execute await function?

I'm using express,and pgp for backend development and so i have to update user data. I'm receiving user object in req.body and user id as req.params.id. I've printed them out in console an they're right. So then i'm moving forward to

res.status(200).json({
  user: await usersDB.updateUserById(req.body, req.params.id)
});

And here nothing happens

here are all code samples

userRouter.js

const express = require("express");
const router = express.Router();
const usersDB = require("../modules/userDB");
const passport = require("passport");

router.put('/update/:id', passport.authenticate('jwt', {session : false}), async(req, res, next) => {
  try {
    console.log(req.body, req.params.id)
    console.log("--------------------------------")
    res.status(200).json({
      user: await usersDB.updateUserById(req.body, req.params.id)
    });
  } catch (err) {
      console.log("UsersRouter error: " + err);
      res.status(500).json({Error: err});
  }
});

usersDB.js

const DB = require("../config/connection");
function updateUserById(user, id) {
 if (user.password == null) {
    console.log("upd", user, id)
    return DB.any(
      "UPDATE users SET name = ($1), email = ($2) WHERE id = ($3)",
      [user.name, user.email, id]
    );
 }
 return DB.any(
    "UPDATE users SET name = ($1), email = ($2), password = ($3) WHERE   id = ($4)",
     [user.name, user.email, user.password, id]
 );
}

I cant still figure out why I'm not stepping in.

Comments