diff --git a/api/controllers/UserController.js b/api/controllers/UserController.js index c86a7b68f8..a3191fc195 100755 --- a/api/controllers/UserController.js +++ b/api/controllers/UserController.js @@ -165,6 +165,21 @@ module.exports = { id: req.session.User.id }; res.json(user); + }, + + /** + * @api {post} /user/:id/house/:id/seen Mark user as seen + * @apiName Mark user as seen + * @apiGroup User + * @apiPermission authenticated + * + * @apiDescription Mark user as seen in a house + * + */ + seen: function(req, res, next){ + gladys.house.userSeen({user: req.params.user_id, house: req.params.house_id}) + .then((result) => res.json(result)) + .catch(next); } }; \ No newline at end of file diff --git a/config/policies.js b/config/policies.js index 6f0e34fc17..461fa3ed92 100755 --- a/config/policies.js +++ b/config/policies.js @@ -93,7 +93,8 @@ module.exports.policies = { login: [], delete: ['checkToken', 'isAdmin'], update: ['checkToken'], - whoami: ['checkToken'] + whoami: ['checkToken'], + seen: ['checkToken'] }, Welcome : { index: [], diff --git a/config/routes.js b/config/routes.js index 43a05c807a..d5c52506dd 100755 --- a/config/routes.js +++ b/config/routes.js @@ -260,6 +260,7 @@ module.exports.routes = { 'patch /user/:id': 'UserController.update', 'delete /user/:id': 'UserController.delete', 'get /user/whoami': 'UserController.whoami', + 'post /user/:user_id/house/:house_id/seen': 'UserController.seen', // Weather diff --git a/test/unit/api/controllers/User/User.seen.test.js b/test/unit/api/controllers/User/User.seen.test.js new file mode 100644 index 0000000000..9fdb29d804 --- /dev/null +++ b/test/unit/api/controllers/User/User.seen.test.js @@ -0,0 +1,26 @@ +var request = require('supertest'); +var validateUser = require('../../validator/userValidator.js'); + +describe('UserController', function() { + + describe('seen', function() { + + it('should mark user as seen', function (done) { + + request(sails.hooks.http.app) + .post('/user/1/house/1/seen?token=test') + .expect(200) + .end(function(err, res) { + if(err) return done(err); + + res.body.should.have.property('user', 1); + res.body.should.have.property('house', 1); + done(); + }); + + }); + + }); + + +}); \ No newline at end of file