@lark-apaas/fullstack-nestjs-core 1.1.12-alpha.11 → 1.1.12-alpha.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 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,
@@ -170,51 +171,6 @@ CsrfMiddleware = _ts_decorate2([
170
171
  // src/middlewares/view-context/index.ts
171
172
  var import_common3 = require("@nestjs/common");
172
173
  var import_nestjs_common = require("@lark-apaas/nestjs-common");
173
-
174
- // src/utils/safe-stringify.ts
175
- function safeEscape(s) {
176
- return s.replace(/[<>&='"\n\r\u2028\u2029]/g, function(c) {
177
- switch (c.charCodeAt(0)) {
178
- case 60:
179
- return "\\u003c";
180
- // <
181
- case 62:
182
- return "\\u003e";
183
- // >
184
- case 38:
185
- return "\\u0026";
186
- // &
187
- case 61:
188
- return "\\u003d";
189
- // =
190
- case 39:
191
- return "\\u0027";
192
- // '
193
- case 34:
194
- return "\\u0022";
195
- // "
196
- case 10:
197
- return "\\u000a";
198
- // \n
199
- case 13:
200
- return "\\u000d";
201
- // \r
202
- // 正常来说用户无法输入这几个字符, 现代浏览器也修复了这个问题
203
- // https://zhuanlan.zhihu.com/p/29958439
204
- case 8232:
205
- return "\\u2028";
206
- // 行分隔符
207
- case 8233:
208
- return "\\u2029";
209
- // 段落分隔符
210
- default:
211
- return c;
212
- }
213
- });
214
- }
215
- __name(safeEscape, "safeEscape");
216
-
217
- // src/middlewares/view-context/index.ts
218
174
  function _ts_decorate3(decorators, target, key, desc) {
219
175
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
220
176
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -270,9 +226,9 @@ var ViewContextMiddleware = class _ViewContextMiddleware {
270
226
  csrfToken: csrfToken ?? "",
271
227
  userId: userId ?? "",
272
228
  appId: appId ?? "",
273
- appName: safeEscape(appInfo?.app_name ?? "\u5999\u642D\u5E94\u7528"),
229
+ appName: appInfo?.app_name ?? "",
274
230
  appAvatar: appInfo?.app_avatar ?? "",
275
- appDescription: safeEscape(appInfo?.app_description ?? ""),
231
+ appDescription: appInfo?.app_description ?? "",
276
232
  tenantId
277
233
  };
278
234
  res.locals = {
@@ -281,9 +237,9 @@ var ViewContextMiddleware = class _ViewContextMiddleware {
281
237
  userId: userId ?? "",
282
238
  tenantId: tenantId ?? "",
283
239
  appId: appId ?? "",
284
- appName: safeEscape(appInfo?.app_name ?? "\u5999\u642D\u5E94\u7528"),
240
+ appName: appInfo?.app_name ?? "\u5999\u642D\u5E94\u7528",
285
241
  appAvatar: appInfo?.app_avatar ?? "",
286
- appDescription: safeEscape(appInfo?.app_description ?? "")
242
+ appDescription: appInfo?.app_description ?? ""
287
243
  };
288
244
  next();
289
245
  }
@@ -473,26 +429,30 @@ var HttpInterceptorService = class {
473
429
  setupInterceptors() {
474
430
  const axiosInstance = this.httpService.axiosRef;
475
431
  axiosInstance.interceptors.request.use((config) => {
476
- this.logger.log("HTTP Request", {
477
- method: config.method?.toUpperCase(),
478
- url: config.url,
479
- headers: config.headers,
480
- params: config.params,
481
- data: config.data
482
- }, "HttpService");
432
+ if (process.env.NODE_ENV === "development") {
433
+ this.logger.log("HTTP Request", {
434
+ method: config.method?.toUpperCase(),
435
+ url: config.url,
436
+ headers: config.headers,
437
+ params: config.params,
438
+ data: config.data
439
+ }, "HttpService");
440
+ }
483
441
  return config;
484
442
  }, (error) => {
485
443
  this.logger.error("HTTP Request Error", error, "HttpService");
486
444
  return Promise.reject(error);
487
445
  });
488
446
  axiosInstance.interceptors.response.use((response) => {
489
- this.logger.log("HTTP Response", {
490
- method: response.config.method?.toUpperCase(),
491
- url: response.config.url,
492
- status: response.status,
493
- statusText: response.statusText,
494
- data: response.data
495
- }, "HttpService");
447
+ if (process.env.NODE_ENV === "development") {
448
+ this.logger.log("HTTP Response", {
449
+ method: response.config.method?.toUpperCase(),
450
+ url: response.config.url,
451
+ status: response.status,
452
+ statusText: response.statusText,
453
+ data: response.data
454
+ }, "HttpService");
455
+ }
496
456
  return response;
497
457
  }, (error) => {
498
458
  this.logger.error("HTTP Response Error", {
@@ -735,14 +695,14 @@ var PlatformHttpClientService = class _PlatformHttpClientService {
735
695
  */
736
696
  registerGlobalInterceptors() {
737
697
  this.client.interceptors.request.use((config) => {
738
- this.logger.log(`HTTP Request: ${config.method?.toUpperCase()} ${config.url}`);
698
+ this.logger.debug(`Server SDK HTTP Request: ${config.method?.toUpperCase()} ${config.url}`);
739
699
  return config;
740
700
  }, (error) => {
741
- this.logger.error("HTTP Request Error", error, "HttpService");
701
+ this.logger.error("Server SDK HTTP Request Error", error, "HttpService");
742
702
  return Promise.reject(error);
743
703
  });
744
704
  this.client.interceptors.response.use((response) => {
745
- this.logger.log(`HTTP Response: ${response.status} ${response.url}`);
705
+ this.logger.debug(`Server SDK HTTP Response: ${response.status} ${response.url}`);
746
706
  return response;
747
707
  }, (error) => {
748
708
  const errorLog = {
@@ -750,7 +710,7 @@ var PlatformHttpClientService = class _PlatformHttpClientService {
750
710
  statusText: error.response?.statusText,
751
711
  message: error.message
752
712
  };
753
- this.logger.error(`HTTP Response Error: ${error.config?.method?.toUpperCase()} ${error.config?.url} ${JSON.stringify(errorLog)}`);
713
+ this.logger.error(`Server SDK HTTP Response Error: ${error.config?.method?.toUpperCase()} ${error.config?.url} ${JSON.stringify(errorLog)}`);
754
714
  return Promise.reject(error);
755
715
  });
756
716
  }
@@ -761,9 +721,6 @@ PlatformHttpClientService = _ts_decorate8([
761
721
  _ts_metadata5("design:paramtypes", [])
762
722
  ], PlatformHttpClientService);
763
723
 
764
- // src/modules/platform/config/feature-switch.ts
765
- var DISABLE_DATAPASS = process.env.FORCE_FRAMEWORK_DISABLE_DATAPASS === "true";
766
-
767
724
  // src/modules/platform/module.ts
768
725
  function _ts_decorate9(decorators, target, key, desc) {
769
726
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -800,35 +757,34 @@ var PlatformModule = class _PlatformModule {
800
757
  timeout: 5e3,
801
758
  maxRedirects: 5
802
759
  }),
803
- // 读取环境变量判断是否启用 DataPaasModule
804
- ...DISABLE_DATAPASS ? [] : [
805
- import_nestjs_datapaas.DataPaasModule.forRootAsync({
806
- imports: [
807
- import_config2.ConfigModule,
808
- import_nestjs_logger2.LoggerModule
809
- ],
810
- inject: [
811
- import_config2.ConfigService,
812
- import_nestjs_logger2.AppLogger
813
- ],
814
- useFactory: /* @__PURE__ */ __name(async (...args) => {
815
- const configService = args[0];
816
- const appLogger = args[1];
817
- const drizzleLogger = {
818
- logQuery(query, params) {
760
+ import_nestjs_datapaas.DataPaasModule.forRootAsync({
761
+ imports: [
762
+ import_config2.ConfigModule,
763
+ import_nestjs_logger2.LoggerModule
764
+ ],
765
+ inject: [
766
+ import_config2.ConfigService,
767
+ import_nestjs_logger2.AppLogger
768
+ ],
769
+ useFactory: /* @__PURE__ */ __name(async (...args) => {
770
+ const configService = args[0];
771
+ const appLogger = args[1];
772
+ const drizzleLogger = {
773
+ logQuery(query, params) {
774
+ if (process.env.NODE_ENV === "development") {
819
775
  appLogger.log?.("SQL Query " + JSON.stringify({
820
776
  query,
821
777
  params
822
778
  }), "Database");
823
779
  }
824
- };
825
- return {
826
- connectionString: configService.get("app.databaseUrl") ?? "",
827
- logger: drizzleLogger
828
- };
829
- }, "useFactory")
830
- })
831
- ],
780
+ }
781
+ };
782
+ return {
783
+ connectionString: configService.get("app.databaseUrl") ?? "",
784
+ logger: drizzleLogger
785
+ };
786
+ }, "useFactory")
787
+ }),
832
788
  import_nestjs_authnpaas.AuthNPaasModule.forRoot(),
833
789
  import_nestjs_trigger.AutomationModule.forRoot()
834
790
  ],
@@ -858,7 +814,11 @@ var PlatformModule = class _PlatformModule {
858
814
  PlatformHttpClientService
859
815
  ]
860
816
  },
861
- HttpInterceptorService
817
+ HttpInterceptorService,
818
+ {
819
+ provide: import_core2.APP_INTERCEPTOR,
820
+ useClass: import_nestjs_observable.TraceInterceptor
821
+ }
862
822
  ],
863
823
  exports: [
864
824
  import_config2.ConfigModule,
@@ -878,7 +838,7 @@ var PlatformModule = class _PlatformModule {
878
838
  if (process.env.NODE_ENV === "development") {
879
839
  consumer.apply(FrameworkDebugMiddleware).forRoutes("/api/__framework__/debug");
880
840
  }
881
- consumer.apply(UserContextMiddleware, RequestContextMiddleware, import_nestjs_logger2.LoggerContextMiddleware, import_nestjs_datapaas.SqlExecutionContextMiddleware).forRoutes("/*");
841
+ consumer.apply(UserContextMiddleware, RequestContextMiddleware, import_nestjs_logger2.LoggerContextMiddleware, import_nestjs_observable.ObservableTraceMiddleware, import_nestjs_datapaas.SqlExecutionContextMiddleware).forRoutes("/*");
882
842
  consumer.apply(CsrfTokenMiddleware, ViewContextMiddleware).exclude("/api/(.*)").forRoutes("*");
883
843
  if (options.enableCsrf !== false) {
884
844
  const csrfRoutes = options.csrfRoutes || "/api/*";
@@ -910,7 +870,6 @@ async function configureApp(app, perms = defaultPerms) {
910
870
  app.use((0, import_cookie_parser.default)());
911
871
  const globalPrefix = process.env.CLIENT_BASE_PATH ?? "";
912
872
  app.setGlobalPrefix(globalPrefix);
913
- app.set("trust proxy", true);
914
873
  if (process.env.NODE_ENV !== "production" && perms.disableSwagger !== true) {
915
874
  try {
916
875
  await import_nestjs_openapi_devtools.DevToolsV2Module.mount(app, {
@@ -931,8 +890,10 @@ __reExport(index_exports, require("@lark-apaas/nestjs-authnpaas"), module.export
931
890
  __reExport(index_exports, require("@lark-apaas/nestjs-datapaas"), module.exports);
932
891
  __reExport(index_exports, require("@lark-apaas/nestjs-observable"), module.exports);
933
892
  __reExport(index_exports, require("@lark-apaas/nestjs-trigger"), module.exports);
893
+ var import_nestjs_common5 = require("@lark-apaas/nestjs-common");
934
894
  // Annotate the CommonJS export names for ESM import in node:
935
895
  0 && (module.exports = {
896
+ AutoTrace,
936
897
  CsrfMiddleware,
937
898
  CsrfTokenMiddleware,
938
899
  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";
@@ -128,51 +128,6 @@ CsrfMiddleware = _ts_decorate2([
128
128
  // src/middlewares/view-context/index.ts
129
129
  import { Inject, Injectable as Injectable3, Logger } from "@nestjs/common";
130
130
  import { PLATFORM_HTTP_CLIENT } from "@lark-apaas/nestjs-common";
131
-
132
- // src/utils/safe-stringify.ts
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
- });
172
- }
173
- __name(safeEscape, "safeEscape");
174
-
175
- // src/middlewares/view-context/index.ts
176
131
  function _ts_decorate3(decorators, target, key, desc) {
177
132
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
178
133
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -228,9 +183,9 @@ var ViewContextMiddleware = class _ViewContextMiddleware {
228
183
  csrfToken: csrfToken ?? "",
229
184
  userId: userId ?? "",
230
185
  appId: appId ?? "",
231
- appName: safeEscape(appInfo?.app_name ?? "\u5999\u642D\u5E94\u7528"),
186
+ appName: appInfo?.app_name ?? "",
232
187
  appAvatar: appInfo?.app_avatar ?? "",
233
- appDescription: safeEscape(appInfo?.app_description ?? ""),
188
+ appDescription: appInfo?.app_description ?? "",
234
189
  tenantId
235
190
  };
236
191
  res.locals = {
@@ -239,9 +194,9 @@ var ViewContextMiddleware = class _ViewContextMiddleware {
239
194
  userId: userId ?? "",
240
195
  tenantId: tenantId ?? "",
241
196
  appId: appId ?? "",
242
- appName: safeEscape(appInfo?.app_name ?? "\u5999\u642D\u5E94\u7528"),
197
+ appName: appInfo?.app_name ?? "\u5999\u642D\u5E94\u7528",
243
198
  appAvatar: appInfo?.app_avatar ?? "",
244
- appDescription: safeEscape(appInfo?.app_description ?? "")
199
+ appDescription: appInfo?.app_description ?? ""
245
200
  };
246
201
  next();
247
202
  }
@@ -431,26 +386,30 @@ var HttpInterceptorService = class {
431
386
  setupInterceptors() {
432
387
  const axiosInstance = this.httpService.axiosRef;
433
388
  axiosInstance.interceptors.request.use((config) => {
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");
389
+ if (process.env.NODE_ENV === "development") {
390
+ this.logger.log("HTTP Request", {
391
+ method: config.method?.toUpperCase(),
392
+ url: config.url,
393
+ headers: config.headers,
394
+ params: config.params,
395
+ data: config.data
396
+ }, "HttpService");
397
+ }
441
398
  return config;
442
399
  }, (error) => {
443
400
  this.logger.error("HTTP Request Error", error, "HttpService");
444
401
  return Promise.reject(error);
445
402
  });
446
403
  axiosInstance.interceptors.response.use((response) => {
447
- this.logger.log("HTTP Response", {
448
- method: response.config.method?.toUpperCase(),
449
- url: response.config.url,
450
- status: response.status,
451
- statusText: response.statusText,
452
- data: response.data
453
- }, "HttpService");
404
+ if (process.env.NODE_ENV === "development") {
405
+ this.logger.log("HTTP Response", {
406
+ method: response.config.method?.toUpperCase(),
407
+ url: response.config.url,
408
+ status: response.status,
409
+ statusText: response.statusText,
410
+ data: response.data
411
+ }, "HttpService");
412
+ }
454
413
  return response;
455
414
  }, (error) => {
456
415
  this.logger.error("HTTP Response Error", {
@@ -693,14 +652,14 @@ var PlatformHttpClientService = class _PlatformHttpClientService {
693
652
  */
694
653
  registerGlobalInterceptors() {
695
654
  this.client.interceptors.request.use((config) => {
696
- this.logger.log(`HTTP Request: ${config.method?.toUpperCase()} ${config.url}`);
655
+ this.logger.debug(`Server SDK HTTP Request: ${config.method?.toUpperCase()} ${config.url}`);
697
656
  return config;
698
657
  }, (error) => {
699
- this.logger.error("HTTP Request Error", error, "HttpService");
658
+ this.logger.error("Server SDK HTTP Request Error", error, "HttpService");
700
659
  return Promise.reject(error);
701
660
  });
702
661
  this.client.interceptors.response.use((response) => {
703
- this.logger.log(`HTTP Response: ${response.status} ${response.url}`);
662
+ this.logger.debug(`Server SDK HTTP Response: ${response.status} ${response.url}`);
704
663
  return response;
705
664
  }, (error) => {
706
665
  const errorLog = {
@@ -708,7 +667,7 @@ var PlatformHttpClientService = class _PlatformHttpClientService {
708
667
  statusText: error.response?.statusText,
709
668
  message: error.message
710
669
  };
711
- this.logger.error(`HTTP Response Error: ${error.config?.method?.toUpperCase()} ${error.config?.url} ${JSON.stringify(errorLog)}`);
670
+ this.logger.error(`Server SDK HTTP Response Error: ${error.config?.method?.toUpperCase()} ${error.config?.url} ${JSON.stringify(errorLog)}`);
712
671
  return Promise.reject(error);
713
672
  });
714
673
  }
@@ -719,9 +678,6 @@ PlatformHttpClientService = _ts_decorate8([
719
678
  _ts_metadata5("design:paramtypes", [])
720
679
  ], PlatformHttpClientService);
721
680
 
722
- // src/modules/platform/config/feature-switch.ts
723
- var DISABLE_DATAPASS = process.env.FORCE_FRAMEWORK_DISABLE_DATAPASS === "true";
724
-
725
681
  // src/modules/platform/module.ts
726
682
  function _ts_decorate9(decorators, target, key, desc) {
727
683
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -758,35 +714,34 @@ var PlatformModule = class _PlatformModule {
758
714
  timeout: 5e3,
759
715
  maxRedirects: 5
760
716
  }),
761
- // 读取环境变量判断是否启用 DataPaasModule
762
- ...DISABLE_DATAPASS ? [] : [
763
- DataPaasModule.forRootAsync({
764
- imports: [
765
- ConfigModule,
766
- LoggerModule
767
- ],
768
- inject: [
769
- ConfigService,
770
- AppLogger2
771
- ],
772
- useFactory: /* @__PURE__ */ __name(async (...args) => {
773
- const configService = args[0];
774
- const appLogger = args[1];
775
- const drizzleLogger = {
776
- logQuery(query, params) {
717
+ DataPaasModule.forRootAsync({
718
+ imports: [
719
+ ConfigModule,
720
+ LoggerModule
721
+ ],
722
+ inject: [
723
+ ConfigService,
724
+ AppLogger2
725
+ ],
726
+ useFactory: /* @__PURE__ */ __name(async (...args) => {
727
+ const configService = args[0];
728
+ const appLogger = args[1];
729
+ const drizzleLogger = {
730
+ logQuery(query, params) {
731
+ if (process.env.NODE_ENV === "development") {
777
732
  appLogger.log?.("SQL Query " + JSON.stringify({
778
733
  query,
779
734
  params
780
735
  }), "Database");
781
736
  }
782
- };
783
- return {
784
- connectionString: configService.get("app.databaseUrl") ?? "",
785
- logger: drizzleLogger
786
- };
787
- }, "useFactory")
788
- })
789
- ],
737
+ }
738
+ };
739
+ return {
740
+ connectionString: configService.get("app.databaseUrl") ?? "",
741
+ logger: drizzleLogger
742
+ };
743
+ }, "useFactory")
744
+ }),
790
745
  AuthNPaasModule.forRoot(),
791
746
  AutomationModule.forRoot()
792
747
  ],
@@ -816,7 +771,11 @@ var PlatformModule = class _PlatformModule {
816
771
  PlatformHttpClientService
817
772
  ]
818
773
  },
819
- HttpInterceptorService
774
+ HttpInterceptorService,
775
+ {
776
+ provide: APP_INTERCEPTOR,
777
+ useClass: TraceInterceptor
778
+ }
820
779
  ],
821
780
  exports: [
822
781
  ConfigModule,
@@ -836,7 +795,7 @@ var PlatformModule = class _PlatformModule {
836
795
  if (process.env.NODE_ENV === "development") {
837
796
  consumer.apply(FrameworkDebugMiddleware).forRoutes("/api/__framework__/debug");
838
797
  }
839
- consumer.apply(UserContextMiddleware, RequestContextMiddleware, LoggerContextMiddleware, SqlExecutionContextMiddleware).forRoutes("/*");
798
+ consumer.apply(UserContextMiddleware, RequestContextMiddleware, LoggerContextMiddleware, ObservableTraceMiddleware, SqlExecutionContextMiddleware).forRoutes("/*");
840
799
  consumer.apply(CsrfTokenMiddleware, ViewContextMiddleware).exclude("/api/(.*)").forRoutes("*");
841
800
  if (options.enableCsrf !== false) {
842
801
  const csrfRoutes = options.csrfRoutes || "/api/*";
@@ -868,7 +827,6 @@ async function configureApp(app, perms = defaultPerms) {
868
827
  app.use(cookieParser());
869
828
  const globalPrefix = process.env.CLIENT_BASE_PATH ?? "";
870
829
  app.setGlobalPrefix(globalPrefix);
871
- app.set("trust proxy", true);
872
830
  if (process.env.NODE_ENV !== "production" && perms.disableSwagger !== true) {
873
831
  try {
874
832
  await DevToolsV2Module.mount(app, {
@@ -889,7 +847,9 @@ export * from "@lark-apaas/nestjs-authnpaas";
889
847
  export * from "@lark-apaas/nestjs-datapaas";
890
848
  export * from "@lark-apaas/nestjs-observable";
891
849
  export * from "@lark-apaas/nestjs-trigger";
850
+ import { AutoTrace } from "@lark-apaas/nestjs-common";
892
851
  export {
852
+ AutoTrace,
893
853
  CsrfMiddleware,
894
854
  CsrfTokenMiddleware,
895
855
  DevToolsModule,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lark-apaas/fullstack-nestjs-core",
3
- "version": "1.1.12-alpha.11",
3
+ "version": "1.1.12-alpha.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.0",
44
+ "@lark-apaas/nestjs-common": "^0.1.1",
45
45
  "@lark-apaas/nestjs-datapaas": "^1.0.7",
46
- "@lark-apaas/nestjs-logger": "^1.0.4",
47
- "@lark-apaas/nestjs-observable": "^0.0.1",
46
+ "@lark-apaas/nestjs-logger": "^1.0.6-alpha.0",
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",
@@ -73,4 +72,4 @@
73
72
  "class-validator": "^0.14.2",
74
73
  "drizzle-orm": "0.44.6"
75
74
  }
76
- }
75
+ }