PeerTube/server/controllers/webfinger.ts

40 lines
1023 B
TypeScript
Raw Normal View History

2017-11-14 17:31:26 +01:00
import * as express from 'express'
import { CONFIG, PREVIEWS_SIZE, EMBED_SIZE } from '../initializers'
import { oembedValidator } from '../middlewares'
import { VideoInstance } from '../models'
import { webfingerValidator } from '../middlewares/validators/webfinger'
import { AccountInstance } from '../models/account/account-interface'
const webfingerRouter = express.Router()
webfingerRouter.use('/.well-known/webfinger',
webfingerValidator,
webfingerController
)
// ---------------------------------------------------------------------------
export {
webfingerRouter
}
// ---------------------------------------------------------------------------
function webfingerController (req: express.Request, res: express.Response, next: express.NextFunction) {
const account: AccountInstance = res.locals.account
const json = {
subject: req.query.resource,
aliases: [ account.url ],
links: [
{
rel: 'self',
href: account.url
}
]
}
return res.json(json).end()
}