X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fcontrollers%2Fapi%2Fserver%2Fdebug.ts;h=0601b89ceb042c2e163223e34959adcc204216ad;hb=171efc48e67498406feb6d7873b3482b41505515;hp=7787186beb94e21487a00529af7529d6a7ca16ce;hpb=fae6e4da8f516a9d6c3bad9bf6f35811ccacbad8;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/controllers/api/server/debug.ts b/server/controllers/api/server/debug.ts index 7787186be..0601b89ce 100644 --- a/server/controllers/api/server/debug.ts +++ b/server/controllers/api/server/debug.ts @@ -1,5 +1,8 @@ -import { InboxManager } from '@server/lib/activitypub/inbox-manager' import * as express from 'express' +import { InboxManager } from '@server/lib/activitypub/inbox-manager' +import { RemoveDanglingResumableUploadsScheduler } from '@server/lib/schedulers/remove-dangling-resumable-uploads-scheduler' +import { Debug, SendDebugCommand } from '@shared/models' +import { HttpStatusCode } from '../../../../shared/models/http/http-error-codes' import { UserRight } from '../../../../shared/models/users' import { authenticate, ensureUserHasRight } from '../../../middlewares' @@ -11,6 +14,12 @@ debugRouter.get('/debug', getDebug ) +debugRouter.post('/debug/run-command', + authenticate, + ensureUserHasRight(UserRight.MANAGE_DEBUG), + runCommand +) + // --------------------------------------------------------------------------- export { @@ -23,5 +32,15 @@ function getDebug (req: express.Request, res: express.Response) { return res.json({ ip: req.ip, activityPubMessagesWaiting: InboxManager.Instance.getActivityPubMessagesWaiting() - }) + } as Debug) +} + +async function runCommand (req: express.Request, res: express.Response) { + const body: SendDebugCommand = req.body + + if (body.command === 'remove-dandling-resumable-uploads') { + await RemoveDanglingResumableUploadsScheduler.Instance.execute() + } + + return res.status(HttpStatusCode.NO_CONTENT_204).end() }