/
topic-commented.js
42 lines (35 loc) · 1.04 KB
/
topic-commented.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
var db = require('../../db')
var log = require('debug')('democracyos:notifier:topic-commented')
var ObjectId = require('mongojs').ObjectId
var jobs = require('../../jobs')
var jobName = 'topic-commented'
jobs.define(jobName, function (job, done) {
var data = job.attrs.data
db().topics.findOne({ _id: ObjectId(data.topic) }, function (err, topic) {
if (err) {
log('Error found %s', err)
return done(err)
}
db().feeds.findOne({ forum: ObjectId(topic.forum) }, function (err, feed) {
if (err) {
log('Error found %s', err)
return done(err)
}
feed = feed || {}
feed.type = jobName
feed.createdAt = Date.now()
feed.topic = data.topic
feed.comment = data.comment
feed.data = { user: data.user }
feed.forum = topic.forum
db().feeds.save(feed, function (err, feed) {
if (err) {
log('Error found %s', err)
return done(err)
}
log('Saved feed for commented topic %s', data.topic)
done()
})
})
})
})