@lark-apaas/fullstack-nestjs-core 1.1.34-alpha.7 → 1.1.34-alpha.71

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
@@ -20771,9 +20771,9 @@ var require_safe_buffer = __commonJS({
20771
20771
  }
20772
20772
  });
20773
20773
 
20774
- // ../../../node_modules/express/node_modules/content-disposition/index.js
20774
+ // ../../../node_modules/content-disposition/index.js
20775
20775
  var require_content_disposition = __commonJS({
20776
- "../../../node_modules/express/node_modules/content-disposition/index.js"(exports2, module2) {
20776
+ "../../../node_modules/content-disposition/index.js"(exports2, module2) {
20777
20777
  "use strict";
20778
20778
  module2.exports = contentDisposition;
20779
20779
  module2.exports.parse = parse;
@@ -34404,7 +34404,10 @@ var require_express2 = __commonJS({
34404
34404
  // src/index.ts
34405
34405
  var index_exports = {};
34406
34406
  __export(index_exports, {
34407
+ AuthZPaasModule: () => import_nestjs_authzpaas2.AuthZPaasModule,
34408
+ AuthorizationSDK: () => import_nestjs_authzpaas2.AuthorizationSDK,
34407
34409
  AutoTrace: () => import_nestjs_common8.AutoTrace,
34410
+ Can: () => import_nestjs_authzpaas2.Can,
34408
34411
  CanRole: () => import_nestjs_authzpaas2.CanRole,
34409
34412
  CsrfMiddleware: () => CsrfMiddleware,
34410
34413
  CsrfTokenMiddleware: () => CsrfTokenMiddleware,
@@ -34413,6 +34416,7 @@ __export(index_exports, {
34413
34416
  FileService: () => FileService,
34414
34417
  HtmlHotUpdateModule: () => HtmlHotUpdateModule,
34415
34418
  HtmlHotUpdateService: () => HtmlHotUpdateService,
34419
+ PERMISSION_RESOLVER_TOKEN: () => import_nestjs_authzpaas2.PERMISSION_RESOLVER_TOKEN,
34416
34420
  PlatformHttpClientService: () => PlatformHttpClientService,
34417
34421
  PlatformModule: () => PlatformModule,
34418
34422
  StaticModule: () => StaticModule,
@@ -34769,18 +34773,24 @@ function createApiNotFoundResponse(req) {
34769
34773
  };
34770
34774
  }
34771
34775
  __name(createApiNotFoundResponse, "createApiNotFoundResponse");
34772
- function getApiPathPrefix() {
34776
+ function getApiPathPrefixes() {
34773
34777
  const globalPrefix = process.env.CLIENT_BASE_PATH ?? "";
34774
34778
  if (!globalPrefix) {
34775
- return "/api/";
34779
+ return [
34780
+ "/api/",
34781
+ "/openapi/"
34782
+ ];
34776
34783
  }
34777
34784
  const normalizedPrefix = globalPrefix.replace(/\/+$/, "");
34778
- return `${normalizedPrefix}/api/`;
34785
+ return [
34786
+ `${normalizedPrefix}/api/`,
34787
+ `${normalizedPrefix}/openapi/`
34788
+ ];
34779
34789
  }
34780
- __name(getApiPathPrefix, "getApiPathPrefix");
34790
+ __name(getApiPathPrefixes, "getApiPathPrefixes");
34781
34791
  function apiResponseInterceptor(req, res, next) {
34782
- const apiPrefix = getApiPathPrefix();
34783
- if (!req.baseUrl.startsWith(apiPrefix)) {
34792
+ const apiPrefixes = getApiPathPrefixes();
34793
+ if (!apiPrefixes.some((prefix) => req.baseUrl.startsWith(prefix))) {
34784
34794
  return next();
34785
34795
  }
34786
34796
  res.render = function() {
@@ -34816,6 +34826,8 @@ var RequestContextMiddleware = class {
34816
34826
  const path2 = req.originalUrl ?? req.url;
34817
34827
  const userContext = req.userContext ?? {};
34818
34828
  const ttEnv = req.headers["x-tt-env"];
34829
+ const rawPageRoute = req.get("X-Page-Route");
34830
+ const pageRoute = (0, import_nestjs_common2.stripBasePath)(rawPageRoute, process.env.CLIENT_BASE_PATH) ?? void 0;
34819
34831
  const refererPath = req.headers["rpc-persist-apaas-observability-referer-path"];
34820
34832
  const observabilityApi = req.headers["rpc-persist-apaas-observability-api"];
34821
34833
  this.requestContext.run({
@@ -34826,6 +34838,7 @@ var RequestContextMiddleware = class {
34826
34838
  appId: userContext.appId,
34827
34839
  isSystemAccount: userContext.isSystemAccount,
34828
34840
  ttEnv,
34841
+ pageRoute,
34829
34842
  refererPath,
34830
34843
  observabilityApi
34831
34844
  }, () => next());
@@ -36344,13 +36357,16 @@ var PlatformModule = class _PlatformModule {
36344
36357
  };
36345
36358
  return {
36346
36359
  connectionString: configService.get("app.databaseUrl") ?? "",
36347
- logger: drizzleLogger
36360
+ logger: drizzleLogger,
36361
+ connectionTokenFilePath: "/var/run/secrets/zti/credential"
36348
36362
  };
36349
36363
  }, "useFactory")
36350
36364
  })
36351
36365
  ],
36352
36366
  import_nestjs_authnpaas.AuthNPaasModule.forRoot(),
36353
- import_nestjs_authzpaas.AuthZPaasModule.forRoot(),
36367
+ import_nestjs_authzpaas.AuthZPaasModule.forRoot({
36368
+ ...options.authz || {}
36369
+ }),
36354
36370
  import_nestjs_trigger.AutomationModule.forRoot(),
36355
36371
  import_nestjs_capability.CapabilityModule.forRoot({
36356
36372
  capabilitiesDir: options.capabilitiesDir,
@@ -36427,16 +36443,18 @@ var PlatformModule = class _PlatformModule {
36427
36443
  */
36428
36444
  configure(consumer) {
36429
36445
  const options = _PlatformModule.moduleOptions;
36430
- consumer.apply(apiResponseInterceptor).forRoutes("/api/*");
36446
+ consumer.apply(apiResponseInterceptor).forRoutes("/api/*", "/openapi/*");
36431
36447
  if (process.env.NODE_ENV === "development") {
36432
36448
  consumer.apply(FrameworkDebugMiddleware).forRoutes("/api/__framework__/debug");
36433
36449
  }
36434
36450
  consumer.apply(UserContextMiddleware, RequestContextMiddleware, import_nestjs_logger2.LoggerContextMiddleware, import_nestjs_observable.ObservableTraceMiddleware, ...DISABLE_DATAPASS ? [] : [
36435
36451
  import_nestjs_datapaas.SqlExecutionContextMiddleware
36436
36452
  ]).forRoutes("/*");
36437
- consumer.apply(CsrfTokenMiddleware, ViewContextMiddleware, HtmlHotUpdateViewMiddleware).exclude("/api/(.*)", "/static/(.*)").forRoutes("*");
36453
+ consumer.apply(CsrfTokenMiddleware, ViewContextMiddleware, HtmlHotUpdateViewMiddleware).exclude("/api/(.*)", "/openapi/(.*)", "/static/(.*)").forRoutes("*");
36438
36454
  if (options.enableCsrf !== false) {
36439
- const csrfRoutes = options.csrfRoutes || "/api/*";
36455
+ const csrfRoutes = options.csrfRoutes || [
36456
+ "/api/*"
36457
+ ];
36440
36458
  if (Array.isArray(csrfRoutes)) {
36441
36459
  csrfRoutes.forEach((route) => {
36442
36460
  consumer.apply(CsrfMiddleware).forRoutes(route);
@@ -36541,7 +36559,10 @@ var import_nestjs_common8 = require("@lark-apaas/nestjs-common");
36541
36559
  var import_nestjs_authzpaas2 = require("@lark-apaas/nestjs-authzpaas");
36542
36560
  // Annotate the CommonJS export names for ESM import in node:
36543
36561
  0 && (module.exports = {
36562
+ AuthZPaasModule,
36563
+ AuthorizationSDK,
36544
36564
  AutoTrace,
36565
+ Can,
36545
36566
  CanRole,
36546
36567
  CsrfMiddleware,
36547
36568
  CsrfTokenMiddleware,
@@ -36550,6 +36571,7 @@ var import_nestjs_authzpaas2 = require("@lark-apaas/nestjs-authzpaas");
36550
36571
  FileService,
36551
36572
  HtmlHotUpdateModule,
36552
36573
  HtmlHotUpdateService,
36574
+ PERMISSION_RESOLVER_TOKEN,
36553
36575
  PlatformHttpClientService,
36554
36576
  PlatformModule,
36555
36577
  StaticModule,
package/dist/index.d.cts CHANGED
@@ -1,5 +1,7 @@
1
1
  import { NestModule, DynamicModule, MiddlewareConsumer, OnModuleInit, NestMiddleware } from '@nestjs/common';
2
2
  import { HttpClientConfig, PlatformPluginOptions, HttpClient } from '@lark-apaas/http-client';
3
+ import { AuthZPaasModuleOptions } from '@lark-apaas/nestjs-authzpaas';
4
+ export { AddMembersParams, AuthZPaasModule, AuthorizationSDK, Can, CanRole, ChatSimpleDTO, CommonParam, CreateRoleParams, CreateRoleResponse, DepartmentDTO, DepartmentEntity, DepartmentSimpleDTO, FilterParams, ForceRoleDTO, I18nText, IPermissionResolver, ListMembersParams, ListMembersResponse, ListRolesParams, MemberMutationData, MemberType, PERMISSION_RESOLVER_TOKEN, PermissionPoint, PermissionRequirement, PresetGroupDTO, RemoveMembersParams, RoleMemberDTO, SearchChatEntity, SearchParams, SearchResponse, SearchResult, SearchUserEntity, UpdateRoleParams, UserSimpleDTO } from '@lark-apaas/nestjs-authzpaas';
3
5
  import { NestExpressApplication } from '@nestjs/platform-express';
4
6
  import { PlatformHttpClient, RequestContextService, ObservableService } from '@lark-apaas/nestjs-common';
5
7
  export { AutoTrace } from '@lark-apaas/nestjs-common';
@@ -13,7 +15,6 @@ export * from '@lark-apaas/nestjs-capability';
13
15
  export * from '@lark-apaas/nestjs-datapaas';
14
16
  export * from '@lark-apaas/nestjs-observable';
15
17
  export * from '@lark-apaas/nestjs-trigger';
16
- export { CanRole } from '@lark-apaas/nestjs-authzpaas';
17
18
 
18
19
  declare global {
19
20
  namespace Express {
@@ -72,6 +73,11 @@ interface PlatformModuleOptions {
72
73
  * 默认: server/capabilities
73
74
  */
74
75
  capabilitiesDir?: string;
76
+ /**
77
+ * AuthZPaas 模块配置
78
+ * 可传入 permissionResolver 等选项,透传给 AuthZPaasModule.forRoot()
79
+ */
80
+ authz?: AuthZPaasModuleOptions;
75
81
  }
76
82
 
77
83
  declare class PlatformModule implements NestModule {
package/dist/index.d.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  import { NestModule, DynamicModule, MiddlewareConsumer, OnModuleInit, NestMiddleware } from '@nestjs/common';
2
2
  import { HttpClientConfig, PlatformPluginOptions, HttpClient } from '@lark-apaas/http-client';
3
+ import { AuthZPaasModuleOptions } from '@lark-apaas/nestjs-authzpaas';
4
+ export { AddMembersParams, AuthZPaasModule, AuthorizationSDK, Can, CanRole, ChatSimpleDTO, CommonParam, CreateRoleParams, CreateRoleResponse, DepartmentDTO, DepartmentEntity, DepartmentSimpleDTO, FilterParams, ForceRoleDTO, I18nText, IPermissionResolver, ListMembersParams, ListMembersResponse, ListRolesParams, MemberMutationData, MemberType, PERMISSION_RESOLVER_TOKEN, PermissionPoint, PermissionRequirement, PresetGroupDTO, RemoveMembersParams, RoleMemberDTO, SearchChatEntity, SearchParams, SearchResponse, SearchResult, SearchUserEntity, UpdateRoleParams, UserSimpleDTO } from '@lark-apaas/nestjs-authzpaas';
3
5
  import { NestExpressApplication } from '@nestjs/platform-express';
4
6
  import { PlatformHttpClient, RequestContextService, ObservableService } from '@lark-apaas/nestjs-common';
5
7
  export { AutoTrace } from '@lark-apaas/nestjs-common';
@@ -13,7 +15,6 @@ export * from '@lark-apaas/nestjs-capability';
13
15
  export * from '@lark-apaas/nestjs-datapaas';
14
16
  export * from '@lark-apaas/nestjs-observable';
15
17
  export * from '@lark-apaas/nestjs-trigger';
16
- export { CanRole } from '@lark-apaas/nestjs-authzpaas';
17
18
 
18
19
  declare global {
19
20
  namespace Express {
@@ -72,6 +73,11 @@ interface PlatformModuleOptions {
72
73
  * 默认: server/capabilities
73
74
  */
74
75
  capabilitiesDir?: string;
76
+ /**
77
+ * AuthZPaas 模块配置
78
+ * 可传入 permissionResolver 等选项,透传给 AuthZPaasModule.forRoot()
79
+ */
80
+ authz?: AuthZPaasModuleOptions;
75
81
  }
76
82
 
77
83
  declare class PlatformModule implements NestModule {
package/dist/index.js CHANGED
@@ -20770,9 +20770,9 @@ var require_safe_buffer = __commonJS({
20770
20770
  }
20771
20771
  });
20772
20772
 
20773
- // ../../../node_modules/express/node_modules/content-disposition/index.js
20773
+ // ../../../node_modules/content-disposition/index.js
20774
20774
  var require_content_disposition = __commonJS({
20775
- "../../../node_modules/express/node_modules/content-disposition/index.js"(exports, module) {
20775
+ "../../../node_modules/content-disposition/index.js"(exports, module) {
20776
20776
  "use strict";
20777
20777
  module.exports = contentDisposition;
20778
20778
  module.exports.parse = parse;
@@ -34746,18 +34746,24 @@ function createApiNotFoundResponse(req) {
34746
34746
  };
34747
34747
  }
34748
34748
  __name(createApiNotFoundResponse, "createApiNotFoundResponse");
34749
- function getApiPathPrefix() {
34749
+ function getApiPathPrefixes() {
34750
34750
  const globalPrefix = process.env.CLIENT_BASE_PATH ?? "";
34751
34751
  if (!globalPrefix) {
34752
- return "/api/";
34752
+ return [
34753
+ "/api/",
34754
+ "/openapi/"
34755
+ ];
34753
34756
  }
34754
34757
  const normalizedPrefix = globalPrefix.replace(/\/+$/, "");
34755
- return `${normalizedPrefix}/api/`;
34758
+ return [
34759
+ `${normalizedPrefix}/api/`,
34760
+ `${normalizedPrefix}/openapi/`
34761
+ ];
34756
34762
  }
34757
- __name(getApiPathPrefix, "getApiPathPrefix");
34763
+ __name(getApiPathPrefixes, "getApiPathPrefixes");
34758
34764
  function apiResponseInterceptor(req, res, next) {
34759
- const apiPrefix = getApiPathPrefix();
34760
- if (!req.baseUrl.startsWith(apiPrefix)) {
34765
+ const apiPrefixes = getApiPathPrefixes();
34766
+ if (!apiPrefixes.some((prefix) => req.baseUrl.startsWith(prefix))) {
34761
34767
  return next();
34762
34768
  }
34763
34769
  res.render = function() {
@@ -34769,7 +34775,7 @@ __name(apiResponseInterceptor, "apiResponseInterceptor");
34769
34775
 
34770
34776
  // src/middlewares/request-context/index.ts
34771
34777
  import { Injectable as Injectable5 } from "@nestjs/common";
34772
- import { RequestContextService } from "@lark-apaas/nestjs-common";
34778
+ import { RequestContextService, stripBasePath } from "@lark-apaas/nestjs-common";
34773
34779
  function _ts_decorate5(decorators, target, key, desc) {
34774
34780
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
34775
34781
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -34793,6 +34799,8 @@ var RequestContextMiddleware = class {
34793
34799
  const path2 = req.originalUrl ?? req.url;
34794
34800
  const userContext = req.userContext ?? {};
34795
34801
  const ttEnv = req.headers["x-tt-env"];
34802
+ const rawPageRoute = req.get("X-Page-Route");
34803
+ const pageRoute = stripBasePath(rawPageRoute, process.env.CLIENT_BASE_PATH) ?? void 0;
34796
34804
  const refererPath = req.headers["rpc-persist-apaas-observability-referer-path"];
34797
34805
  const observabilityApi = req.headers["rpc-persist-apaas-observability-api"];
34798
34806
  this.requestContext.run({
@@ -34803,6 +34811,7 @@ var RequestContextMiddleware = class {
34803
34811
  appId: userContext.appId,
34804
34812
  isSystemAccount: userContext.isSystemAccount,
34805
34813
  ttEnv,
34814
+ pageRoute,
34806
34815
  refererPath,
34807
34816
  observabilityApi
34808
34817
  }, () => next());
@@ -36321,13 +36330,16 @@ var PlatformModule = class _PlatformModule {
36321
36330
  };
36322
36331
  return {
36323
36332
  connectionString: configService.get("app.databaseUrl") ?? "",
36324
- logger: drizzleLogger
36333
+ logger: drizzleLogger,
36334
+ connectionTokenFilePath: "/var/run/secrets/zti/credential"
36325
36335
  };
36326
36336
  }, "useFactory")
36327
36337
  })
36328
36338
  ],
36329
36339
  AuthNPaasModule.forRoot(),
36330
- AuthZPaasModule.forRoot(),
36340
+ AuthZPaasModule.forRoot({
36341
+ ...options.authz || {}
36342
+ }),
36331
36343
  AutomationModule.forRoot(),
36332
36344
  CapabilityModule.forRoot({
36333
36345
  capabilitiesDir: options.capabilitiesDir,
@@ -36404,16 +36416,18 @@ var PlatformModule = class _PlatformModule {
36404
36416
  */
36405
36417
  configure(consumer) {
36406
36418
  const options = _PlatformModule.moduleOptions;
36407
- consumer.apply(apiResponseInterceptor).forRoutes("/api/*");
36419
+ consumer.apply(apiResponseInterceptor).forRoutes("/api/*", "/openapi/*");
36408
36420
  if (process.env.NODE_ENV === "development") {
36409
36421
  consumer.apply(FrameworkDebugMiddleware).forRoutes("/api/__framework__/debug");
36410
36422
  }
36411
36423
  consumer.apply(UserContextMiddleware, RequestContextMiddleware, LoggerContextMiddleware, ObservableTraceMiddleware, ...DISABLE_DATAPASS ? [] : [
36412
36424
  SqlExecutionContextMiddleware
36413
36425
  ]).forRoutes("/*");
36414
- consumer.apply(CsrfTokenMiddleware, ViewContextMiddleware, HtmlHotUpdateViewMiddleware).exclude("/api/(.*)", "/static/(.*)").forRoutes("*");
36426
+ consumer.apply(CsrfTokenMiddleware, ViewContextMiddleware, HtmlHotUpdateViewMiddleware).exclude("/api/(.*)", "/openapi/(.*)", "/static/(.*)").forRoutes("*");
36415
36427
  if (options.enableCsrf !== false) {
36416
- const csrfRoutes = options.csrfRoutes || "/api/*";
36428
+ const csrfRoutes = options.csrfRoutes || [
36429
+ "/api/*"
36430
+ ];
36417
36431
  if (Array.isArray(csrfRoutes)) {
36418
36432
  csrfRoutes.forEach((route) => {
36419
36433
  consumer.apply(CsrfMiddleware).forRoutes(route);
@@ -36515,9 +36529,12 @@ export * from "@lark-apaas/nestjs-observable";
36515
36529
  export * from "@lark-apaas/nestjs-trigger";
36516
36530
  export * from "@lark-apaas/file-service";
36517
36531
  import { AutoTrace } from "@lark-apaas/nestjs-common";
36518
- import { CanRole } from "@lark-apaas/nestjs-authzpaas";
36532
+ import { AuthZPaasModule as AuthZPaasModule2, CanRole, Can, AuthorizationSDK, PERMISSION_RESOLVER_TOKEN } from "@lark-apaas/nestjs-authzpaas";
36519
36533
  export {
36534
+ AuthZPaasModule2 as AuthZPaasModule,
36535
+ AuthorizationSDK,
36520
36536
  AutoTrace,
36537
+ Can,
36521
36538
  CanRole,
36522
36539
  CsrfMiddleware,
36523
36540
  CsrfTokenMiddleware,
@@ -36526,6 +36543,7 @@ export {
36526
36543
  FileService,
36527
36544
  HtmlHotUpdateModule,
36528
36545
  HtmlHotUpdateService,
36546
+ PERMISSION_RESOLVER_TOKEN,
36529
36547
  PlatformHttpClientService,
36530
36548
  PlatformModule,
36531
36549
  StaticModule,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lark-apaas/fullstack-nestjs-core",
3
- "version": "1.1.34-alpha.7",
3
+ "version": "1.1.34-alpha.71",
4
4
  "description": "FullStack Nestjs Core",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -41,15 +41,15 @@
41
41
  "dependencies": {
42
42
  "@lark-apaas/file-service": "^0.1.2",
43
43
  "@lark-apaas/http-client": "^0.1.2",
44
- "@lark-apaas/nestjs-authnpaas": "^1.0.2",
45
- "@lark-apaas/nestjs-authzpaas": "0.1.2-alpha.30",
46
- "@lark-apaas/nestjs-capability": "0.1.5-alpha.47",
47
- "@lark-apaas/nestjs-common": "0.1.4-alpha.30",
48
- "@lark-apaas/nestjs-datapaas": "1.0.10-alpha.37",
49
- "@lark-apaas/nestjs-logger": "1.0.10-alpha.50",
50
- "@lark-apaas/nestjs-observable": "0.0.5-alpha.36",
44
+ "@lark-apaas/nestjs-authnpaas": "^1.0.3",
45
+ "@lark-apaas/nestjs-authzpaas": "^0.1.8",
46
+ "@lark-apaas/nestjs-capability": "^0.1.11",
47
+ "@lark-apaas/nestjs-common": "^0.1.8",
48
+ "@lark-apaas/nestjs-datapaas": "^1.0.18",
49
+ "@lark-apaas/nestjs-logger": "^1.0.16",
50
+ "@lark-apaas/nestjs-observable": "^0.0.11",
51
51
  "@lark-apaas/nestjs-openapi-devtools": "^1.0.10",
52
- "@lark-apaas/nestjs-trigger": "0.0.2-alpha.7",
52
+ "@lark-apaas/nestjs-trigger": "^0.0.3",
53
53
  "@nestjs/axios": "^4.0.1",
54
54
  "axios": "^1.13.2",
55
55
  "cookie-parser": "^1.4.7"