@nmshd/consumption 2.0.0-beta.3 → 2.0.0-beta.30

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 (169) hide show
  1. package/dist/buildInformation.js +4 -4
  2. package/dist/consumption/ConsumptionBaseController.d.ts +1 -1
  3. package/dist/consumption/ConsumptionBaseController.js +2 -3
  4. package/dist/consumption/ConsumptionBaseController.js.map +1 -1
  5. package/dist/consumption/ConsumptionController.d.ts +4 -8
  6. package/dist/consumption/ConsumptionController.js +14 -13
  7. package/dist/consumption/ConsumptionController.js.map +1 -1
  8. package/dist/consumption/ConsumptionControllerName.d.ts +2 -1
  9. package/dist/consumption/ConsumptionControllerName.js +2 -1
  10. package/dist/consumption/ConsumptionControllerName.js.map +1 -1
  11. package/dist/consumption/ConsumptionError.d.ts +2 -0
  12. package/dist/consumption/ConsumptionError.js +7 -0
  13. package/dist/consumption/ConsumptionError.js.map +1 -0
  14. package/dist/consumption/ConsumptionIds.d.ts +1 -0
  15. package/dist/consumption/ConsumptionIds.js +1 -0
  16. package/dist/consumption/ConsumptionIds.js.map +1 -1
  17. package/dist/consumption/CoreErrors.d.ts +23 -0
  18. package/dist/consumption/CoreErrors.js +47 -0
  19. package/dist/consumption/CoreErrors.js.map +1 -0
  20. package/dist/consumption/index.d.ts +2 -1
  21. package/dist/consumption/index.js +2 -1
  22. package/dist/consumption/index.js.map +1 -1
  23. package/dist/modules/attributeListeners/AttributeListenersController.d.ts +18 -0
  24. package/dist/modules/attributeListeners/AttributeListenersController.js +44 -0
  25. package/dist/modules/attributeListeners/AttributeListenersController.js.map +1 -0
  26. package/dist/modules/attributeListeners/events/AttributeListenerCreatedEvent.d.ts +6 -0
  27. package/dist/modules/attributeListeners/events/AttributeListenerCreatedEvent.js +12 -0
  28. package/dist/modules/attributeListeners/events/AttributeListenerCreatedEvent.js.map +1 -0
  29. package/dist/modules/attributeListeners/events/index.d.ts +1 -0
  30. package/dist/modules/attributeListeners/events/index.js +18 -0
  31. package/dist/modules/attributeListeners/events/index.js.map +1 -0
  32. package/dist/modules/attributeListeners/index.d.ts +4 -0
  33. package/dist/modules/attributeListeners/index.js +21 -0
  34. package/dist/modules/attributeListeners/index.js.map +1 -0
  35. package/dist/modules/attributeListeners/local/CreateLocalAttributeListenerParams.d.ts +12 -0
  36. package/dist/modules/attributeListeners/local/CreateLocalAttributeListenerParams.js +35 -0
  37. package/dist/modules/attributeListeners/local/CreateLocalAttributeListenerParams.js.map +1 -0
  38. package/dist/modules/attributeListeners/local/LocalAttributeListener.d.ts +19 -0
  39. package/dist/modules/attributeListeners/local/LocalAttributeListener.js +46 -0
  40. package/dist/modules/attributeListeners/local/LocalAttributeListener.js.map +1 -0
  41. package/dist/modules/attributes/{LocalAttributesController.d.ts → AttributesController.d.ts} +5 -3
  42. package/dist/modules/attributes/{LocalAttributesController.js → AttributesController.js} +56 -18
  43. package/dist/modules/attributes/AttributesController.js.map +1 -0
  44. package/dist/modules/attributes/index.d.ts +9 -0
  45. package/dist/modules/attributes/index.js +26 -0
  46. package/dist/modules/attributes/index.js.map +1 -0
  47. package/dist/modules/attributes/local/{CreateRelationshipAttributeParams.d.ts → CreateAttributeParams.d.ts} +3 -3
  48. package/dist/modules/attributes/local/{CreateRelationshipAttributeParams.js → CreateAttributeParams.js} +10 -10
  49. package/dist/modules/attributes/local/CreateAttributeParams.js.map +1 -0
  50. package/dist/modules/attributes/local/CreateLocalAttributeParams.d.ts +3 -0
  51. package/dist/modules/attributes/local/CreateLocalAttributeParams.js +6 -0
  52. package/dist/modules/attributes/local/CreateLocalAttributeParams.js.map +1 -1
  53. package/dist/modules/attributes/local/CreatePeerLocalAttributeParams.js.map +1 -1
  54. package/dist/modules/attributes/local/CreateSharedLocalAttributeCopyParams.js.map +1 -1
  55. package/dist/modules/attributes/local/LocalAttribute.d.ts +15 -2
  56. package/dist/modules/attributes/local/LocalAttribute.js +25 -4
  57. package/dist/modules/attributes/local/LocalAttribute.js.map +1 -1
  58. package/dist/modules/attributes/local/LocalAttributeShareInfo.js.map +1 -1
  59. package/dist/modules/attributes/local/QueryTranslator.d.ts +5 -1
  60. package/dist/modules/attributes/local/QueryTranslator.js +52 -7
  61. package/dist/modules/attributes/local/QueryTranslator.js.map +1 -1
  62. package/dist/modules/attributes/local/SucceedLocalAttributeParams.js.map +1 -1
  63. package/dist/modules/attributes/local/UpdateLocalAttributeParams.js.map +1 -1
  64. package/dist/modules/drafts/DraftsController.js +3 -3
  65. package/dist/modules/drafts/DraftsController.js.map +1 -1
  66. package/dist/modules/drafts/index.d.ts +2 -0
  67. package/dist/modules/drafts/index.js +19 -0
  68. package/dist/modules/drafts/index.js.map +1 -0
  69. package/dist/modules/drafts/local/Draft.js.map +1 -1
  70. package/dist/modules/index.d.ts +5 -50
  71. package/dist/modules/index.js +5 -49
  72. package/dist/modules/index.js.map +1 -1
  73. package/dist/modules/requests/events/IncomingRequestReceivedEvent.js +2 -1
  74. package/dist/modules/requests/events/IncomingRequestReceivedEvent.js.map +1 -1
  75. package/dist/modules/requests/events/IncomingRequestStatusChangedEvent.js +2 -1
  76. package/dist/modules/requests/events/IncomingRequestStatusChangedEvent.js.map +1 -1
  77. package/dist/modules/requests/events/OutgoingRequestCreatedEvent.d.ts +1 -1
  78. package/dist/modules/requests/events/OutgoingRequestCreatedEvent.js +2 -1
  79. package/dist/modules/requests/events/OutgoingRequestCreatedEvent.js.map +1 -1
  80. package/dist/modules/requests/events/OutgoingRequestFromRelationshipCreationChangeCreatedAndCompletedEvent.d.ts +1 -1
  81. package/dist/modules/requests/events/OutgoingRequestFromRelationshipCreationChangeCreatedAndCompletedEvent.js +2 -1
  82. package/dist/modules/requests/events/OutgoingRequestFromRelationshipCreationChangeCreatedAndCompletedEvent.js.map +1 -1
  83. package/dist/modules/requests/events/OutgoingRequestStatusChangedEvent.js +2 -1
  84. package/dist/modules/requests/events/OutgoingRequestStatusChangedEvent.js.map +1 -1
  85. package/dist/modules/requests/incoming/DecideRequestParametersValidator.d.ts +0 -1
  86. package/dist/modules/requests/incoming/DecideRequestParametersValidator.js +10 -13
  87. package/dist/modules/requests/incoming/DecideRequestParametersValidator.js.map +1 -1
  88. package/dist/modules/requests/incoming/IncomingRequestsController.d.ts +1 -0
  89. package/dist/modules/requests/incoming/IncomingRequestsController.js +41 -32
  90. package/dist/modules/requests/incoming/IncomingRequestsController.js.map +1 -1
  91. package/dist/modules/requests/incoming/checkPrerequisites/CheckPrerequisitesOfIncomingRequestParameters.js.map +1 -1
  92. package/dist/modules/requests/incoming/complete/CompleteIncomingRequestParameters.d.ts +2 -2
  93. package/dist/modules/requests/incoming/complete/CompleteIncomingRequestParameters.js +1 -1
  94. package/dist/modules/requests/incoming/complete/CompleteIncomingRequestParameters.js.map +1 -1
  95. package/dist/modules/requests/incoming/decide/InternalDecideRequestParameters.js.map +1 -1
  96. package/dist/modules/requests/incoming/received/ReceivedIncomingRequestParameters.js.map +1 -1
  97. package/dist/modules/requests/incoming/requireManualDecision/RequireManualDecisionOfIncomingRequestParameters.js.map +1 -1
  98. package/dist/modules/requests/index.d.ts +36 -0
  99. package/dist/modules/requests/index.js +52 -0
  100. package/dist/modules/requests/index.js.map +1 -0
  101. package/dist/modules/requests/itemProcessors/GenericRequestItemProcessor.d.ts +1 -1
  102. package/dist/modules/requests/itemProcessors/GenericRequestItemProcessor.js.map +1 -1
  103. package/dist/modules/requests/itemProcessors/IRequestItemProcessor.d.ts +1 -1
  104. package/dist/modules/requests/itemProcessors/RequestItemProcessorRegistry.js +3 -2
  105. package/dist/modules/requests/itemProcessors/RequestItemProcessorRegistry.js.map +1 -1
  106. package/dist/modules/requests/itemProcessors/createAttribute/CreateAttributeRequestItemProcessor.d.ts +4 -5
  107. package/dist/modules/requests/itemProcessors/createAttribute/CreateAttributeRequestItemProcessor.js +43 -33
  108. package/dist/modules/requests/itemProcessors/createAttribute/CreateAttributeRequestItemProcessor.js.map +1 -1
  109. package/dist/modules/requests/itemProcessors/proposeAttribute/AcceptProposeAttributeRequestItemParameters.d.ts +18 -9
  110. package/dist/modules/requests/itemProcessors/proposeAttribute/AcceptProposeAttributeRequestItemParameters.js +12 -3
  111. package/dist/modules/requests/itemProcessors/proposeAttribute/AcceptProposeAttributeRequestItemParameters.js.map +1 -1
  112. package/dist/modules/requests/itemProcessors/proposeAttribute/ProposeAttributeRequestItemProcessor.d.ts +1 -1
  113. package/dist/modules/requests/itemProcessors/proposeAttribute/ProposeAttributeRequestItemProcessor.js +6 -6
  114. package/dist/modules/requests/itemProcessors/proposeAttribute/ProposeAttributeRequestItemProcessor.js.map +1 -1
  115. package/dist/modules/requests/itemProcessors/readAttribute/AcceptReadAttributeRequestItemParameters.js +4 -2
  116. package/dist/modules/requests/itemProcessors/readAttribute/AcceptReadAttributeRequestItemParameters.js.map +1 -1
  117. package/dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.d.ts +1 -1
  118. package/dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.js +4 -3
  119. package/dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.js.map +1 -1
  120. package/dist/modules/requests/itemProcessors/registerAttributeListener/RegisterAttributeListenerRequestItemProcessor.d.ts +7 -0
  121. package/dist/modules/requests/itemProcessors/registerAttributeListener/RegisterAttributeListenerRequestItemProcessor.js +19 -0
  122. package/dist/modules/requests/itemProcessors/registerAttributeListener/RegisterAttributeListenerRequestItemProcessor.js.map +1 -0
  123. package/dist/modules/requests/itemProcessors/shareAttribute/ShareAttributeRequestItemProcessor.d.ts +8 -10
  124. package/dist/modules/requests/itemProcessors/shareAttribute/ShareAttributeRequestItemProcessor.js +36 -71
  125. package/dist/modules/requests/itemProcessors/shareAttribute/ShareAttributeRequestItemProcessor.js.map +1 -1
  126. package/dist/modules/requests/itemProcessors/utility/validateQuery.d.ts +2 -2
  127. package/dist/modules/requests/itemProcessors/utility/validateQuery.js +7 -7
  128. package/dist/modules/requests/itemProcessors/utility/validateQuery.js.map +1 -1
  129. package/dist/modules/requests/local/LocalRequest.d.ts +2 -0
  130. package/dist/modules/requests/local/LocalRequest.js +18 -1
  131. package/dist/modules/requests/local/LocalRequest.js.map +1 -1
  132. package/dist/modules/requests/local/LocalRequestStatus.d.ts +2 -1
  133. package/dist/modules/requests/local/LocalRequestStatus.js +1 -0
  134. package/dist/modules/requests/local/LocalRequestStatus.js.map +1 -1
  135. package/dist/modules/requests/local/LocalRequestStatusLogEntry.js.map +1 -1
  136. package/dist/modules/requests/local/LocalResponse.js.map +1 -1
  137. package/dist/modules/requests/outgoing/OutgoingRequestsController.d.ts +5 -2
  138. package/dist/modules/requests/outgoing/OutgoingRequestsController.js +45 -28
  139. package/dist/modules/requests/outgoing/OutgoingRequestsController.js.map +1 -1
  140. package/dist/modules/requests/outgoing/completeOutgoingRequest/CompleteOutgoingRequestParameters.js.map +1 -1
  141. package/dist/modules/requests/outgoing/createFromRelationshipCreationChange/CreateOutgoingRequestFromRelationshipCreationChangeParameters.js.map +1 -1
  142. package/dist/modules/requests/outgoing/createOutgoingRequest/CanCreateOutgoingRequestParameters.d.ts +13 -0
  143. package/dist/modules/requests/outgoing/createOutgoingRequest/CanCreateOutgoingRequestParameters.js +35 -0
  144. package/dist/modules/requests/outgoing/createOutgoingRequest/CanCreateOutgoingRequestParameters.js.map +1 -0
  145. package/dist/modules/requests/outgoing/createOutgoingRequest/CreateOutgoingRequestParameters.d.ts +4 -3
  146. package/dist/modules/requests/outgoing/createOutgoingRequest/CreateOutgoingRequestParameters.js.map +1 -1
  147. package/dist/modules/requests/outgoing/sentOutgoingRequest/SentOutgoingRequestParameters.js.map +1 -1
  148. package/dist/modules/settings/SettingsController.js +19 -4
  149. package/dist/modules/settings/SettingsController.js.map +1 -1
  150. package/dist/modules/settings/index.d.ts +3 -0
  151. package/dist/modules/settings/index.js +20 -0
  152. package/dist/modules/settings/index.js.map +1 -0
  153. package/dist/modules/settings/local/Setting.js.map +1 -1
  154. package/lib-web/nmshd.consumption.js +1121 -471
  155. package/lib-web/nmshd.consumption.js.map +1 -1
  156. package/lib-web/nmshd.consumption.min.js +1 -1
  157. package/lib-web/nmshd.consumption.min.js.map +1 -1
  158. package/package.json +23 -23
  159. package/dist/consumption/ConsumptionErrors.d.ts +0 -24
  160. package/dist/consumption/ConsumptionErrors.js +0 -44
  161. package/dist/consumption/ConsumptionErrors.js.map +0 -1
  162. package/dist/modules/attributes/LocalAttributesController.js.map +0 -1
  163. package/dist/modules/attributes/local/CreateRelationshipAttributeParams.js.map +0 -1
  164. package/dist/modules/requests/itemProcessors/createAttribute/AcceptCreateAttributeRequestItemParameters.d.ts +0 -7
  165. package/dist/modules/requests/itemProcessors/createAttribute/AcceptCreateAttributeRequestItemParameters.js +0 -20
  166. package/dist/modules/requests/itemProcessors/createAttribute/AcceptCreateAttributeRequestItemParameters.js.map +0 -1
  167. package/dist/modules/requests/itemProcessors/shareAttribute/AcceptShareAttributeRequestItemParameters.d.ts +0 -7
  168. package/dist/modules/requests/itemProcessors/shareAttribute/AcceptShareAttributeRequestItemParameters.js +0 -20
  169. package/dist/modules/requests/itemProcessors/shareAttribute/AcceptShareAttributeRequestItemParameters.js.map +0 -1
@@ -6,10 +6,10 @@ const content_1 = require("@nmshd/content");
6
6
  const crypto_1 = require("@nmshd/crypto");
7
7
  const transport_1 = require("@nmshd/transport");
8
8
  exports.buildInformation = {
9
- version: "2.0.0-beta.3",
10
- build: "53",
11
- date: "2022-07-22T10:49:10+00:00",
12
- commit: "7af5e3a24a7d729403577ed228905468f1fccddc",
9
+ version: "2.0.0-beta.30",
10
+ build: "84",
11
+ date: "2022-10-20T11:54:08+00:00",
12
+ commit: "7ef6f5c38ee66eebc8e417df0ee86fd8983bd478",
13
13
  dependencies: {"@js-soft/docdb-querytranslator":"^1.1.0","ts-simple-nameof":"^1.3.1"},
14
14
  libraries: {
15
15
  transport: transport_1.buildInformation,
@@ -9,5 +9,5 @@ export declare class ConsumptionBaseController {
9
9
  get parent(): ConsumptionController;
10
10
  constructor(controllerName: ConsumptionControllerName, _parent: ConsumptionController);
11
11
  init(): Promise<this>;
12
- protected parseArray<T extends CoreSerializable | CoreSerializable>(values: Object[], type: new () => T): Promise<T[]>;
12
+ protected parseArray<T extends CoreSerializable>(values: Object[], type: new () => T): T[];
13
13
  }
@@ -16,9 +16,8 @@ class ConsumptionBaseController {
16
16
  init() {
17
17
  return Promise.resolve(this);
18
18
  }
19
- async parseArray(values, type) {
20
- const parsePromises = values.map((v) => type.from(v));
21
- return await Promise.all(parsePromises);
19
+ parseArray(values, type) {
20
+ return values.map((v) => type.fromAny(v));
22
21
  }
23
22
  }
24
23
  exports.ConsumptionBaseController = ConsumptionBaseController;
@@ -1 +1 @@
1
- {"version":3,"file":"ConsumptionBaseController.js","sourceRoot":"","sources":["../../src/consumption/ConsumptionBaseController.ts"],"names":[],"mappings":";;;AACA,gDAA2E;AAI3E,MAAa,yBAAyB;IAUlC,YAAmB,cAAyC,EAAY,OAA8B;QAA9B,YAAO,GAAP,OAAO,CAAuB;QAClG,IAAI,CAAC,IAAI,GAAG,kCAAsB,CAAC,SAAS,CAAC,cAAc,CAAC,CAAA;IAChE,CAAC;IAVD,IAAW,GAAG;QACV,OAAO,IAAI,CAAC,IAAI,CAAA;IACpB,CAAC;IAED,IAAW,MAAM;QACb,OAAO,IAAI,CAAC,OAAO,CAAA;IACvB,CAAC;IAMM,IAAI;QACP,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAES,KAAK,CAAC,UAAU,CACtB,MAAgB,EAChB,IAAiB;QAEjB,MAAM,aAAa,GAAiB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,IAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QAC5E,OAAO,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IAC3C,CAAC;CACJ;AAzBD,8DAyBC"}
1
+ {"version":3,"file":"ConsumptionBaseController.js","sourceRoot":"","sources":["../../src/consumption/ConsumptionBaseController.ts"],"names":[],"mappings":";;;AACA,gDAA2E;AAI3E,MAAa,yBAAyB;IAUlC,YAAmB,cAAyC,EAAY,OAA8B;QAA9B,YAAO,GAAP,OAAO,CAAuB;QAClG,IAAI,CAAC,IAAI,GAAG,kCAAsB,CAAC,SAAS,CAAC,cAAc,CAAC,CAAA;IAChE,CAAC;IAVD,IAAW,GAAG;QACV,OAAO,IAAI,CAAC,IAAI,CAAA;IACpB,CAAC;IAED,IAAW,MAAM;QACb,OAAO,IAAI,CAAC,OAAO,CAAA;IACvB,CAAC;IAMM,IAAI;QACP,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAES,UAAU,CAA6B,MAAgB,EAAE,IAAiB;QAChF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,IAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;IACtD,CAAC;CACJ;AArBD,8DAqBC"}
@@ -1,17 +1,11 @@
1
1
  import { AccountController, Transport } from "@nmshd/transport";
2
- import { LocalAttributesController } from "../modules/attributes/LocalAttributesController";
3
- import { DraftsController } from "../modules/drafts/DraftsController";
4
- import { IncomingRequestsController } from "../modules/requests/incoming/IncomingRequestsController";
5
- import { ProcessorConstructor } from "../modules/requests/itemProcessors/ProcessorConstructor";
6
- import { RequestItemConstructor } from "../modules/requests/itemProcessors/RequestItemConstructor";
7
- import { OutgoingRequestsController } from "../modules/requests/outgoing/OutgoingRequestsController";
8
- import { SettingsController } from "../modules/settings/SettingsController";
2
+ import { AttributeListenersController, AttributesController, DraftsController, IncomingRequestsController, OutgoingRequestsController, ProcessorConstructor, RequestItemConstructor, SettingsController } from "../modules";
9
3
  export declare class ConsumptionController {
10
4
  readonly transport: Transport;
11
5
  readonly accountController: AccountController;
12
6
  constructor(transport: Transport, accountController: AccountController);
13
7
  private _attributes;
14
- get attributes(): LocalAttributesController;
8
+ get attributes(): AttributesController;
15
9
  private _drafts;
16
10
  get drafts(): DraftsController;
17
11
  private _outgoingRequests;
@@ -20,6 +14,8 @@ export declare class ConsumptionController {
20
14
  get incomingRequests(): IncomingRequestsController;
21
15
  private _settings;
22
16
  get settings(): SettingsController;
17
+ private _attributeListeners;
18
+ get attributeListeners(): AttributeListenersController;
23
19
  init(requestItemProcessorOverrides?: Map<RequestItemConstructor, ProcessorConstructor>): Promise<ConsumptionController>;
24
20
  private getDefaultProcessors;
25
21
  }
@@ -3,12 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ConsumptionController = void 0;
4
4
  const content_1 = require("@nmshd/content");
5
5
  const modules_1 = require("../modules");
6
- const LocalAttributesController_1 = require("../modules/attributes/LocalAttributesController");
7
- const DraftsController_1 = require("../modules/drafts/DraftsController");
8
- const IncomingRequestsController_1 = require("../modules/requests/incoming/IncomingRequestsController");
9
- const RequestItemProcessorRegistry_1 = require("../modules/requests/itemProcessors/RequestItemProcessorRegistry");
10
- const OutgoingRequestsController_1 = require("../modules/requests/outgoing/OutgoingRequestsController");
11
- const SettingsController_1 = require("../modules/settings/SettingsController");
12
6
  class ConsumptionController {
13
7
  constructor(transport, accountController) {
14
8
  this.transport = transport;
@@ -29,24 +23,31 @@ class ConsumptionController {
29
23
  get settings() {
30
24
  return this._settings;
31
25
  }
26
+ get attributeListeners() {
27
+ return this._attributeListeners;
28
+ }
32
29
  async init(requestItemProcessorOverrides = new Map()) {
33
- this._attributes = await new LocalAttributesController_1.LocalAttributesController(this, this.transport.eventBus, this.accountController.identity).init();
34
- this._drafts = await new DraftsController_1.DraftsController(this).init();
35
- const processorRegistry = new RequestItemProcessorRegistry_1.RequestItemProcessorRegistry(this, this.getDefaultProcessors());
30
+ this._attributes = await new modules_1.AttributesController(this, this.transport.eventBus, this.accountController.identity).init();
31
+ this._drafts = await new modules_1.DraftsController(this).init();
32
+ const processorRegistry = new modules_1.RequestItemProcessorRegistry(this, this.getDefaultProcessors());
36
33
  for (const [itemConstructor, processorConstructor] of requestItemProcessorOverrides) {
37
34
  processorRegistry.registerOrReplaceProcessor(itemConstructor, processorConstructor);
38
35
  }
39
- this._outgoingRequests = await new OutgoingRequestsController_1.OutgoingRequestsController(await this.accountController.getSynchronizedCollection("Requests"), processorRegistry, this, this.transport.eventBus, this.accountController.identity).init();
40
- this._incomingRequests = await new IncomingRequestsController_1.IncomingRequestsController(await this.accountController.getSynchronizedCollection("Requests"), processorRegistry, this, this.transport.eventBus, this.accountController.identity).init();
41
- this._settings = await new SettingsController_1.SettingsController(this).init();
36
+ this._outgoingRequests = await new modules_1.OutgoingRequestsController(await this.accountController.getSynchronizedCollection("Requests"), processorRegistry, this, this.transport.eventBus, this.accountController.identity).init();
37
+ this._incomingRequests = await new modules_1.IncomingRequestsController(await this.accountController.getSynchronizedCollection("Requests"), processorRegistry, this, this.transport.eventBus, this.accountController.identity).init();
38
+ this._settings = await new modules_1.SettingsController(this).init();
39
+ this._attributeListeners = await new modules_1.AttributeListenersController(this, this.transport.eventBus, this.accountController.identity).init();
42
40
  return this;
43
41
  }
44
42
  getDefaultProcessors() {
45
43
  return new Map([
44
+ [content_1.ShareAttributeRequestItem, modules_1.ShareAttributeRequestItemProcessor],
46
45
  [content_1.CreateAttributeRequestItem, modules_1.CreateAttributeRequestItemProcessor],
47
46
  [content_1.ReadAttributeRequestItem, modules_1.ReadAttributeRequestItemProcessor],
48
47
  [content_1.ProposeAttributeRequestItem, modules_1.ProposeAttributeRequestItemProcessor],
49
- [content_1.ShareAttributeRequestItem, modules_1.ShareAttributeRequestItemProcessor]
48
+ [content_1.ConsentRequestItem, modules_1.GenericRequestItemProcessor],
49
+ [content_1.AuthenticationRequestItem, modules_1.GenericRequestItemProcessor],
50
+ [content_1.RegisterAttributeListenerRequestItem, modules_1.RegisterAttributeListenerRequestItemProcessor]
50
51
  ]);
51
52
  }
52
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ConsumptionController.js","sourceRoot":"","sources":["../../src/consumption/ConsumptionController.ts"],"names":[],"mappings":";;;AAAA,4CAKuB;AAEvB,wCAKmB;AACnB,+FAA2F;AAC3F,yEAAqE;AACrE,wGAAoG;AAGpG,kHAA8G;AAC9G,wGAAoG;AACpG,+EAA2E;AAE3E,MAAa,qBAAqB;IAC9B,YAAmC,SAAoB,EAAkB,iBAAoC;QAA1E,cAAS,GAAT,SAAS,CAAW;QAAkB,sBAAiB,GAAjB,iBAAiB,CAAmB;IAAG,CAAC;IAGjH,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,WAAW,CAAA;IAC3B,CAAC;IAGD,IAAW,MAAM;QACb,OAAO,IAAI,CAAC,OAAO,CAAA;IACvB,CAAC;IAGD,IAAW,gBAAgB;QACvB,OAAO,IAAI,CAAC,iBAAiB,CAAA;IACjC,CAAC;IAGD,IAAW,gBAAgB;QACvB,OAAO,IAAI,CAAC,iBAAiB,CAAA;IACjC,CAAC;IAGD,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,SAAS,CAAA;IACzB,CAAC;IAEM,KAAK,CAAC,IAAI,CACb,gCAAgC,IAAI,GAAG,EAAgD;QAEvF,IAAI,CAAC,WAAW,GAAG,MAAM,IAAI,qDAAyB,CAClD,IAAI,EACJ,IAAI,CAAC,SAAS,CAAC,QAAQ,EACvB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAClC,CAAC,IAAI,EAAE,CAAA;QACR,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,mCAAgB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;QAEtD,MAAM,iBAAiB,GAAG,IAAI,2DAA4B,CAAC,IAAI,EAAE,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAA;QAE7F,KAAK,MAAM,CAAC,eAAe,EAAE,oBAAoB,CAAC,IAAI,6BAA6B,EAAE;YACjF,iBAAiB,CAAC,0BAA0B,CAAC,eAAe,EAAE,oBAAoB,CAAC,CAAA;SACtF;QAED,IAAI,CAAC,iBAAiB,GAAG,MAAM,IAAI,uDAA0B,CACzD,MAAM,IAAI,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,UAAU,CAAC,EAClE,iBAAiB,EACjB,IAAI,EACJ,IAAI,CAAC,SAAS,CAAC,QAAQ,EACvB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAClC,CAAC,IAAI,EAAE,CAAA;QACR,IAAI,CAAC,iBAAiB,GAAG,MAAM,IAAI,uDAA0B,CACzD,MAAM,IAAI,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,UAAU,CAAC,EAClE,iBAAiB,EACjB,IAAI,EACJ,IAAI,CAAC,SAAS,CAAC,QAAQ,EACvB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAClC,CAAC,IAAI,EAAE,CAAA;QACR,IAAI,CAAC,SAAS,GAAG,MAAM,IAAI,uCAAkB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;QAC1D,OAAO,IAAI,CAAA;IACf,CAAC;IAEO,oBAAoB;QACxB,OAAO,IAAI,GAAG,CAA+C;YACzD,CAAC,oCAA0B,EAAE,6CAAmC,CAAC;YACjE,CAAC,kCAAwB,EAAE,2CAAiC,CAAC;YAC7D,CAAC,qCAA2B,EAAE,8CAAoC,CAAC;YACnE,CAAC,mCAAyB,EAAE,4CAAkC,CAAC;SAClE,CAAC,CAAA;IACN,CAAC;CACJ;AAtED,sDAsEC"}
1
+ {"version":3,"file":"ConsumptionController.js","sourceRoot":"","sources":["../../src/consumption/ConsumptionController.ts"],"names":[],"mappings":";;;AAAA,4CAQuB;AAEvB,wCAgBmB;AAEnB,MAAa,qBAAqB;IAC9B,YAAmC,SAAoB,EAAkB,iBAAoC;QAA1E,cAAS,GAAT,SAAS,CAAW;QAAkB,sBAAiB,GAAjB,iBAAiB,CAAmB;IAAG,CAAC;IAGjH,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,WAAW,CAAA;IAC3B,CAAC;IAGD,IAAW,MAAM;QACb,OAAO,IAAI,CAAC,OAAO,CAAA;IACvB,CAAC;IAGD,IAAW,gBAAgB;QACvB,OAAO,IAAI,CAAC,iBAAiB,CAAA;IACjC,CAAC;IAGD,IAAW,gBAAgB;QACvB,OAAO,IAAI,CAAC,iBAAiB,CAAA;IACjC,CAAC;IAGD,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,SAAS,CAAA;IACzB,CAAC;IAGD,IAAW,kBAAkB;QACzB,OAAO,IAAI,CAAC,mBAAmB,CAAA;IACnC,CAAC;IAEM,KAAK,CAAC,IAAI,CACb,gCAAgC,IAAI,GAAG,EAAgD;QAEvF,IAAI,CAAC,WAAW,GAAG,MAAM,IAAI,8BAAoB,CAC7C,IAAI,EACJ,IAAI,CAAC,SAAS,CAAC,QAAQ,EACvB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAClC,CAAC,IAAI,EAAE,CAAA;QACR,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,0BAAgB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;QAEtD,MAAM,iBAAiB,GAAG,IAAI,sCAA4B,CAAC,IAAI,EAAE,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAA;QAE7F,KAAK,MAAM,CAAC,eAAe,EAAE,oBAAoB,CAAC,IAAI,6BAA6B,EAAE;YACjF,iBAAiB,CAAC,0BAA0B,CAAC,eAAe,EAAE,oBAAoB,CAAC,CAAA;SACtF;QAED,IAAI,CAAC,iBAAiB,GAAG,MAAM,IAAI,oCAA0B,CACzD,MAAM,IAAI,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,UAAU,CAAC,EAClE,iBAAiB,EACjB,IAAI,EACJ,IAAI,CAAC,SAAS,CAAC,QAAQ,EACvB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAClC,CAAC,IAAI,EAAE,CAAA;QACR,IAAI,CAAC,iBAAiB,GAAG,MAAM,IAAI,oCAA0B,CACzD,MAAM,IAAI,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,UAAU,CAAC,EAClE,iBAAiB,EACjB,IAAI,EACJ,IAAI,CAAC,SAAS,CAAC,QAAQ,EACvB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAClC,CAAC,IAAI,EAAE,CAAA;QACR,IAAI,CAAC,SAAS,GAAG,MAAM,IAAI,4BAAkB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;QAC1D,IAAI,CAAC,mBAAmB,GAAG,MAAM,IAAI,sCAA4B,CAC7D,IAAI,EACJ,IAAI,CAAC,SAAS,CAAC,QAAQ,EACvB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAClC,CAAC,IAAI,EAAE,CAAA;QACR,OAAO,IAAI,CAAA;IACf,CAAC;IAEO,oBAAoB;QACxB,OAAO,IAAI,GAAG,CAA+C;YACzD,CAAC,mCAAyB,EAAE,4CAAkC,CAAC;YAC/D,CAAC,oCAA0B,EAAE,6CAAmC,CAAC;YACjE,CAAC,kCAAwB,EAAE,2CAAiC,CAAC;YAC7D,CAAC,qCAA2B,EAAE,8CAAoC,CAAC;YACnE,CAAC,4BAAkB,EAAE,qCAA2B,CAAC;YACjD,CAAC,mCAAyB,EAAE,qCAA2B,CAAC;YACxD,CAAC,8CAAoC,EAAE,uDAA6C,CAAC;SACxF,CAAC,CAAA;IACN,CAAC;CACJ;AAnFD,sDAmFC"}
@@ -1,5 +1,6 @@
1
1
  export declare enum ConsumptionControllerName {
2
- LocalAttributesController = "LocalAttributesController",
2
+ AttributesController = "AttributesController",
3
+ AttributeListenersController = "AttributeListenersController",
3
4
  DraftsController = "DraftsController",
4
5
  RelationshipInfoController = "RelationshipInfoController",
5
6
  SingleRelationshipController = "SingleRelationshipController",
@@ -3,7 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ConsumptionControllerName = void 0;
4
4
  var ConsumptionControllerName;
5
5
  (function (ConsumptionControllerName) {
6
- ConsumptionControllerName["LocalAttributesController"] = "LocalAttributesController";
6
+ ConsumptionControllerName["AttributesController"] = "AttributesController";
7
+ ConsumptionControllerName["AttributeListenersController"] = "AttributeListenersController";
7
8
  ConsumptionControllerName["DraftsController"] = "DraftsController";
8
9
  ConsumptionControllerName["RelationshipInfoController"] = "RelationshipInfoController";
9
10
  ConsumptionControllerName["SingleRelationshipController"] = "SingleRelationshipController";
@@ -1 +1 @@
1
- {"version":3,"file":"ConsumptionControllerName.js","sourceRoot":"","sources":["../../src/consumption/ConsumptionControllerName.ts"],"names":[],"mappings":";;;AAAA,IAAY,yBAWX;AAXD,WAAY,yBAAyB;IACjC,oFAAuD,CAAA;IACvD,kEAAqC,CAAA;IACrC,sFAAyD,CAAA;IACzD,0FAA6D,CAAA;IAC7D,kFAAqD,CAAA;IACrD,oFAAuD,CAAA;IAEvD,qEAAwC,CAAA;IACxC,sEAAyC,CAAA;IACzC,4EAA+C,CAAA;AACnD,CAAC,EAXW,yBAAyB,GAAzB,iCAAyB,KAAzB,iCAAyB,QAWpC"}
1
+ {"version":3,"file":"ConsumptionControllerName.js","sourceRoot":"","sources":["../../src/consumption/ConsumptionControllerName.ts"],"names":[],"mappings":";;;AAAA,IAAY,yBAYX;AAZD,WAAY,yBAAyB;IACjC,0EAA6C,CAAA;IAC7C,0FAA6D,CAAA;IAC7D,kEAAqC,CAAA;IACrC,sFAAyD,CAAA;IACzD,0FAA6D,CAAA;IAC7D,kFAAqD,CAAA;IACrD,oFAAuD,CAAA;IAEvD,qEAAwC,CAAA;IACxC,sEAAyC,CAAA;IACzC,4EAA+C,CAAA;AACnD,CAAC,EAZW,yBAAyB,GAAzB,iCAAyB,KAAzB,iCAAyB,QAYpC"}
@@ -0,0 +1,2 @@
1
+ export declare class ConsumptionError extends Error {
2
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ConsumptionError = void 0;
4
+ class ConsumptionError extends Error {
5
+ }
6
+ exports.ConsumptionError = ConsumptionError;
7
+ //# sourceMappingURL=ConsumptionError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConsumptionError.js","sourceRoot":"","sources":["../../src/consumption/ConsumptionError.ts"],"names":[],"mappings":";;;AAAA,MAAa,gBAAiB,SAAQ,KAAK;CAAG;AAA9C,4CAA8C"}
@@ -4,4 +4,5 @@ export declare class ConsumptionIds {
4
4
  static readonly setting: CoreIdHelper;
5
5
  static readonly attribute: CoreIdHelper;
6
6
  static readonly request: CoreIdHelper;
7
+ static readonly attributeListener: CoreIdHelper;
7
8
  }
@@ -9,4 +9,5 @@ ConsumptionIds.draft = new transport_1.CoreIdHelper("LCLDRF");
9
9
  ConsumptionIds.setting = new transport_1.CoreIdHelper("LCLSET");
10
10
  ConsumptionIds.attribute = new transport_1.CoreIdHelper("ATT");
11
11
  ConsumptionIds.request = new transport_1.CoreIdHelper("REQ");
12
+ ConsumptionIds.attributeListener = new transport_1.CoreIdHelper("ATL");
12
13
  //# sourceMappingURL=ConsumptionIds.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConsumptionIds.js","sourceRoot":"","sources":["../../src/consumption/ConsumptionIds.ts"],"names":[],"mappings":";;;AAAA,gDAA+C;AAE/C,MAAa,cAAc;;AAA3B,wCAMC;AAL0B,oBAAK,GAAG,IAAI,wBAAY,CAAC,QAAQ,CAAC,CAAA;AAClC,sBAAO,GAAG,IAAI,wBAAY,CAAC,QAAQ,CAAC,CAAA;AAEpC,wBAAS,GAAG,IAAI,wBAAY,CAAC,KAAK,CAAC,CAAA;AACnC,sBAAO,GAAG,IAAI,wBAAY,CAAC,KAAK,CAAC,CAAA"}
1
+ {"version":3,"file":"ConsumptionIds.js","sourceRoot":"","sources":["../../src/consumption/ConsumptionIds.ts"],"names":[],"mappings":";;;AAAA,gDAA+C;AAE/C,MAAa,cAAc;;AAA3B,wCAOC;AAN0B,oBAAK,GAAG,IAAI,wBAAY,CAAC,QAAQ,CAAC,CAAA;AAClC,sBAAO,GAAG,IAAI,wBAAY,CAAC,QAAQ,CAAC,CAAA;AAEpC,wBAAS,GAAG,IAAI,wBAAY,CAAC,KAAK,CAAC,CAAA;AACnC,sBAAO,GAAG,IAAI,wBAAY,CAAC,KAAK,CAAC,CAAA;AACjC,gCAAiB,GAAG,IAAI,wBAAY,CAAC,KAAK,CAAC,CAAA"}
@@ -0,0 +1,23 @@
1
+ import { ApplicationError } from "@js-soft/ts-utils";
2
+ import { CoreError, CoreId } from "@nmshd/transport";
3
+ declare class Attributes {
4
+ cannotSucceedAttributesWithAParent(parentId: string | CoreId): CoreError;
5
+ }
6
+ declare class Requests {
7
+ unexpectedErrorDuringRequestItemProcessing(error: any): CoreError;
8
+ servalErrorDuringRequestItemProcessing(error: any): CoreError;
9
+ invalidRequestItem(message: string): CoreError;
10
+ private static readonly _decideValidation;
11
+ readonly decideValidation: {
12
+ invalidNumberOfItems(message: string): ApplicationError;
13
+ itemAcceptedButParentNotAccepted(message: string): ApplicationError;
14
+ mustBeAcceptedItemNotAccepted(message: string): ApplicationError;
15
+ requestItemAnsweredAsRequestItemGroup(): ApplicationError;
16
+ requestItemGroupAnsweredAsRequestItem(): ApplicationError;
17
+ };
18
+ }
19
+ export declare class CoreErrors {
20
+ static attributes: Attributes;
21
+ static requests: Requests;
22
+ }
23
+ export {};
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CoreErrors = void 0;
4
+ const ts_utils_1 = require("@js-soft/ts-utils");
5
+ const transport_1 = require("@nmshd/transport");
6
+ class Attributes {
7
+ cannotSucceedAttributesWithAParent(parentId) {
8
+ return new transport_1.CoreError("error.consumption.attributes.cannotSucceedAttributesWithAParent", `The Attribute you want to succeed has a parent (id: ${parentId.toString()}). You cannot succeed Attributes with a parent. Instead, succeed the parent, which will implicitly succeed all its children.`);
9
+ }
10
+ }
11
+ class Requests {
12
+ constructor() {
13
+ this.decideValidation = new Requests._decideValidation();
14
+ }
15
+ unexpectedErrorDuringRequestItemProcessing(error) {
16
+ return new transport_1.CoreError("error.consumption.requests.unexpectedErrorDuringRequestItemProcessing", error instanceof Error ? error.message : `Unknown error: '${JSON.stringify(error)}'`, undefined, undefined, error);
17
+ }
18
+ servalErrorDuringRequestItemProcessing(error) {
19
+ return new transport_1.CoreError("error.consumption.requests.servalErrorDuringRequestItemProcessing", error instanceof Error ? error.message : `Serval error: '${JSON.stringify(error)}'`, undefined, undefined, error);
20
+ }
21
+ invalidRequestItem(message) {
22
+ return new transport_1.CoreError("error.consumption.requests.invalidRequestItem", message);
23
+ }
24
+ }
25
+ Requests._decideValidation = class {
26
+ invalidNumberOfItems(message) {
27
+ return new ts_utils_1.ApplicationError("error.consumption.requests.decide.validation.invalidNumberOfItems", message);
28
+ }
29
+ itemAcceptedButParentNotAccepted(message) {
30
+ return new ts_utils_1.ApplicationError("error.consumption.requests.decide.validation.itemAcceptedButParentNotAccepted", message);
31
+ }
32
+ mustBeAcceptedItemNotAccepted(message) {
33
+ return new ts_utils_1.ApplicationError("error.consumption.requests.decide.validation.mustBeAcceptedItemNotAccepted", message);
34
+ }
35
+ requestItemAnsweredAsRequestItemGroup() {
36
+ return new ts_utils_1.ApplicationError("error.consumption.requests.decide.validation.requestItemAnsweredAsRequestItemGroup", "The RequestItem was answered as a RequestItemGroup.");
37
+ }
38
+ requestItemGroupAnsweredAsRequestItem() {
39
+ return new ts_utils_1.ApplicationError("error.consumption.requests.decide.validation.requestItemGroupAnsweredAsRequestItem", "The RequestItemGroup was answered as a RequestItem.");
40
+ }
41
+ };
42
+ class CoreErrors {
43
+ }
44
+ exports.CoreErrors = CoreErrors;
45
+ CoreErrors.attributes = new Attributes();
46
+ CoreErrors.requests = new Requests();
47
+ //# sourceMappingURL=CoreErrors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CoreErrors.js","sourceRoot":"","sources":["../../src/consumption/CoreErrors.ts"],"names":[],"mappings":";;;AAAA,gDAAoD;AACpD,gDAAoD;AAEpD,MAAM,UAAU;IACL,kCAAkC,CAAC,QAAyB;QAC/D,OAAO,IAAI,qBAAS,CAChB,iEAAiE,EACjE,uDAAuD,QAAQ,CAAC,QAAQ,EAAE,8HAA8H,CAC3M,CAAA;IACL,CAAC;CACJ;AAED,MAAM,QAAQ;IAAd;QA2DoB,qBAAgB,GAAG,IAAI,QAAQ,CAAC,iBAAiB,EAAE,CAAA;IACvE,CAAC;IA3DU,0CAA0C,CAAC,KAAU;QACxD,OAAO,IAAI,qBAAS,CAChB,uEAAuE,EACvE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EACpF,SAAS,EACT,SAAS,EACT,KAAK,CACR,CAAA;IACL,CAAC;IAEM,sCAAsC,CAAC,KAAU;QACpD,OAAO,IAAI,qBAAS,CAChB,mEAAmE,EACnE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EACnF,SAAS,EACT,SAAS,EACT,KAAK,CACR,CAAA;IACL,CAAC;IAEM,kBAAkB,CAAC,OAAe;QACrC,OAAO,IAAI,qBAAS,CAAC,+CAA+C,EAAE,OAAO,CAAC,CAAA;IAClF,CAAC;;AAEuB,0BAAiB,GAAG;IACjC,oBAAoB,CAAC,OAAe;QACvC,OAAO,IAAI,2BAAgB,CAAC,mEAAmE,EAAE,OAAO,CAAC,CAAA;IAC7G,CAAC;IAEM,gCAAgC,CAAC,OAAe;QACnD,OAAO,IAAI,2BAAgB,CACvB,+EAA+E,EAC/E,OAAO,CACV,CAAA;IACL,CAAC;IAEM,6BAA6B,CAAC,OAAe;QAChD,OAAO,IAAI,2BAAgB,CACvB,4EAA4E,EAC5E,OAAO,CACV,CAAA;IACL,CAAC;IAEM,qCAAqC;QACxC,OAAO,IAAI,2BAAgB,CACvB,oFAAoF,EACpF,qDAAqD,CACxD,CAAA;IACL,CAAC;IAEM,qCAAqC;QACxC,OAAO,IAAI,2BAAgB,CACvB,oFAAoF,EACpF,qDAAqD,CACxD,CAAA;IACL,CAAC;CACJ,CAAA;AAKL,MAAa,UAAU;;AAAvB,gCAGC;AAFiB,qBAAU,GAAG,IAAI,UAAU,EAAE,CAAA;AAC7B,mBAAQ,GAAG,IAAI,QAAQ,EAAE,CAAA"}
@@ -1,4 +1,5 @@
1
1
  export * from "./ConsumptionBaseController";
2
2
  export * from "./ConsumptionControllerName";
3
- export * from "./ConsumptionErrors";
3
+ export * from "./ConsumptionError";
4
4
  export * from "./ConsumptionIds";
5
+ export * from "./CoreErrors";
@@ -16,6 +16,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./ConsumptionBaseController"), exports);
18
18
  __exportStar(require("./ConsumptionControllerName"), exports);
19
- __exportStar(require("./ConsumptionErrors"), exports);
19
+ __exportStar(require("./ConsumptionError"), exports);
20
20
  __exportStar(require("./ConsumptionIds"), exports);
21
+ __exportStar(require("./CoreErrors"), exports);
21
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/consumption/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8DAA2C;AAC3C,8DAA2C;AAC3C,sDAAmC;AACnC,mDAAgC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/consumption/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8DAA2C;AAC3C,8DAA2C;AAC3C,qDAAkC;AAClC,mDAAgC;AAChC,+CAA4B"}
@@ -0,0 +1,18 @@
1
+ import { EventBus } from "@js-soft/ts-utils";
2
+ import { CoreAddress, CoreId } from "@nmshd/transport";
3
+ import { ConsumptionBaseController } from "../../consumption/ConsumptionBaseController";
4
+ import { ConsumptionController } from "../../consumption/ConsumptionController";
5
+ import { ICreateLocalAttributeListenerParams } from "./local/CreateLocalAttributeListenerParams";
6
+ import { LocalAttributeListener } from "./local/LocalAttributeListener";
7
+ export declare class AttributeListenersController extends ConsumptionBaseController {
8
+ private readonly eventBus;
9
+ private readonly identity;
10
+ private attributeListeners;
11
+ constructor(parent: ConsumptionController, eventBus: EventBus, identity: {
12
+ address: CoreAddress;
13
+ });
14
+ init(): Promise<this>;
15
+ getAttributeListeners(query?: any): Promise<LocalAttributeListener[]>;
16
+ getAttributeListener(id: CoreId): Promise<LocalAttributeListener | undefined>;
17
+ createAttributeListener(params: ICreateLocalAttributeListenerParams): Promise<LocalAttributeListener>;
18
+ }
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AttributeListenersController = void 0;
4
+ const consumption_1 = require("../../consumption");
5
+ const ConsumptionBaseController_1 = require("../../consumption/ConsumptionBaseController");
6
+ const ConsumptionControllerName_1 = require("../../consumption/ConsumptionControllerName");
7
+ const events_1 = require("./events");
8
+ const CreateLocalAttributeListenerParams_1 = require("./local/CreateLocalAttributeListenerParams");
9
+ const LocalAttributeListener_1 = require("./local/LocalAttributeListener");
10
+ class AttributeListenersController extends ConsumptionBaseController_1.ConsumptionBaseController {
11
+ constructor(parent, eventBus, identity) {
12
+ super(ConsumptionControllerName_1.ConsumptionControllerName.AttributeListenersController, parent);
13
+ this.eventBus = eventBus;
14
+ this.identity = identity;
15
+ }
16
+ async init() {
17
+ await super.init();
18
+ this.attributeListeners = await this.parent.accountController.getSynchronizedCollection("AttributeListeners");
19
+ return this;
20
+ }
21
+ async getAttributeListeners(query) {
22
+ const items = await this.attributeListeners.find(query);
23
+ return this.parseArray(items, LocalAttributeListener_1.LocalAttributeListener);
24
+ }
25
+ async getAttributeListener(id) {
26
+ const listener = await this.attributeListeners.read(id.toString());
27
+ if (!listener)
28
+ return;
29
+ return LocalAttributeListener_1.LocalAttributeListener.from(listener);
30
+ }
31
+ async createAttributeListener(params) {
32
+ const parsedParams = CreateLocalAttributeListenerParams_1.CreateLocalAttributeListenerParams.from(params);
33
+ const listener = LocalAttributeListener_1.LocalAttributeListener.from({
34
+ id: await consumption_1.ConsumptionIds.attributeListener.generate(),
35
+ query: parsedParams.query,
36
+ peer: parsedParams.peer
37
+ });
38
+ await this.attributeListeners.create(listener);
39
+ this.eventBus.publish(new events_1.AttributeListenerCreatedEvent(this.identity.address.toString(), listener));
40
+ return listener;
41
+ }
42
+ }
43
+ exports.AttributeListenersController = AttributeListenersController;
44
+ //# sourceMappingURL=AttributeListenersController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AttributeListenersController.js","sourceRoot":"","sources":["../../../src/modules/attributeListeners/AttributeListenersController.ts"],"names":[],"mappings":";;;AAEA,mDAAkD;AAClD,2FAAuF;AAEvF,2FAAuF;AACvF,qCAAwD;AACxD,mGAGmD;AACnD,2EAAuE;AAEvE,MAAa,4BAA6B,SAAQ,qDAAyB;IAGvE,YACI,MAA6B,EACZ,QAAkB,EAClB,QAAkC;QAEnD,KAAK,CAAC,qDAAyB,CAAC,4BAA4B,EAAE,MAAM,CAAC,CAAA;QAHpD,aAAQ,GAAR,QAAQ,CAAU;QAClB,aAAQ,GAAR,QAAQ,CAA0B;IAGvD,CAAC;IAEe,KAAK,CAAC,IAAI;QACtB,MAAM,KAAK,CAAC,IAAI,EAAE,CAAA;QAElB,IAAI,CAAC,kBAAkB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,oBAAoB,CAAC,CAAA;QAE7G,OAAO,IAAI,CAAA;IACf,CAAC;IAEM,KAAK,CAAC,qBAAqB,CAAC,KAAW;QAC1C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACvD,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,+CAAsB,CAAC,CAAA;IACzD,CAAC;IAEM,KAAK,CAAC,oBAAoB,CAAC,EAAU;QACxC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;QAClE,IAAI,CAAC,QAAQ;YAAE,OAAM;QAErB,OAAO,+CAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAChD,CAAC;IAEM,KAAK,CAAC,uBAAuB,CAAC,MAA2C;QAC5E,MAAM,YAAY,GAAG,uEAAkC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAEpE,MAAM,QAAQ,GAAG,+CAAsB,CAAC,IAAI,CAAC;YACzC,EAAE,EAAE,MAAM,4BAAc,CAAC,iBAAiB,CAAC,QAAQ,EAAE;YACrD,KAAK,EAAE,YAAY,CAAC,KAAK;YACzB,IAAI,EAAE,YAAY,CAAC,IAAI;SAC1B,CAAC,CAAA;QAEF,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAC9C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,sCAA6B,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAA;QAEpG,OAAO,QAAQ,CAAA;IACnB,CAAC;CACJ;AA7CD,oEA6CC"}
@@ -0,0 +1,6 @@
1
+ import { TransportDataEvent } from "@nmshd/transport";
2
+ import { LocalAttributeListener } from "../local/LocalAttributeListener";
3
+ export declare class AttributeListenerCreatedEvent extends TransportDataEvent<LocalAttributeListener> {
4
+ static readonly namespace = "consumption.attributeListenerCreated";
5
+ constructor(eventTargetAddress: string, data: LocalAttributeListener);
6
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AttributeListenerCreatedEvent = void 0;
4
+ const transport_1 = require("@nmshd/transport");
5
+ class AttributeListenerCreatedEvent extends transport_1.TransportDataEvent {
6
+ constructor(eventTargetAddress, data) {
7
+ super(AttributeListenerCreatedEvent.namespace, eventTargetAddress, data);
8
+ }
9
+ }
10
+ exports.AttributeListenerCreatedEvent = AttributeListenerCreatedEvent;
11
+ AttributeListenerCreatedEvent.namespace = "consumption.attributeListenerCreated";
12
+ //# sourceMappingURL=AttributeListenerCreatedEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AttributeListenerCreatedEvent.js","sourceRoot":"","sources":["../../../../src/modules/attributeListeners/events/AttributeListenerCreatedEvent.ts"],"names":[],"mappings":";;;AAAA,gDAAqD;AAGrD,MAAa,6BAA8B,SAAQ,8BAA0C;IAGzF,YAAmB,kBAA0B,EAAE,IAA4B;QACvE,KAAK,CAAC,6BAA6B,CAAC,SAAS,EAAE,kBAAkB,EAAE,IAAI,CAAC,CAAA;IAC5E,CAAC;;AALL,sEAMC;AAL0B,uCAAS,GAAG,sCAAsC,CAAA"}
@@ -0,0 +1 @@
1
+ export * from "./AttributeListenerCreatedEvent";
@@ -0,0 +1,18 @@
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("./AttributeListenerCreatedEvent"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/attributeListeners/events/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kEAA+C"}
@@ -0,0 +1,4 @@
1
+ export * from "./AttributeListenersController";
2
+ export * from "./events";
3
+ export * from "./local/CreateLocalAttributeListenerParams";
4
+ export * from "./local/LocalAttributeListener";
@@ -0,0 +1,21 @@
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("./AttributeListenersController"), exports);
18
+ __exportStar(require("./events"), exports);
19
+ __exportStar(require("./local/CreateLocalAttributeListenerParams"), exports);
20
+ __exportStar(require("./local/LocalAttributeListener"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/attributeListeners/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iEAA8C;AAC9C,2CAAwB;AACxB,6EAA0D;AAC1D,iEAA8C"}
@@ -0,0 +1,12 @@
1
+ import { ISerializable, Serializable } from "@js-soft/ts-serval";
2
+ import { IdentityAttributeQuery, IIdentityAttributeQuery, IThirdPartyRelationshipAttributeQuery, ThirdPartyRelationshipAttributeQuery } from "@nmshd/content";
3
+ import { CoreAddress, ICoreAddress } from "@nmshd/transport";
4
+ export interface ICreateLocalAttributeListenerParams extends ISerializable {
5
+ query: IIdentityAttributeQuery | IThirdPartyRelationshipAttributeQuery;
6
+ peer: ICoreAddress;
7
+ }
8
+ export declare class CreateLocalAttributeListenerParams extends Serializable implements ICreateLocalAttributeListenerParams {
9
+ query: IdentityAttributeQuery | ThirdPartyRelationshipAttributeQuery;
10
+ peer: CoreAddress;
11
+ static from(value: ICreateLocalAttributeListenerParams): CreateLocalAttributeListenerParams;
12
+ }
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.CreateLocalAttributeListenerParams = void 0;
13
+ const ts_serval_1 = require("@js-soft/ts-serval");
14
+ const content_1 = require("@nmshd/content");
15
+ const transport_1 = require("@nmshd/transport");
16
+ let CreateLocalAttributeListenerParams = class CreateLocalAttributeListenerParams extends ts_serval_1.Serializable {
17
+ static from(value) {
18
+ return this.fromAny(value);
19
+ }
20
+ };
21
+ __decorate([
22
+ (0, ts_serval_1.serialize)({ unionTypes: [content_1.IdentityAttributeQuery, content_1.ThirdPartyRelationshipAttributeQuery] }),
23
+ (0, ts_serval_1.validate)(),
24
+ __metadata("design:type", Object)
25
+ ], CreateLocalAttributeListenerParams.prototype, "query", void 0);
26
+ __decorate([
27
+ (0, ts_serval_1.serialize)(),
28
+ (0, ts_serval_1.validate)(),
29
+ __metadata("design:type", transport_1.CoreAddress)
30
+ ], CreateLocalAttributeListenerParams.prototype, "peer", void 0);
31
+ CreateLocalAttributeListenerParams = __decorate([
32
+ (0, ts_serval_1.type)("CreateLocalAttributeListenerParams")
33
+ ], CreateLocalAttributeListenerParams);
34
+ exports.CreateLocalAttributeListenerParams = CreateLocalAttributeListenerParams;
35
+ //# sourceMappingURL=CreateLocalAttributeListenerParams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CreateLocalAttributeListenerParams.js","sourceRoot":"","sources":["../../../../src/modules/attributeListeners/local/CreateLocalAttributeListenerParams.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAA2F;AAC3F,4CAKuB;AACvB,gDAA4D;AAQrD,IAAM,kCAAkC,GAAxC,MAAM,kCAAmC,SAAQ,wBAAY;IASzD,MAAM,CAAC,IAAI,CAAC,KAA0C;QACzD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;CACJ,CAAA;AAXG;IAAC,IAAA,qBAAS,EAAC,EAAE,UAAU,EAAE,CAAC,gCAAsB,EAAE,8CAAoC,CAAC,EAAE,CAAC;IACzF,IAAA,oBAAQ,GAAE;;iEACgE;AAE3E;IAAC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,GAAE;8BACE,uBAAW;gEAAA;AAPf,kCAAkC;IAD9C,IAAA,gBAAI,EAAC,oCAAoC,CAAC;GAC9B,kCAAkC,CAY9C;AAZY,gFAAkC"}
@@ -0,0 +1,19 @@
1
+ import { IdentityAttributeQuery, IdentityAttributeQueryJSON, IIdentityAttributeQuery, IThirdPartyRelationshipAttributeQuery, ThirdPartyRelationshipAttributeQuery, ThirdPartyRelationshipAttributeQueryJSON } from "@nmshd/content";
2
+ import { CoreAddress, CoreSynchronizable, ICoreAddress, ICoreSynchronizable } from "@nmshd/transport";
3
+ export interface LocalAttributeListenerJSON {
4
+ "@type": "LocalAttributeListener";
5
+ id: string;
6
+ query: IdentityAttributeQueryJSON | ThirdPartyRelationshipAttributeQueryJSON;
7
+ peer: string;
8
+ }
9
+ export interface ILocalAttributeListener extends ICoreSynchronizable {
10
+ query: IIdentityAttributeQuery | IThirdPartyRelationshipAttributeQuery;
11
+ peer: ICoreAddress;
12
+ }
13
+ export declare class LocalAttributeListener extends CoreSynchronizable {
14
+ readonly userdataProperties: string[];
15
+ query: IdentityAttributeQuery | ThirdPartyRelationshipAttributeQuery;
16
+ peer: CoreAddress;
17
+ static from(value: ILocalAttributeListener | LocalAttributeListenerJSON): LocalAttributeListener;
18
+ toJSON(): LocalAttributeListenerJSON;
19
+ }
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.LocalAttributeListener = void 0;
13
+ const ts_serval_1 = require("@js-soft/ts-serval");
14
+ const content_1 = require("@nmshd/content");
15
+ const transport_1 = require("@nmshd/transport");
16
+ const ts_simple_nameof_1 = require("ts-simple-nameof");
17
+ let LocalAttributeListener = class LocalAttributeListener extends transport_1.CoreSynchronizable {
18
+ constructor() {
19
+ super(...arguments);
20
+ this.userdataProperties = [
21
+ (0, ts_simple_nameof_1.nameof)((r) => r.query),
22
+ (0, ts_simple_nameof_1.nameof)((r) => r.peer)
23
+ ];
24
+ }
25
+ static from(value) {
26
+ return this.fromAny(value);
27
+ }
28
+ toJSON() {
29
+ return super.toJSON();
30
+ }
31
+ };
32
+ __decorate([
33
+ (0, ts_serval_1.serialize)({ unionTypes: [content_1.IdentityAttributeQuery, content_1.ThirdPartyRelationshipAttributeQuery] }),
34
+ (0, ts_serval_1.validate)(),
35
+ __metadata("design:type", Object)
36
+ ], LocalAttributeListener.prototype, "query", void 0);
37
+ __decorate([
38
+ (0, ts_serval_1.serialize)(),
39
+ (0, ts_serval_1.validate)(),
40
+ __metadata("design:type", transport_1.CoreAddress)
41
+ ], LocalAttributeListener.prototype, "peer", void 0);
42
+ LocalAttributeListener = __decorate([
43
+ (0, ts_serval_1.type)("LocalAttributeListener")
44
+ ], LocalAttributeListener);
45
+ exports.LocalAttributeListener = LocalAttributeListener;
46
+ //# sourceMappingURL=LocalAttributeListener.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LocalAttributeListener.js","sourceRoot":"","sources":["../../../../src/modules/attributeListeners/local/LocalAttributeListener.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAA8D;AAC9D,4CAOuB;AACvB,gDAAqG;AACrG,uDAAyC;AAelC,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,8BAAkB;IAAvD;;QACsB,uBAAkB,GAAG;YAC1C,IAAA,yBAAM,EAAyB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;YAC9C,IAAA,yBAAM,EAAyB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SAChD,CAAA;IAiBL,CAAC;IAPU,MAAM,CAAC,IAAI,CAAC,KAA2D;QAC1E,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;IAEe,MAAM;QAClB,OAAO,KAAK,CAAC,MAAM,EAAgC,CAAA;IACvD,CAAC;CACJ,CAAA;AAfG;IAAC,IAAA,qBAAS,EAAC,EAAE,UAAU,EAAE,CAAC,gCAAsB,EAAE,8CAAoC,CAAC,EAAE,CAAC;IACzF,IAAA,oBAAQ,GAAE;;qDACgE;AAE3E;IAAC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,GAAE;8BACE,uBAAW;oDAAA;AAZf,sBAAsB;IADlC,IAAA,gBAAI,EAAC,wBAAwB,CAAC;GAClB,sBAAsB,CAqBlC;AArBY,wDAAsB"}