2019-08-02 13:43:28 +02:00
|
|
|
const { event: Event } = require('../api/models')
|
|
|
|
const config = require('config')
|
2019-08-08 16:52:13 +02:00
|
|
|
const debug = require('debug')('fediverse:ego')
|
2019-08-02 13:43:28 +02:00
|
|
|
|
|
|
|
module.exports = {
|
|
|
|
async boost (req, res) {
|
2019-08-08 16:52:13 +02:00
|
|
|
const match = req.body.object.match(`${config.baseurl}/federation/m/(.*)`)
|
|
|
|
if (!match || match.length<2) return res.status(404).send('Event not found!')
|
|
|
|
debug('boost %s', match[1])
|
|
|
|
const event = await Event.findByPk(Number(match[1]))
|
2019-08-03 00:48:48 +02:00
|
|
|
if (!event) return res.status(404).send('Event not found!')
|
2019-08-02 13:43:28 +02:00
|
|
|
await event.update({ boost: [...event.boost, req.body.actor]})
|
|
|
|
res.sendStatus(201)
|
|
|
|
},
|
2019-08-08 16:52:13 +02:00
|
|
|
|
|
|
|
async bookmark (req, res) {
|
|
|
|
const match = req.body.object.match(`${config.baseurl}/federation/m/(.*)`)
|
|
|
|
if (!match || match.length<2) return res.status(404).send('Event not found!')
|
|
|
|
const event = await Event.findByPk(Number(match[1]))
|
|
|
|
debug('%s bookmark %s (%d)', req.body.actor, event.title, event.likes.length)
|
2019-08-03 00:48:48 +02:00
|
|
|
if (!event) return res.status(404).send('Event not found!')
|
2019-08-02 13:43:28 +02:00
|
|
|
await event.update({ likes: [...event.likes, req.body.actor]})
|
|
|
|
res.sendStatus(201)
|
2019-08-08 16:52:13 +02:00
|
|
|
},
|
|
|
|
|
|
|
|
async unbookmark (req, res) {
|
|
|
|
const body = req.body
|
|
|
|
const object = body.object
|
|
|
|
const match = object.object.match(`${config.baseurl}/federation/m/(.*)`)
|
|
|
|
if (!match || match.length<2) return res.status(404).send('Event not found!')
|
|
|
|
const event = await Event.findByPk(Number(match[1]))
|
|
|
|
debug('%s unbookmark %s (%d)', body.actor, event.title, event.likes.length)
|
|
|
|
if (!event) return res.status(404).send('Event not found!')
|
|
|
|
await event.update({ likes: [...event.likes.filter(actor => actor!==body.actor)]})
|
|
|
|
res.sendStatus(201)
|
2019-08-02 13:43:28 +02:00
|
|
|
}
|
|
|
|
}
|