@xemahq/platform-common 0.2.27 → 0.2.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -3,6 +3,7 @@ export declare class GlobalExceptionFilter implements ExceptionFilter {
|
|
|
3
3
|
private readonly logger;
|
|
4
4
|
catch(exception: unknown, host: ArgumentsHost): void;
|
|
5
5
|
private extractExceptionDetails;
|
|
6
|
+
private handleZodError;
|
|
6
7
|
private isPrismaError;
|
|
7
8
|
private handlePrismaError;
|
|
8
9
|
private logException;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global-exception.filter.d.ts","sourceRoot":"","sources":["../../src/nestjs/global-exception.filter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAEf,aAAa,EAId,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"global-exception.filter.d.ts","sourceRoot":"","sources":["../../src/nestjs/global-exception.filter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAEf,aAAa,EAId,MAAM,gBAAgB,CAAC;AA4FxB,qBACa,qBAAsB,YAAW,eAAe;IAC3D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0C;IAEjE,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI;IAqBpD,OAAO,CAAC,uBAAuB;IAsD/B,OAAO,CAAC,cAAc;IAwBtB,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,iBAAiB;IAyCzB,OAAO,CAAC,YAAY;CAqCrB"}
|
|
@@ -9,6 +9,11 @@ var GlobalExceptionFilter_1;
|
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
10
|
exports.GlobalExceptionFilter = void 0;
|
|
11
11
|
const common_1 = require("@nestjs/common");
|
|
12
|
+
function isZodError(exception) {
|
|
13
|
+
return (exception instanceof Error &&
|
|
14
|
+
exception.name === 'ZodError' &&
|
|
15
|
+
Array.isArray(exception.issues));
|
|
16
|
+
}
|
|
12
17
|
function describeRequestBody(request) {
|
|
13
18
|
const body = request.body;
|
|
14
19
|
if (body === undefined)
|
|
@@ -71,6 +76,9 @@ let GlobalExceptionFilter = GlobalExceptionFilter_1 = class GlobalExceptionFilte
|
|
|
71
76
|
if (this.isPrismaError(exception)) {
|
|
72
77
|
return this.handlePrismaError(exception);
|
|
73
78
|
}
|
|
79
|
+
if (isZodError(exception)) {
|
|
80
|
+
return this.handleZodError(exception);
|
|
81
|
+
}
|
|
74
82
|
this.logger.error('Unexpected error:', exception);
|
|
75
83
|
const errorName = exception instanceof Error ? exception.constructor.name : 'UnknownError';
|
|
76
84
|
const errorMessage = exception instanceof Error ? exception.message : 'An unexpected error occurred';
|
|
@@ -80,6 +88,23 @@ let GlobalExceptionFilter = GlobalExceptionFilter_1 = class GlobalExceptionFilte
|
|
|
80
88
|
error: errorName,
|
|
81
89
|
};
|
|
82
90
|
}
|
|
91
|
+
handleZodError(exception) {
|
|
92
|
+
const issues = exception.issues.map((issue) => {
|
|
93
|
+
const path = Array.isArray(issue.path) && issue.path.length > 0
|
|
94
|
+
? issue.path.map((segment) => String(segment)).join('.')
|
|
95
|
+
: '(root)';
|
|
96
|
+
const pattern = typeof issue.pattern === 'string' ? issue.pattern : '';
|
|
97
|
+
const message = pattern.length > 0
|
|
98
|
+
? issue.message.split(pattern).join('<pattern>')
|
|
99
|
+
: issue.message;
|
|
100
|
+
return `${path}: ${message}`;
|
|
101
|
+
});
|
|
102
|
+
return {
|
|
103
|
+
status: common_1.HttpStatus.BAD_REQUEST,
|
|
104
|
+
message: issues.length > 0 ? issues : ['Request validation failed.'],
|
|
105
|
+
error: 'BadRequest',
|
|
106
|
+
};
|
|
107
|
+
}
|
|
83
108
|
isPrismaError(exception) {
|
|
84
109
|
return (exception instanceof Error &&
|
|
85
110
|
exception.constructor.name.startsWith('PrismaClient'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global-exception.filter.js","sourceRoot":"","sources":["../../src/nestjs/global-exception.filter.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAOwB;
|
|
1
|
+
{"version":3,"file":"global-exception.filter.js","sourceRoot":"","sources":["../../src/nestjs/global-exception.filter.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xemahq/platform-common",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.28",
|
|
4
4
|
"description": "Shared NestJS building blocks for Xema services — auth guards, response redaction, CORS configuration, and crypto helpers.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Neuralchowder Inc. <developer@xema.dev> (https://xema.dev)",
|