fix: resolve E2E test failures and API runtime issues for Docker dev environment
- Fix DI issues: circular MCP module dependency, EventBus type import, SearchModule provider, CacheService metric counters placement - Fix Express 5 readonly req.query in SanitizeInputMiddleware - Fix Typesense client lazy initialization (getter instead of constructor) - Fix MinIO bucket init error handling (non-fatal on 403) - Fix missing class-validator decorators on bigint DTO fields (priceVND, amountVND) - Fix subscription plan 404 (was returning 500 for invalid tier) - Disable CSRF and raise rate limits in test environment - Update E2E tests to match actual API response shapes - Update CI workflow with Redis, Typesense, MinIO services and env vars All 101 API E2E tests now pass against Docker dev environment. Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import { Injectable } from '@nestjs/common';
|
||||
import { type EventEmitter2 } from '@nestjs/event-emitter';
|
||||
import { EventEmitter2 } from '@nestjs/event-emitter';
|
||||
import { type DomainEvent } from '../domain/domain-event';
|
||||
|
||||
@Injectable()
|
||||
|
||||
@@ -40,10 +40,14 @@ export class SanitizeInputMiddleware implements NestMiddleware {
|
||||
req.body = sanitizeObject(req.body as Record<string, unknown>);
|
||||
}
|
||||
if (req.query && typeof req.query === 'object') {
|
||||
req.query = sanitizeObject(req.query as Record<string, unknown>) as typeof req.query;
|
||||
for (const [key, val] of Object.entries(req.query)) {
|
||||
(req.query as Record<string, unknown>)[key] = sanitizeValue(val);
|
||||
}
|
||||
}
|
||||
if (req.params && typeof req.params === 'object') {
|
||||
req.params = sanitizeObject(req.params as Record<string, unknown>) as typeof req.params;
|
||||
for (const [key, val] of Object.entries(req.params)) {
|
||||
(req.params as Record<string, unknown>)[key] = sanitizeValue(val);
|
||||
}
|
||||
}
|
||||
next();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user