Как решить QueryResultError в pg-обещании - PullRequest
0 голосов
/ 27 января 2020

Пожалуйста, я вижу QueryREsultError, когда я тестировал свой код в Postman. Я использую node.js, express. js и pg-обещание. При тестировании пользователь создается в базе данных Postgres, как и ожидалось, но вместо этого в ответе отображается QueryResultError с созданными данными и запросом в моем коде, как показано ниже. Однако я хотел, чтобы в ответе отображалось только сообщение об успешном завершении и сгенерированный токен. Я не знаю, связана ли проблема с db.none или с кодом, не генерирующим токен. Найдите мой код ниже:

ФУНКЦИЯ CREATEUSER

async createUser(req, res) {
    const hashedPassword = await bcrypt.hash(req.body.password, 10);
    const query = `insert into user_table(username, email, email_verified, password, role, created_at, last_login)
                  VALUES ($1, $2, $3, $4, $5, $6, $7) returning *`;
  const values = [req.body.username, req.body.email, req.body.email_verified, hashedPassword, req.body.role, 'now()', 'now()'];

  try {
    const { rows } = await db.none(query, values);
    const token = Helper.generateToken(rows[0].username);
  return res
    .status(200)
    .cookie('jwt', token, {
      httpOnly: true
    })
    .json({
      success: true
    });
} catch (err) {
    return res.json(err);
  }
},

Helper.generateToken

generateToken(username) {
    const token = jwt.sign({
      username: username
    },
      process.env.JWT_SECRET, { expiresIn: '7d' }
    );
    return token;
  }
}

ОШИБКА ПОКАЗАТЬ

{
    "name": "QueryResultError",
    "code": 1,
    "result": {
        "command": "INSERT",
        "rowCount": 1,
        "oid": 0,
        "rows": [
            {
                "id": "8af645cd-5ce5-496a-b07f-db98f4897fee",
                "username": "juljgggg",
                "email": "t@yahoo.com",
                "email_verified": "t@yahoo.com",
                "password": "$2a$12$UmQJ6qKP4nhrWS9kYxySGuBIWv5eyOHzbKtjvLzRQS5qL5bGRssym",
                "role": "Subscriber",
                "created_at": "2020-01-27T13:43:38.122Z",
                "last_login": "2020-01-27T13:43:38.122Z"
            }
        ],
        "fields": [
            {
                "name": "id",
                "tableID": 42033,
                "columnID": 1,
                "dataTypeID": 2950,
                "dataTypeSize": 16,
                "dataTypeModifier": -1,
                "format": "text"
            },
            {
                "name": "username",
                "tableID": 42033,
                "columnID": 2,
                "dataTypeID": 25,
                "dataTypeSize": -1,
                "dataTypeModifier": -1,
                "format": "text"
            },
            {
                "name": "email",
                "tableID": 42033,
                "columnID": 3,
                "dataTypeID": 25,
                "dataTypeSize": -1,
                "dataTypeModifier": -1,
                "format": "text"
            },
            {
                "name": "email_verified",
                "tableID": 42033,
                "columnID": 4,
                "dataTypeID": 25,
                "dataTypeSize": -1,
                "dataTypeModifier": -1,
                "format": "text"
            },
            {
                "name": "password",
                "tableID": 42033,
                "columnID": 5,
                "dataTypeID": 25,
                "dataTypeSize": -1,
                "dataTypeModifier": -1,
                "format": "text"
            },
            {
                "name": "role",
                "tableID": 42033,
                "columnID": 6,
                "dataTypeID": 25,
                "dataTypeSize": -1,
                "dataTypeModifier": -1,
                "format": "text"
            },
            {
                "name": "created_at",
                "tableID": 42033,
                "columnID": 7,
                "dataTypeID": 1114,
                "dataTypeSize": 8,
                "dataTypeModifier": -1,
                "format": "text"
            },
            {
                "name": "last_login",
                "tableID": 42033,
                "columnID": 8,
                "dataTypeID": 1114,
                "dataTypeSize": 8,
                "dataTypeModifier": -1,
                "format": "text"
            }
        ],
        "_parsers": [
            null,
            null
        ],
        "_types": {
            "_types": {code ommitted
                }
            },
            "text": {},
            "binary": {}
        },
        "RowCtor": null,
        "rowAsArray": false,
        "duration": 40
    },

}
...