post.js old i instagam youtube mern app


const express = require('express')
const router = express.Router()
const mongoose = require('mongoose')
const requireLogin = require('../middleware/requireLogin')
const Post = mongoose.model("Post")



router.get('/allpost',requireLogin,(req,res)=>{
Post.find()
.populate("postedBy","_id name")
.then(posts=>{
res.json({posts})
})
.catch(err=>{
console.log(err)
})
})

router.post('/createpost',requireLogin,(req,res)=>{
const {title,body,pic} = req.body
if(!title||!body||!pic){
return res.status(422).json({error:'please add all the fields'})
}
req.user.password = undefined
const post=new Post ({
title,
body,
photo:pic,
postedBy:req.user
})
post.save().then(result=>{
res.json({post:result})
})
.catch(err=>{
console.log(err)
})
})

router.get('/mypost',requireLogin,(req,res)=>{
Post.find({postedBy:req.user._id})
.populate("PostedBy","_id name")
.then(mypost=>{
res.json({mypost})
})
.catch(err=>{
console.log(err)
})
})

router.put('/like',requireLogin,(req,res)=>{
Post.fintByIdAndUpdate(req.body.postId,{
$push:{likes:req.user._id}
},{
new:true
}).exec((err,result)=>{
if(err){
return res.status(422).json({error:err})
}else{
res.json(result)
}
})
})

router.put('/unlike',requireLogin,(req,res)=>{
Post.fintByIdAndUpdate(req.body.postId,{
$pull:{likes:req.user._id}
},{
new:true
}).exec((err,result)=>{
if(err){
return res.status(422).json({error:err})
}else{
res.json(result)
}
})
})


module.exports = router

Comments

Popular posts from this blog

Rails 7 Features :: Comparison with Rails 6 and Rails 5