@lark-apaas/fullstack-nestjs-core 1.1.12-alpha.9 → 1.1.13
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/index.cjs +82 -32
- package/dist/index.d.cts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +83 -34
- package/package.json +5 -6
package/dist/index.cjs
CHANGED
|
@@ -32,6 +32,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
32
32
|
// src/index.ts
|
|
33
33
|
var index_exports = {};
|
|
34
34
|
__export(index_exports, {
|
|
35
|
+
AutoTrace: () => import_nestjs_common5.AutoTrace,
|
|
35
36
|
CsrfMiddleware: () => CsrfMiddleware,
|
|
36
37
|
CsrfTokenMiddleware: () => CsrfTokenMiddleware,
|
|
37
38
|
DevToolsModule: () => import_nestjs_openapi_devtools2.DevToolsModule,
|
|
@@ -172,10 +173,47 @@ var import_common3 = require("@nestjs/common");
|
|
|
172
173
|
var import_nestjs_common = require("@lark-apaas/nestjs-common");
|
|
173
174
|
|
|
174
175
|
// src/utils/safe-stringify.ts
|
|
175
|
-
function
|
|
176
|
-
return
|
|
176
|
+
function safeEscape(s) {
|
|
177
|
+
return s.replace(/[<>&='"\n\r\u2028\u2029]/g, function(c) {
|
|
178
|
+
switch (c.charCodeAt(0)) {
|
|
179
|
+
case 60:
|
|
180
|
+
return "\\u003c";
|
|
181
|
+
// <
|
|
182
|
+
case 62:
|
|
183
|
+
return "\\u003e";
|
|
184
|
+
// >
|
|
185
|
+
case 38:
|
|
186
|
+
return "\\u0026";
|
|
187
|
+
// &
|
|
188
|
+
case 61:
|
|
189
|
+
return "\\u003d";
|
|
190
|
+
// =
|
|
191
|
+
case 39:
|
|
192
|
+
return "\\u0027";
|
|
193
|
+
// '
|
|
194
|
+
case 34:
|
|
195
|
+
return "\\u0022";
|
|
196
|
+
// "
|
|
197
|
+
case 10:
|
|
198
|
+
return "\\u000a";
|
|
199
|
+
// \n
|
|
200
|
+
case 13:
|
|
201
|
+
return "\\u000d";
|
|
202
|
+
// \r
|
|
203
|
+
// 正常来说用户无法输入这几个字符, 现代浏览器也修复了这个问题
|
|
204
|
+
// https://zhuanlan.zhihu.com/p/29958439
|
|
205
|
+
case 8232:
|
|
206
|
+
return "\\u2028";
|
|
207
|
+
// 行分隔符
|
|
208
|
+
case 8233:
|
|
209
|
+
return "\\u2029";
|
|
210
|
+
// 段落分隔符
|
|
211
|
+
default:
|
|
212
|
+
return c;
|
|
213
|
+
}
|
|
214
|
+
});
|
|
177
215
|
}
|
|
178
|
-
__name(
|
|
216
|
+
__name(safeEscape, "safeEscape");
|
|
179
217
|
|
|
180
218
|
// src/middlewares/view-context/index.ts
|
|
181
219
|
function _ts_decorate3(decorators, target, key, desc) {
|
|
@@ -228,14 +266,13 @@ var ViewContextMiddleware = class _ViewContextMiddleware {
|
|
|
228
266
|
const { userId, tenantId, appId } = req.userContext;
|
|
229
267
|
const csrfToken = req.csrfToken;
|
|
230
268
|
const appInfo = await this.getAppInfo(appId);
|
|
231
|
-
this.logger.debug(`appInfo: ${JSON.stringify(appInfo)}`);
|
|
232
269
|
req.__platform_data__ = {
|
|
233
270
|
csrfToken: csrfToken ?? "",
|
|
234
271
|
userId: userId ?? "",
|
|
235
272
|
appId: appId ?? "",
|
|
236
|
-
appName:
|
|
273
|
+
appName: safeEscape(appInfo?.app_name ?? "\u5999\u642D\u5E94\u7528"),
|
|
237
274
|
appAvatar: appInfo?.app_avatar ?? "",
|
|
238
|
-
appDescription:
|
|
275
|
+
appDescription: safeEscape(appInfo?.app_description ?? ""),
|
|
239
276
|
tenantId
|
|
240
277
|
};
|
|
241
278
|
res.locals = {
|
|
@@ -244,9 +281,9 @@ var ViewContextMiddleware = class _ViewContextMiddleware {
|
|
|
244
281
|
userId: userId ?? "",
|
|
245
282
|
tenantId: tenantId ?? "",
|
|
246
283
|
appId: appId ?? "",
|
|
247
|
-
appName:
|
|
284
|
+
appName: safeEscape(appInfo?.app_name ?? "\u5999\u642D\u5E94\u7528"),
|
|
248
285
|
appAvatar: appInfo?.app_avatar ?? "",
|
|
249
|
-
appDescription:
|
|
286
|
+
appDescription: safeEscape(appInfo?.app_description ?? "")
|
|
250
287
|
};
|
|
251
288
|
next();
|
|
252
289
|
}
|
|
@@ -436,26 +473,30 @@ var HttpInterceptorService = class {
|
|
|
436
473
|
setupInterceptors() {
|
|
437
474
|
const axiosInstance = this.httpService.axiosRef;
|
|
438
475
|
axiosInstance.interceptors.request.use((config) => {
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
476
|
+
if (process.env.NODE_ENV === "development") {
|
|
477
|
+
this.logger.log("HTTP Request", {
|
|
478
|
+
method: config.method?.toUpperCase(),
|
|
479
|
+
url: config.url,
|
|
480
|
+
headers: config.headers,
|
|
481
|
+
params: config.params,
|
|
482
|
+
data: config.data
|
|
483
|
+
}, "HttpService");
|
|
484
|
+
}
|
|
446
485
|
return config;
|
|
447
486
|
}, (error) => {
|
|
448
487
|
this.logger.error("HTTP Request Error", error, "HttpService");
|
|
449
488
|
return Promise.reject(error);
|
|
450
489
|
});
|
|
451
490
|
axiosInstance.interceptors.response.use((response) => {
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
491
|
+
if (process.env.NODE_ENV === "development") {
|
|
492
|
+
this.logger.log("HTTP Response", {
|
|
493
|
+
method: response.config.method?.toUpperCase(),
|
|
494
|
+
url: response.config.url,
|
|
495
|
+
status: response.status,
|
|
496
|
+
statusText: response.statusText,
|
|
497
|
+
data: response.data
|
|
498
|
+
}, "HttpService");
|
|
499
|
+
}
|
|
459
500
|
return response;
|
|
460
501
|
}, (error) => {
|
|
461
502
|
this.logger.error("HTTP Response Error", {
|
|
@@ -698,14 +739,14 @@ var PlatformHttpClientService = class _PlatformHttpClientService {
|
|
|
698
739
|
*/
|
|
699
740
|
registerGlobalInterceptors() {
|
|
700
741
|
this.client.interceptors.request.use((config) => {
|
|
701
|
-
this.logger.
|
|
742
|
+
this.logger.debug(`Server SDK HTTP Request: ${config.method?.toUpperCase()} ${config.url}`);
|
|
702
743
|
return config;
|
|
703
744
|
}, (error) => {
|
|
704
|
-
this.logger.error("HTTP Request Error", error, "HttpService");
|
|
745
|
+
this.logger.error("Server SDK HTTP Request Error", error, "HttpService");
|
|
705
746
|
return Promise.reject(error);
|
|
706
747
|
});
|
|
707
748
|
this.client.interceptors.response.use((response) => {
|
|
708
|
-
this.logger.
|
|
749
|
+
this.logger.debug(`Server SDK HTTP Response: ${response.status} ${response.url}`);
|
|
709
750
|
return response;
|
|
710
751
|
}, (error) => {
|
|
711
752
|
const errorLog = {
|
|
@@ -713,7 +754,7 @@ var PlatformHttpClientService = class _PlatformHttpClientService {
|
|
|
713
754
|
statusText: error.response?.statusText,
|
|
714
755
|
message: error.message
|
|
715
756
|
};
|
|
716
|
-
this.logger.error(`HTTP Response Error: ${error.config?.method?.toUpperCase()} ${error.config?.url} ${JSON.stringify(errorLog)}`);
|
|
757
|
+
this.logger.error(`Server SDK HTTP Response Error: ${error.config?.method?.toUpperCase()} ${error.config?.url} ${JSON.stringify(errorLog)}`);
|
|
717
758
|
return Promise.reject(error);
|
|
718
759
|
});
|
|
719
760
|
}
|
|
@@ -779,10 +820,12 @@ var PlatformModule = class _PlatformModule {
|
|
|
779
820
|
const appLogger = args[1];
|
|
780
821
|
const drizzleLogger = {
|
|
781
822
|
logQuery(query, params) {
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
823
|
+
if (process.env.NODE_ENV === "development") {
|
|
824
|
+
appLogger.log?.("SQL Query " + JSON.stringify({
|
|
825
|
+
query,
|
|
826
|
+
params
|
|
827
|
+
}), "Database");
|
|
828
|
+
}
|
|
786
829
|
}
|
|
787
830
|
};
|
|
788
831
|
return {
|
|
@@ -821,7 +864,11 @@ var PlatformModule = class _PlatformModule {
|
|
|
821
864
|
PlatformHttpClientService
|
|
822
865
|
]
|
|
823
866
|
},
|
|
824
|
-
HttpInterceptorService
|
|
867
|
+
HttpInterceptorService,
|
|
868
|
+
{
|
|
869
|
+
provide: import_core2.APP_INTERCEPTOR,
|
|
870
|
+
useClass: import_nestjs_observable.TraceInterceptor
|
|
871
|
+
}
|
|
825
872
|
],
|
|
826
873
|
exports: [
|
|
827
874
|
import_config2.ConfigModule,
|
|
@@ -841,7 +888,7 @@ var PlatformModule = class _PlatformModule {
|
|
|
841
888
|
if (process.env.NODE_ENV === "development") {
|
|
842
889
|
consumer.apply(FrameworkDebugMiddleware).forRoutes("/api/__framework__/debug");
|
|
843
890
|
}
|
|
844
|
-
consumer.apply(UserContextMiddleware, RequestContextMiddleware, import_nestjs_logger2.LoggerContextMiddleware, import_nestjs_datapaas.SqlExecutionContextMiddleware).forRoutes("/*");
|
|
891
|
+
consumer.apply(UserContextMiddleware, RequestContextMiddleware, import_nestjs_logger2.LoggerContextMiddleware, import_nestjs_observable.ObservableTraceMiddleware, import_nestjs_datapaas.SqlExecutionContextMiddleware).forRoutes("/*");
|
|
845
892
|
consumer.apply(CsrfTokenMiddleware, ViewContextMiddleware).exclude("/api/(.*)").forRoutes("*");
|
|
846
893
|
if (options.enableCsrf !== false) {
|
|
847
894
|
const csrfRoutes = options.csrfRoutes || "/api/*";
|
|
@@ -885,6 +932,7 @@ async function configureApp(app, perms = defaultPerms) {
|
|
|
885
932
|
console.error("[OpenAPI] OpenAPI \u751F\u6210\u5931\u8D25:", err);
|
|
886
933
|
}
|
|
887
934
|
}
|
|
935
|
+
console.log("App Started Successfully.");
|
|
888
936
|
}
|
|
889
937
|
__name(configureApp, "configureApp");
|
|
890
938
|
|
|
@@ -894,8 +942,10 @@ __reExport(index_exports, require("@lark-apaas/nestjs-authnpaas"), module.export
|
|
|
894
942
|
__reExport(index_exports, require("@lark-apaas/nestjs-datapaas"), module.exports);
|
|
895
943
|
__reExport(index_exports, require("@lark-apaas/nestjs-observable"), module.exports);
|
|
896
944
|
__reExport(index_exports, require("@lark-apaas/nestjs-trigger"), module.exports);
|
|
945
|
+
var import_nestjs_common5 = require("@lark-apaas/nestjs-common");
|
|
897
946
|
// Annotate the CommonJS export names for ESM import in node:
|
|
898
947
|
0 && (module.exports = {
|
|
948
|
+
AutoTrace,
|
|
899
949
|
CsrfMiddleware,
|
|
900
950
|
CsrfTokenMiddleware,
|
|
901
951
|
DevToolsModule,
|
package/dist/index.d.cts
CHANGED
|
@@ -4,6 +4,7 @@ import { NestExpressApplication } from '@nestjs/platform-express';
|
|
|
4
4
|
export { DevToolsModule, DevToolsOptions, DevToolsV2Module, DevToolsV2Options } from '@lark-apaas/nestjs-openapi-devtools';
|
|
5
5
|
import { Request, Response, NextFunction } from 'express';
|
|
6
6
|
import { PlatformHttpClient } from '@lark-apaas/nestjs-common';
|
|
7
|
+
export { AutoTrace } from '@lark-apaas/nestjs-common';
|
|
7
8
|
export * from '@lark-apaas/nestjs-authnpaas';
|
|
8
9
|
export * from '@lark-apaas/nestjs-datapaas';
|
|
9
10
|
export * from '@lark-apaas/nestjs-observable';
|
package/dist/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import { NestExpressApplication } from '@nestjs/platform-express';
|
|
|
4
4
|
export { DevToolsModule, DevToolsOptions, DevToolsV2Module, DevToolsV2Options } from '@lark-apaas/nestjs-openapi-devtools';
|
|
5
5
|
import { Request, Response, NextFunction } from 'express';
|
|
6
6
|
import { PlatformHttpClient } from '@lark-apaas/nestjs-common';
|
|
7
|
+
export { AutoTrace } from '@lark-apaas/nestjs-common';
|
|
7
8
|
export * from '@lark-apaas/nestjs-authnpaas';
|
|
8
9
|
export * from '@lark-apaas/nestjs-datapaas';
|
|
9
10
|
export * from '@lark-apaas/nestjs-observable';
|
package/dist/index.js
CHANGED
|
@@ -3,10 +3,10 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
|
|
|
3
3
|
|
|
4
4
|
// src/modules/platform/module.ts
|
|
5
5
|
import { Global, Module, ValidationPipe } from "@nestjs/common";
|
|
6
|
-
import { APP_PIPE } from "@nestjs/core";
|
|
6
|
+
import { APP_INTERCEPTOR, APP_PIPE } from "@nestjs/core";
|
|
7
7
|
import { CommonModule, OBSERVABLE_SERVICE } from "@lark-apaas/nestjs-common";
|
|
8
8
|
import { ConfigModule, ConfigService } from "@nestjs/config";
|
|
9
|
-
import { NestjsObservableModule as ObservableModule, Observable } from "@lark-apaas/nestjs-observable";
|
|
9
|
+
import { NestjsObservableModule as ObservableModule, Observable, ObservableTraceMiddleware, TraceInterceptor } from "@lark-apaas/nestjs-observable";
|
|
10
10
|
import { HttpModule } from "@nestjs/axios";
|
|
11
11
|
import { LoggerModule, AppLogger as AppLogger2, LoggerContextMiddleware } from "@lark-apaas/nestjs-logger";
|
|
12
12
|
import { DataPaasModule, SqlExecutionContextMiddleware } from "@lark-apaas/nestjs-datapaas";
|
|
@@ -130,10 +130,47 @@ import { Inject, Injectable as Injectable3, Logger } from "@nestjs/common";
|
|
|
130
130
|
import { PLATFORM_HTTP_CLIENT } from "@lark-apaas/nestjs-common";
|
|
131
131
|
|
|
132
132
|
// src/utils/safe-stringify.ts
|
|
133
|
-
function
|
|
134
|
-
return
|
|
133
|
+
function safeEscape(s) {
|
|
134
|
+
return s.replace(/[<>&='"\n\r\u2028\u2029]/g, function(c) {
|
|
135
|
+
switch (c.charCodeAt(0)) {
|
|
136
|
+
case 60:
|
|
137
|
+
return "\\u003c";
|
|
138
|
+
// <
|
|
139
|
+
case 62:
|
|
140
|
+
return "\\u003e";
|
|
141
|
+
// >
|
|
142
|
+
case 38:
|
|
143
|
+
return "\\u0026";
|
|
144
|
+
// &
|
|
145
|
+
case 61:
|
|
146
|
+
return "\\u003d";
|
|
147
|
+
// =
|
|
148
|
+
case 39:
|
|
149
|
+
return "\\u0027";
|
|
150
|
+
// '
|
|
151
|
+
case 34:
|
|
152
|
+
return "\\u0022";
|
|
153
|
+
// "
|
|
154
|
+
case 10:
|
|
155
|
+
return "\\u000a";
|
|
156
|
+
// \n
|
|
157
|
+
case 13:
|
|
158
|
+
return "\\u000d";
|
|
159
|
+
// \r
|
|
160
|
+
// 正常来说用户无法输入这几个字符, 现代浏览器也修复了这个问题
|
|
161
|
+
// https://zhuanlan.zhihu.com/p/29958439
|
|
162
|
+
case 8232:
|
|
163
|
+
return "\\u2028";
|
|
164
|
+
// 行分隔符
|
|
165
|
+
case 8233:
|
|
166
|
+
return "\\u2029";
|
|
167
|
+
// 段落分隔符
|
|
168
|
+
default:
|
|
169
|
+
return c;
|
|
170
|
+
}
|
|
171
|
+
});
|
|
135
172
|
}
|
|
136
|
-
__name(
|
|
173
|
+
__name(safeEscape, "safeEscape");
|
|
137
174
|
|
|
138
175
|
// src/middlewares/view-context/index.ts
|
|
139
176
|
function _ts_decorate3(decorators, target, key, desc) {
|
|
@@ -186,14 +223,13 @@ var ViewContextMiddleware = class _ViewContextMiddleware {
|
|
|
186
223
|
const { userId, tenantId, appId } = req.userContext;
|
|
187
224
|
const csrfToken = req.csrfToken;
|
|
188
225
|
const appInfo = await this.getAppInfo(appId);
|
|
189
|
-
this.logger.debug(`appInfo: ${JSON.stringify(appInfo)}`);
|
|
190
226
|
req.__platform_data__ = {
|
|
191
227
|
csrfToken: csrfToken ?? "",
|
|
192
228
|
userId: userId ?? "",
|
|
193
229
|
appId: appId ?? "",
|
|
194
|
-
appName:
|
|
230
|
+
appName: safeEscape(appInfo?.app_name ?? "\u5999\u642D\u5E94\u7528"),
|
|
195
231
|
appAvatar: appInfo?.app_avatar ?? "",
|
|
196
|
-
appDescription:
|
|
232
|
+
appDescription: safeEscape(appInfo?.app_description ?? ""),
|
|
197
233
|
tenantId
|
|
198
234
|
};
|
|
199
235
|
res.locals = {
|
|
@@ -202,9 +238,9 @@ var ViewContextMiddleware = class _ViewContextMiddleware {
|
|
|
202
238
|
userId: userId ?? "",
|
|
203
239
|
tenantId: tenantId ?? "",
|
|
204
240
|
appId: appId ?? "",
|
|
205
|
-
appName:
|
|
241
|
+
appName: safeEscape(appInfo?.app_name ?? "\u5999\u642D\u5E94\u7528"),
|
|
206
242
|
appAvatar: appInfo?.app_avatar ?? "",
|
|
207
|
-
appDescription:
|
|
243
|
+
appDescription: safeEscape(appInfo?.app_description ?? "")
|
|
208
244
|
};
|
|
209
245
|
next();
|
|
210
246
|
}
|
|
@@ -394,26 +430,30 @@ var HttpInterceptorService = class {
|
|
|
394
430
|
setupInterceptors() {
|
|
395
431
|
const axiosInstance = this.httpService.axiosRef;
|
|
396
432
|
axiosInstance.interceptors.request.use((config) => {
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
433
|
+
if (process.env.NODE_ENV === "development") {
|
|
434
|
+
this.logger.log("HTTP Request", {
|
|
435
|
+
method: config.method?.toUpperCase(),
|
|
436
|
+
url: config.url,
|
|
437
|
+
headers: config.headers,
|
|
438
|
+
params: config.params,
|
|
439
|
+
data: config.data
|
|
440
|
+
}, "HttpService");
|
|
441
|
+
}
|
|
404
442
|
return config;
|
|
405
443
|
}, (error) => {
|
|
406
444
|
this.logger.error("HTTP Request Error", error, "HttpService");
|
|
407
445
|
return Promise.reject(error);
|
|
408
446
|
});
|
|
409
447
|
axiosInstance.interceptors.response.use((response) => {
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
448
|
+
if (process.env.NODE_ENV === "development") {
|
|
449
|
+
this.logger.log("HTTP Response", {
|
|
450
|
+
method: response.config.method?.toUpperCase(),
|
|
451
|
+
url: response.config.url,
|
|
452
|
+
status: response.status,
|
|
453
|
+
statusText: response.statusText,
|
|
454
|
+
data: response.data
|
|
455
|
+
}, "HttpService");
|
|
456
|
+
}
|
|
417
457
|
return response;
|
|
418
458
|
}, (error) => {
|
|
419
459
|
this.logger.error("HTTP Response Error", {
|
|
@@ -656,14 +696,14 @@ var PlatformHttpClientService = class _PlatformHttpClientService {
|
|
|
656
696
|
*/
|
|
657
697
|
registerGlobalInterceptors() {
|
|
658
698
|
this.client.interceptors.request.use((config) => {
|
|
659
|
-
this.logger.
|
|
699
|
+
this.logger.debug(`Server SDK HTTP Request: ${config.method?.toUpperCase()} ${config.url}`);
|
|
660
700
|
return config;
|
|
661
701
|
}, (error) => {
|
|
662
|
-
this.logger.error("HTTP Request Error", error, "HttpService");
|
|
702
|
+
this.logger.error("Server SDK HTTP Request Error", error, "HttpService");
|
|
663
703
|
return Promise.reject(error);
|
|
664
704
|
});
|
|
665
705
|
this.client.interceptors.response.use((response) => {
|
|
666
|
-
this.logger.
|
|
706
|
+
this.logger.debug(`Server SDK HTTP Response: ${response.status} ${response.url}`);
|
|
667
707
|
return response;
|
|
668
708
|
}, (error) => {
|
|
669
709
|
const errorLog = {
|
|
@@ -671,7 +711,7 @@ var PlatformHttpClientService = class _PlatformHttpClientService {
|
|
|
671
711
|
statusText: error.response?.statusText,
|
|
672
712
|
message: error.message
|
|
673
713
|
};
|
|
674
|
-
this.logger.error(`HTTP Response Error: ${error.config?.method?.toUpperCase()} ${error.config?.url} ${JSON.stringify(errorLog)}`);
|
|
714
|
+
this.logger.error(`Server SDK HTTP Response Error: ${error.config?.method?.toUpperCase()} ${error.config?.url} ${JSON.stringify(errorLog)}`);
|
|
675
715
|
return Promise.reject(error);
|
|
676
716
|
});
|
|
677
717
|
}
|
|
@@ -737,10 +777,12 @@ var PlatformModule = class _PlatformModule {
|
|
|
737
777
|
const appLogger = args[1];
|
|
738
778
|
const drizzleLogger = {
|
|
739
779
|
logQuery(query, params) {
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
780
|
+
if (process.env.NODE_ENV === "development") {
|
|
781
|
+
appLogger.log?.("SQL Query " + JSON.stringify({
|
|
782
|
+
query,
|
|
783
|
+
params
|
|
784
|
+
}), "Database");
|
|
785
|
+
}
|
|
744
786
|
}
|
|
745
787
|
};
|
|
746
788
|
return {
|
|
@@ -779,7 +821,11 @@ var PlatformModule = class _PlatformModule {
|
|
|
779
821
|
PlatformHttpClientService
|
|
780
822
|
]
|
|
781
823
|
},
|
|
782
|
-
HttpInterceptorService
|
|
824
|
+
HttpInterceptorService,
|
|
825
|
+
{
|
|
826
|
+
provide: APP_INTERCEPTOR,
|
|
827
|
+
useClass: TraceInterceptor
|
|
828
|
+
}
|
|
783
829
|
],
|
|
784
830
|
exports: [
|
|
785
831
|
ConfigModule,
|
|
@@ -799,7 +845,7 @@ var PlatformModule = class _PlatformModule {
|
|
|
799
845
|
if (process.env.NODE_ENV === "development") {
|
|
800
846
|
consumer.apply(FrameworkDebugMiddleware).forRoutes("/api/__framework__/debug");
|
|
801
847
|
}
|
|
802
|
-
consumer.apply(UserContextMiddleware, RequestContextMiddleware, LoggerContextMiddleware, SqlExecutionContextMiddleware).forRoutes("/*");
|
|
848
|
+
consumer.apply(UserContextMiddleware, RequestContextMiddleware, LoggerContextMiddleware, ObservableTraceMiddleware, SqlExecutionContextMiddleware).forRoutes("/*");
|
|
803
849
|
consumer.apply(CsrfTokenMiddleware, ViewContextMiddleware).exclude("/api/(.*)").forRoutes("*");
|
|
804
850
|
if (options.enableCsrf !== false) {
|
|
805
851
|
const csrfRoutes = options.csrfRoutes || "/api/*";
|
|
@@ -843,6 +889,7 @@ async function configureApp(app, perms = defaultPerms) {
|
|
|
843
889
|
console.error("[OpenAPI] OpenAPI \u751F\u6210\u5931\u8D25:", err);
|
|
844
890
|
}
|
|
845
891
|
}
|
|
892
|
+
console.log("App Started Successfully.");
|
|
846
893
|
}
|
|
847
894
|
__name(configureApp, "configureApp");
|
|
848
895
|
|
|
@@ -852,7 +899,9 @@ export * from "@lark-apaas/nestjs-authnpaas";
|
|
|
852
899
|
export * from "@lark-apaas/nestjs-datapaas";
|
|
853
900
|
export * from "@lark-apaas/nestjs-observable";
|
|
854
901
|
export * from "@lark-apaas/nestjs-trigger";
|
|
902
|
+
import { AutoTrace } from "@lark-apaas/nestjs-common";
|
|
855
903
|
export {
|
|
904
|
+
AutoTrace,
|
|
856
905
|
CsrfMiddleware,
|
|
857
906
|
CsrfTokenMiddleware,
|
|
858
907
|
DevToolsModule,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lark-apaas/fullstack-nestjs-core",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.13",
|
|
4
4
|
"description": "FullStack Nestjs Core",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -39,12 +39,12 @@
|
|
|
39
39
|
"prepublishOnly": "npm run build"
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@lark-apaas/http-client": "0.1.2",
|
|
42
|
+
"@lark-apaas/http-client": "^0.1.2",
|
|
43
43
|
"@lark-apaas/nestjs-authnpaas": "^1.0.2",
|
|
44
|
-
"@lark-apaas/nestjs-common": "^0.1.
|
|
44
|
+
"@lark-apaas/nestjs-common": "^0.1.1",
|
|
45
45
|
"@lark-apaas/nestjs-datapaas": "^1.0.7",
|
|
46
|
-
"@lark-apaas/nestjs-logger": "^1.0.
|
|
47
|
-
"@lark-apaas/nestjs-observable": "^0.0.
|
|
46
|
+
"@lark-apaas/nestjs-logger": "^1.0.7",
|
|
47
|
+
"@lark-apaas/nestjs-observable": "^0.0.2",
|
|
48
48
|
"@lark-apaas/nestjs-openapi-devtools": "^1.0.9",
|
|
49
49
|
"@lark-apaas/nestjs-trigger": "^0.0.1",
|
|
50
50
|
"@nestjs/axios": "^4.0.1",
|
|
@@ -57,7 +57,6 @@
|
|
|
57
57
|
"@nestjs/swagger": "^7.4.2",
|
|
58
58
|
"@types/cookie-parser": "^1.4.9",
|
|
59
59
|
"@types/express": "^5.0.3",
|
|
60
|
-
"@types/serialize-javascript": "^5.0.4",
|
|
61
60
|
"class-transformer": "^0.5.1",
|
|
62
61
|
"class-validator": "^0.14.2",
|
|
63
62
|
"drizzle-orm": "0.44.6",
|