linting
This commit is contained in:
@@ -21,6 +21,16 @@ module.exports = {
|
||||
inbox: `${config.baseurl}/federation/u/${name}/inbox`,
|
||||
outbox: `${config.baseurl}/federation/u/${name}/outbox`,
|
||||
followers: `${config.baseurl}/federation/u/${name}/followers`,
|
||||
attachment: [{
|
||||
type: 'PropertyValue',
|
||||
name: 'Website',
|
||||
value: `<a href='${config.baseurl}'>${config.baseurl}</a>`
|
||||
}],
|
||||
icon: {
|
||||
type: 'Image',
|
||||
mediaType: 'image/jpeg',
|
||||
url: config.baseurl + '/favicon.ico'
|
||||
},
|
||||
publicKey: {
|
||||
id: `${config.baseurl}/federation/u/${name}#main-key`,
|
||||
owner: `${config.baseurl}/federation/u/${name}`,
|
||||
@@ -32,62 +42,79 @@ module.exports = {
|
||||
},
|
||||
async followers (req, res) {
|
||||
const name = req.params.name
|
||||
const page = req.query.page
|
||||
debug('Retrieve %s followers', name)
|
||||
if (!name) return res.status(400).send('Bad request.')
|
||||
const user = await User.findOne({where: { username: name }})
|
||||
if (!user) return res.status(404).send(`No record found for ${name}`)
|
||||
const ret = {
|
||||
'@context': [ 'https://www.w3.org/ns/activitystreams' ],
|
||||
id: `${config.baseurl}/federation/u/${name}/followers`,
|
||||
type: 'OrderedCollection',
|
||||
totalItems: user.followers.length,
|
||||
first: {
|
||||
id: `${config.baseurl}/federation/u/${name}/followers?page=1`,
|
||||
type: 'OrderedCollectionPage',
|
||||
|
||||
res.type('application/activity+json; charset=utf-8')
|
||||
|
||||
if (!page) {
|
||||
debug('No pagination')
|
||||
return res.json({
|
||||
'@context': 'https://www.w3.org/ns/activitystreams',
|
||||
id: `${config.baseurl}/federation/u/${name}/followers`,
|
||||
type: 'OrderedCollection',
|
||||
totalItems: user.followers.length,
|
||||
partOf: `${config.baseurl}/federation/u/${name}/followers`,
|
||||
orderedItems: user.followers,
|
||||
}
|
||||
first: `${config.baseurl}/federation/u/${name}/followers?page=true`,
|
||||
last: `${config.baseurl}/federation/u/${name}/followers?page=true`,
|
||||
})
|
||||
}
|
||||
res.json(ret)
|
||||
return res.json({
|
||||
'@context': 'https://www.w3.org/ns/activitystreams',
|
||||
id: `${config.baseurl}/federation/u/${name}/followers?page=${page}`,
|
||||
type: 'OrderedCollectionPage',
|
||||
totalItems: user.followers.length,
|
||||
partOf: `${config.baseurl}/federation/u/${name}/followers` ,
|
||||
orderedItems: user.followers
|
||||
})
|
||||
},
|
||||
|
||||
async outbox (req, res) {
|
||||
const name = req.params.name
|
||||
const page = req.query.page
|
||||
|
||||
|
||||
if (!name) return res.status(400).send('Bad request.')
|
||||
const user = await User.findOne({
|
||||
include: [ { model: Event, include: [ Place, Tag ] } ],
|
||||
where: { username: name }
|
||||
})
|
||||
|
||||
if (!user) return res.status(404).send(`No record found for ${name}`)
|
||||
if (!user) return res.status(404).send(`No record found for ${name}`)
|
||||
|
||||
debug('Inside outbox, should return all events from this user')
|
||||
|
||||
// https://www.w3.org/TR/activitypub/#outbox
|
||||
res.type('application/activity+json; charset=utf-8')
|
||||
if (!page) {
|
||||
const ret = {
|
||||
debug('Without pagination ')
|
||||
return res.json({
|
||||
'@context': 'https://www.w3.org/ns/activitystreams',
|
||||
id: `${config.baseurl}/federation/u/${name}/outbox`,
|
||||
type: 'OrderedCollection',
|
||||
totalItems: user.events.length,
|
||||
first: {
|
||||
id: `${config.baseurl}/federation/u/${name}/outbox?page=true`,
|
||||
type: 'OrderedCollectionPage',
|
||||
totalItem: user.events.length,
|
||||
partOf: `${config.baseurl}/federation/u/${name}/outbox`,
|
||||
orderedItems: user.events.map(e => e.toAP(user.username))
|
||||
}
|
||||
}
|
||||
res.type('application/activity+json; charset=utf-8')
|
||||
return res.json(ret)
|
||||
first: `${config.baseurl}/federation/u/${name}/outbox?page=true`,
|
||||
last: `${config.baseurl}/federation/u/${name}/outbox?page=true`
|
||||
})
|
||||
}
|
||||
const ret = {
|
||||
|
||||
debug('With pagination %s', page)
|
||||
return res.json({
|
||||
'@context': 'https://www.w3.org/ns/activitystreams',
|
||||
id: `${config.baseurl}/federation/u/${name}/outbox?page=true`,
|
||||
id: `${config.baseurl}/federation/u/${name}/outbox?page=${page}`,
|
||||
type: 'OrderedCollectionPage',
|
||||
partOf: `${config.baseurl}/federation/u/${name}/outbox`,
|
||||
orderedItems: user.events.map(e => e.toAP(user.username))
|
||||
}
|
||||
res.type('application/activity+json; charset=utf-8')
|
||||
res.json(ret)
|
||||
totalItems: user.followers.length,
|
||||
partOf: `${config.baseurl}/federation/u/${name}/outbox` ,
|
||||
orderedItems: user.events.map(e => ({
|
||||
id: `${config.baseurl}/federation/m/${e.id}#create`,
|
||||
type: 'Create',
|
||||
to: ['https://www.w3.org/ns/activitystreams#Public'],
|
||||
cc: [`${config.baseurl}/federation/u/${user.username}/followers`],
|
||||
published: e.createdAt,
|
||||
actor: `${config.baseurl}/federation/u/${user.username}`,
|
||||
object: e.toAP(user.username)
|
||||
}))
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user