@node-c/domain-iam 1.0.0-beta6 → 1.0.0-beta8

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.
Files changed (134) hide show
  1. package/dist/common/definitions/common.constants.d.ts +13 -9
  2. package/dist/common/definitions/common.constants.js +13 -10
  3. package/dist/common/definitions/common.constants.js.map +1 -1
  4. package/dist/services/authentication/iam.authentication.definitions.d.ts +11 -2
  5. package/dist/services/authentication/iam.authentication.definitions.js +1 -1
  6. package/dist/services/authentication/iam.authentication.service.d.ts +9 -4
  7. package/dist/services/authentication/iam.authentication.service.js +95 -4
  8. package/dist/services/authentication/iam.authentication.service.js.map +1 -1
  9. package/dist/services/authenticationConsumer/iam.authenticationConsumer.definitions.d.ts +15 -0
  10. package/dist/services/authenticationConsumer/iam.authenticationConsumer.definitions.js +3 -0
  11. package/dist/services/authenticationConsumer/iam.authenticationConsumer.definitions.js.map +1 -0
  12. package/dist/services/authenticationConsumer/iam.authenticationConsumer.service.d.ts +12 -0
  13. package/dist/services/authenticationConsumer/iam.authenticationConsumer.service.js +135 -0
  14. package/dist/services/authenticationConsumer/iam.authenticationConsumer.service.js.map +1 -0
  15. package/dist/services/authenticationConsumer/index.d.ts +2 -0
  16. package/dist/services/authenticationConsumer/index.js +19 -0
  17. package/dist/services/authenticationConsumer/index.js.map +1 -0
  18. package/dist/services/{userManager/iam.userManager.definitions.d.ts → authenticationManager/iam.authenticationManager.definitions.d.ts} +11 -15
  19. package/dist/services/authenticationManager/iam.authenticationManager.definitions.js +8 -0
  20. package/dist/services/authenticationManager/iam.authenticationManager.definitions.js.map +1 -0
  21. package/dist/services/authenticationManager/iam.authenticationManager.service.d.ts +33 -0
  22. package/dist/services/{userManager/iam.userManager.service.js → authenticationManager/iam.authenticationManager.service.js} +140 -72
  23. package/dist/services/authenticationManager/iam.authenticationManager.service.js.map +1 -0
  24. package/dist/services/authenticationManager/index.d.ts +2 -0
  25. package/dist/services/authenticationManager/index.js +19 -0
  26. package/dist/services/authenticationManager/index.js.map +1 -0
  27. package/dist/services/authenticationOAuth2/iam.authenticationOAuth2.definitions.d.ts +5 -2
  28. package/dist/services/authenticationOAuth2/iam.authenticationOAuth2.service.d.ts +2 -14
  29. package/dist/services/authenticationOAuth2/iam.authenticationOAuth2.service.js +53 -95
  30. package/dist/services/authenticationOAuth2/iam.authenticationOAuth2.service.js.map +1 -1
  31. package/dist/services/authenticationOAuth2Consumer/iam.authenticationOAuth2Consumer.definitions.d.ts +19 -0
  32. package/dist/services/authenticationOAuth2Consumer/iam.authenticationOAuth2Consumer.definitions.js +3 -0
  33. package/dist/services/authenticationOAuth2Consumer/iam.authenticationOAuth2Consumer.definitions.js.map +1 -0
  34. package/dist/services/authenticationOAuth2Consumer/iam.authenticationOAuth2Consumer.service.d.ts +11 -0
  35. package/dist/services/authenticationOAuth2Consumer/iam.authenticationOAuth2Consumer.service.js +69 -0
  36. package/dist/services/authenticationOAuth2Consumer/iam.authenticationOAuth2Consumer.service.js.map +1 -0
  37. package/dist/services/authenticationOAuth2Consumer/index.d.ts +2 -0
  38. package/dist/services/authenticationOAuth2Consumer/index.js +19 -0
  39. package/dist/services/authenticationOAuth2Consumer/index.js.map +1 -0
  40. package/dist/services/authenticationPassthrough/iam.authenticationPassthrough.definitions.d.ts +14 -0
  41. package/dist/services/authenticationPassthrough/iam.authenticationPassthrough.definitions.js +3 -0
  42. package/dist/services/authenticationPassthrough/iam.authenticationPassthrough.definitions.js.map +1 -0
  43. package/dist/services/authenticationPassthrough/iam.authenticationPassthrough.service.d.ts +9 -0
  44. package/dist/services/authenticationPassthrough/iam.authenticationPassthrough.service.js +70 -0
  45. package/dist/services/authenticationPassthrough/iam.authenticationPassthrough.service.js.map +1 -0
  46. package/dist/services/authenticationPassthrough/index.d.ts +2 -0
  47. package/dist/services/authenticationPassthrough/index.js +19 -0
  48. package/dist/services/authenticationPassthrough/index.js.map +1 -0
  49. package/dist/services/authenticationPassthroughConsumer/iam.authenticationPassthroughConsumer.definitions.d.ts +18 -0
  50. package/dist/services/authenticationPassthroughConsumer/iam.authenticationPassthroughConsumer.definitions.js +3 -0
  51. package/dist/services/authenticationPassthroughConsumer/iam.authenticationPassthroughConsumer.definitions.js.map +1 -0
  52. package/dist/services/authenticationPassthroughConsumer/iam.authenticationPassthroughConsumer.service.d.ts +10 -0
  53. package/dist/services/authenticationPassthroughConsumer/iam.authenticationPassthroughConsumer.service.js +68 -0
  54. package/dist/services/authenticationPassthroughConsumer/iam.authenticationPassthroughConsumer.service.js.map +1 -0
  55. package/dist/services/authenticationPassthroughConsumer/index.d.ts +2 -0
  56. package/dist/services/authenticationPassthroughConsumer/index.js +19 -0
  57. package/dist/services/authenticationPassthroughConsumer/index.js.map +1 -0
  58. package/dist/services/authenticationUserLocal/iam.authenticationUserLocal.definitions.d.ts +2 -2
  59. package/dist/services/authenticationUserLocal/iam.authenticationUserLocal.service.d.ts +2 -6
  60. package/dist/services/authenticationUserLocal/iam.authenticationUserLocal.service.js +4 -8
  61. package/dist/services/authenticationUserLocal/iam.authenticationUserLocal.service.js.map +1 -1
  62. package/dist/services/authenticationUserLocalConsumer/iam.authenticationUserLocalConsumer.definitions.d.ts +8 -0
  63. package/dist/services/authenticationUserLocalConsumer/iam.authenticationUserLocalConsumer.definitions.js +3 -0
  64. package/dist/services/authenticationUserLocalConsumer/iam.authenticationUserLocalConsumer.definitions.js.map +1 -0
  65. package/dist/services/authenticationUserLocalConsumer/iam.authenticationUserLocalConsumer.service.d.ts +8 -0
  66. package/dist/services/authenticationUserLocalConsumer/iam.authenticationUserLocalConsumer.service.js +36 -0
  67. package/dist/services/authenticationUserLocalConsumer/iam.authenticationUserLocalConsumer.service.js.map +1 -0
  68. package/dist/services/authenticationUserLocalConsumer/index.d.ts +2 -0
  69. package/dist/services/authenticationUserLocalConsumer/index.js +19 -0
  70. package/dist/services/authenticationUserLocalConsumer/index.js.map +1 -0
  71. package/dist/services/authorization/iam.authorization.definitions.d.ts +24 -24
  72. package/dist/services/authorization/iam.authorization.definitions.js +7 -7
  73. package/dist/services/authorization/iam.authorization.definitions.js.map +1 -1
  74. package/dist/services/authorization/iam.authorization.service.d.ts +8 -11
  75. package/dist/services/authorization/iam.authorization.service.js +26 -30
  76. package/dist/services/authorization/iam.authorization.service.js.map +1 -1
  77. package/dist/services/index.d.ts +7 -1
  78. package/dist/services/index.js +7 -1
  79. package/dist/services/index.js.map +1 -1
  80. package/dist/services/tokenManager/iam.tokenManager.definitions.d.ts +4 -1
  81. package/dist/services/tokenManager/iam.tokenManager.definitions.js.map +1 -1
  82. package/dist/services/tokenManager/iam.tokenManager.service.d.ts +2 -2
  83. package/dist/services/tokenManager/iam.tokenManager.service.js +73 -35
  84. package/dist/services/tokenManager/iam.tokenManager.service.js.map +1 -1
  85. package/dist/services/users/index.d.ts +2 -0
  86. package/dist/services/{userManager → users}/index.js +2 -2
  87. package/dist/services/users/index.js.map +1 -0
  88. package/dist/services/users/users.definitions.d.ts +7 -0
  89. package/dist/services/users/users.definitions.js +3 -0
  90. package/dist/services/users/users.definitions.js.map +1 -0
  91. package/dist/services/users/users.service.d.ts +6 -0
  92. package/dist/services/users/users.service.js +39 -0
  93. package/dist/services/users/users.service.js.map +1 -0
  94. package/package.json +2 -2
  95. package/src/common/definitions/common.constants.ts +13 -16
  96. package/src/services/authentication/iam.authentication.definitions.ts +11 -4
  97. package/src/services/authentication/iam.authentication.service.ts +79 -15
  98. package/src/services/authenticationConsumer/iam.authenticationConsumer.definitions.ts +43 -0
  99. package/src/services/authenticationConsumer/iam.authenticationConsumer.service.ts +192 -0
  100. package/src/services/authenticationConsumer/index.ts +2 -0
  101. package/src/services/{userManager/iam.userManager.definitions.ts → authenticationManager/iam.authenticationManager.definitions.ts} +11 -19
  102. package/src/services/{userManager/iam.userManager.service.ts → authenticationManager/iam.authenticationManager.service.ts} +174 -111
  103. package/src/services/authenticationManager/index.ts +2 -0
  104. package/src/services/authenticationOAuth2/iam.authenticationOAuth2.definitions.ts +6 -3
  105. package/src/services/authenticationOAuth2/iam.authenticationOAuth2.service.ts +97 -85
  106. package/src/services/authenticationOAuth2Consumer/iam.authenticationOAuth2Consumer.definitions.ts +56 -0
  107. package/src/services/authenticationOAuth2Consumer/iam.authenticationOAuth2Consumer.service.ts +93 -0
  108. package/src/services/authenticationOAuth2Consumer/index.ts +2 -0
  109. package/src/services/authenticationPassthrough/iam.authenticationPassthrough.definitions.ts +32 -0
  110. package/src/services/authenticationPassthrough/iam.authenticationPassthrough.service.ts +100 -0
  111. package/src/services/authenticationPassthrough/index.ts +2 -0
  112. package/src/services/authenticationPassthroughConsumer/iam.authenticationPassthroughConsumer.definitions.ts +52 -0
  113. package/src/services/authenticationPassthroughConsumer/iam.authenticationPassthroughConsumer.service.ts +96 -0
  114. package/src/services/authenticationPassthroughConsumer/index.ts +2 -0
  115. package/src/services/authenticationUserLocal/iam.authenticationUserLocal.definitions.ts +3 -3
  116. package/src/services/authenticationUserLocal/iam.authenticationUserLocal.service.ts +17 -12
  117. package/src/services/authenticationUserLocalConsumer/iam.authenticationUserLocalConsumer.definitions.ts +29 -0
  118. package/src/services/authenticationUserLocalConsumer/iam.authenticationUserLocalConsumer.service.ts +40 -0
  119. package/src/services/authenticationUserLocalConsumer/index.ts +2 -0
  120. package/src/services/authorization/iam.authorization.definitions.ts +26 -27
  121. package/src/services/authorization/iam.authorization.service.ts +40 -65
  122. package/src/services/index.ts +7 -1
  123. package/src/services/tokenManager/iam.tokenManager.definitions.ts +4 -1
  124. package/src/services/tokenManager/iam.tokenManager.service.ts +98 -45
  125. package/src/services/users/index.ts +2 -0
  126. package/src/services/users/users.definitions.ts +11 -0
  127. package/src/services/users/users.service.ts +46 -0
  128. package/dist/services/userManager/iam.userManager.definitions.js +0 -8
  129. package/dist/services/userManager/iam.userManager.definitions.js.map +0 -1
  130. package/dist/services/userManager/iam.userManager.service.d.ts +0 -33
  131. package/dist/services/userManager/iam.userManager.service.js.map +0 -1
  132. package/dist/services/userManager/index.d.ts +0 -2
  133. package/dist/services/userManager/index.js.map +0 -1
  134. package/src/services/userManager/index.ts +0 -2
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.IAMAuthenticationPassthroughConsumerService = void 0;
16
+ const core_1 = require("@node-c/core");
17
+ const lodash_1 = __importDefault(require("lodash"));
18
+ const authenticationConsumer_1 = require("../authenticationConsumer");
19
+ class IAMAuthenticationPassthroughConsumerService extends authenticationConsumer_1.IAMAuthenticationConsumerService {
20
+ constructor(configProvider, logger, moduleName, serviceName) {
21
+ super(configProvider, logger, moduleName, serviceName);
22
+ }
23
+ complete(data, options) {
24
+ const _super = Object.create(null, {
25
+ complete: { get: () => super.complete }
26
+ });
27
+ return __awaiter(this, void 0, void 0, function* () {
28
+ return _super.complete.call(this, data, options);
29
+ });
30
+ }
31
+ getUserAuthenticationConfig() {
32
+ const { configProvider, moduleName, serviceName } = this;
33
+ const moduleConfig = configProvider.config.domain[moduleName];
34
+ const { steps } = moduleConfig.authServiceSettings[serviceName];
35
+ const defaultConfig = {
36
+ [core_1.AppConfigDomainIAMAuthenticationStep.Complete]: {
37
+ authReturnsTokens: true,
38
+ decodeReturnedTokens: true,
39
+ findUser: true,
40
+ findUserBeforeAuth: false,
41
+ findUserInExternalTokenPayloads: true,
42
+ useReturnedTokens: true,
43
+ useReturnedTokensAsLocal: false,
44
+ validWithoutUser: false
45
+ },
46
+ [core_1.AppConfigDomainIAMAuthenticationStep.Initiate]: {
47
+ findUser: false,
48
+ validWithoutUser: true
49
+ }
50
+ };
51
+ return lodash_1.default.merge(defaultConfig, steps || {});
52
+ }
53
+ initiate(data, options) {
54
+ const _super = Object.create(null, {
55
+ initiate: { get: () => super.initiate }
56
+ });
57
+ return __awaiter(this, void 0, void 0, function* () {
58
+ return _super.initiate.call(this, data, options);
59
+ });
60
+ }
61
+ refreshExternalAccessToken(_data) {
62
+ return __awaiter(this, void 0, void 0, function* () {
63
+ throw new core_1.ApplicationError(`[${this.moduleName}][${this.serviceName}}]: Method "refreshExternalAccessToken" not implemented.`);
64
+ });
65
+ }
66
+ }
67
+ exports.IAMAuthenticationPassthroughConsumerService = IAMAuthenticationPassthroughConsumerService;
68
+ //# sourceMappingURL=iam.authenticationPassthroughConsumer.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iam.authenticationPassthroughConsumer.service.js","sourceRoot":"","sources":["../../../src/services/authenticationPassthroughConsumer/iam.authenticationPassthroughConsumer.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,uCAMsB;AAEtB,oDAAwB;AAcxB,sEAA6E;AAO7E,MAAa,2CAGX,SAAQ,yDAAkE;IAC1E,YAAY,cAAqC,EAAE,MAAqB,EAAE,UAAkB,EAAE,WAAmB;QAC/G,KAAK,CAAC,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;IACzD,CAAC;IAEK,QAAQ,CACZ,IAAsD,EACtD,OAA6E;;;;;YAE7E,OAAO,OAAM,QAAQ,YAAC,IAAI,EAAE,OAAO,CAAgE,CAAC;QACtG,CAAC;KAAA;IAaD,2BAA2B;QACzB,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QACzD,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAuB,CAAC;QACpF,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,CAAC,mBAAoB,CAAC,WAAW,CAAC,CAAC;QACjE,MAAM,aAAa,GAA0E;YAC3F,CAAC,2CAAoC,CAAC,QAAQ,CAAC,EAAE;gBAC/C,iBAAiB,EAAE,IAAI;gBACvB,oBAAoB,EAAE,IAAI;gBAC1B,QAAQ,EAAE,IAAI;gBACd,kBAAkB,EAAE,KAAK;gBACzB,+BAA+B,EAAE,IAAI;gBACrC,iBAAiB,EAAE,IAAI;gBACvB,wBAAwB,EAAE,KAAK;gBAC/B,gBAAgB,EAAE,KAAK;aACxB;YAED,CAAC,2CAAoC,CAAC,QAAQ,CAAC,EAAE;gBAC/C,QAAQ,EAAE,KAAK;gBACf,gBAAgB,EAAE,IAAI;aACvB;SACF,CAAC;QACF,OAAO,gBAAE,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;IAEK,QAAQ,CACZ,IAAsD,EACtD,OAA6E;;;;;YAE7E,OAAO,OAAM,QAAQ,YAAC,IAAI,EAAE,OAAO,CAAgE,CAAC;QACtG,CAAC;KAAA;IAGK,0BAA0B,CAE9B,KAAyE;;YAEzE,MAAM,IAAI,uBAAgB,CACxB,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,WAAW,0DAA0D,CACnG,CAAC;QACJ,CAAC;KAAA;CACF;AAlED,kGAkEC"}
@@ -0,0 +1,2 @@
1
+ export * from './iam.authenticationPassthroughConsumer.definitions';
2
+ export * from './iam.authenticationPassthroughConsumer.service';
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./iam.authenticationPassthroughConsumer.definitions"), exports);
18
+ __exportStar(require("./iam.authenticationPassthroughConsumer.service"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/authenticationPassthroughConsumer/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sFAAoE;AACpE,kFAAgE"}
@@ -1,8 +1,8 @@
1
- import { IAMAuthenticationCompleteData, IAMAuthenticationCompleteOptions, IAMAuthenticationCompleteResult, IAMAuthenticationGetUserCreateAccessTokenConfigResult, IAMAuthenticationInitiateData, IAMAuthenticationInitiateOptions, IAMAuthenticationInitiateResult } from '../authentication';
1
+ import { IAMAuthenticationCompleteData, IAMAuthenticationCompleteOptions, IAMAuthenticationCompleteResult, IAMAuthenticationGetUserAuthenticationConfigResult, IAMAuthenticationInitiateData, IAMAuthenticationInitiateOptions, IAMAuthenticationInitiateResult } from '../authentication';
2
2
  export type IAMAuthenticationUserLocalCompleteData = IAMAuthenticationCompleteData;
3
3
  export type IAMAuthenticationUserLocalCompleteOptions<Context extends object> = IAMAuthenticationCompleteOptions<Context>;
4
4
  export type IAMAuthenticationUserLocalCompleteResult = IAMAuthenticationCompleteResult;
5
- export type IAMAuthenticationUserLocalGetUserCreateAccessTokenConfigResult = IAMAuthenticationGetUserCreateAccessTokenConfigResult;
5
+ export type IAMAuthenticationUserLocalGetUserAuthenticationConfigResult = IAMAuthenticationGetUserAuthenticationConfigResult;
6
6
  export interface IAMAuthenticationUserLocalInitiateData extends IAMAuthenticationInitiateData {
7
7
  password: string;
8
8
  }
@@ -1,15 +1,11 @@
1
1
  import { ConfigProviderService, LoggerService } from '@node-c/core';
2
- import { IAMAuthenticationUserLocalCompleteData, IAMAuthenticationUserLocalCompleteOptions, IAMAuthenticationUserLocalCompleteResult, IAMAuthenticationUserLocalGetUserCreateAccessTokenConfigResult, IAMAuthenticationUserLocalInitiateData, IAMAuthenticationUserLocalInitiateOptions, IAMAuthenticationUserLocalInitiateResult } from './iam.authenticationUserLocal.definitions';
2
+ import { IAMAuthenticationUserLocalCompleteData, IAMAuthenticationUserLocalCompleteOptions, IAMAuthenticationUserLocalCompleteResult, IAMAuthenticationUserLocalGetUserAuthenticationConfigResult, IAMAuthenticationUserLocalInitiateData, IAMAuthenticationUserLocalInitiateOptions, IAMAuthenticationUserLocalInitiateResult } from './iam.authenticationUserLocal.definitions';
3
3
  import { IAMAuthenticationService } from '../authentication';
4
4
  import { IAMMFAService, IAMMFAType } from '../mfa';
5
5
  export declare class IAMAuthenticationUserLocalService<CompleteContext extends object, InitiateContext extends object> extends IAMAuthenticationService<CompleteContext, InitiateContext> {
6
- protected configProvider: ConfigProviderService;
7
- protected logger: LoggerService;
8
- protected moduleName: string;
9
- protected serviceName: string;
10
6
  protected mfaServices?: Record<IAMMFAType, IAMMFAService<object, object>> | undefined;
11
7
  constructor(configProvider: ConfigProviderService, logger: LoggerService, moduleName: string, serviceName: string, mfaServices?: Record<IAMMFAType, IAMMFAService<object, object>> | undefined);
12
8
  complete(data: IAMAuthenticationUserLocalCompleteData, options: IAMAuthenticationUserLocalCompleteOptions<CompleteContext>): Promise<IAMAuthenticationUserLocalCompleteResult>;
13
- getUserCreateAccessTokenConfig(): IAMAuthenticationUserLocalGetUserCreateAccessTokenConfigResult;
9
+ getUserAuthenticationConfig(): IAMAuthenticationUserLocalGetUserAuthenticationConfigResult;
14
10
  initiate(data: IAMAuthenticationUserLocalInitiateData, options: IAMAuthenticationUserLocalInitiateOptions<InitiateContext>): Promise<IAMAuthenticationUserLocalInitiateResult>;
15
11
  }
@@ -19,11 +19,7 @@ const lodash_1 = __importDefault(require("lodash"));
19
19
  const authentication_1 = require("../authentication");
20
20
  class IAMAuthenticationUserLocalService extends authentication_1.IAMAuthenticationService {
21
21
  constructor(configProvider, logger, moduleName, serviceName, mfaServices) {
22
- super(configProvider, logger, moduleName);
23
- this.configProvider = configProvider;
24
- this.logger = logger;
25
- this.moduleName = moduleName;
26
- this.serviceName = serviceName;
22
+ super(configProvider, logger, moduleName, serviceName);
27
23
  this.mfaServices = mfaServices;
28
24
  this.isLocal = true;
29
25
  }
@@ -54,7 +50,7 @@ class IAMAuthenticationUserLocalService extends authentication_1.IAMAuthenticati
54
50
  return { mfaUsed, mfaValid, valid: true };
55
51
  });
56
52
  }
57
- getUserCreateAccessTokenConfig() {
53
+ getUserAuthenticationConfig() {
58
54
  const { configProvider, moduleName, serviceName } = this;
59
55
  const moduleConfig = configProvider.config.domain[moduleName];
60
56
  const { steps } = moduleConfig.authServiceSettings[serviceName];
@@ -62,7 +58,7 @@ class IAMAuthenticationUserLocalService extends authentication_1.IAMAuthenticati
62
58
  [core_1.AppConfigDomainIAMAuthenticationStep.Complete]: {
63
59
  cache: {
64
60
  settings: {
65
- cacheFieldName: 'userId',
61
+ cacheFieldName: 'state',
66
62
  inputFieldName: 'options.context.id'
67
63
  },
68
64
  use: {
@@ -79,7 +75,7 @@ class IAMAuthenticationUserLocalService extends authentication_1.IAMAuthenticati
79
75
  options: [{ cacheFieldName: 'context', inputFieldName: 'options.context' }]
80
76
  },
81
77
  settings: {
82
- cacheFieldName: 'userId',
78
+ cacheFieldName: 'state',
83
79
  inputFieldName: 'options.context.id'
84
80
  }
85
81
  },
@@ -1 +1 @@
1
- {"version":3,"file":"iam.authenticationUserLocal.service.js","sourceRoot":"","sources":["../../../src/services/authenticationUserLocal/iam.authenticationUserLocal.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"iam.authenticationUserLocal.service.js","sourceRoot":"","sources":["../../../src/services/authenticationUserLocal/iam.authenticationUserLocal.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { IAMAuthenticationConsumerCompleteResult, IAMAuthenticationConsumerInitiateResult } from '../authenticationConsumer';
2
+ import { IAMAuthenticationUserLocalCompleteData, IAMAuthenticationUserLocalCompleteOptions, IAMAuthenticationUserLocalCompleteResult, IAMAuthenticationUserLocalInitiateData, IAMAuthenticationUserLocalInitiateOptions, IAMAuthenticationUserLocalInitiateResult } from '../authenticationUserLocal';
3
+ export type IAMAuthenticationUserLocalConsumerCompleteData = IAMAuthenticationUserLocalCompleteData;
4
+ export type IAMAuthenticationUserLocalConsumerCompleteOptions<Context extends object> = IAMAuthenticationUserLocalCompleteOptions<Context>;
5
+ export type IAMAuthenticationUserLocalConsumerCompleteResult = IAMAuthenticationUserLocalCompleteResult & IAMAuthenticationConsumerCompleteResult;
6
+ export type IAMAuthenticationUserLocalConsumerInitiateData = IAMAuthenticationUserLocalInitiateData;
7
+ export type IAMAuthenticationUserLocalConsumerInitiateOptions<Context extends object> = IAMAuthenticationUserLocalInitiateOptions<Context>;
8
+ export type IAMAuthenticationUserLocalConsumerInitiateResult = IAMAuthenticationUserLocalInitiateResult & IAMAuthenticationConsumerInitiateResult;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=iam.authenticationUserLocalConsumer.definitions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iam.authenticationUserLocalConsumer.definitions.js","sourceRoot":"","sources":["../../../src/services/authenticationUserLocalConsumer/iam.authenticationUserLocalConsumer.definitions.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import { ConfigProviderService, LoggerService } from '@node-c/core';
2
+ import { IAMAuthenticationUserLocalConsumerCompleteData, IAMAuthenticationUserLocalConsumerCompleteOptions, IAMAuthenticationUserLocalConsumerCompleteResult, IAMAuthenticationUserLocalConsumerInitiateData, IAMAuthenticationUserLocalConsumerInitiateOptions, IAMAuthenticationUserLocalConsumerInitiateResult } from './iam.authenticationUserLocalConsumer.definitions';
3
+ import { IAMAuthenticationConsumerService } from '../authenticationConsumer';
4
+ export declare class IAMAuthenticationUserLocalConsumerService<CompleteContext extends object, InitiateContext extends object> extends IAMAuthenticationConsumerService<CompleteContext, InitiateContext> {
5
+ constructor(configProvider: ConfigProviderService, logger: LoggerService, moduleName: string, serviceName: string);
6
+ complete(data: IAMAuthenticationUserLocalConsumerCompleteData, options: IAMAuthenticationUserLocalConsumerCompleteOptions<CompleteContext>): Promise<IAMAuthenticationUserLocalConsumerCompleteResult>;
7
+ initiate(data: IAMAuthenticationUserLocalConsumerInitiateData, options: IAMAuthenticationUserLocalConsumerInitiateOptions<InitiateContext>): Promise<IAMAuthenticationUserLocalConsumerInitiateResult>;
8
+ }
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.IAMAuthenticationUserLocalConsumerService = void 0;
13
+ const authenticationConsumer_1 = require("../authenticationConsumer");
14
+ class IAMAuthenticationUserLocalConsumerService extends authenticationConsumer_1.IAMAuthenticationConsumerService {
15
+ constructor(configProvider, logger, moduleName, serviceName) {
16
+ super(configProvider, logger, moduleName, serviceName);
17
+ }
18
+ complete(data, options) {
19
+ const _super = Object.create(null, {
20
+ complete: { get: () => super.complete }
21
+ });
22
+ return __awaiter(this, void 0, void 0, function* () {
23
+ return _super.complete.call(this, data, options);
24
+ });
25
+ }
26
+ initiate(data, options) {
27
+ const _super = Object.create(null, {
28
+ initiate: { get: () => super.initiate }
29
+ });
30
+ return __awaiter(this, void 0, void 0, function* () {
31
+ return _super.initiate.call(this, data, options);
32
+ });
33
+ }
34
+ }
35
+ exports.IAMAuthenticationUserLocalConsumerService = IAMAuthenticationUserLocalConsumerService;
36
+ //# sourceMappingURL=iam.authenticationUserLocalConsumer.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iam.authenticationUserLocalConsumer.service.js","sourceRoot":"","sources":["../../../src/services/authenticationUserLocalConsumer/iam.authenticationUserLocalConsumer.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAWA,sEAA6E;AAO7E,MAAa,yCAGX,SAAQ,yDAAkE;IAC1E,YAAY,cAAqC,EAAE,MAAqB,EAAE,UAAkB,EAAE,WAAmB;QAC/G,KAAK,CAAC,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;IACzD,CAAC;IAEK,QAAQ,CACZ,IAAoD,EACpD,OAA2E;;;;;YAE3E,OAAO,OAAM,QAAQ,YAAC,IAAI,EAAE,OAAO,CAA8D,CAAC;QACpG,CAAC;KAAA;IAEK,QAAQ,CACZ,IAAoD,EACpD,OAA2E;;;;;YAE3E,OAAO,OAAM,QAAQ,YAAC,IAAI,EAAE,OAAO,CAA8D,CAAC;QACpG,CAAC;KAAA;CACF;AArBD,8FAqBC"}
@@ -0,0 +1,2 @@
1
+ export * from './iam.authenticationUserLocalConsumer.definitions';
2
+ export * from './iam.authenticationUserLocalConsumer.service';
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./iam.authenticationUserLocalConsumer.definitions"), exports);
18
+ __exportStar(require("./iam.authenticationUserLocalConsumer.service"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/authenticationUserLocalConsumer/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oFAAkE;AAClE,gFAA8D"}
@@ -1,47 +1,47 @@
1
1
  import { GenericObject } from '@node-c/core';
2
- export declare enum AuthorizationCheckErrorCode {
3
- FGANoAccessToModule = "FGA_NO_ACCESS",
2
+ export declare enum IAMAuthorizationCheckErrorCode {
3
+ FGANoAccess = "FGA_NO_ACCESS",
4
4
  RBACNoAccessToModule = "RBAC_NO_ACCESS_TO_MODULE",
5
5
  RBACNoAccessToResource = "RBAC_NO_ACCESS_TO_RESOURCE"
6
6
  }
7
- export interface AuthorizationPoint<Id> {
8
- allowedInputData?: GenericObject;
9
- allowedOutputData?: GenericObject;
10
- forbiddenInputData?: GenericObject;
11
- forbiddenOutputData?: GenericObject;
12
- id: Id;
13
- inputDataFieldName?: string;
14
- moduleName: string;
15
- name: string;
16
- requiredStaticData?: GenericObject;
17
- resources?: string[];
18
- resourceContext?: string;
19
- userFieldName?: string;
20
- }
21
- export interface AuthorizationStaticCheckAccessOptions {
7
+ export interface IAMAuthorizationStaticCheckAccessOptions {
22
8
  moduleName: string;
23
9
  resource?: string;
24
10
  resourceContext?: string;
25
11
  }
26
- export interface AuthorizationStaticCheckAccessResult {
27
- authorizationPoints: GenericObject<AuthorizationPoint<unknown>>;
28
- errorCode?: AuthorizationCheckErrorCode;
12
+ export interface IAMAuthorizationStaticCheckAccessResult {
13
+ errorCode?: IAMAuthorizationCheckErrorCode;
29
14
  hasAccess: boolean;
30
15
  inputDataToBeMutated: GenericObject;
31
16
  noMatchForResource: boolean;
17
+ permissions: GenericObject<IAMPermission<unknown>>;
32
18
  }
33
- export interface AuthorizationUser<AuthorizationPointId> {
34
- currentAuthorizationPoints: GenericObject<AuthorizationPoint<AuthorizationPointId>>;
19
+ export interface IAMAuthorizationUser<PermissionId> {
20
+ currentPermissions: GenericObject<IAMPermission<PermissionId>>;
35
21
  }
36
- export interface AuthorizeApiKeyData {
22
+ export interface IAMAuthorizeApiKeyData {
37
23
  apiKey: string;
38
24
  signature?: string;
39
25
  signatureContent?: string;
40
26
  }
41
- export interface AuthorizeApiKeyOptions {
27
+ export interface IAMAuthorizeApiKeyOptions {
42
28
  config: {
43
29
  apiKey?: string;
44
30
  apiSecret?: string;
45
31
  apiSecretAlgorithm?: string;
46
32
  };
47
33
  }
34
+ export interface IAMPermission<Id> {
35
+ allowedInputData?: GenericObject;
36
+ allowedOutputData?: GenericObject;
37
+ forbiddenInputData?: GenericObject;
38
+ forbiddenOutputData?: GenericObject;
39
+ id: Id;
40
+ inputDataFieldName?: string;
41
+ moduleName: string;
42
+ name: string;
43
+ requiredStaticData?: GenericObject;
44
+ resources?: string[];
45
+ resourceContext?: string;
46
+ userFieldName?: string;
47
+ }
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AuthorizationCheckErrorCode = void 0;
4
- var AuthorizationCheckErrorCode;
5
- (function (AuthorizationCheckErrorCode) {
6
- AuthorizationCheckErrorCode["FGANoAccessToModule"] = "FGA_NO_ACCESS";
7
- AuthorizationCheckErrorCode["RBACNoAccessToModule"] = "RBAC_NO_ACCESS_TO_MODULE";
8
- AuthorizationCheckErrorCode["RBACNoAccessToResource"] = "RBAC_NO_ACCESS_TO_RESOURCE";
9
- })(AuthorizationCheckErrorCode || (exports.AuthorizationCheckErrorCode = AuthorizationCheckErrorCode = {}));
3
+ exports.IAMAuthorizationCheckErrorCode = void 0;
4
+ var IAMAuthorizationCheckErrorCode;
5
+ (function (IAMAuthorizationCheckErrorCode) {
6
+ IAMAuthorizationCheckErrorCode["FGANoAccess"] = "FGA_NO_ACCESS";
7
+ IAMAuthorizationCheckErrorCode["RBACNoAccessToModule"] = "RBAC_NO_ACCESS_TO_MODULE";
8
+ IAMAuthorizationCheckErrorCode["RBACNoAccessToResource"] = "RBAC_NO_ACCESS_TO_RESOURCE";
9
+ })(IAMAuthorizationCheckErrorCode || (exports.IAMAuthorizationCheckErrorCode = IAMAuthorizationCheckErrorCode = {}));
10
10
  //# sourceMappingURL=iam.authorization.definitions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"iam.authorization.definitions.js","sourceRoot":"","sources":["../../../src/services/authorization/iam.authorization.definitions.ts"],"names":[],"mappings":";;;AAEA,IAAY,2BAOX;AAPD,WAAY,2BAA2B;IAErC,oEAAqC,CAAA;IAErC,gFAAiD,CAAA;IAEjD,oFAAqD,CAAA;AACvD,CAAC,EAPW,2BAA2B,2CAA3B,2BAA2B,QAOtC"}
1
+ {"version":3,"file":"iam.authorization.definitions.js","sourceRoot":"","sources":["../../../src/services/authorization/iam.authorization.definitions.ts"],"names":[],"mappings":";;;AAEA,IAAY,8BAOX;AAPD,WAAY,8BAA8B;IAExC,+DAA6B,CAAA;IAE7B,mFAAiD,CAAA;IAEjD,uFAAqD,CAAA;AACvD,CAAC,EAPW,8BAA8B,8CAA9B,8BAA8B,QAOzC"}
@@ -1,14 +1,11 @@
1
- import { DataEntityService, DomainEntityService, DomainEntityServiceDefaultData, GenericObject, LoggerService } from '@node-c/core';
2
- import { AuthorizationStaticCheckAccessOptions, AuthorizationStaticCheckAccessResult, AuthorizationUser, AuthorizeApiKeyData, AuthorizeApiKeyOptions, AuthorizationPoint as BaseAuthorizationPoint } from './iam.authorization.definitions';
1
+ import { GenericObject, LoggerService } from '@node-c/core';
2
+ import { IAMAuthorizationStaticCheckAccessOptions, IAMAuthorizationStaticCheckAccessResult, IAMAuthorizationUser, IAMAuthorizeApiKeyData, IAMAuthorizeApiKeyOptions, IAMPermission } from './iam.authorization.definitions';
3
3
  import { DecodedTokenContent, IAMTokenManagerService } from '../tokenManager';
4
- export declare class IAMAuthorizationService<AuthorizationPoint extends BaseAuthorizationPoint<unknown> = BaseAuthorizationPoint<unknown>, Data extends DomainEntityServiceDefaultData<Partial<AuthorizationPoint>> = DomainEntityServiceDefaultData<Partial<AuthorizationPoint>>, TokenManager extends IAMTokenManagerService<object> = IAMTokenManagerService<object>> extends DomainEntityService<AuthorizationPoint, DataEntityService<AuthorizationPoint>, Data, Record<string, DataEntityService<Partial<AuthorizationPoint>>> | undefined> {
5
- protected dataAuthorizationPointsService: DataEntityService<AuthorizationPoint>;
6
- protected defaultMethods: string[];
4
+ export declare class IAMAuthorizationService<TokenManager extends IAMTokenManagerService<object> = IAMTokenManagerService<object>> {
7
5
  protected logger: LoggerService;
8
- protected additionalDataEntityServices?: GenericObject<DataEntityService<Partial<AuthorizationPoint>>> | undefined;
9
6
  protected tokenManager?: TokenManager | undefined;
10
- constructor(dataAuthorizationPointsService: DataEntityService<AuthorizationPoint>, defaultMethods: string[] | undefined, logger: LoggerService, additionalDataEntityServices?: GenericObject<DataEntityService<Partial<AuthorizationPoint>>> | undefined, tokenManager?: TokenManager | undefined);
11
- authorizeApiKey(data: AuthorizeApiKeyData, options: AuthorizeApiKeyOptions): Promise<{
7
+ constructor(logger: LoggerService, tokenManager?: TokenManager | undefined);
8
+ authorizeApiKey(data: IAMAuthorizeApiKeyData, options: IAMAuthorizeApiKeyOptions): Promise<{
12
9
  valid: boolean;
13
10
  }>;
14
11
  authorizeBearer<UserTokenEnityFields = unknown>(data: {
@@ -24,11 +21,11 @@ export declare class IAMAuthorizationService<AuthorizationPoint extends BaseAuth
24
21
  valid: boolean;
25
22
  }>;
26
23
  checkAccessWithStorage(): Promise<void>;
27
- static checkAccess<InputData = GenericObject>(inputData: InputData, user: AuthorizationUser<unknown>, options: AuthorizationStaticCheckAccessOptions): AuthorizationStaticCheckAccessResult;
24
+ static checkAccess<InputData = GenericObject>(inputData: InputData, user: IAMAuthorizationUser<unknown>, options: IAMAuthorizationStaticCheckAccessOptions): IAMAuthorizationStaticCheckAccessResult;
28
25
  static getValuesForTesting(valueToTest: unknown): unknown[];
29
26
  static matchInputValues(input: GenericObject, values: GenericObject): GenericObject;
30
- static processOutputData(authorizationPoints: {
31
- [id: number]: BaseAuthorizationPoint<unknown>;
27
+ static processOutputData(permissions: {
28
+ [id: number]: IAMPermission<unknown>;
32
29
  }, outputData: GenericObject): {
33
30
  outputDataToBeMutated: GenericObject;
34
31
  };
@@ -17,13 +17,9 @@ const crypto_1 = __importDefault(require("crypto"));
17
17
  const core_1 = require("@node-c/core");
18
18
  const lodash_1 = __importDefault(require("lodash"));
19
19
  const iam_authorization_definitions_1 = require("./iam.authorization.definitions");
20
- class IAMAuthorizationService extends core_1.DomainEntityService {
21
- constructor(dataAuthorizationPointsService, defaultMethods = [core_1.DomainMethod.Find], logger, additionalDataEntityServices, tokenManager) {
22
- super(dataAuthorizationPointsService, defaultMethods, logger, additionalDataEntityServices);
23
- this.dataAuthorizationPointsService = dataAuthorizationPointsService;
24
- this.defaultMethods = defaultMethods;
20
+ class IAMAuthorizationService {
21
+ constructor(logger, tokenManager) {
25
22
  this.logger = logger;
26
- this.additionalDataEntityServices = additionalDataEntityServices;
27
23
  this.tokenManager = tokenManager;
28
24
  }
29
25
  authorizeApiKey(data, options) {
@@ -70,7 +66,7 @@ class IAMAuthorizationService extends core_1.DomainEntityService {
70
66
  return { valid: false };
71
67
  }
72
68
  if (!authToken) {
73
- logger.error('Missing auth token.');
69
+ logger.error('Missing authorization token.');
74
70
  return { valid: false };
75
71
  }
76
72
  let newAccessToken;
@@ -79,12 +75,12 @@ class IAMAuthorizationService extends core_1.DomainEntityService {
79
75
  let tokenContent;
80
76
  try {
81
77
  const tokenRes = yield tokenManager.verifyAccessToken(authToken, {
78
+ accessTokenDataRefreshTokenField: 'refreshToken',
82
79
  deleteFromStoreIfExpired: true,
83
80
  identifierDataField,
84
81
  persistNewToken: true,
85
82
  purgeStoreOnRenew: true,
86
- refreshToken,
87
- refreshTokenAccessTokenIdentifierDataField: 'accessToken'
83
+ refreshToken
88
84
  });
89
85
  tokenContent = tokenRes.content;
90
86
  if (tokenRes.newAccessToken) {
@@ -120,26 +116,26 @@ class IAMAuthorizationService extends core_1.DomainEntityService {
120
116
  hasResource = true;
121
117
  }
122
118
  const mutatedInputData = lodash_1.default.cloneDeep(inputData);
123
- const usedAuthorizationPoints = {};
124
- const { currentAuthorizationPoints } = user;
125
- let authorizationPointsCount = 0;
126
- let authorizationPointsForDifferentModules = 0;
127
- let authorizationPointsForDifferentContexts = 0;
119
+ const usedPermissions = {};
120
+ const { currentPermissions } = user;
128
121
  let hasAccess = false;
129
122
  let inputDataToBeMutated = {};
130
123
  let noMatchForResource = false;
131
- for (const apId in currentAuthorizationPoints) {
132
- const apData = currentAuthorizationPoints[apId];
133
- authorizationPointsCount++;
124
+ let permissionsCount = 0;
125
+ let permissionsForDifferentModules = 0;
126
+ let permissionsForDifferentContexts = 0;
127
+ for (const apId in currentPermissions) {
128
+ const apData = currentPermissions[apId];
129
+ permissionsCount++;
134
130
  if (moduleName !== apData.moduleName) {
135
- authorizationPointsForDifferentModules++;
131
+ permissionsForDifferentModules++;
136
132
  continue;
137
133
  }
138
134
  if (hasResource &&
139
135
  (!apData.resourceContext ||
140
136
  apData.resourceContext !== resourceContext ||
141
137
  !((_a = apData.resources) === null || _a === void 0 ? void 0 : _a.includes(resource)))) {
142
- authorizationPointsForDifferentContexts++;
138
+ permissionsForDifferentContexts++;
143
139
  continue;
144
140
  }
145
141
  const { allowedInputData, forbiddenInputData, inputDataFieldName, requiredStaticData, userFieldName } = apData;
@@ -208,24 +204,24 @@ class IAMAuthorizationService extends core_1.DomainEntityService {
208
204
  }
209
205
  }
210
206
  inputDataToBeMutated = lodash_1.default.merge(inputDataToBeMutated, innerInputDataToBeMutated);
211
- usedAuthorizationPoints[apId] = apData;
207
+ usedPermissions[apId] = apData;
212
208
  break;
213
209
  }
214
210
  const returnData = {
215
- authorizationPoints: usedAuthorizationPoints,
216
211
  hasAccess,
217
212
  inputDataToBeMutated,
218
- noMatchForResource
213
+ noMatchForResource,
214
+ permissions: usedPermissions
219
215
  };
220
216
  if (!hasAccess) {
221
- if (authorizationPointsForDifferentModules === authorizationPointsCount) {
222
- returnData.errorCode = iam_authorization_definitions_1.AuthorizationCheckErrorCode.RBACNoAccessToModule;
217
+ if (!permissionsCount || permissionsForDifferentModules === permissionsCount) {
218
+ returnData.errorCode = iam_authorization_definitions_1.IAMAuthorizationCheckErrorCode.RBACNoAccessToModule;
223
219
  }
224
- else if (authorizationPointsForDifferentContexts === authorizationPointsCount) {
225
- returnData.errorCode = iam_authorization_definitions_1.AuthorizationCheckErrorCode.RBACNoAccessToResource;
220
+ else if (permissionsForDifferentContexts === permissionsCount) {
221
+ returnData.errorCode = iam_authorization_definitions_1.IAMAuthorizationCheckErrorCode.RBACNoAccessToResource;
226
222
  }
227
223
  else {
228
- returnData.errorCode = iam_authorization_definitions_1.AuthorizationCheckErrorCode.FGANoAccessToModule;
224
+ returnData.errorCode = iam_authorization_definitions_1.IAMAuthorizationCheckErrorCode.FGANoAccess;
229
225
  }
230
226
  }
231
227
  return returnData;
@@ -281,11 +277,11 @@ class IAMAuthorizationService extends core_1.DomainEntityService {
281
277
  }
282
278
  return matchedValues;
283
279
  }
284
- static processOutputData(authorizationPoints, outputData) {
280
+ static processOutputData(permissions, outputData) {
285
281
  const mutatedOutputData = lodash_1.default.cloneDeep(outputData);
286
282
  let outputDataToBeMutated = {};
287
- for (const apId in authorizationPoints) {
288
- const apData = authorizationPoints[apId];
283
+ for (const apId in permissions) {
284
+ const apData = permissions[apId];
289
285
  const { allowedOutputData, forbiddenOutputData } = apData;
290
286
  const innerMutatedOutputData = lodash_1.default.cloneDeep(mutatedOutputData);
291
287
  const innerOutputDataToBeMutated = {};
@@ -1 +1 @@
1
- {"version":3,"file":"iam.authorization.service.js","sourceRoot":"","sources":["../../../src/services/authorization/iam.authorization.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"iam.authorization.service.js","sourceRoot":"","sources":["../../../src/services/authorization/iam.authorization.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,oDAA4B;AAE5B,uCAAoG;AAEpG,oDAAwB;AAExB,mFAQyC;AAIzC,MAAa,uBAAuB;IAGlC,YAEY,MAAqB,EAErB,YAA2B;QAF3B,WAAM,GAAN,MAAM,CAAe;QAErB,iBAAY,GAAZ,YAAY,CAAe;IACpC,CAAC;IAEE,eAAe,CAAC,IAA4B,EAAE,OAAkC;;YACpF,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;YACxB,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;YACrD,MAAM,EACJ,MAAM,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,kBAAkB,EAAE,EAClE,GAAG,OAAO,CAAC;YACZ,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;gBACjC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;YAC1B,CAAC;YACD,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;gBAC9B,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;gBACjC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;YAC1B,CAAC;YACD,IAAI,SAAS,IAAI,kBAAkB,EAAE,CAAC;gBACpC,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;oBACjD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;gBAC1B,CAAC;gBACD,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACtB,MAAM,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;oBACzD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;gBAC1B,CAAC;gBACD,MAAM,mBAAmB,GAAG,gBAAM;qBAC/B,UAAU,CAAC,kBAAkB,EAAE,SAAS,CAAC;qBACzC,MAAM,CAAC,gBAAgB,CAAC;qBACxB,MAAM,CAAC,KAAK,CAAC,CAAC;gBACjB,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;oBACtC,MAAM,CAAC,KAAK,CAAC,yCAAyC,mBAAmB,eAAe,SAAS,EAAE,CAAC,CAAC;oBACrG,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;gBAC1B,CAAC;YACH,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACzB,CAAC;KAAA;IAEK,eAAe,CACnB,IAAmD,EACnD,OAA0C;;YAQ1C,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;YACtC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;YACzC,MAAM,EAAE,mBAAmB,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;YAC9C,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;gBAC9C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;YAC1B,CAAC;YACD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;gBAC7C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;YAC1B,CAAC;YACD,IAAI,cAAkC,CAAC;YACvC,IAAI,UAA8B,CAAC;YACnC,IAAI,eAAmC,CAAC;YACxC,IAAI,YAAmE,CAAC;YACxE,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,iBAAiB,CAAC,SAAS,EAAE;oBAC/D,gCAAgC,EAAE,cAAc;oBAChD,wBAAwB,EAAE,IAAI;oBAC9B,mBAAmB;oBACnB,eAAe,EAAE,IAAI;oBACrB,iBAAiB,EAAE,IAAI;oBACvB,YAAY;iBACb,CAAC,CAAC;gBACH,YAAY,GAAG,QAAQ,CAAC,OAA+D,CAAC;gBACxF,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;oBAC5B,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC;gBAC3C,CAAC;gBACD,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;oBACxB,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;gBACnC,CAAC;gBACD,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC;oBAC7B,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC;gBAC7C,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,CAAC,KAAK,CAAC,8CAA8C,EAAE,CAAC,CAAC,CAAC;gBAChE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;YAC1B,CAAC;YACD,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACpF,CAAC;KAAA;IAEK,sBAAsB;;YAC1B,MAAM,IAAI,uBAAgB,CAAC,2EAA2E,CAAC,CAAC;QAC1G,CAAC;KAAA;IAED,MAAM,CAAC,WAAW,CAChB,SAAoB,EACpB,IAAmC,EACnC,OAAiD;;QAEjD,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;QAC1D,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,MAAM,IAAI,uBAAgB,CACxB,uGAAuG,CACxG,CAAC;YACJ,CAAC;YACD,WAAW,GAAG,IAAI,CAAC;QACrB,CAAC;QAED,MAAM,gBAAgB,GAAG,gBAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACjD,MAAM,eAAe,GAA0C,EAAE,CAAC;QAClE,MAAM,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC;QACpC,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,oBAAoB,GAAkB,EAAE,CAAC;QAC7C,IAAI,kBAAkB,GAAG,KAAK,CAAC;QAC/B,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,IAAI,8BAA8B,GAAG,CAAC,CAAC;QACvC,IAAI,+BAA+B,GAAG,CAAC,CAAC;QACxC,KAAK,MAAM,IAAI,IAAI,kBAAkB,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACxC,gBAAgB,EAAE,CAAC;YAEnB,IAAI,UAAU,KAAK,MAAM,CAAC,UAAU,EAAE,CAAC;gBACrC,8BAA8B,EAAE,CAAC;gBACjC,SAAS;YACX,CAAC;YAED,IACE,WAAW;gBACX,CAAC,CAAC,MAAM,CAAC,eAAe;oBACtB,MAAM,CAAC,eAAe,KAAK,eAAe;oBAC1C,CAAC,CAAA,MAAA,MAAM,CAAC,SAAS,0CAAE,QAAQ,CAAC,QAAS,CAAC,CAAA,CAAC,EACzC,CAAC;gBACD,+BAA+B,EAAE,CAAC;gBAClC,SAAS;YACX,CAAC;YAED,MAAM,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC;YAC/G,MAAM,aAAa,GAAG,kBAAkB,IAAI,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC;YACnF,MAAM,qBAAqB,GAAG,gBAAE,CAAC,SAAS,CAAC,gBAAgB,CAAkB,CAAC;YAC9E,MAAM,yBAAyB,GAAkB,EAAE,CAAC;YACpD,SAAS,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACxB,kBAAkB,GAAG,IAAI,CAAC;YAC5B,CAAC;YAED,IAAI,aAAa,EAAE,CAAC;gBAClB,KAAK,MAAM,SAAS,IAAI,kBAAkB,EAAE,CAAC;oBAC3C,IACE,CAAC,uBAAuB,CAAC,SAAS,CAChC,IAAA,gBAAS,EAAC,EAAE,SAAS,EAAE,qBAAqB,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,2BAA2B,EAAE,IAAI,EAAE,CAAC;yBACpG,YAAY,EACf,kBAAkB,CAAC,SAAS,CAAC,CAC9B,EACD,CAAC;wBACD,SAAS,GAAG,KAAK,CAAC;wBAClB,MAAM;oBACR,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,SAAS;gBACX,CAAC;YACH,CAAC;YAED,IAAI,aAAa,IAAI,kBAAkB,EAAE,CAAC;gBACxC,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,IAAA,gBAAS,EACzE,qBAAqB,EACrB,kBAAkB,EAClB;oBACE,2BAA2B,EAAE,IAAI;iBAClC,CACF,CAAC;gBACF,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,IAAA,gBAAS,EAAC,IAAI,EAAE,aAAa,EAAE,EAAE,2BAA2B,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC/G,IAAI,OAAO,cAAc,KAAK,WAAW,EAAE,CAAC;oBAC1C,SAAS,GAAG,KAAK,CAAC;oBAClB,SAAS;gBACX,CAAC;gBACD,IAAI,OAAO,eAAe,KAAK,WAAW,EAAE,CAAC;oBAC3C,yBAAyB,CAAC,kBAAkB,CAAC,GAAG,cAAc,CAAC;oBAC/D,IAAA,gBAAS,EAAC,qBAAqB,EAAE,kBAAkB,EAAE,cAAc,EAAE;wBACnE,2BAA2B,EAAE,IAAI;wBACjC,uBAAuB,EAAE,eAAe,CAAC,MAAM,GAAG,CAAC;qBACpD,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,MAAM,aAAa,GAAG,uBAAuB,CAAC,gBAAgB,CAAC,qBAAqB,EAAE;wBACpF,CAAC,kBAAkB,CAAC,EAAE,cAAc;qBACrC,CAAC,CAAC,kBAAkB,CAAc,CAAC;oBACpC,MAAM,iBAAiB,GAAG,eAAe,YAAY,KAAK,CAAC;oBAC3D,IAAI,CAAC,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,CAAA,EAAE,CAAC;wBAC3B,SAAS,GAAG,KAAK,CAAC;wBAClB,SAAS;oBACX,CAAC;oBACD,IAAI,iBAAiB,EAAE,CAAC;wBACtB,yBAAyB,CAAC,kBAAkB,CAAC,GAAG,aAAa,CAAC;wBAC9D,IAAA,gBAAS,EAAC,qBAAqB,EAAE,kBAAkB,EAAE,aAAa,EAAE,EAAE,2BAA2B,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC7G,CAAC;gBACH,CAAC;YACH,CAAC;YAGD,IAAI,gBAAgB,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,EAAE,CAAC;gBAC7D,MAAM,MAAM,GAAG,uBAAuB,CAAC,gBAAgB,CAAC,qBAAqB,EAAE,gBAAgB,CAAC,CAAC;gBACjG,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;oBACzB,yBAAyB,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;oBAC7C,IAAA,gBAAS,EAAC,qBAAqB,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,2BAA2B,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC5F,CAAC;YACH,CAAC;YAED,IAAI,kBAAkB,IAAI,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,MAAM,EAAE,CAAC;gBACjE,MAAM,MAAM,GAAG,uBAAuB,CAAC,gBAAgB,CAAC,qBAAqB,EAAE,kBAAkB,CAAC,CAAC;gBACnG,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;oBACzB,yBAAyB,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;oBAC3C,IAAA,gBAAS,EAAC,qBAAqB,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,2BAA2B,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC1F,CAAC;YACH,CAAC;YACD,oBAAoB,GAAG,gBAAE,CAAC,KAAK,CAAC,oBAAoB,EAAE,yBAAyB,CAAC,CAAC;YACjF,eAAe,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;YAC/B,MAAM;QACR,CAAC;QACD,MAAM,UAAU,GAA4C;YAC1D,SAAS;YACT,oBAAoB;YACpB,kBAAkB;YAClB,WAAW,EAAE,eAAe;SAC7B,CAAC;QACF,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,IAAI,CAAC,gBAAgB,IAAI,8BAA8B,KAAK,gBAAgB,EAAE,CAAC;gBAC7E,UAAU,CAAC,SAAS,GAAG,8DAA8B,CAAC,oBAAoB,CAAC;YAC7E,CAAC;iBAAM,IAAI,+BAA+B,KAAK,gBAAgB,EAAE,CAAC;gBAChE,UAAU,CAAC,SAAS,GAAG,8DAA8B,CAAC,sBAAsB,CAAC;YAC/E,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,SAAS,GAAG,8DAA8B,CAAC,WAAW,CAAC;YACpE,CAAC;QACH,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,WAAoB;QAC7C,MAAM,MAAM,GAAG;YACb,WAAW;YACX,QAAQ,CAAC,WAAqB,EAAE,EAAE,CAAC;YACnC,UAAU,CAAC,WAAqB,CAAC;SAClC,CAAC;QAEF,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;aAAM,IAAI,WAAW,KAAK,OAAO,EAAE,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,KAAoB,EAAE,MAAqB;QACjE,MAAM,aAAa,GAAkB,EAAE,CAAC;QACxC,KAAK,MAAM,SAAS,IAAI,MAAM,EAAE,CAAC;YAC/B,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,IAAA,gBAAS,EAAC,KAAK,EAAE,SAAS,EAAE;gBAC7E,2BAA2B,EAAE,IAAI;aAClC,CAAC,CAAC;YACH,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;YACvC,MAAM,aAAa,GAAG,YAAY,YAAY,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACpF,MAAM,WAAW,GAAc,EAAE,CAAC;YAClC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,cAAc,EAAE,EAAE;gBAC/C,MAAM,YAAY,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC;gBACjD,IAAI,YAAY,GAAG,KAAK,CAAC;gBACzB,IAAI,aAAa,GAAc,EAAE,CAAC;gBAClC,IAAI,YAAY,YAAY,KAAK,EAAE,CAAC;oBAClC,aAAa,GAAG,YAAY,CAAC;oBAC7B,YAAY,GAAG,IAAI,CAAC;gBACtB,CAAC;qBAAM,CAAC;oBACN,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACnC,CAAC;gBACD,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;oBACnC,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;wBAC9B,IAAI,uBAAuB,CAAC,SAAS,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;4BACtE,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;4BAC/B,MAAM;wBACR,CAAC;oBACH,CAAC;gBACH,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;oBACxB,aAAa,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;oBACrC,OAAO;gBACT,CAAC;gBACD,aAAa,CAAC,SAAS,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YACzE,CAAC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,iBAAiB,CACtB,WAAqD,EACrD,UAAyB;QAIzB,MAAM,iBAAiB,GAAG,gBAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACnD,IAAI,qBAAqB,GAAkB,EAAE,CAAC;QAC9C,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;YACjC,MAAM,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,GAAG,MAAM,CAAC;YAC1D,MAAM,sBAAsB,GAAG,gBAAE,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;YAC/D,MAAM,0BAA0B,GAAkB,EAAE,CAAC;YACrD,IAAI,iBAAiB,IAAI,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,EAAE,CAAC;gBAC/D,MAAM,MAAM,GAAG,uBAAuB,CAAC,gBAAgB,CAAC,sBAAsB,EAAE,iBAAiB,CAAC,CAAC;gBACnG,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;oBACzB,0BAA0B,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;oBAC9C,IAAA,gBAAS,EAAC,sBAAsB,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,2BAA2B,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC7F,CAAC;YACH,CAAC;YACD,IAAI,mBAAmB,IAAI,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,MAAM,EAAE,CAAC;gBACnE,MAAM,MAAM,GAAG,uBAAuB,CAAC,gBAAgB,CAAC,sBAAsB,EAAE,mBAAmB,CAAC,CAAC;gBACrG,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;oBACzB,0BAA0B,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;oBAC5C,IAAA,gBAAS,EAAC,sBAAsB,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,2BAA2B,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC3F,CAAC;YACH,CAAC;YACD,qBAAqB,GAAG,gBAAE,CAAC,KAAK,CAAC,qBAAqB,EAAE,0BAA0B,CAAC,CAAC;QACtF,CAAC;QACD,OAAO,EAAE,qBAAqB,EAAE,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,WAAoB,EAAE,kBAA2B;QAChE,IACE,OAAO,kBAAkB,KAAK,QAAQ;YACtC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG;YACpC,kBAAkB,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,EAChE,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,EAAE,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YACzF,IAAI,OAAO,WAAW,KAAK,WAAW,EAAE,CAAC;gBACvC,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;QACjG,CAAC;QACD,IACE,OAAO,WAAW,KAAK,QAAQ;YAC/B,WAAW,KAAK,IAAI;YACpB,OAAO,kBAAkB,KAAK,QAAQ;YACtC,kBAAkB,KAAK,IAAI,EAC3B,CAAC;YACD,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;QAC5E,CAAC;QACD,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACrF,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,KAAK,MAAM,CAAC,IAAI,mBAAmB,EAAE,CAAC;YACpC,IAAI,mBAAmB,CAAC,CAAC,CAAC,KAAK,kBAAkB,EAAE,CAAC;gBAClD,QAAQ,GAAG,IAAI,CAAC;gBAChB,MAAM;YACR,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AAtWD,0DAsWC"}