Skip to content

Commit

Permalink
refactor abit adding error checking to missing parts
Browse files Browse the repository at this point in the history
  • Loading branch information
barisusakli committed Nov 15, 2013
1 parent 411ba35 commit 84fa704
Show file tree
Hide file tree
Showing 5 changed files with 96 additions and 81 deletions.
17 changes: 9 additions & 8 deletions src/posts.js
Original file line number Diff line number Diff line change
Expand Up @@ -131,17 +131,18 @@ var RDB = require('./redis.js'),
});
};

// TODO: this function is never called except from some debug route. clean up?
Posts.getPostData = function(pid, callback) {
RDB.hgetall('post:' + pid, function(err, data) {
if (err === null) {
plugins.fireHook('filter:post.get', data, function(err, newData) {
if (!err) callback(newData);
else callback(data);
});
} else {
winston.error(err);
if(err) {
return callback(err, null);
}

plugins.fireHook('filter:post.get', data, function(err, newData) {
if(err) {
return callback(err, null);
}
callback(null, newData);
});
});
}

Expand Down
98 changes: 62 additions & 36 deletions src/routes/debug.js
Original file line number Diff line number Diff line change
@@ -1,50 +1,76 @@

var user = require('./../user'),
categories = require('./../categories'),
topics = require('./../topics'),
posts = require('./../posts');


var DebugRoute = function(app) {
app.namespace('/debug', function() {
app.get('/cid/:cid', function (req, res) {
categories.getCategoryData(req.params.cid, function (err, data) {
if (data) {
res.send(data);
} else {
res.send(404, "Category doesn't exist!");
}
});
});

app.get('/tid/:tid', function (req, res) {
topics.getTopicData(req.params.tid, function (data) {
if (data) {
res.send(data);
} else {
res.send(404, "Topic doesn't exist!");
}
});
app.namespace('/debug', function() {

app.get('/uid/:uid', function (req, res) {

if (!req.params.uid)
return res.redirect('/404');

user.getUserData(req.params.uid, function (err, data) {
if (data) {
res.send(data);
} else {
res.json(404, {
error: "User doesn't exist!"
});
}
});
});

app.get('/pid/:pid', function (req, res) {
posts.getPostData(req.params.pid, function (data) {
if (data) {
res.send(data);
} else {
res.send(404, "Post doesn't exist!");
}
});

app.get('/cid/:cid', function (req, res) {
categories.getCategoryData(req.params.cid, function (err, data) {
if (data) {
res.send(data);
} else {
res.send(404, "Category doesn't exist!");
}
});
});

app.get('/prune', function(req, res) {
var Notifications = require('../notifications');
app.get('/tid/:tid', function (req, res) {
topics.getTopicData(req.params.tid, function (err, data) {
if (data) {
res.send(data);
} else {
res.send(404, "Topic doesn't exist!");
}
});
});

Notifications.prune(new Date(), function() {
console.log('done');
});
res.send();
app.get('/pid/:pid', function (req, res) {
posts.getPostData(req.params.pid, function (err, data) {
if (data) {
res.send(data);
} else {
res.send(404, "Post doesn't exist!");
}
});
});

app.get('/uuidtest', function(req, res) {
var Utils = require('../../public/src/utils.js');
app.get('/prune', function(req, res) {
var Notifications = require('../notifications');

res.send(Utils.generateUUID());
Notifications.prune(new Date(), function() {
console.log('done');
});
res.send();
});

app.get('/uuidtest', function(req, res) {
var Utils = require('../../public/src/utils.js');

res.send(Utils.generateUUID());
});
};
});
};

module.exports = DebugRoute;
16 changes: 0 additions & 16 deletions src/routes/user.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,22 +14,6 @@ var user = require('./../user.js'),
(function (User) {
User.createRoutes = function (app) {

app.get('/uid/:uid', function (req, res) {

if (!req.params.uid)
return res.redirect('/404');

user.getUserData(req.params.uid, function (err, data) {
if (data) {
res.send(data);
} else {
res.json(404, {
error: "User doesn't exist!"
});
}
});
});

app.namespace('/users', function () {
app.get('', function (req, res) {
app.build_header({
Expand Down
44 changes: 24 additions & 20 deletions src/topics.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,28 +20,36 @@ var RDB = require('./redis.js'),

Topics.getTopicData = function(tid, callback) {
RDB.hgetall('topic:' + tid, function(err, data) {
if (err === null) {
if(data) {
data.title = validator.sanitize(data.title).escape();
if(data.timestamp) {
data.relativeTime = new Date(parseInt(data.timestamp, 10)).toISOString();
}
}
if(err) {
return callback(err, null);
}

callback(data);
} else {
console.log(err);
if(data) {
data.title = validator.sanitize(data.title).escape();
if(data.timestamp) {
data.relativeTime = new Date(parseInt(data.timestamp, 10)).toISOString();
}
}

callback(null, data);
});
}

Topics.getTopicDataWithUser = function(tid, callback) {
Topics.getTopicData(tid, function(topic) {
Topics.getTopicData(tid, function(err, topic) {
if(err) {
return callback(err, null);
}

user.getUserFields(topic.uid, ['username', 'userslug', 'picture'] , function(err, userData) {
if(err) {
return callback(err, null);
}

topic.username = userData.username;
topic.userslug = userData.userslug
topic.picture = userData.picture;
callback(topic);
callback(null, topic);
});
});
}
Expand Down Expand Up @@ -331,7 +339,7 @@ var RDB = require('./redis.js'),
}

function loadTopic(tid, callback) {
Topics.getTopicData(tid, function(topicData) {
Topics.getTopicData(tid, function(err, topicData) {
if (!topicData) {
return callback(null);
}
Expand Down Expand Up @@ -381,9 +389,7 @@ var RDB = require('./redis.js'),
Topics.increaseViewCount(tid);

function getTopicData(next) {
Topics.getTopicData(tid, function(topicData) {
next(null, topicData);
});
Topics.getTopicData(tid, next);
}

function getTopicPosts(next) {
Expand Down Expand Up @@ -442,9 +448,7 @@ var RDB = require('./redis.js'),
Topics.getTopicForCategoryView = function(tid, uid, callback) {

function getTopicData(next) {
Topics.getTopicDataWithUser(tid, function(topic) {
next(null, topic);
});
Topics.getTopicDataWithUser(tid, next);
}

function getReadStatus(next) {
Expand Down Expand Up @@ -517,7 +521,7 @@ var RDB = require('./redis.js'),
});

async.each(tids, function(tid, next) {
Topics.getTopicDataWithUser(tid, function(topicData) {
Topics.getTopicDataWithUser(tid, function(err, topicData) {
topics.push(topicData);
next();
});
Expand Down
2 changes: 1 addition & 1 deletion src/websockets.js
Original file line number Diff line number Diff line change
Expand Up @@ -688,7 +688,7 @@ module.exports.init = function(io) {
socket.on('api:composer.push', function(data) {
if (uid > 0 || meta.config.allowGuestPosting === '1') {
if (parseInt(data.tid) > 0) {
topics.getTopicData(data.tid, function(topicData) {
topics.getTopicData(data.tid, function(err, topicData) {
if (data.body)
topicData.body = data.body;

Expand Down

0 comments on commit 84fa704

Please sign in to comment.