diff --git a/app.js b/app.js index be59267..83c34ea 100644 --- a/app.js +++ b/app.js @@ -117,4 +117,7 @@ app.get('/v:apiVersion/user', api.user) // api for crediting behavior app.post('/v:apiVersion/user/behavior/:behavior/credit', api.credit); +// api for crediting behavior +app.post('/v:apiVersion/user/mark-all-as-read', api.markAllAsRead); + module.exports = app; diff --git a/routes/api.js b/routes/api.js index 1565643..d4ef847 100644 --- a/routes/api.js +++ b/routes/api.js @@ -1,5 +1,6 @@ var Badge = require('../models/badge'); var User = require('../models/user'); +var BadgeInstance = require('../models/badge-instance'); var util = require('../lib/util'); /** @@ -81,7 +82,29 @@ exports.credit = function credit(req, res) { }; return obj; }, {}); - + res.send(statusCode, result); }); }; + + +/** + * Mark all user badges as read. + */ + +exports.markAllAsRead = function markAllAsRead(req, res) { + var form = req.body; + + if (!form.email) + return res.send(400, { + status: 'missing-parameter', + parameter: 'email', + message: 'You need to pass in a valid email address' + }); + + BadgeInstance.markAllAsRead(form.email, function (err) { + if (err) + return res.send(500, { status: 'error', error: err }); + return res.send(200, { status: 'ok' }); + }); +}; \ No newline at end of file