48 lines
1.3 KiB
JavaScript
48 lines
1.3 KiB
JavaScript
const Follows = require('./follows')
|
|
const Resources = require('./resources')
|
|
const Ego = require('./ego')
|
|
const log = require('../log')
|
|
|
|
module.exports = async (req, res) => {
|
|
const b = req.body
|
|
log.debug(b.type)
|
|
switch (b.type) {
|
|
case 'Follow':
|
|
Follows.follow(req, res)
|
|
break
|
|
case 'Undo':
|
|
// unfollow || unlike || unboost
|
|
if (b.object.type === 'Follow') {
|
|
Follows.unfollow(req, res)
|
|
} else if (b.object.type === 'Like') {
|
|
Ego.unbookmark(req, res)
|
|
} else if (b.object.type === 'Announce') {
|
|
Ego.unboost(req, res)
|
|
}
|
|
break
|
|
case 'Announce':
|
|
Ego.boost(req, res)
|
|
break
|
|
case 'Note':
|
|
log.debug('This is a note! I probably should create a comment here')
|
|
break
|
|
case 'Like':
|
|
Ego.bookmark(req, res)
|
|
break
|
|
case 'Delete':
|
|
await Resources.remove(req, res)
|
|
break
|
|
case 'Create':
|
|
// this is a reply
|
|
if (b.object.type === 'Note') {
|
|
log.debug('Create a resource!')
|
|
await Resources.create(req, res)
|
|
} else if (b.object.type === 'Event') {
|
|
log.debug('Event type is coming!!')
|
|
} else {
|
|
// await Resources.create(req, res)
|
|
log.warn(`Create with unsupported Object or not a reply => ${b.object.type}`)
|
|
}
|
|
break
|
|
}
|
|
}
|