var express = require('express') var router = express.Router() const DB = require("./../mongoDB.js"); const Post = require("./../def/post.js"); const getUserId = function(req){ const user_sid = req.cookies.user_sid || req.query.user_sid || req.body.user_sid; return user_sid } DB.getDB.then((DB)=>{ router.get("/", async (req, res) => { let posts = await DB.getPosts(); return res.json(posts) }); router.get("/new", async (req, res) => { let post = { userid: getUserId(req), content: req.query.content } let postObj = new Post(post); let dbr = await DB.newPost(postObj) post = postObj.toObj(); post._id = dbr.insertedId; return res.json({ status: "ok", ...post }) }); router.get("/newComment", async (req, res) => { let userid = getUserId(req); let postid = req.query.postid; let content = req.query.content; let comment = { userid: userid, content: content, createdAt: new Date(), lastUpdated: new Date(), reactions: {} } console.log("comment", postid, comment); r = await DB.newComment(postid, comment); console.log(r) return res.json({ status: "ok" }) }); router.get("/react", async (req, res) => { let userid = getUserId(req); let postid = req.query.postid; let reaction = { type: "like", createdAt: new Date() }; console.log("reaction". postid, reaction); r = await DB.newReaction(postid, userid, reaction); console.log(r); return res.json({ status: "ok" }); }) router.get("/unreact", async (req, res) => { let userid = getUserId(req); let postid = req.query.postid; r = await DB.removeReaction(postid, userid); console.log(r) return res.json({ status: "ok" }) }); router.get("/comment/react", async (req, res) => { let userid = getUserId(req); let postid = req.query.postid; let commentDate = new Date(req.query.commentDate); let reaction = { type: "like", createdAt: new Date() }; console.log(req.query) console.log("comment reaction", postid, commentDate, reaction); r = await DB.newCommentReaction(postid, commentDate, userid, reaction); console.log(r) return res.json({ status: "ok" }) }); }); module.exports = router