diff --git a/src/controllers/groups.js b/src/controllers/groups.js index 93a39a26f3..289e950bdd 100644 --- a/src/controllers/groups.js +++ b/src/controllers/groups.js @@ -264,10 +264,15 @@ api.flagChatMessage = function(req, res, next){ if(!message) return res.json(404, {err: "Message not found!"}); if(message.uuid == user._id) return res.json(401, {err: "Can't report your own message."}); + // Log user ids that have flagged the message if(!message.flags) message.flags = {}; if(message.flags[user._id]) return res.json(401, {err: "You have already reported this message"}); - message.flags[user._id] = true; + + // Log total number of flags (publicly viewable) + if(!message.flagCount) message.flagCount = 0; + message.flagCount++ + group.markModified('chat'); group.save(function(err,_saved){ if(err) return next(err); diff --git a/src/models/group.js b/src/models/group.js index 3e00370b67..be66b59fa7 100644 --- a/src/models/group.js +++ b/src/models/group.js @@ -99,7 +99,8 @@ var chatDefaults = module.exports.chatDefaults = function(msg,user){ text: msg, timestamp: +new Date, likes: {}, - flags: {} + flags: {}, + flagCount: 0 }; if (user) { _.defaults(message, {