]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - server/controllers/webfinger.ts
Begin moving video channel to actor
[github/Chocobozzz/PeerTube.git] / server / controllers / webfinger.ts
1 import * as express from 'express'
2 import { asyncMiddleware } from '../middlewares'
3 import { webfingerValidator } from '../middlewares/validators'
4 import { ActorModel } from '../models/activitypub/actor'
5
6 const webfingerRouter = express.Router()
7
8 webfingerRouter.get('/.well-known/webfinger',
9 asyncMiddleware(webfingerValidator),
10 webfingerController
11 )
12
13 // ---------------------------------------------------------------------------
14
15 export {
16 webfingerRouter
17 }
18
19 // ---------------------------------------------------------------------------
20
21 function webfingerController (req: express.Request, res: express.Response, next: express.NextFunction) {
22 const actor = res.locals.actor as ActorModel
23
24 const json = {
25 subject: req.query.resource,
26 aliases: [ actor.url ],
27 links: [
28 {
29 rel: 'self',
30 type: 'application/activity+json',
31 href: actor.url
32 }
33 ]
34 }
35
36 return res.json(json).end()
37 }