X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fcontrollers%2Fapi%2Fserver%2Fdebug.ts;h=0601b89ceb042c2e163223e34959adcc204216ad;hb=171efc48e67498406feb6d7873b3482b41505515;hp=e12fc1dd43e5eba1162a1ce33dc4a4bbf6228d4a;hpb=2ad9dcda240ee843c5e4a5b98cc94f7b2aab2c89;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/controllers/api/server/debug.ts b/server/controllers/api/server/debug.ts index e12fc1dd4..0601b89ce 100644 --- a/server/controllers/api/server/debug.ts +++ b/server/controllers/api/server/debug.ts @@ -1,4 +1,8 @@ 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' @@ -10,6 +14,12 @@ debugRouter.get('/debug', getDebug ) +debugRouter.post('/debug/run-command', + authenticate, + ensureUserHasRight(UserRight.MANAGE_DEBUG), + runCommand +) + // --------------------------------------------------------------------------- export { @@ -20,6 +30,17 @@ export { function getDebug (req: express.Request, res: express.Response) { return res.json({ - ip: req.ip - }).end() + 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() }