@lark-apaas/fullstack-nestjs-core 1.1.34-alpha.6 → 1.1.34-alpha.61

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,
@@ -34623,31 +34627,32 @@ var ViewContextMiddleware = class _ViewContextMiddleware {
34623
34627
  constructor(client) {
34624
34628
  this.client = client;
34625
34629
  }
34626
- async getAppInfo(appId) {
34630
+ async getAppPublished(appId) {
34627
34631
  if (!appId) {
34628
- this.logger.warn(`appId is empty, skip get app info`);
34632
+ this.logger.warn(`appId is empty, skip get app published`);
34629
34633
  return null;
34630
34634
  }
34631
34635
  try {
34632
34636
  const resp = await this.client.get(`/b/${appId}/get_published_v2`);
34633
34637
  if (resp.status !== 200) {
34634
- throw new Error(`Failed to get app info, status: ${resp.status}`);
34638
+ throw new Error(`Failed to get app published, status: ${resp.status}`);
34635
34639
  }
34636
34640
  const data = await resp.json();
34637
34641
  if (data.status_code !== "0") {
34638
- throw new Error(`Failed to get app info, status_code: ${data.status_code}`);
34642
+ throw new Error(`Failed to get app published, status_code: ${data.status_code}`);
34639
34643
  }
34640
- return data.data.app_info ?? {};
34644
+ return data.data ?? null;
34641
34645
  } catch (err) {
34642
- this.logger.error(err, "Failed to get app info");
34646
+ this.logger.error(err, "Failed to get app published");
34643
34647
  return null;
34644
34648
  }
34645
34649
  }
34646
34650
  async use(req, res, next) {
34647
34651
  const { userId, tenantId, appId, loginUrl, userType } = req.userContext;
34648
34652
  const csrfToken = req.csrfToken;
34649
- const appInfo = await this.getAppInfo(appId);
34650
34653
  const environment = mapToWindowEnvironment(process.env.FORCE_FRAMEWORK_ENVIRONMENT);
34654
+ const appPublishedData = await this.getAppPublished(appId);
34655
+ const appInfo = appPublishedData?.app_info ?? null;
34651
34656
  req.__platform_data__ = {
34652
34657
  csrfToken: csrfToken ?? "",
34653
34658
  userId: userId ?? "",
@@ -34658,7 +34663,9 @@ var ViewContextMiddleware = class _ViewContextMiddleware {
34658
34663
  loginUrl: loginUrl ?? "",
34659
34664
  userType: userType ?? "",
34660
34665
  tenantId,
34661
- environment
34666
+ environment,
34667
+ showBadge: appInfo?.show_badge !== false,
34668
+ appPublished: appPublishedData ?? null
34662
34669
  };
34663
34670
  res.locals = {
34664
34671
  ...res.locals ?? {},
@@ -34816,6 +34823,8 @@ var RequestContextMiddleware = class {
34816
34823
  const path2 = req.originalUrl ?? req.url;
34817
34824
  const userContext = req.userContext ?? {};
34818
34825
  const ttEnv = req.headers["x-tt-env"];
34826
+ const rawPageRoute = req.get("X-Page-Route");
34827
+ const pageRoute = (0, import_nestjs_common2.stripBasePath)(rawPageRoute, process.env.CLIENT_BASE_PATH) ?? void 0;
34819
34828
  const refererPath = req.headers["rpc-persist-apaas-observability-referer-path"];
34820
34829
  const observabilityApi = req.headers["rpc-persist-apaas-observability-api"];
34821
34830
  this.requestContext.run({
@@ -34826,6 +34835,7 @@ var RequestContextMiddleware = class {
34826
34835
  appId: userContext.appId,
34827
34836
  isSystemAccount: userContext.isSystemAccount,
34828
34837
  ttEnv,
34838
+ pageRoute,
34829
34839
  refererPath,
34830
34840
  observabilityApi
34831
34841
  }, () => next());
@@ -36344,13 +36354,16 @@ var PlatformModule = class _PlatformModule {
36344
36354
  };
36345
36355
  return {
36346
36356
  connectionString: configService.get("app.databaseUrl") ?? "",
36347
- logger: drizzleLogger
36357
+ logger: drizzleLogger,
36358
+ connectionTokenFilePath: "/var/run/secrets/zti/credential"
36348
36359
  };
36349
36360
  }, "useFactory")
36350
36361
  })
36351
36362
  ],
36352
36363
  import_nestjs_authnpaas.AuthNPaasModule.forRoot(),
36353
- import_nestjs_authzpaas.AuthZPaasModule.forRoot(),
36364
+ import_nestjs_authzpaas.AuthZPaasModule.forRoot({
36365
+ ...options.authz || {}
36366
+ }),
36354
36367
  import_nestjs_trigger.AutomationModule.forRoot(),
36355
36368
  import_nestjs_capability.CapabilityModule.forRoot({
36356
36369
  capabilitiesDir: options.capabilitiesDir,
@@ -36541,7 +36554,10 @@ var import_nestjs_common8 = require("@lark-apaas/nestjs-common");
36541
36554
  var import_nestjs_authzpaas2 = require("@lark-apaas/nestjs-authzpaas");
36542
36555
  // Annotate the CommonJS export names for ESM import in node:
36543
36556
  0 && (module.exports = {
36557
+ AuthZPaasModule,
36558
+ AuthorizationSDK,
36544
36559
  AutoTrace,
36560
+ Can,
36545
36561
  CanRole,
36546
36562
  CsrfMiddleware,
36547
36563
  CsrfTokenMiddleware,
@@ -36550,6 +36566,7 @@ var import_nestjs_authzpaas2 = require("@lark-apaas/nestjs-authzpaas");
36550
36566
  FileService,
36551
36567
  HtmlHotUpdateModule,
36552
36568
  HtmlHotUpdateService,
36569
+ PERMISSION_RESOLVER_TOKEN,
36553
36570
  PlatformHttpClientService,
36554
36571
  PlatformModule,
36555
36572
  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 {
@@ -195,7 +201,7 @@ declare class ViewContextMiddleware implements NestMiddleware {
195
201
  private readonly client;
196
202
  private readonly logger;
197
203
  constructor(client: PlatformHttpClient);
198
- private getAppInfo;
204
+ private getAppPublished;
199
205
  use(req: Request, res: Response, next: NextFunction): Promise<void>;
200
206
  }
201
207
 
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 {
@@ -195,7 +201,7 @@ declare class ViewContextMiddleware implements NestMiddleware {
195
201
  private readonly client;
196
202
  private readonly logger;
197
203
  constructor(client: PlatformHttpClient);
198
- private getAppInfo;
204
+ private getAppPublished;
199
205
  use(req: Request, res: Response, next: NextFunction): Promise<void>;
200
206
  }
201
207
 
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;
@@ -34600,31 +34600,32 @@ var ViewContextMiddleware = class _ViewContextMiddleware {
34600
34600
  constructor(client) {
34601
34601
  this.client = client;
34602
34602
  }
34603
- async getAppInfo(appId) {
34603
+ async getAppPublished(appId) {
34604
34604
  if (!appId) {
34605
- this.logger.warn(`appId is empty, skip get app info`);
34605
+ this.logger.warn(`appId is empty, skip get app published`);
34606
34606
  return null;
34607
34607
  }
34608
34608
  try {
34609
34609
  const resp = await this.client.get(`/b/${appId}/get_published_v2`);
34610
34610
  if (resp.status !== 200) {
34611
- throw new Error(`Failed to get app info, status: ${resp.status}`);
34611
+ throw new Error(`Failed to get app published, status: ${resp.status}`);
34612
34612
  }
34613
34613
  const data = await resp.json();
34614
34614
  if (data.status_code !== "0") {
34615
- throw new Error(`Failed to get app info, status_code: ${data.status_code}`);
34615
+ throw new Error(`Failed to get app published, status_code: ${data.status_code}`);
34616
34616
  }
34617
- return data.data.app_info ?? {};
34617
+ return data.data ?? null;
34618
34618
  } catch (err) {
34619
- this.logger.error(err, "Failed to get app info");
34619
+ this.logger.error(err, "Failed to get app published");
34620
34620
  return null;
34621
34621
  }
34622
34622
  }
34623
34623
  async use(req, res, next) {
34624
34624
  const { userId, tenantId, appId, loginUrl, userType } = req.userContext;
34625
34625
  const csrfToken = req.csrfToken;
34626
- const appInfo = await this.getAppInfo(appId);
34627
34626
  const environment = mapToWindowEnvironment(process.env.FORCE_FRAMEWORK_ENVIRONMENT);
34627
+ const appPublishedData = await this.getAppPublished(appId);
34628
+ const appInfo = appPublishedData?.app_info ?? null;
34628
34629
  req.__platform_data__ = {
34629
34630
  csrfToken: csrfToken ?? "",
34630
34631
  userId: userId ?? "",
@@ -34635,7 +34636,9 @@ var ViewContextMiddleware = class _ViewContextMiddleware {
34635
34636
  loginUrl: loginUrl ?? "",
34636
34637
  userType: userType ?? "",
34637
34638
  tenantId,
34638
- environment
34639
+ environment,
34640
+ showBadge: appInfo?.show_badge !== false,
34641
+ appPublished: appPublishedData ?? null
34639
34642
  };
34640
34643
  res.locals = {
34641
34644
  ...res.locals ?? {},
@@ -34769,7 +34772,7 @@ __name(apiResponseInterceptor, "apiResponseInterceptor");
34769
34772
 
34770
34773
  // src/middlewares/request-context/index.ts
34771
34774
  import { Injectable as Injectable5 } from "@nestjs/common";
34772
- import { RequestContextService } from "@lark-apaas/nestjs-common";
34775
+ import { RequestContextService, stripBasePath } from "@lark-apaas/nestjs-common";
34773
34776
  function _ts_decorate5(decorators, target, key, desc) {
34774
34777
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
34775
34778
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -34793,6 +34796,8 @@ var RequestContextMiddleware = class {
34793
34796
  const path2 = req.originalUrl ?? req.url;
34794
34797
  const userContext = req.userContext ?? {};
34795
34798
  const ttEnv = req.headers["x-tt-env"];
34799
+ const rawPageRoute = req.get("X-Page-Route");
34800
+ const pageRoute = stripBasePath(rawPageRoute, process.env.CLIENT_BASE_PATH) ?? void 0;
34796
34801
  const refererPath = req.headers["rpc-persist-apaas-observability-referer-path"];
34797
34802
  const observabilityApi = req.headers["rpc-persist-apaas-observability-api"];
34798
34803
  this.requestContext.run({
@@ -34803,6 +34808,7 @@ var RequestContextMiddleware = class {
34803
34808
  appId: userContext.appId,
34804
34809
  isSystemAccount: userContext.isSystemAccount,
34805
34810
  ttEnv,
34811
+ pageRoute,
34806
34812
  refererPath,
34807
34813
  observabilityApi
34808
34814
  }, () => next());
@@ -36321,13 +36327,16 @@ var PlatformModule = class _PlatformModule {
36321
36327
  };
36322
36328
  return {
36323
36329
  connectionString: configService.get("app.databaseUrl") ?? "",
36324
- logger: drizzleLogger
36330
+ logger: drizzleLogger,
36331
+ connectionTokenFilePath: "/var/run/secrets/zti/credential"
36325
36332
  };
36326
36333
  }, "useFactory")
36327
36334
  })
36328
36335
  ],
36329
36336
  AuthNPaasModule.forRoot(),
36330
- AuthZPaasModule.forRoot(),
36337
+ AuthZPaasModule.forRoot({
36338
+ ...options.authz || {}
36339
+ }),
36331
36340
  AutomationModule.forRoot(),
36332
36341
  CapabilityModule.forRoot({
36333
36342
  capabilitiesDir: options.capabilitiesDir,
@@ -36515,9 +36524,12 @@ export * from "@lark-apaas/nestjs-observable";
36515
36524
  export * from "@lark-apaas/nestjs-trigger";
36516
36525
  export * from "@lark-apaas/file-service";
36517
36526
  import { AutoTrace } from "@lark-apaas/nestjs-common";
36518
- import { CanRole } from "@lark-apaas/nestjs-authzpaas";
36527
+ import { AuthZPaasModule as AuthZPaasModule2, CanRole, Can, AuthorizationSDK, PERMISSION_RESOLVER_TOKEN } from "@lark-apaas/nestjs-authzpaas";
36519
36528
  export {
36529
+ AuthZPaasModule2 as AuthZPaasModule,
36530
+ AuthorizationSDK,
36520
36531
  AutoTrace,
36532
+ Can,
36521
36533
  CanRole,
36522
36534
  CsrfMiddleware,
36523
36535
  CsrfTokenMiddleware,
@@ -36526,6 +36538,7 @@ export {
36526
36538
  FileService,
36527
36539
  HtmlHotUpdateModule,
36528
36540
  HtmlHotUpdateService,
36541
+ PERMISSION_RESOLVER_TOKEN,
36529
36542
  PlatformHttpClientService,
36530
36543
  PlatformModule,
36531
36544
  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.6",
3
+ "version": "1.1.34-alpha.61",
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.29",
46
- "@lark-apaas/nestjs-capability": "0.1.5-alpha.46",
47
- "@lark-apaas/nestjs-common": "0.1.4-alpha.29",
48
- "@lark-apaas/nestjs-datapaas": "1.0.10-alpha.36",
49
- "@lark-apaas/nestjs-logger": "1.0.10-alpha.49",
50
- "@lark-apaas/nestjs-observable": "0.0.5-alpha.35",
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.19",
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.6",
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"