Как мне отредактировать имя пользователя и поле gmail после регистрации пользователя в node.js? - PullRequest
0 голосов
/ 18 марта 2020

Я пытался отредактировать имя пользователя и адрес электронной почты учетной записи пользователя после его регистрации, но я не смог получить ответ от моего отредактированного маршрута пользователя в NodeJS, ниже мой регистрационный код пользователя:

Зарегистрированный маршрут

router.post(
  '/register',
  [
    check('name', 'name is require')
      .not()
      .isEmpty(),
    check('role', 'role is require [student, staff, admin]')
      .not()
      .isEmpty(),
    check('email', 'email is require').isEmail(),
    check('password', 'password require up to 6 characters').isLength({
      min: 6
    })
    //check('role', 'role is require').not().isEmpty()
  ],
  async (req, res) => {
    const errors = validationResult(req);
    if (!errors.isEmpty()) {
      return res.status(400).json({ errors: errors.array() });
    }
    const { name, email, password, role } = req.body;
    try {
      let user = await User.findOne({ email });
      if (user) {
        return res
          .status(400)
          .json({ errors: [{ msg: 'User is already existed' }] });
      }
const salt = await bcrypt.genSalt(SALT_ID);
      user.password = await bcrypt.hash(password, salt);

      await user.save();

      //return jwt back to client header
      const payload = {
        user: {
          id: user.id,
          role: user.role,
          name: user.name,
          email: user.email
        }
      };
      jwt.sign(
        payload,
        config.get('jwtSecret'),
        //config.get(process.env.SECRET_PASS),
        { expiresIn: 360000 },
        (err, token) => {
          if (err) throw err;
          res.json({
            success: true,
            msg: `Congratulations!, ${role} is register successfully`,
            token
          });
        }
      );
    } catch (err) {
      console.log(err.message);
      return res.status(500).json({ error: [{ msg: 'Server Error' }] });
    }
  }
);

Это пользовательский маршрут редактирования с методом запроса PUT, когда я пытался отправить запрос в Почтальон, он не ответил с этим кодом ошибки в Почтальоне:

Could not get any response
There was an error connecting to http://localhost:8080/api/user/edit/5e435a2c4f5ac726907c768e.
Why this might have happened:
The server couldn't send a response:
Ensure that the backend is working properly
Self-signed SSL certificates are being blocked:
Fix this by turning off 'SSL certificate verification' in Settings > General
Proxy configured incorrectly
Ensure that proxy is configured correctly in Settings > Proxy
Request timeout:
Change request timeout in Settings > General

Редактирование маршрута пользователя (в настоящее время не работает)

router.put('/edit/:user_id', auth, admin, async (req, res) => {
  [
    check('name', 'name is require')
      .not()
      .isEmpty(),
    check('email', 'email is require').isEmail()
  ],
    async (req, res) => {
      const errors = validationResult(req);
      if (!errors.isEmpty()) {
        return res.status(400).json({ errors: errors.array() });
      }
      try {
        const user = await User.findByIdAndUpdate(
          { _id: req.params.user_id },
          req.body,
          {
            new: true
          }
        );
        await user.save();

        res
          .status(200)
          .json({ msg: 'User Update Successfully', success: true });
      } catch (error) {
        console.log(error.message);
        if (error)
          res.status(400).json({
            errors: [{ msg: 'Please check it again!' }]
          });
      }
    };
});

Что я думаю, возможно, из-за того, что зарегистрированный маршрут пользователя зашифрован, поэтому я не смог реализовать редактирование маршрута пользователя?

Примечание. Я просто хочу изменить имя и адрес электронной почты учетной записи пользователя в будущем, если они захотят ее изменить. Пожалуйста, помогите, любое предложение или идея сделать редактирование маршрута пользователя выше работы. Спасибо.

...