From 5ce0b0f65dce7ddb6a7f269a8e03e23e523c6a8a Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Mon, 31 Mar 2025 16:14:40 +0200 Subject: [PATCH] Fix express typing --- packages/types-generator/src/index.ts | 8 ++++++++ packages/types-generator/tests/test.ts | 19 +++++++++++++------ 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/packages/types-generator/src/index.ts b/packages/types-generator/src/index.ts index b5669ea24..5fe1162e3 100644 --- a/packages/types-generator/src/index.ts +++ b/packages/types-generator/src/index.ts @@ -1,3 +1,11 @@ export * from '@server/types/index.js' export * from '@server/types/models/index.js' export * from '@peertube/peertube-models' + +declare global { + namespace Express { + interface Request { + rawBody: Buffer + } + } +} diff --git a/packages/types-generator/tests/test.ts b/packages/types-generator/tests/test.ts index 8d23e7a1a..983b708f9 100644 --- a/packages/types-generator/tests/test.ts +++ b/packages/types-generator/tests/test.ts @@ -1,11 +1,18 @@ import { RegisterServerOptions, Video, MVideo } from '../dist/index.js' import { RegisterClientOptions } from '../dist/client/index.js' -function register1 ({ registerHook }: RegisterServerOptions) { +function register1 ({ registerHook, getRouter }: RegisterServerOptions) { registerHook({ target: 'action:application.listening', handler: () => console.log('hello') }) + + const router = getRouter() + + router.get('/ping', (req, res) => { + console.log(req.rawBody) + res.status(200).json({ message: 'pong' }) + }) } function register2 ({ registerHook, peertubeHelpers }: RegisterClientOptions) { @@ -17,7 +24,7 @@ function register2 ({ registerHook, peertubeHelpers }: RegisterClientOptions) { if ('peertube-plugin-transcription' !== npmName) { return } - }, + } }) registerHook({ @@ -25,10 +32,10 @@ function register2 ({ registerHook, peertubeHelpers }: RegisterClientOptions) { handler: ({ video }: { video: Video }) => { fetch(`${peertubeHelpers.getBaseRouterRoute()}/videos/${video.uuid}/captions`, { method: 'PUT', - headers: peertubeHelpers.getAuthHeader(), + headers: peertubeHelpers.getAuthHeader() }) - .then((res) => res.json()) - .then((data) => console.log('Hi %s.', data)) - }, + .then(res => res.json()) + .then(data => console.log('Hi %s.', data)) + } }) }