X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fcontrollers%2Fapi%2Fpods.ts;h=e1fa4b7e8b1d67c597b1f69bf3bb144ba694d102;hb=337c258e77b28bb39e61b7b88cbdaa18363b9461;hp=0f85ab51d9c7235e9acb45ee45a450dd3bf63bd0;hpb=6fcd19ba737f1f5614a56c6925adb882dea43b8d;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/controllers/api/pods.ts b/server/controllers/api/pods.ts index 0f85ab51d..e1fa4b7e8 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() @@ -44,6 +47,12 @@ podsRouter.get('/quitfriends', 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)) } @@ -81,7 +90,7 @@ function makeFriendsController (req: express.Request, res: express.Response, nex makeFriends(hosts) .then(() => logger.info('Made friends!')) - .catch(err => logger.error('Could not make friends.', { error: err })) + .catch(err => logger.error('Could not make friends.', err)) // Don't wait the process that could be long res.type('json').status(204).end() @@ -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)) +}