feat(forums): get topic data

This commit is contained in:
OldHawk
2017-07-08 01:57:31 +08:00
parent be796d544c
commit 8e563e8304
3 changed files with 44 additions and 9 deletions

View File

@@ -60,8 +60,6 @@ exports.listTopics = function (req, res) {
.sort('-isTop -updatedAt -createdAt')
.populate('user', 'username displayName profileImageURL uploaded downloaded')
.populate('lastUser', 'username displayName profileImageURL uploaded downloaded')
.populate('_scoreList.user', 'username displayName profileImageURL uploaded downloaded')
.populate('_replies.user', 'username displayName profileImageURL uploaded downloaded')
.exec(function (err, topics) {
if (err) {
return res.status(422).send({
@@ -98,3 +96,41 @@ exports.postNewTopic = function (req, res) {
lastTopic: topic
}).exec();
};
/**
* read forum
* @param req
* @param res
*/
exports.readTopic = function (req, res) {
res.json(req.topic);
};
/**
* Invitation middleware
*/
exports.topicById = function (req, res, next, id) {
if (!mongoose.Types.ObjectId.isValid(id)) {
return res.status(400).send({
message: 'Topic is invalid'
});
}
Topic.findById(id)
.populate('user', 'username displayName profileImageURL uploaded downloaded')
.populate('lastUser', 'username displayName profileImageURL uploaded downloaded')
.populate('_scoreList.user', 'username displayName profileImageURL uploaded downloaded')
.populate('_replies.user', 'username displayName profileImageURL uploaded downloaded')
.exec(function (err, topic) {
if (err) {
return next(err);
} else if (!topic) {
return res.status(404).send({
message: 'No topic with that identifier has been found'
});
}
req.topic = topic;
next();
});
};