1
0
Fork 0
mirror of https://github.com/Chocobozzz/PeerTube.git synced 2025-10-05 19:42:24 +02:00
We must not expose private actor objects to clients
Just make 2 GET requests on channel/accounts instead
This commit is contained in:
Chocobozzz 2021-05-28 10:21:39 +02:00
parent d6d96bed80
commit 012580d98f
No known key found for this signature in database
GPG key ID: 583A612D890159BE
21 changed files with 221 additions and 397 deletions

View file

@ -1,37 +0,0 @@
import * as express from 'express'
import { JobQueue } from '../../lib/job-queue'
import { asyncMiddleware } from '../../middlewares'
import { actorNameWithHostGetValidator } from '../../middlewares/validators'
const actorRouter = express.Router()
actorRouter.get('/:actorName',
asyncMiddleware(actorNameWithHostGetValidator),
getActor
)
// ---------------------------------------------------------------------------
export {
actorRouter
}
// ---------------------------------------------------------------------------
function getActor (req: express.Request, res: express.Response) {
let accountOrVideoChannel
if (res.locals.account) {
accountOrVideoChannel = res.locals.account
}
if (res.locals.videoChannel) {
accountOrVideoChannel = res.locals.videoChannel
}
if (accountOrVideoChannel.isOutdated()) {
JobQueue.Instance.createJob({ type: 'activitypub-refresher', payload: { type: 'actor', url: accountOrVideoChannel.Actor.url } })
}
return res.json(accountOrVideoChannel.toFormattedJSON())
}

View file

@ -16,7 +16,6 @@ import { pluginRouter } from './plugins'
import { searchRouter } from './search'
import { serverRouter } from './server'
import { usersRouter } from './users'
import { actorRouter } from './actor'
import { videoChannelRouter } from './video-channel'
import { videoPlaylistRouter } from './video-playlist'
import { videosRouter } from './videos'
@ -41,7 +40,6 @@ apiRouter.use('/bulk', bulkRouter)
apiRouter.use('/oauth-clients', oauthClientsRouter)
apiRouter.use('/config', configRouter)
apiRouter.use('/users', usersRouter)
apiRouter.use('/actors', actorRouter)
apiRouter.use('/accounts', accountsRouter)
apiRouter.use('/video-channels', videoChannelRouter)
apiRouter.use('/video-playlists', videoPlaylistRouter)