From 1804fba5bb7eec6ba3ca67a04f53db21d8bdea7e Mon Sep 17 00:00:00 2001 From: Roba Boru Date: Sun, 19 Jul 2026 18:18:08 +0300 Subject: [PATCH] debug(passenger-api): expose Prisma error code in 500 response body Adds prismaCode and prismaMeta fields to 500 responses so the exact Prisma error code (P2022, P2023, etc.) is visible in curl/Swagger without needing server log access. Temporary diagnostic aid. Co-Authored-By: Claude Sonnet 4.6 --- .../src/common/filters/http-exception.filter.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/apps/edr-passenger-api/src/common/filters/http-exception.filter.ts b/apps/edr-passenger-api/src/common/filters/http-exception.filter.ts index 0cc8d93b6..6c7a2458f 100644 --- a/apps/edr-passenger-api/src/common/filters/http-exception.filter.ts +++ b/apps/edr-passenger-api/src/common/filters/http-exception.filter.ts @@ -24,7 +24,11 @@ export class HttpExceptionFilter implements ExceptionFilter { const request = ctx.getRequest(); let prismaMessage: string | null = null; + let prismaCode: string | null = null; + let prismaMeta: unknown = null; if (exception instanceof PrismaClientKnownRequestError) { + prismaCode = exception.code; + prismaMeta = exception.meta; if (exception.code === 'P2003') { const field = (exception.meta?.field_name as string | undefined) ?? 'a related record'; prismaMessage = `Cannot delete this record because it is still referenced by ${field}. Remove the related records first.`; @@ -68,6 +72,7 @@ export class HttpExceptionFilter implements ExceptionFilter { statusCode: status, message, error: exception instanceof Error ? exception.name : 'Error', + ...(prismaCode ? { prismaCode, prismaMeta } : {}), timestamp: new Date().toISOString(), path: request.url, ...customFields,