diff --git a/packages/iios-service/src/main.ts b/packages/iios-service/src/main.ts index 97ea751..62f0c32 100644 --- a/packages/iios-service/src/main.ts +++ b/packages/iios-service/src/main.ts @@ -9,6 +9,10 @@ import { PolicyDeniedFilter } from './platform/policy-denied.filter'; async function bootstrap(): Promise { const app = await NestFactory.create(AppModule, { rawBody: true }); + // Express 5 defaults to the 'simple' query parser, which ignores nested params like + // ?metadata[key]=value — so generic metadata filters would be silently dropped. Use the + // qs-based 'extended' parser so those parse into a nested object. + app.getHttpAdapter().getInstance().set('query parser', 'extended'); app.use(traceMiddleware); // request-scoped trace context + x-trace-id header (P9) app.useGlobalPipes( new ValidationPipe({ whitelist: true, forbidNonWhitelisted: true, transform: true }),