const express = require('express'); const mongoose = require('mongoose'); const Post = require('../DB/Post') const route = express.Router(); route.get('/:ComName', async(req,res)=>{ const post = await Post.find({ComName: req.params.ComName}).sort({ _id: -1 }) res.send(post) }); route.post('/', async(req,res)=>{ const post = req.body; const newPost = new Post(post) try { await newPost.save() res.status(200).json(newPost) } catch (error) { res.status(400).json({message: error.message}) } }); route.delete('/:PostID', async(req,res)=>{ Post.deleteOne({_id: req.params.PostID}).then( () => { res.status(200).json({ message: 'Deleted!' }); } ).catch( (error) => { res.status(400).json({ message: error.message }); } ); }); route.put('/pushlike/:PostID/:member', async(req,res)=>{ try{ await Post.findOneAndUpdate( {_id: req.params.PostID}, { $inc: { likes: 1} }, ); await Post.findOneAndUpdate( {_id: req.params.PostID}, { $push: { like_users: req.params.member } } ); return res.status(200).json("member added to likes") } catch(err){ return res.status(400).json({err}) } }); route.put('/pulllike/:PostID/:member', async(req,res)=>{ try{ await Post.findOneAndUpdate( {_id: req.params.PostID}, { $inc: { likes: -1} } ); await Post.findOneAndUpdate( {_id: req.params.PostID}, { $pull: { like_users: req.params.member } } ); return res.status(200).json("member removed from likes") } catch(err){ return res.status(400).json({err}) } }); module.exports = route;