toggleSave route is not seems to work in postman.i got cannot get route on sending request

  • I make this route in order to save another user’s post in the current user’s profile, similar to Instagram feature but not working in postman.

Another issue I wanna mention on which I have doubt that if I want to show the followers, following,savedPost and savedJobs in profile then these (followers, following,savedPost and savedJobs) should be declared in UseSchema (in which I already declare them) or ProfileSchema(another Schema that I have)*

toggleSave

const express=require('express');
const router=express.Router();
const Job=require('../../models/Job');
const {check,validationResult}=require('express-validator');
const auth=require('../../middleware/auth');

const User=require('../../models/User');

router.get(':/id/toggleSave',auth,async (req,res)=>{
        const job = await Job.findById(req.params.id);
    
      if (!job) {
        return res.status(404).json('Post not found')
      }
    
      const { user } = req;
    
      if (user.savedJobs.includes(req.params.id)) {
        console.log("removing saved post");
        await User.findByIdAndUpdate(user.id, {
          $pull: { savedJobs: req.params.id },
        });
      } else {
        console.log("saving post");
        await User.findByIdAndUpdate(user.id, {
          $push: { savedJobs: req.params.id },
        });
      }
    
     res.json(job);
    });

User model

const mongoose=require("mongoose");
const UserSchema=new mongoose.Schema({
    name:{
        type:String,
        required:true
    }
   
,
email:{
    type:String,
    required:true,
    unique:true

},
password:{
    type:String,
    required:true,
    select:true
},
avatar:{
    type:String

},
followers:[{
    type:
        mongoose.Schema.ObjectId,
        ref:'User'
}],

followersCount:{
type:Number,
default:0,
},

followingCount:{
    type:Number,
    default:0
},

following:[
{
    type:mongoose.Schema.ObjectId,
    ref:'User'
}
],

posts:[{
type:mongoose.Schema.ObjectId,
ref:'Post'
}],

postCount:{
type:Number,
default:0,
},
savedPosts:[{
  type:mongoose.Schema.ObjectId,
  ref:'Post'
}],
savedJobs:[{
    type:mongoose.Schema.ObjectId,
    ref:'Job'
  }],

date:{
    type:Date,
    default:Date.now
},
confirmationToken:{
    type:String
}


});

module.exports=User=mongoose.model("User",UserSchema);

Job model

const mongoose=require('mongoose');
const Schema=mongoose.Schema;

const JobSchema=new Schema({
    user:{
        type:Schema.Types.ObjectId,
        ref:'User'
    },
    description:{
        type:String,
        required:true
    },
    title:{
        type:String,
        required:[true,'Please enter title'],
        
    },
    tags:{
        type:[String],
        required:true
    },
    qualification:{
        type:[String],
        required:true
    },
    location:{
        type:String,
        required:true
    },
    salary:{
       type:Number,
       required:true
    },
    jobpic:{
        type:String
    },
    link:{
     type:String
    },
  
    reviews:[
        {
            user:{
                type:Schema.Types.ObjectId,
                ref:'User'
            },
          
            text:{
                type:String,
                required:true,
                
            },
            name:{
                type:String
            },
            avatar:{
                type:String
            },
            date:{
                type:Date,
                default:Date.now
            }
        }
    ],
    date:{
        type:Date,
        default:Date.now
    },
    expiryDate:{
        type:Date
    }
    
    
})
module.exports=Job=mongoose.model('Job',JobSchema)

There is a small typo in parameter route here

now I got, cannot read property ‘includes’ of undefined when I send a request in the postman.