import type { Router, Request, Response, NextFunction } from 'express' import { getBaseStaticRoute } from '../helpers' async function initSettingsRouter ({ peertubeHelpers, getRouter }: RegisterServerOptions): Promise { const router = getRouter() const logger = peertubeHelpers.logger router.get('/diagnostic', async (req: Request, res: Response, next: NextFunction) => { try { logger.info('Accessing peertube-plugin-livechat diagnostic tool.') const src = getBaseStaticRoute() + 'settings/settings.js' res.status(200) res.type('html') res.send('
Loading...
') } catch (error) { return next(error) } }) router.post('/diagnostic/test', async (req: Request, res: Response, next: NextFunction) => { try { if (!res.locals.authenticated) { return res.sendStatus(403) } // FIXME: test that user is admin. logger.error('FIXME: test that user is admin') const test: string = req.body.test || '' logger.info('Accessing peertube-plugin-livechat diagnostic tool, test "' + test + '".') const result: any = { test: test, message: null, next: null, ok: false } res.status(200) res.json(result) } catch (error) { return next(error) } }) return router } export { initSettingsRouter }