mirror of
https://framagit.org/les/gancio.git
synced 2025-02-01 00:52:01 +01:00
28 lines
954 B
JavaScript
28 lines
954 B
JavaScript
const express = require('express')
|
|
const router = express.Router()
|
|
const { user: User } = require('../api/models')
|
|
const config = require('config')
|
|
|
|
router.get('/', async (req, res) => {
|
|
console.error('ma sono dentro webfinger ?!?!')
|
|
const resource = req.query.resource
|
|
if (!resource || !resource.includes('acct:')) {
|
|
return res.status(400).send('Bad request. Please make sure "acct:USER@DOMAIN" is what you are sending as the "resource" query parameter.')
|
|
}
|
|
const name = resource.match(/acct:(.*)@/)[1]
|
|
const domain = new URL(config.baseurl).host
|
|
const user = await User.findOne({where: { username: name } })
|
|
if (!user) return res.status(404).send(`No record found for ${name}`)
|
|
const ret = {
|
|
subject: `acct:${name}@${host}`,
|
|
links: [
|
|
{
|
|
rel: 'self',
|
|
type: 'application/activity+json',
|
|
href: `${config.baseurl}/federation/u/${name}`
|
|
}
|
|
]
|
|
}
|
|
res.json(ret)
|
|
})
|
|
module.exports = router
|