bookmark/unbookmark from fediverse
This commit is contained in:
@@ -1,19 +1,37 @@
|
||||
const { event: Event } = require('../api/models')
|
||||
const config = require('config')
|
||||
const debug = require('debug')('fediverse:ego')
|
||||
|
||||
module.exports = {
|
||||
async boost (req, res) {
|
||||
const event_id = req.body.object.match(`${config.baseurl}/federation/m/(.*)`)[1]
|
||||
const event = await Event.findByPk(event_id)
|
||||
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]))
|
||||
if (!event) return res.status(404).send('Event not found!')
|
||||
await event.update({ boost: [...event.boost, req.body.actor]})
|
||||
res.sendStatus(201)
|
||||
},
|
||||
async like (req, res) {
|
||||
const event_id = req.body.object.match(`${config.baseurl}/federation/m/(.*)`)[1]
|
||||
const event = await Event.findByPk(event_id)
|
||||
|
||||
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)
|
||||
if (!event) return res.status(404).send('Event not found!')
|
||||
await event.update({ likes: [...event.likes, req.body.actor]})
|
||||
res.sendStatus(201)
|
||||
},
|
||||
|
||||
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)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user