'Im getting a '400 Bad Request' error when attempting to check my route

Im building a user management system an have all my routes created so far (the code willbe below) but im not sure where I went wrong for an error to happen. Im also getting a syntax error of 'unexpected number in JSON at position 69' can anyone try to explain or at least find where the error is? here are my routes.

const User = require('../Modelschema/users')
const { validationResult } = require('express-validator')

const getUsers = async (req, res) => {

    try {
        const users = await User.find({ email })
        if(!users) return res.status(400).send({error: 'User not found'})
        res.json({users: users})
    
    } catch (error) {
        console.error(error)
    }
}

const getUser = async (req, res) => {

    try {
        const { id } = req.params
        const user = await User.findById(id).populate('name', 'contact', 'email' ({ name: req.body.name , email: req.body.email, contact: req.body.contact}))
        if(!user) return res.status(400).send({error: 'User not found'})
        res.json(user)

    } catch (error) {
        console.error(error)
    }
}

const createUser = (req, res) => {
    try {
    const errors = validationResult(req)
    if(!errors.isEmpty()) return res.status(400).json({ errors: errors.array()})
    console.log(errors)

    //new instance of user
   const user = new User({ 
    name: req.body.name, 
    email: req.body.email, 
    contact: req.body.contact })

    //save the user 
  user.save()
  .then(data => {
      res.json(data)
      res.send('User added successfully!')
      console.log(data)
  })
  .catch(err => {
      res.status(400).json(err)
  })
        
    } catch (error) {
        console.error(error)
    }
}

const deleteUser = async (req, res) => {

    try {
       const { id } = req.params
       const user = await User.findByIdAndDelete(id, {
        runValidators: true, context: 'query'
    })
       if(!user) res.status(400).send({error: 'User not found'})
       res.status(200).send({error: 'User deleted'})

    } catch (error) {
        console.error(error)
    }
}

const updateUser = (req, res) => {
    const { id } = req.params
    const user = User.findByIdAndUpdate(id, {
        runValidators: true, context: 'query'
    })
    Object.assign(user, req.body);
    user.save()
    res.send({ data: user})
    res.send("User updated successfully!")
}

module.exports = { getUser, getUsers, updateUser, deleteUser, createUser}

here is where I have all my routes for inputing

const express = require('express');
const { getUsers, createUser, getUser, updateUser, deleteUser } = require('../controllers/users.js')
const router = express.Router();
const { check } = require('express-validator')

router.get("/users", getUsers)

router.get("/user/:id", getUser)

router.post("/user", createUser, [
    check('name', 'Name is required!'),
    check('email', 'Email is required!'),
    check('contact', 'Contact is required!')
])
router.put("/user/:id", updateUser)
router.delete("/user/:id", deleteUser)

module.exports = router;


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source