]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - server/controllers/api/remote/pods.ts
Better typescript typing for a better world
[github/Chocobozzz/PeerTube.git] / server / controllers / api / remote / pods.ts
1 import * as express from 'express'
2
3 import { database as db } from '../../../initializers/database'
4 import { checkSignature, signatureValidator } from '../../../middlewares'
5 import { PodSignature } from '../../../../shared'
6
7 const remotePodsRouter = express.Router()
8
9 // Post because this is a secured request
10 remotePodsRouter.post('/remove',
11 signatureValidator,
12 checkSignature,
13 removePods
14 )
15
16 // ---------------------------------------------------------------------------
17
18 export {
19 remotePodsRouter
20 }
21
22 // ---------------------------------------------------------------------------
23
24 function removePods (req: express.Request, res: express.Response, next: express.NextFunction) {
25 const signature: PodSignature = req.body.signature
26 const host = signature.host
27
28 db.Pod.loadByHost(host)
29 .then(pod => pod.destroy())
30 .then(() => res.type('json').status(204).end())
31 .catch(err => next(err))
32 }