@nmxjs/app 1.0.99 → 1.0.101
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.
- package/dist/GqlExceptionFilter.d.ts +2 -1
- package/dist/GqlExceptionFilter.js +11 -3
- package/dist/GqlExceptionFilter.js.map +1 -1
- package/dist/createNestApp.js +4 -2
- package/dist/createNestApp.js.map +1 -1
- package/dist/createTestNestHttpApp.js +1 -1
- package/dist/createTestNestHttpApp.js.map +1 -1
- package/package.json +5 -5
- package/types.d.ts +8 -1
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
import { ExceptionFilter } from '@nestjs/common';
|
|
3
3
|
import type { INotifier } from '@nmxjs/notifications';
|
|
4
4
|
export declare class GqlExceptionFilter implements ExceptionFilter {
|
|
5
|
+
private readonly serviceName;
|
|
5
6
|
private readonly notifier?;
|
|
6
|
-
constructor(notifier?: INotifier);
|
|
7
|
+
constructor(serviceName: string, notifier?: INotifier);
|
|
7
8
|
catch(error: any, host: any): any;
|
|
8
9
|
}
|
|
@@ -13,8 +13,10 @@ exports.GqlExceptionFilter = void 0;
|
|
|
13
13
|
const graphql_1 = require("graphql");
|
|
14
14
|
const common_1 = require("@nestjs/common");
|
|
15
15
|
const errors_1 = require("@nmxjs/errors");
|
|
16
|
+
const utils_1 = require("@nmxjs/utils");
|
|
16
17
|
let GqlExceptionFilter = class GqlExceptionFilter {
|
|
17
|
-
constructor(notifier) {
|
|
18
|
+
constructor(serviceName, notifier) {
|
|
19
|
+
this.serviceName = serviceName;
|
|
18
20
|
this.notifier = notifier;
|
|
19
21
|
}
|
|
20
22
|
catch(error, host) {
|
|
@@ -27,7 +29,13 @@ let GqlExceptionFilter = class GqlExceptionFilter {
|
|
|
27
29
|
return res.status(404).json({ message: { statusCode: 404, error: 'Not Found', message: error.message } });
|
|
28
30
|
}
|
|
29
31
|
if (this.notifier && !error.silent) {
|
|
30
|
-
this.notifier.sendError(
|
|
32
|
+
this.notifier.sendError({
|
|
33
|
+
params: host.args[1],
|
|
34
|
+
message: error.message.split('\n at')[0],
|
|
35
|
+
code: error.code,
|
|
36
|
+
path: (0, utils_1.getPathFromGraphQl)(host.args[2].req.body.query),
|
|
37
|
+
serviceName: this.serviceName,
|
|
38
|
+
});
|
|
31
39
|
}
|
|
32
40
|
throw new graphql_1.GraphQLError(error.message, {
|
|
33
41
|
extensions: {
|
|
@@ -40,6 +48,6 @@ let GqlExceptionFilter = class GqlExceptionFilter {
|
|
|
40
48
|
exports.GqlExceptionFilter = GqlExceptionFilter;
|
|
41
49
|
exports.GqlExceptionFilter = GqlExceptionFilter = __decorate([
|
|
42
50
|
(0, common_1.Catch)(),
|
|
43
|
-
__metadata("design:paramtypes", [Object])
|
|
51
|
+
__metadata("design:paramtypes", [String, Object])
|
|
44
52
|
], GqlExceptionFilter);
|
|
45
53
|
//# sourceMappingURL=GqlExceptionFilter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GqlExceptionFilter.js","sourceRoot":"","sources":["../src/GqlExceptionFilter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAuC;AACvC,2CAA2E;AAC3E,0CAAkD;
|
|
1
|
+
{"version":3,"file":"GqlExceptionFilter.js","sourceRoot":"","sources":["../src/GqlExceptionFilter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAuC;AACvC,2CAA2E;AAC3E,0CAAkD;AAElD,wCAAkD;AAG3C,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAC7B,YAA6B,WAAmB,EAAmB,QAAoB;QAA1D,gBAAW,GAAX,WAAW,CAAQ;QAAmB,aAAQ,GAAR,QAAQ,CAAY;IAAG,CAAC;IAEpF,KAAK,CAAC,KAAK,EAAE,IAAI;QACtB,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC3B,KAAK,GAAG,IAAI,0BAAiB,EAAE,CAAC;QAClC,CAAC;QAED,IAAI,KAAK,YAAY,0BAAiB,EAAE,CAAC;YACvC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YAChC,MAAM,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;YAC9B,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC5G,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACnC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;gBACtB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACpB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC3C,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI,EAAE,IAAA,0BAAkB,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;gBACrD,WAAW,EAAE,IAAI,CAAC,WAAW;aAC9B,CAAC,CAAC;QACL,CAAC;QAED,MAAM,IAAI,sBAAY,CAAC,KAAK,CAAC,OAAO,EAAE;YACpC,UAAU,EAAE;gBACV,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,UAAU,IAAI,GAAG,EAAE;aAC1C;SACF,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AA/BY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,cAAK,GAAE;;GACK,kBAAkB,CA+B9B"}
|
package/dist/createNestApp.js
CHANGED
|
@@ -15,6 +15,7 @@ const logAppStarted_1 = require("./logAppStarted");
|
|
|
15
15
|
const GqlExceptionFilter_1 = require("./GqlExceptionFilter");
|
|
16
16
|
const getGraphQlModule_1 = require("./getGraphQlModule");
|
|
17
17
|
const notifications_1 = require("@nmxjs/notifications");
|
|
18
|
+
const constants_1 = require("@nmxjs/constants");
|
|
18
19
|
async function createNestApp({ service, module, http }) {
|
|
19
20
|
const isWorker = (0, utils_1.isWorkerApp)();
|
|
20
21
|
const app = await core_1.NestFactory[isWorker ? 'createApplicationContext' : 'create'](module);
|
|
@@ -27,7 +28,7 @@ async function createNestApp({ service, module, http }) {
|
|
|
27
28
|
}
|
|
28
29
|
const port = process.env.PORT || 3000;
|
|
29
30
|
const notifier = (0, notifications_1.isNotifierEnabled)() ? app.get(notifications_1.notifierKey) : null;
|
|
30
|
-
app.useGlobalInterceptors(new api_1.RpcExceptionInterceptor(process.env.DEBUG === 'true'
|
|
31
|
+
app.useGlobalInterceptors(new api_1.RpcExceptionInterceptor(service, process.env.DEBUG === 'true', notifier));
|
|
31
32
|
const config = app.get(config_1.configKey);
|
|
32
33
|
const eventsOptions = config.event ? app.get(events_1.eventsClientKey).options : null;
|
|
33
34
|
const transporterOptions = app.get(api_1.getTransporterOptionsKey)(service);
|
|
@@ -48,7 +49,7 @@ async function createNestApp({ service, module, http }) {
|
|
|
48
49
|
credentials: true,
|
|
49
50
|
});
|
|
50
51
|
if ((0, getGraphQlModule_1.checkIsGraphQlModuleExits)()) {
|
|
51
|
-
app.useGlobalFilters(new GqlExceptionFilter_1.GqlExceptionFilter(notifier));
|
|
52
|
+
app.useGlobalFilters(new GqlExceptionFilter_1.GqlExceptionFilter(service, notifier));
|
|
52
53
|
}
|
|
53
54
|
await app.listen(port);
|
|
54
55
|
common_1.Logger.log(`Http service ${service} started on port "${port}"!`);
|
|
@@ -60,6 +61,7 @@ async function createNestApp({ service, module, http }) {
|
|
|
60
61
|
if (microserviceApps.length > 0) {
|
|
61
62
|
(0, logAppStarted_1.logAppStarted)(service);
|
|
62
63
|
}
|
|
64
|
+
process.env[constants_1.nestAppStartedKey] = 'true';
|
|
63
65
|
}
|
|
64
66
|
exports.createNestApp = createNestApp;
|
|
65
67
|
//# sourceMappingURL=createNestApp.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createNestApp.js","sourceRoot":"","sources":["../src/createNestApp.ts"],"names":[],"mappings":";;;AAAA,mCAA4B;AAC5B,2CAA2C;AAC3C,wCAA+C;AAC/C,0CAAmD;AACnD,yDAAyD;AACzD,oCAAsG;AACtG,0CAA+D;AAC/D,uCAA2C;AAE3C,2CAA0D;AAC1D,wCAAsE;AAEtE,mDAAgD;AAChD,6DAA0D;AAC1D,yDAA+D;AAC/D,wDAAsE;
|
|
1
|
+
{"version":3,"file":"createNestApp.js","sourceRoot":"","sources":["../src/createNestApp.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ const GqlExceptionFilter_1 = require("./GqlExceptionFilter");
|
|
|
6
6
|
async function createTestNestHttpApp(module) {
|
|
7
7
|
const moduleRef = await testing_1.Test.createTestingModule(module).compile();
|
|
8
8
|
const app = moduleRef.createNestApplication();
|
|
9
|
-
app.useGlobalFilters(new GqlExceptionFilter_1.GqlExceptionFilter());
|
|
9
|
+
app.useGlobalFilters(new GqlExceptionFilter_1.GqlExceptionFilter('test', null));
|
|
10
10
|
await app.init();
|
|
11
11
|
return app;
|
|
12
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createTestNestHttpApp.js","sourceRoot":"","sources":["../src/createTestNestHttpApp.ts"],"names":[],"mappings":";;;AAAA,6CAAuC;AACvC,6DAA0D;AAEnD,KAAK,UAAU,qBAAqB,CAAC,MAAsD;IAChG,MAAM,SAAS,GAAG,MAAM,cAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;IACnE,MAAM,GAAG,GAAG,SAAS,CAAC,qBAAqB,EAAE,CAAC;IAE9C,GAAG,CAAC,gBAAgB,CAAC,IAAI,uCAAkB,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"createTestNestHttpApp.js","sourceRoot":"","sources":["../src/createTestNestHttpApp.ts"],"names":[],"mappings":";;;AAAA,6CAAuC;AACvC,6DAA0D;AAEnD,KAAK,UAAU,qBAAqB,CAAC,MAAsD;IAChG,MAAM,SAAS,GAAG,MAAM,cAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;IACnE,MAAM,GAAG,GAAG,SAAS,CAAC,qBAAqB,EAAE,CAAC;IAE9C,GAAG,CAAC,gBAAgB,CAAC,IAAI,uCAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IAE3D,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IAEjB,OAAO,GAAG,CAAC;AACb,CAAC;AATD,sDASC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nmxjs/app",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.101",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -26,9 +26,9 @@
|
|
|
26
26
|
"typescript": "^5.1.6"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@nmxjs/constants": "^1.0.
|
|
29
|
+
"@nmxjs/constants": "^1.0.6",
|
|
30
30
|
"@nmxjs/errors": "1.0.13",
|
|
31
|
-
"@nmxjs/utils": "1.
|
|
31
|
+
"@nmxjs/utils": "1.1.4",
|
|
32
32
|
"compression": "^1.7.4",
|
|
33
33
|
"graphql-ws": "^6.0.3",
|
|
34
34
|
"helmet": "^8.0.0",
|
|
@@ -44,11 +44,11 @@
|
|
|
44
44
|
"@nestjs/apollo": "^13.0.2",
|
|
45
45
|
"@nestjs/graphql": "^13.0.2",
|
|
46
46
|
"@nestjs/common": "^10.3.0",
|
|
47
|
-
"@nmxjs/api": "^1.2.
|
|
47
|
+
"@nmxjs/api": "^1.2.16",
|
|
48
48
|
"@nmxjs/config": "^1.0.8",
|
|
49
49
|
"@nmxjs/events": "^1.0.9",
|
|
50
50
|
"@nmxjs/types": "^1.0.15",
|
|
51
|
-
"@nmxjs/notifications": "^1.0.
|
|
51
|
+
"@nmxjs/notifications": "^1.0.10",
|
|
52
52
|
"@nestjs/platform-express": "^11.0.7",
|
|
53
53
|
"apollo-server-express": "^3.10.2",
|
|
54
54
|
"@apollo/server": "^4.9.5",
|
package/types.d.ts
CHANGED
|
@@ -109,7 +109,14 @@ declare module '@nmxjs/types' {
|
|
|
109
109
|
declare module '@nmxjs/notifications' {
|
|
110
110
|
const notifierKey: string;
|
|
111
111
|
const isNotifierEnabled: () => boolean;
|
|
112
|
+
interface INotificationSendErrorOptions {
|
|
113
|
+
message: string;
|
|
114
|
+
code: string;
|
|
115
|
+
params?: Record<string, unknown>;
|
|
116
|
+
serviceName?: string;
|
|
117
|
+
path?: string;
|
|
118
|
+
}
|
|
112
119
|
interface INotifier {
|
|
113
|
-
sendError(
|
|
120
|
+
sendError(options: INotificationSendErrorOptions): void;
|
|
114
121
|
}
|
|
115
122
|
}
|