groups working

This commit is contained in:
Adolfo Reyna
2021-08-19 10:19:10 -07:00
parent 95a7bcb3ff
commit 9f5f23364b
5 changed files with 117 additions and 50 deletions

View File

@@ -4,11 +4,6 @@ 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)=>{
const getProfileId = (req)=>{
@@ -26,10 +21,10 @@ DB.getDB.then((DB)=>{
return res.json(posts)
});
router.get("/new", async (req, res) => {
router.post("/", async (req, res) => {
let post = {
profileid: getProfileId(req),
...req.query
...req.body
}
post.toProfile = post.toProfile ? DB.ObjectID(post.toProfile) : undefined;
let postObj = new Post(post);
@@ -42,10 +37,33 @@ DB.getDB.then((DB)=>{
})
});
router.get("/newComment", async (req, res) => {
router.post("/react", async (req, res) => {
let userid = getProfileId(req);
let postid = req.body.postid;
let reaction = {
type: "like",
createdAt: new Date()
};
r = await DB.newReaction(postid, userid, reaction);
return res.json({
status: "ok"
});
})
router.post("/unreact", async (req, res) => {
let userid = getProfileId(req);
let postid = req.body.postid;
r = await DB.removeReaction(postid, userid);
console.log(r)
return res.json({
status: "ok"
})
});
router.post("/comment/", async (req, res) => {
let profileid = getProfileId(req);
let postid = req.query.postid;
let content = req.query.content;
let postid = req.body.postid;
let content = req.body.content;
let comment = {
profileid: profileid,
content: content,
@@ -55,53 +73,33 @@ DB.getDB.then((DB)=>{
}
console.log("comment", postid, comment);
r = await DB.newComment(postid, comment);
console.log(r)
return res.json({
status: "ok",
...comment
})
});
router.get("/react", async (req, res) => {
router.post("/comment/react", async (req, res) => {
let userid = getProfileId(req);
let postid = req.query.postid;
let postid = req.body.postid;
let commentDate = new Date(req.body.commentDate);
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 = getProfileId(req);
let postid = req.query.postid;
r = await DB.removeReaction(postid, userid);
console.log(r)
r = await DB.newCommentReaction(postid, commentDate, userid, reaction);
return res.json({
status: "ok"
})
});
router.get("/comment/react", async (req, res) => {
let userid = getProfileId(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)
router.get("/:id", async (req, res) => {
const postId = req.params.id;
const post = await DB.getPost(postId);
return res.json({
status: "ok"
})
status: "ok",
... post
});
});
});

View File

@@ -6,15 +6,53 @@ const Profile = require("../def/profile.js");
DB.getDB.then((DB)=>{
const getUserId = function(req){
const user_sid = req.cookies.user_sid || req.query.user_sid || req.body.user_sid;
return DB.ObjectID(user_sid);
}
router.get("/new", async (req, res) => {
let user = {
let profile = {
userid: getUserId(req),
... req.query.content
};
let userObj = new Profile(user);
DB.newProfile(userObj)
let profileObj = new Profile(profile);
let r = await DB.newProfile(profileObj);
return res.json({
status: "ok"
status: "ok",
... profileObj.toObj()
});
});
router.get("/groups", async (req, res) => {
let groups = await DB.getGroups();
return res.json({
status: "ok",
groups
});
});
router.post("/groups", async (req, res) => {
let profile = {
userid: getUserId(req),
isGroup: true,
... req.body
};
console.log("newGroup", profile)
let profileObj = new Profile(profile);
DB.newProfile(profileObj)
return res.json({
status: "ok",
... profileObj.toObj()
});
});
router.get("/groups/:id", async (req, res) => {
const groupid = req.params.id;
let groups = await DB.getGroup(groupid);
return res.json({
status: "ok",
groups
});
});