Loading comments/api_adapter.js +11 −0 Original line number Diff line number Diff line Loading @@ -32,5 +32,16 @@ module.exports = { cls: target[1], member: target[2] || "" }; }, /** * Turns target object into array. */ targetToJson: function(target) { return [ target.type, target.cls, target.member ]; } }; No newline at end of file comments/app.js +29 −8 Original line number Diff line number Diff line Loading @@ -99,12 +99,23 @@ app.post('/auth/logout', function(req, res) { // Requests for Comments // Returns number of comments for each class/member, app.get('/auth/:sdk/:version/comments_meta', services.comments, function(req, res) { // and when user is logged in, all his subscriptions. app.get('/auth/:sdk/:version/comments_meta', services.comments, services.subscriptions, function(req, res) { req.comments.countsPerTarget(function(err, counts) { if (req.session.user) { req.subscriptions.findTargetsByUser(req.session.user.id, function(err, targets) { res.send({ comments: counts, subscriptions: targets.map(ApiAdapter.targetToJson) }); }); } else { res.send({ comments: counts, subscriptions: [] }); } }); }); Loading Loading @@ -231,9 +242,19 @@ app.post('/auth/:sdk/:version/comments/:commentId/undo_delete', services.require }); // Returns all subscriptions for logged in user // For now does nothing. app.get('/auth/:sdk/:version/subscriptions', function(req, res) { res.json({ subscriptions: [] }); app.get('/auth/:sdk/:version/subscriptions', services.subscriptions, function(req, res) { if (req.session.user.id) { req.subscriptions.findTargetsByUser(req.session.user.id, function(err, targets) { res.json({ subscriptions: targets.map(ApiAdapter.targetToJson) }); }); } else { res.json({ subscriptions: [] }); } }); app.listen(config.port); Loading comments/services.js +10 −0 Original line number Diff line number Diff line var DbFacade = require('./db_facade'); var Comments = require('./comments'); var Users = require('./users'); var Subscriptions = require('./subscriptions'); var ForumAuth = require('./forum_auth'); var config = require('./config'); Loading @@ -27,6 +28,15 @@ module.exports = { next(); }, /** * Adds subscriptions service to request. */ subscriptions: function(req, res, next) { var db = new DbFacade(config.mysql); req.subscriptions = new Subscriptions(db, req.params.sdk+"-"+req.params.version); next(); }, /** * Requires that user is logged in. */ Loading Loading
comments/api_adapter.js +11 −0 Original line number Diff line number Diff line Loading @@ -32,5 +32,16 @@ module.exports = { cls: target[1], member: target[2] || "" }; }, /** * Turns target object into array. */ targetToJson: function(target) { return [ target.type, target.cls, target.member ]; } }; No newline at end of file
comments/app.js +29 −8 Original line number Diff line number Diff line Loading @@ -99,12 +99,23 @@ app.post('/auth/logout', function(req, res) { // Requests for Comments // Returns number of comments for each class/member, app.get('/auth/:sdk/:version/comments_meta', services.comments, function(req, res) { // and when user is logged in, all his subscriptions. app.get('/auth/:sdk/:version/comments_meta', services.comments, services.subscriptions, function(req, res) { req.comments.countsPerTarget(function(err, counts) { if (req.session.user) { req.subscriptions.findTargetsByUser(req.session.user.id, function(err, targets) { res.send({ comments: counts, subscriptions: targets.map(ApiAdapter.targetToJson) }); }); } else { res.send({ comments: counts, subscriptions: [] }); } }); }); Loading Loading @@ -231,9 +242,19 @@ app.post('/auth/:sdk/:version/comments/:commentId/undo_delete', services.require }); // Returns all subscriptions for logged in user // For now does nothing. app.get('/auth/:sdk/:version/subscriptions', function(req, res) { res.json({ subscriptions: [] }); app.get('/auth/:sdk/:version/subscriptions', services.subscriptions, function(req, res) { if (req.session.user.id) { req.subscriptions.findTargetsByUser(req.session.user.id, function(err, targets) { res.json({ subscriptions: targets.map(ApiAdapter.targetToJson) }); }); } else { res.json({ subscriptions: [] }); } }); app.listen(config.port); Loading
comments/services.js +10 −0 Original line number Diff line number Diff line var DbFacade = require('./db_facade'); var Comments = require('./comments'); var Users = require('./users'); var Subscriptions = require('./subscriptions'); var ForumAuth = require('./forum_auth'); var config = require('./config'); Loading @@ -27,6 +28,15 @@ module.exports = { next(); }, /** * Adds subscriptions service to request. */ subscriptions: function(req, res, next) { var db = new DbFacade(config.mysql); req.subscriptions = new Subscriptions(db, req.params.sdk+"-"+req.params.version); next(); }, /** * Requires that user is logged in. */ Loading