@lark-apaas/fullstack-nestjs-core 1.1.12-alpha.9 → 1.1.13-alpha.0
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 +84 -32
- package/dist/index.d.cts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +85 -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,9 @@ 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,
|
|
891
|
+
consumer.apply(UserContextMiddleware, RequestContextMiddleware, import_nestjs_logger2.LoggerContextMiddleware, import_nestjs_observable.ObservableTraceMiddleware, ...DISABLE_DATAPASS ? [] : [
|
|
892
|
+
import_nestjs_datapaas.SqlExecutionContextMiddleware
|
|
893
|
+
]).forRoutes("/*");
|
|
845
894
|
consumer.apply(CsrfTokenMiddleware, ViewContextMiddleware).exclude("/api/(.*)").forRoutes("*");
|
|
846
895
|
if (options.enableCsrf !== false) {
|
|
847
896
|
const csrfRoutes = options.csrfRoutes || "/api/*";
|
|
@@ -885,6 +934,7 @@ async function configureApp(app, perms = defaultPerms) {
|
|
|
885
934
|
console.error("[OpenAPI] OpenAPI \u751F\u6210\u5931\u8D25:", err);
|
|
886
935
|
}
|
|
887
936
|
}
|
|
937
|
+
console.log("App Started Successfully.");
|
|
888
938
|
}
|
|
889
939
|
__name(configureApp, "configureApp");
|
|
890
940
|
|
|
@@ -894,8 +944,10 @@ __reExport(index_exports, require("@lark-apaas/nestjs-authnpaas"), module.export
|
|
|
894
944
|
__reExport(index_exports, require("@lark-apaas/nestjs-datapaas"), module.exports);
|
|
895
945
|
__reExport(index_exports, require("@lark-apaas/nestjs-observable"), module.exports);
|
|
896
946
|
__reExport(index_exports, require("@lark-apaas/nestjs-trigger"), module.exports);
|
|
947
|
+
var import_nestjs_common5 = require("@lark-apaas/nestjs-common");
|
|
897
948
|
// Annotate the CommonJS export names for ESM import in node:
|
|
898
949
|
0 && (module.exports = {
|
|
950
|
+
AutoTrace,
|
|
899
951
|
CsrfMiddleware,
|
|
900
952
|
CsrfTokenMiddleware,
|
|
901
953
|
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,9 @@ 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,
|
|
848
|
+
consumer.apply(UserContextMiddleware, RequestContextMiddleware, LoggerContextMiddleware, ObservableTraceMiddleware, ...DISABLE_DATAPASS ? [] : [
|
|
849
|
+
SqlExecutionContextMiddleware
|
|
850
|
+
]).forRoutes("/*");
|
|
803
851
|
consumer.apply(CsrfTokenMiddleware, ViewContextMiddleware).exclude("/api/(.*)").forRoutes("*");
|
|
804
852
|
if (options.enableCsrf !== false) {
|
|
805
853
|
const csrfRoutes = options.csrfRoutes || "/api/*";
|
|
@@ -843,6 +891,7 @@ async function configureApp(app, perms = defaultPerms) {
|
|
|
843
891
|
console.error("[OpenAPI] OpenAPI \u751F\u6210\u5931\u8D25:", err);
|
|
844
892
|
}
|
|
845
893
|
}
|
|
894
|
+
console.log("App Started Successfully.");
|
|
846
895
|
}
|
|
847
896
|
__name(configureApp, "configureApp");
|
|
848
897
|
|
|
@@ -852,7 +901,9 @@ export * from "@lark-apaas/nestjs-authnpaas";
|
|
|
852
901
|
export * from "@lark-apaas/nestjs-datapaas";
|
|
853
902
|
export * from "@lark-apaas/nestjs-observable";
|
|
854
903
|
export * from "@lark-apaas/nestjs-trigger";
|
|
904
|
+
import { AutoTrace } from "@lark-apaas/nestjs-common";
|
|
855
905
|
export {
|
|
906
|
+
AutoTrace,
|
|
856
907
|
CsrfMiddleware,
|
|
857
908
|
CsrfTokenMiddleware,
|
|
858
909
|
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-alpha.0",
|
|
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.5",
|
|
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",
|