X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fcontrollers%2Fapi%2Fpods.ts;h=e1e8ff6cad51abf5f2f7940ae876ba68b2ae5fd2;hb=6d33593a0829a7f041127d50d4c455456550a47f;hp=55a7df6610da09bd9f632b82f8967d1c6896ac90;hpb=ad0997adfb9e1e3b1ff54338d7558cf7b18440ea;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/controllers/api/pods.ts b/server/controllers/api/pods.ts index 55a7df661..e1e8ff6ca 100644 --- a/server/controllers/api/pods.ts +++ b/server/controllers/api/pods.ts @@ -5,12 +5,13 @@ import { CONFIG } from '../../initializers' import { logger, getMyPublicCert, - getFormatedObjects + getFormattedObjects } from '../../helpers' import { sendOwnedVideosToPod, makeFriends, - quitFriends + quitFriends, + removeFriend } from '../../lib' import { podsAddValidator, @@ -18,11 +19,13 @@ import { ensureIsAdmin, makeFriendsValidator, setBodyHostPort, - setBodyHostsPort + setBodyHostsPort, + podRemoveValidator } from '../../middlewares' import { PodInstance } from '../../models' +import { Pod as FormattedPod } from '../../../shared' const podsRouter = express.Router() @@ -32,18 +35,24 @@ podsRouter.post('/', podsAddValidator, addPods ) -podsRouter.post('/makefriends', +podsRouter.post('/make-friends', authenticate, ensureIsAdmin, makeFriendsValidator, setBodyHostsPort, makeFriendsController ) -podsRouter.get('/quitfriends', +podsRouter.get('/quit-friends', authenticate, ensureIsAdmin, quitFriendsController ) +podsRouter.delete('/:id', + authenticate, + ensureIsAdmin, + podRemoveValidator, + removeFriendController +) // --------------------------------------------------------------------------- @@ -72,7 +81,7 @@ function addPods (req: express.Request, res: express.Response, next: express.Nex function listPods (req: express.Request, res: express.Response, next: express.NextFunction) { db.Pod.list() - .then(podsList => res.json(getFormatedObjects(podsList, podsList.length))) + .then(podsList => res.json(getFormattedObjects(podsList, podsList.length))) .catch(err => next(err)) } @@ -92,3 +101,11 @@ function quitFriendsController (req: express.Request, res: express.Response, nex .then(() => res.type('json').status(204).end()) .catch(err => next(err)) } + +function removeFriendController (req: express.Request, res: express.Response, next: express.NextFunction) { + const pod = res.locals.pod as PodInstance + + removeFriend(pod) + .then(() => (res.type('json').status(204).end())) + .catch(err => next(err)) +}