@mondart/nestjs-common-module-core 3.2.0 → 3.2.1
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.
|
@@ -10,5 +10,7 @@ export declare class GlobalExceptionFilter implements ExceptionFilter {
|
|
|
10
10
|
private translateException;
|
|
11
11
|
private translateMessages;
|
|
12
12
|
private translateMessage;
|
|
13
|
+
private extractMessageKeys;
|
|
14
|
+
private extractMessageKey;
|
|
13
15
|
}
|
|
14
16
|
//# sourceMappingURL=global-exception.filter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global-exception.filter.d.ts","sourceRoot":"","sources":["../../src/filters/global-exception.filter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAEb,eAAe,EAIhB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAUnC,qBACa,qBAAsB,YAAW,eAAe;IAC3D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAEpB;IACH,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;gBAE3B,YAAY,GAAE,OAAe;IAIzC,KAAK,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa;IA+GzC,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,kBAAkB;
|
|
1
|
+
{"version":3,"file":"global-exception.filter.d.ts","sourceRoot":"","sources":["../../src/filters/global-exception.filter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAEb,eAAe,EAIhB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAUnC,qBACa,qBAAsB,YAAW,eAAe;IAC3D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAEpB;IACH,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;gBAE3B,YAAY,GAAE,OAAe;IAIzC,KAAK,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa;IA+GzC,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,kBAAkB;IA+B1B,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,CAAC,kBAAkB;IAoB1B,OAAO,CAAC,iBAAiB;CAS1B"}
|
|
@@ -60,7 +60,7 @@ let GlobalExceptionFilter = class GlobalExceptionFilter {
|
|
|
60
60
|
this.sentryEnable = sentryEnable;
|
|
61
61
|
}
|
|
62
62
|
catch(exception, host) {
|
|
63
|
-
this.translateException(exception, host);
|
|
63
|
+
const messageKey = this.translateException(exception, host);
|
|
64
64
|
if (this.sentryEnable)
|
|
65
65
|
Sentry.captureException(exception, exception?.response);
|
|
66
66
|
const context = host.switchToHttp();
|
|
@@ -109,7 +109,7 @@ let GlobalExceptionFilter = class GlobalExceptionFilter {
|
|
|
109
109
|
description: result?.error ?? null,
|
|
110
110
|
}
|
|
111
111
|
: {
|
|
112
|
-
cause: exception?.cause ?? null,
|
|
112
|
+
cause: messageKey ?? exception?.cause ?? null,
|
|
113
113
|
description: result?.error ?? null,
|
|
114
114
|
};
|
|
115
115
|
return response.status(status).json(new dto_1.ErrorResponse({
|
|
@@ -127,7 +127,7 @@ let GlobalExceptionFilter = class GlobalExceptionFilter {
|
|
|
127
127
|
message: helpers_1.MessageFormatter.replace(enums_1.SharedMessages.INTERNAL_SERVER_ERROR),
|
|
128
128
|
status: common_1.HttpStatus.INTERNAL_SERVER_ERROR,
|
|
129
129
|
details: {
|
|
130
|
-
cause: null,
|
|
130
|
+
cause: messageKey ?? null,
|
|
131
131
|
description: exception?.message ?? null,
|
|
132
132
|
},
|
|
133
133
|
}));
|
|
@@ -151,8 +151,11 @@ let GlobalExceptionFilter = class GlobalExceptionFilter {
|
|
|
151
151
|
translateException(exception, host) {
|
|
152
152
|
const i18n = nestjs_i18n_1.I18nContext.current(host) ?? nestjs_i18n_1.I18nContext.current();
|
|
153
153
|
if (!i18n)
|
|
154
|
-
return;
|
|
154
|
+
return undefined;
|
|
155
155
|
const response = exception?.getResponse?.();
|
|
156
|
+
const responseMessage = typeof response === 'string' ? response : response?.message;
|
|
157
|
+
const messageKey = this.extractMessageKeys(responseMessage) ??
|
|
158
|
+
this.extractMessageKeys(exception?.message);
|
|
156
159
|
if (typeof response === 'string') {
|
|
157
160
|
exception.response = this.translateMessage(response, i18n);
|
|
158
161
|
}
|
|
@@ -163,6 +166,7 @@ let GlobalExceptionFilter = class GlobalExceptionFilter {
|
|
|
163
166
|
if (typeof exception?.message === 'string') {
|
|
164
167
|
exception.message = this.translateMessage(exception.message, i18n);
|
|
165
168
|
}
|
|
169
|
+
return messageKey;
|
|
166
170
|
}
|
|
167
171
|
translateMessages(messages, i18n) {
|
|
168
172
|
return Array.isArray(messages)
|
|
@@ -171,10 +175,9 @@ let GlobalExceptionFilter = class GlobalExceptionFilter {
|
|
|
171
175
|
}
|
|
172
176
|
translateMessage(message, i18n) {
|
|
173
177
|
const separatorIndex = message.indexOf('|');
|
|
174
|
-
const key =
|
|
175
|
-
if (!key
|
|
178
|
+
const key = this.extractMessageKey(message);
|
|
179
|
+
if (!key)
|
|
176
180
|
return message;
|
|
177
|
-
}
|
|
178
181
|
let args = {};
|
|
179
182
|
if (separatorIndex !== -1) {
|
|
180
183
|
try {
|
|
@@ -186,6 +189,27 @@ let GlobalExceptionFilter = class GlobalExceptionFilter {
|
|
|
186
189
|
}
|
|
187
190
|
return i18n.t(key, { args });
|
|
188
191
|
}
|
|
192
|
+
extractMessageKeys(messages) {
|
|
193
|
+
if (typeof messages === 'string') {
|
|
194
|
+
return this.extractMessageKey(messages);
|
|
195
|
+
}
|
|
196
|
+
if (Array.isArray(messages)) {
|
|
197
|
+
const keys = messages
|
|
198
|
+
.map((message) => typeof message === 'string'
|
|
199
|
+
? this.extractMessageKey(message)
|
|
200
|
+
: undefined)
|
|
201
|
+
.filter((key) => key !== undefined);
|
|
202
|
+
return keys.length > 0 ? keys : undefined;
|
|
203
|
+
}
|
|
204
|
+
return undefined;
|
|
205
|
+
}
|
|
206
|
+
extractMessageKey(message) {
|
|
207
|
+
const separatorIndex = message.indexOf('|');
|
|
208
|
+
const key = separatorIndex === -1 ? message : message.slice(0, separatorIndex);
|
|
209
|
+
return key.startsWith('message.') || key.startsWith('validation.')
|
|
210
|
+
? key
|
|
211
|
+
: undefined;
|
|
212
|
+
}
|
|
189
213
|
};
|
|
190
214
|
exports.GlobalExceptionFilter = GlobalExceptionFilter;
|
|
191
215
|
exports.GlobalExceptionFilter = GlobalExceptionFilter = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global-exception.filter.js","sourceRoot":"","sources":["../../src/filters/global-exception.filter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAOwB;AAExB,+BAAkC;AAClC,gCAAuC;AACvC,oCAA0C;AAC1C,wCAAuE;AACvE,sEAAwD;AACxD,gEAAkD;AAClD,uDAAyC;AACzC,6CAA0C;AAGnC,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAMhC,YAAY,eAAwB,KAAK;QALxB,WAAM,GAAG,IAAI,eAAM,CAAC,uBAAuB,EAAE;YAC5D,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QAID,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,SAAc,EAAE,IAAmB;QACvC,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"global-exception.filter.js","sourceRoot":"","sources":["../../src/filters/global-exception.filter.ts"],"names":[],"mappings":"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"}
|