diff --git a/modules/messages/client/controllers/messages.client.controller.js b/modules/messages/client/controllers/messages.client.controller.js index 65836634..af1ee2a4 100644 --- a/modules/messages/client/controllers/messages.client.controller.js +++ b/modules/messages/client/controllers/messages.client.controller.js @@ -186,6 +186,34 @@ } else { e.addClass('popup-visible'); } + + vm.updateReadStatus(msg); + }; + + /** + * updateReadStatus + * @param m + */ + vm.updateReadStatus = function (m) { + var msg = new MessagesService({ + _messageId: m._id + }); + + if (fromIsMe(m)) { + msg.from_status = 1; + } + if (toIsMe(m)) { + msg.to_status = 1; + } + console.log(msg); + + msg.$update(function (res) { + vm.selectedMessage = res; + + vm.messages.splice(vm.messages.indexOf(m), 0, res); + vm.messages.splice(vm.messages.indexOf(m), 1); + vm.figureOutItemsToDisplay(); + }); }; /** diff --git a/modules/messages/server/controllers/messages.server.controller.js b/modules/messages/server/controllers/messages.server.controller.js index 4ba42ff8..df7eee25 100644 --- a/modules/messages/server/controllers/messages.server.controller.js +++ b/modules/messages/server/controllers/messages.server.controller.js @@ -111,6 +111,26 @@ exports.delete = function (req, res) { } }; +/** + * Update + */ +exports.update = function (req, res) { + var message = req.message; + + message.from_status = req.body.from_status; + message.to_status = req.body.to_status; + + message.save(function (err) { + if (err) { + return res.status(422).send({ + message: errorHandler.getErrorMessage(err) + }); + } else { + res.json(message); + } + }); +}; + /** * createReply * @param req diff --git a/modules/messages/server/routes/messages.server.routes.js b/modules/messages/server/routes/messages.server.routes.js index d4dda635..f5f6579f 100644 --- a/modules/messages/server/routes/messages.server.routes.js +++ b/modules/messages/server/routes/messages.server.routes.js @@ -14,6 +14,7 @@ module.exports = function (app) { app.route('/api/messages/:messageId').all(messagesPolicy.isAllowed) .delete(messages.delete) + .put(messages.update) .post(messages.createReply); app.param('messageId', messages.messageByID);