@nmshd/consumption 2.0.0-alpha.13 → 2.0.0-alpha.16

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 (60) hide show
  1. package/dist/buildInformation.js +5 -5
  2. package/dist/consumption/ConsumptionController.js +1 -1
  3. package/dist/consumption/ConsumptionController.js.map +1 -1
  4. package/dist/consumption/ConsumptionErrors.d.ts +3 -1
  5. package/dist/consumption/ConsumptionErrors.js +7 -1
  6. package/dist/consumption/ConsumptionErrors.js.map +1 -1
  7. package/dist/modules/attributes/ConsumptionAttributesController.d.ts +8 -1
  8. package/dist/modules/attributes/ConsumptionAttributesController.js +48 -8
  9. package/dist/modules/attributes/ConsumptionAttributesController.js.map +1 -1
  10. package/dist/modules/attributes/CreatePeerConsumptionAttributeParams.d.ts +16 -0
  11. package/dist/modules/attributes/CreatePeerConsumptionAttributeParams.js +42 -0
  12. package/dist/modules/attributes/CreatePeerConsumptionAttributeParams.js.map +1 -0
  13. package/dist/modules/attributes/GetIdentityAttributesParams.d.ts +9 -0
  14. package/dist/modules/attributes/GetIdentityAttributesParams.js +26 -0
  15. package/dist/modules/attributes/GetIdentityAttributesParams.js.map +1 -0
  16. package/dist/modules/attributes/GetRelationshipAttributesParams.d.ts +9 -0
  17. package/dist/modules/attributes/GetRelationshipAttributesParams.js +26 -0
  18. package/dist/modules/attributes/GetRelationshipAttributesParams.js.map +1 -0
  19. package/dist/modules/attributes/UpdateConsumptionAttributeParams.d.ts +12 -0
  20. package/dist/modules/attributes/UpdateConsumptionAttributeParams.js +32 -0
  21. package/dist/modules/attributes/UpdateConsumptionAttributeParams.js.map +1 -0
  22. package/dist/modules/attributes/local/ConsumptionAttribute.d.ts +9 -2
  23. package/dist/modules/attributes/local/ConsumptionAttribute.js.map +1 -1
  24. package/dist/modules/attributes/local/ConsumptionAttributeShareInfo.d.ts +5 -0
  25. package/dist/modules/attributes/local/ConsumptionAttributeShareInfo.js.map +1 -1
  26. package/dist/modules/attributes/local/QueryTranslator.d.ts +3 -0
  27. package/dist/modules/attributes/local/QueryTranslator.js +110 -0
  28. package/dist/modules/attributes/local/QueryTranslator.js.map +1 -0
  29. package/dist/modules/index.d.ts +5 -0
  30. package/dist/modules/index.js +5 -0
  31. package/dist/modules/index.js.map +1 -1
  32. package/dist/modules/requests/incoming/IncomingRequestsController.js +24 -19
  33. package/dist/modules/requests/incoming/IncomingRequestsController.js.map +1 -1
  34. package/dist/modules/requests/itemProcessors/AbstractRequestItemProcessor.d.ts +19 -0
  35. package/dist/modules/requests/itemProcessors/AbstractRequestItemProcessor.js +10 -0
  36. package/dist/modules/requests/itemProcessors/AbstractRequestItemProcessor.js.map +1 -0
  37. package/dist/modules/requests/itemProcessors/GenericRequestItemProcessor.d.ts +10 -9
  38. package/dist/modules/requests/itemProcessors/GenericRequestItemProcessor.js +10 -8
  39. package/dist/modules/requests/itemProcessors/GenericRequestItemProcessor.js.map +1 -1
  40. package/dist/modules/requests/itemProcessors/IRequestItemProcessor.d.ts +7 -6
  41. package/dist/modules/requests/itemProcessors/ProcessorConstructor.d.ts +2 -1
  42. package/dist/modules/requests/itemProcessors/RequestItemProcessorRegistry.d.ts +3 -1
  43. package/dist/modules/requests/itemProcessors/RequestItemProcessorRegistry.js +3 -2
  44. package/dist/modules/requests/itemProcessors/RequestItemProcessorRegistry.js.map +1 -1
  45. package/dist/modules/requests/itemProcessors/ValidationResult.d.ts +4 -4
  46. package/dist/modules/requests/itemProcessors/ValidationResult.js +6 -6
  47. package/dist/modules/requests/itemProcessors/ValidationResult.js.map +1 -1
  48. package/dist/modules/requests/itemProcessors/readAttribute/AcceptReadAttributeRequestItemParameters.d.ts +10 -0
  49. package/dist/modules/requests/itemProcessors/readAttribute/AcceptReadAttributeRequestItemParameters.js +29 -0
  50. package/dist/modules/requests/itemProcessors/readAttribute/AcceptReadAttributeRequestItemParameters.js.map +1 -0
  51. package/dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.d.ts +10 -0
  52. package/dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.js +48 -0
  53. package/dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.js.map +1 -0
  54. package/dist/modules/requests/outgoing/OutgoingRequestsController.js +10 -10
  55. package/dist/modules/requests/outgoing/OutgoingRequestsController.js.map +1 -1
  56. package/lib-web/nmshd.consumption.js +9268 -104
  57. package/lib-web/nmshd.consumption.js.map +1 -1
  58. package/lib-web/nmshd.consumption.min.js +1 -1
  59. package/lib-web/nmshd.consumption.min.js.map +1 -1
  60. package/package.json +15 -12
@@ -6,11 +6,11 @@ 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-alpha.13",
10
- build: "31",
11
- date: "2022-05-17T12:00:51+00:00",
12
- commit: "44fe03b9135fe648c60e658c1d26ee7dc7b1f145",
13
- dependencies: {},
9
+ version: "2.0.0-alpha.16",
10
+ build: "34",
11
+ date: "2022-05-30T06:50:39+00:00",
12
+ commit: "5df02167919f224232c5a2cf00290a0c39bbd48d",
13
+ dependencies: {"@js-soft/docdb-querytranslator":"^1.0.1"},
14
14
  libraries: {
15
15
  transport: transport_1.buildInformation,
16
16
  crypto: crypto_1.buildInformation,
@@ -26,7 +26,7 @@ class ConsumptionController {
26
26
  async init(requestItemProcessors = []) {
27
27
  this._attributes = await new modules_1.ConsumptionAttributesController(this).init();
28
28
  this._drafts = await new modules_1.DraftsController(this).init();
29
- const processorRegistry = new modules_1.RequestItemProcessorRegistry(requestItemProcessors);
29
+ const processorRegistry = new modules_1.RequestItemProcessorRegistry(this, requestItemProcessors);
30
30
  this._outgoingRequests = await new modules_1.OutgoingRequestsController(await this.accountController.getSynchronizedCollection("Requests"), processorRegistry, this).init();
31
31
  this._incomingRequests = await new IncomingRequestsController_1.IncomingRequestsController(await this.accountController.getSynchronizedCollection("Requests"), processorRegistry, this).init();
32
32
  this._settings = await new modules_1.SettingsController(this).init();
@@ -1 +1 @@
1
- {"version":3,"file":"ConsumptionController.js","sourceRoot":"","sources":["../../src/consumption/ConsumptionController.ts"],"names":[],"mappings":";;;AACA,wCAQmB;AACnB,wGAAoG;AAEpG,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,wBAGM,EAAE;QAER,IAAI,CAAC,WAAW,GAAG,MAAM,IAAI,yCAA+B,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;QACzE,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,0BAAgB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;QACtD,MAAM,iBAAiB,GAAG,IAAI,sCAA4B,CAAC,qBAAqB,CAAC,CAAA;QACjF,IAAI,CAAC,iBAAiB,GAAG,MAAM,IAAI,oCAA0B,CACzD,MAAM,IAAI,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,UAAU,CAAC,EAClE,iBAAiB,EACjB,IAAI,CACP,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,CACP,CAAC,IAAI,EAAE,CAAA;QACR,IAAI,CAAC,SAAS,GAAG,MAAM,IAAI,4BAAkB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;QAC1D,OAAO,IAAI,CAAA;IACf,CAAC;CACJ;AAlDD,sDAkDC"}
1
+ {"version":3,"file":"ConsumptionController.js","sourceRoot":"","sources":["../../src/consumption/ConsumptionController.ts"],"names":[],"mappings":";;;AACA,wCAQmB;AACnB,wGAAoG;AAEpG,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,wBAGM,EAAE;QAER,IAAI,CAAC,WAAW,GAAG,MAAM,IAAI,yCAA+B,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;QACzE,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,0BAAgB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;QACtD,MAAM,iBAAiB,GAAG,IAAI,sCAA4B,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAA;QACvF,IAAI,CAAC,iBAAiB,GAAG,MAAM,IAAI,oCAA0B,CACzD,MAAM,IAAI,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,UAAU,CAAC,EAClE,iBAAiB,EACjB,IAAI,CACP,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,CACP,CAAC,IAAI,EAAE,CAAA;QACR,IAAI,CAAC,SAAS,GAAG,MAAM,IAAI,4BAAkB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;QAC1D,OAAO,IAAI,CAAA;IACf,CAAC;CACJ;AAlDD,sDAkDC"}
@@ -4,7 +4,9 @@ declare class Attributes {
4
4
  predecessorNotFound(id: string): CoreError;
5
5
  }
6
6
  declare class Requests {
7
- requestsExists(id: string): CoreError;
7
+ requestExists(id: string): CoreError;
8
+ unexpectedErrorDuringRequestItemProcessing(error: any): CoreError;
9
+ canOnlyShareOwnAttributes(): CoreError;
8
10
  }
9
11
  declare class RelationshipInfo {
10
12
  relationshipInfoExists(relationshipId: string): CoreError;
@@ -11,9 +11,15 @@ class Attributes {
11
11
  }
12
12
  }
13
13
  class Requests {
14
- requestsExists(id) {
14
+ requestExists(id) {
15
15
  return new transport_1.CoreError("error.consumption.requests.requestExists", `Request with id ${id} already exists and can't be created.`);
16
16
  }
17
+ unexpectedErrorDuringRequestItemProcessing(error) {
18
+ return new transport_1.CoreError("error.consumption.requests.unexpectedErrorDuringRequestItemProcessing", error instanceof Error ? error.message : "Unknown error: '${JSON.stringify(e)'");
19
+ }
20
+ canOnlyShareOwnAttributes() {
21
+ return new transport_1.CoreError("error.consumption.requests.canOnlyShareOwnAttributes", "The given Attribute belongs to someone else. You can only share own Attributes.");
22
+ }
17
23
  }
18
24
  class RelationshipInfo {
19
25
  relationshipInfoExists(relationshipId) {
@@ -1 +1 @@
1
- {"version":3,"file":"ConsumptionErrors.js","sourceRoot":"","sources":["../../src/consumption/ConsumptionErrors.ts"],"names":[],"mappings":";;;AAAA,gDAA4C;AAE5C,MAAM,UAAU;IACL,eAAe,CAAC,EAAU;QAC7B,OAAO,IAAI,qBAAS,CAChB,8CAA8C,EAC9C,sBAAsB,EAAE,+CAA+C,CAC1E,CAAA;IACL,CAAC;IACM,mBAAmB,CAAC,EAAU;QACjC,OAAO,IAAI,qBAAS,CAChB,kDAAkD,EAClD,sBAAsB,EAAE,8CAA8C,CACzE,CAAA;IACL,CAAC;CACJ;AAED,MAAM,QAAQ;IACH,cAAc,CAAC,EAAU;QAC5B,OAAO,IAAI,qBAAS,CAChB,0CAA0C,EAC1C,mBAAmB,EAAE,uCAAuC,CAC/D,CAAA;IACL,CAAC;CACJ;AAED,MAAM,gBAAgB;IACX,sBAAsB,CAAC,cAAsB;QAChD,OAAO,IAAI,qBAAS,CAChB,4DAA4D,EAC5D,qCAAqC,cAAc,kBAAkB,CACxE,CAAA;IACL,CAAC;CACJ;AAED,MAAM,UAAU;IACL,eAAe,CAAC,aAAqB;QACxC,OAAO,IAAI,qBAAS,CAChB,8CAA8C,EAC9C,0BAA0B,aAAa,qCAAqC,CAC/E,CAAA;IACL,CAAC;IAEM,aAAa;QAChB,OAAO,IAAI,qBAAS,CAAC,4CAA4C,EAAE,4CAA4C,CAAC,CAAA;IACpH,CAAC;CACJ;AAED,MAAa,iBAAiB;;AAA9B,8CAKC;AAJiB,4BAAU,GAAG,IAAI,UAAU,EAAE,CAAA;AAC7B,0BAAQ,GAAG,IAAI,QAAQ,EAAE,CAAA;AACzB,kCAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAA;AACzC,4BAAU,GAAG,IAAI,UAAU,EAAE,CAAA"}
1
+ {"version":3,"file":"ConsumptionErrors.js","sourceRoot":"","sources":["../../src/consumption/ConsumptionErrors.ts"],"names":[],"mappings":";;;AAAA,gDAA4C;AAE5C,MAAM,UAAU;IACL,eAAe,CAAC,EAAU;QAC7B,OAAO,IAAI,qBAAS,CAChB,8CAA8C,EAC9C,sBAAsB,EAAE,+CAA+C,CAC1E,CAAA;IACL,CAAC;IACM,mBAAmB,CAAC,EAAU;QACjC,OAAO,IAAI,qBAAS,CAChB,kDAAkD,EAClD,sBAAsB,EAAE,8CAA8C,CACzE,CAAA;IACL,CAAC;CACJ;AAED,MAAM,QAAQ;IACH,aAAa,CAAC,EAAU;QAC3B,OAAO,IAAI,qBAAS,CAChB,0CAA0C,EAC1C,mBAAmB,EAAE,uCAAuC,CAC/D,CAAA;IACL,CAAC;IAEM,0CAA0C,CAAC,KAAU;QACxD,OAAO,IAAI,qBAAS,CAChB,uEAAuE,EACvE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,sCAAsC,CAClF,CAAA;IACL,CAAC;IAEM,yBAAyB;QAC5B,OAAO,IAAI,qBAAS,CAChB,sDAAsD,EACtD,iFAAiF,CACpF,CAAA;IACL,CAAC;CACJ;AAED,MAAM,gBAAgB;IACX,sBAAsB,CAAC,cAAsB;QAChD,OAAO,IAAI,qBAAS,CAChB,4DAA4D,EAC5D,qCAAqC,cAAc,kBAAkB,CACxE,CAAA;IACL,CAAC;CACJ;AAED,MAAM,UAAU;IACL,eAAe,CAAC,aAAqB;QACxC,OAAO,IAAI,qBAAS,CAChB,8CAA8C,EAC9C,0BAA0B,aAAa,qCAAqC,CAC/E,CAAA;IACL,CAAC;IAEM,aAAa;QAChB,OAAO,IAAI,qBAAS,CAAC,4CAA4C,EAAE,4CAA4C,CAAC,CAAA;IACpH,CAAC;CACJ;AAED,MAAa,iBAAiB;;AAA9B,8CAKC;AAJiB,4BAAU,GAAG,IAAI,UAAU,EAAE,CAAA;AAC7B,0BAAQ,GAAG,IAAI,QAAQ,EAAE,CAAA;AACzB,kCAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAA;AACzC,4BAAU,GAAG,IAAI,UAAU,EAAE,CAAA"}
@@ -2,9 +2,13 @@ import { CoreId } from "@nmshd/transport";
2
2
  import { ConsumptionBaseController } from "../../consumption";
3
3
  import { ConsumptionController } from "../../consumption/ConsumptionController";
4
4
  import { ICreateConsumptionAttributeParams } from "./CreateConsumptionAttributeParams";
5
+ import { ICreatePeerConsumptionAttributeParams } from "./CreatePeerConsumptionAttributeParams";
5
6
  import { ICreateSharedConsumptionAttributeCopyParams } from "./CreateSharedConsumptionAttributeCopyParams";
7
+ import { IGetIdentityAttributesParams } from "./GetIdentityAttributesParams";
8
+ import { IGetRelationshipAttributesParams } from "./GetRelationshipAttributesParams";
6
9
  import { ConsumptionAttribute } from "./local/ConsumptionAttribute";
7
10
  import { ISucceedConsumptionAttributeParams } from "./SuccedConsumptionAttributeParams";
11
+ import { IUpdateConsumptionAttributeParams } from "./UpdateConsumptionAttributeParams";
8
12
  export declare class ConsumptionAttributesController extends ConsumptionBaseController {
9
13
  private attributes;
10
14
  constructor(parent: ConsumptionController);
@@ -15,9 +19,12 @@ export declare class ConsumptionAttributesController extends ConsumptionBaseCont
15
19
  getConsumptionAttribute(id: CoreId): Promise<ConsumptionAttribute | undefined>;
16
20
  getConsumptionAttributes(query?: any): Promise<ConsumptionAttribute[]>;
17
21
  getValidConsumptionAttributes(query?: any): Promise<ConsumptionAttribute[]>;
22
+ executeRelationshipAttributeQuery(params: IGetRelationshipAttributesParams): Promise<ConsumptionAttribute[]>;
23
+ executeIdentityAttributeQuery(params: IGetIdentityAttributesParams): Promise<ConsumptionAttribute[]>;
18
24
  createConsumptionAttribute(params: ICreateConsumptionAttributeParams): Promise<ConsumptionAttribute>;
19
25
  succeedConsumptionAttribute(params: ISucceedConsumptionAttributeParams): Promise<ConsumptionAttribute>;
20
26
  createSharedConsumptionAttributeCopy(params: ICreateSharedConsumptionAttributeCopyParams): Promise<ConsumptionAttribute>;
21
- updateConsumptionAttribute(attribute: ConsumptionAttribute): Promise<ConsumptionAttribute>;
27
+ createPeerConsumptionAttribute(params: ICreatePeerConsumptionAttributeParams): Promise<ConsumptionAttribute>;
28
+ updateConsumptionAttribute(params: IUpdateConsumptionAttributeParams): Promise<ConsumptionAttribute>;
22
29
  deleteAttribute(attribute: ConsumptionAttribute): Promise<void>;
23
30
  }
@@ -7,6 +7,7 @@ const consumption_1 = require("../../consumption");
7
7
  const CreateSharedConsumptionAttributeCopyParams_1 = require("./CreateSharedConsumptionAttributeCopyParams");
8
8
  const ConsumptionAttribute_1 = require("./local/ConsumptionAttribute");
9
9
  const ConsumptionAttributeShareInfo_1 = require("./local/ConsumptionAttributeShareInfo");
10
+ const QueryTranslator_1 = require("./local/QueryTranslator");
10
11
  const SuccedConsumptionAttributeParams_1 = require("./SuccedConsumptionAttributeParams");
11
12
  class ConsumptionAttributesController extends consumption_1.ConsumptionBaseController {
12
13
  constructor(parent) {
@@ -81,6 +82,20 @@ class ConsumptionAttributesController extends consumption_1.ConsumptionBaseContr
81
82
  const items = await this.parseArray(attributes, ConsumptionAttribute_1.ConsumptionAttribute);
82
83
  return this.filterCurrent(items);
83
84
  }
85
+ async executeRelationshipAttributeQuery(params) {
86
+ const queryWithType = params.query;
87
+ queryWithType["attributeType"] = "RelationshipAttribute";
88
+ const dbQuery = QueryTranslator_1.relationshipQueryTranslator.parse(queryWithType);
89
+ const attributes = await this.attributes.find(dbQuery);
90
+ return attributes;
91
+ }
92
+ async executeIdentityAttributeQuery(params) {
93
+ const queryWithType = params.query;
94
+ queryWithType["attributeType"] = "IdentityAttribute";
95
+ const dbQuery = QueryTranslator_1.identityQueryTranslator.parse(queryWithType);
96
+ const attributes = await this.attributes.find(dbQuery);
97
+ return attributes;
98
+ }
84
99
  async createConsumptionAttribute(params) {
85
100
  const consumptionAttribute = await ConsumptionAttribute_1.ConsumptionAttribute.fromAttribute(params.content);
86
101
  await this.attributes.create(consumptionAttribute);
@@ -88,7 +103,9 @@ class ConsumptionAttributesController extends consumption_1.ConsumptionBaseContr
88
103
  }
89
104
  async succeedConsumptionAttribute(params) {
90
105
  const parsedParams = SuccedConsumptionAttributeParams_1.SucceedConsumptionAttributeParams.from(params);
91
- const current = await this.getConsumptionAttribute(parsedParams.succeeds);
106
+ const current = await this.attributes.findOne({
107
+ [(0, ts_simple_nameof_1.nameof)((c) => c.id)]: params.succeeds.toString()
108
+ });
92
109
  if (!current) {
93
110
  throw consumption_1.ConsumptionErrors.attributes.predecessorNotFound(parsedParams.succeeds.toString());
94
111
  }
@@ -96,8 +113,9 @@ class ConsumptionAttributesController extends consumption_1.ConsumptionBaseContr
96
113
  parsedParams.successorContent.validFrom = transport_1.CoreDate.utc();
97
114
  }
98
115
  const validFrom = parsedParams.successorContent.validFrom;
99
- current.content.validTo = validFrom.subtract(1);
100
- await this.updateConsumptionAttribute(current);
116
+ const currentUpdated = ConsumptionAttribute_1.ConsumptionAttribute.from(current);
117
+ currentUpdated.content.validTo = validFrom.subtract(1);
118
+ await this.attributes.update(current, currentUpdated);
101
119
  const successor = await ConsumptionAttribute_1.ConsumptionAttribute.fromAttribute(parsedParams.successorContent, parsedParams.succeeds);
102
120
  await this.attributes.create(successor);
103
121
  return successor;
@@ -117,15 +135,37 @@ class ConsumptionAttributesController extends consumption_1.ConsumptionBaseContr
117
135
  await this.attributes.create(sharedConsumptionAttributeCopy);
118
136
  return sharedConsumptionAttributeCopy;
119
137
  }
120
- async updateConsumptionAttribute(attribute) {
138
+ async createPeerConsumptionAttribute(params) {
139
+ const shareInfo = ConsumptionAttributeShareInfo_1.ConsumptionAttributeShareInfo.from({
140
+ peer: params.peer,
141
+ requestReference: params.requestReference
142
+ });
143
+ const peerConsumptionAttribute = ConsumptionAttribute_1.ConsumptionAttribute.from({
144
+ id: params.id,
145
+ content: params.content,
146
+ shareInfo: shareInfo,
147
+ createdAt: transport_1.CoreDate.utc()
148
+ });
149
+ await this.attributes.create(peerConsumptionAttribute);
150
+ return peerConsumptionAttribute;
151
+ }
152
+ async updateConsumptionAttribute(params) {
121
153
  const current = await this.attributes.findOne({
122
- [(0, ts_simple_nameof_1.nameof)((c) => c.id)]: attribute.id.toString()
154
+ [(0, ts_simple_nameof_1.nameof)((c) => c.id)]: params.id.toString()
123
155
  });
124
156
  if (!current) {
125
- throw transport_1.TransportErrors.general.recordNotFound(ConsumptionAttribute_1.ConsumptionAttribute, attribute.id.toString());
157
+ throw transport_1.TransportErrors.general.recordNotFound(ConsumptionAttribute_1.ConsumptionAttribute, params.id.toString());
126
158
  }
127
- await this.attributes.update(current, attribute);
128
- return attribute;
159
+ const updatedConsumptionAttribute = ConsumptionAttribute_1.ConsumptionAttribute.from({
160
+ id: current.id,
161
+ content: params.content,
162
+ createdAt: current.createdAt,
163
+ shareInfo: current.shareInfo,
164
+ succeededBy: current.succeededBy,
165
+ succeeds: current.succeeds
166
+ });
167
+ await this.attributes.update(current, updatedConsumptionAttribute);
168
+ return updatedConsumptionAttribute;
129
169
  }
130
170
  async deleteAttribute(attribute) {
131
171
  await this.attributes.delete(attribute);
@@ -1 +1 @@
1
- {"version":3,"file":"ConsumptionAttributesController.js","sourceRoot":"","sources":["../../../src/modules/attributes/ConsumptionAttributesController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConsumptionAttributesController.js","sourceRoot":"","sources":["../../../src/modules/attributes/ConsumptionAttributesController.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { ISerializable, Serializable } from "@js-soft/ts-serval";
2
+ import { IdentityAttribute, IIdentityAttribute, IRelationshipAttribute, RelationshipAttribute } from "@nmshd/content";
3
+ import { CoreAddress, CoreId, ICoreAddress, ICoreId } from "@nmshd/transport";
4
+ export interface ICreatePeerConsumptionAttributeParams extends ISerializable {
5
+ id: ICoreId;
6
+ content: IIdentityAttribute | IRelationshipAttribute;
7
+ requestReference: ICoreId;
8
+ peer: ICoreAddress;
9
+ }
10
+ export declare class CreatePeerConsumptionAttributeParams extends Serializable implements ICreatePeerConsumptionAttributeParams {
11
+ id: CoreId;
12
+ content: IdentityAttribute | RelationshipAttribute;
13
+ requestReference: CoreId;
14
+ peer: CoreAddress;
15
+ static from(value: ICreatePeerConsumptionAttributeParams): CreatePeerConsumptionAttributeParams;
16
+ }
@@ -0,0 +1,42 @@
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.CreatePeerConsumptionAttributeParams = 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
+ class CreatePeerConsumptionAttributeParams extends ts_serval_1.Serializable {
17
+ static from(value) {
18
+ return this.fromAny(value);
19
+ }
20
+ }
21
+ __decorate([
22
+ (0, ts_serval_1.serialize)(),
23
+ (0, ts_serval_1.validate)(),
24
+ __metadata("design:type", transport_1.CoreId)
25
+ ], CreatePeerConsumptionAttributeParams.prototype, "id", void 0);
26
+ __decorate([
27
+ (0, ts_serval_1.serialize)({ unionTypes: [content_1.IdentityAttribute, content_1.RelationshipAttribute] }),
28
+ (0, ts_serval_1.validate)(),
29
+ __metadata("design:type", Object)
30
+ ], CreatePeerConsumptionAttributeParams.prototype, "content", void 0);
31
+ __decorate([
32
+ (0, ts_serval_1.serialize)(),
33
+ (0, ts_serval_1.validate)(),
34
+ __metadata("design:type", transport_1.CoreId)
35
+ ], CreatePeerConsumptionAttributeParams.prototype, "requestReference", void 0);
36
+ __decorate([
37
+ (0, ts_serval_1.serialize)(),
38
+ (0, ts_serval_1.validate)(),
39
+ __metadata("design:type", transport_1.CoreAddress)
40
+ ], CreatePeerConsumptionAttributeParams.prototype, "peer", void 0);
41
+ exports.CreatePeerConsumptionAttributeParams = CreatePeerConsumptionAttributeParams;
42
+ //# sourceMappingURL=CreatePeerConsumptionAttributeParams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CreatePeerConsumptionAttributeParams.js","sourceRoot":"","sources":["../../../src/modules/attributes/CreatePeerConsumptionAttributeParams.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAAqF;AACrF,4CAAqH;AACrH,gDAA6E;AAS7E,MAAa,oCACT,SAAQ,wBAAY;IAmBb,MAAM,CAAC,IAAI,CAAC,KAA4C;QAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;CACJ;AAjBG;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,GAAE;8BACA,kBAAM;gEAAA;AAIjB;IAFC,IAAA,qBAAS,EAAC,EAAE,UAAU,EAAE,CAAC,2BAAiB,EAAE,+BAAqB,CAAC,EAAE,CAAC;IACrE,IAAA,oBAAQ,GAAE;;qEAC8C;AAIzD;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,GAAE;8BACc,kBAAM;8EAAA;AAI/B;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,GAAE;8BACE,uBAAW;kEAAA;AAlB5B,oFAuBC"}
@@ -0,0 +1,9 @@
1
+ import { ISerializable, Serializable } from "@js-soft/ts-serval";
2
+ import { IdentityAttributeQuery, IIdentityAttributeQuery } from "@nmshd/content";
3
+ export interface IGetIdentityAttributesParams extends ISerializable {
4
+ query: IIdentityAttributeQuery;
5
+ }
6
+ export declare class GetIdentityAttributesParams extends Serializable implements IGetIdentityAttributesParams {
7
+ query: IdentityAttributeQuery;
8
+ static from(value: IGetIdentityAttributesParams): GetIdentityAttributesParams;
9
+ }
@@ -0,0 +1,26 @@
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.GetIdentityAttributesParams = void 0;
13
+ const ts_serval_1 = require("@js-soft/ts-serval");
14
+ const content_1 = require("@nmshd/content");
15
+ class GetIdentityAttributesParams extends ts_serval_1.Serializable {
16
+ static from(value) {
17
+ return this.fromAny(value);
18
+ }
19
+ }
20
+ __decorate([
21
+ (0, ts_serval_1.serialize)(),
22
+ (0, ts_serval_1.validate)(),
23
+ __metadata("design:type", content_1.IdentityAttributeQuery)
24
+ ], GetIdentityAttributesParams.prototype, "query", void 0);
25
+ exports.GetIdentityAttributesParams = GetIdentityAttributesParams;
26
+ //# sourceMappingURL=GetIdentityAttributesParams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetIdentityAttributesParams.js","sourceRoot":"","sources":["../../../src/modules/attributes/GetIdentityAttributesParams.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAAqF;AACrF,4CAAgF;AAMhF,MAAa,2BAA4B,SAAQ,wBAAY;IAKlD,MAAM,CAAC,IAAI,CAAC,KAAmC;QAClD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;CACJ;AALG;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,GAAE;8BACG,gCAAsB;0DAAA;AAHxC,kEAQC"}
@@ -0,0 +1,9 @@
1
+ import { ISerializable, Serializable } from "@js-soft/ts-serval";
2
+ import { IRelationshipAttributeQuery, RelationshipAttributeQuery } from "@nmshd/content";
3
+ export interface IGetRelationshipAttributesParams extends ISerializable {
4
+ query: IRelationshipAttributeQuery;
5
+ }
6
+ export declare class GetRelationshipAttributesParams extends Serializable implements IGetRelationshipAttributesParams {
7
+ query: RelationshipAttributeQuery;
8
+ static from(value: IGetRelationshipAttributesParams): GetRelationshipAttributesParams;
9
+ }
@@ -0,0 +1,26 @@
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.GetRelationshipAttributesParams = void 0;
13
+ const ts_serval_1 = require("@js-soft/ts-serval");
14
+ const content_1 = require("@nmshd/content");
15
+ class GetRelationshipAttributesParams extends ts_serval_1.Serializable {
16
+ static from(value) {
17
+ return this.fromAny(value);
18
+ }
19
+ }
20
+ __decorate([
21
+ (0, ts_serval_1.serialize)(),
22
+ (0, ts_serval_1.validate)(),
23
+ __metadata("design:type", content_1.RelationshipAttributeQuery)
24
+ ], GetRelationshipAttributesParams.prototype, "query", void 0);
25
+ exports.GetRelationshipAttributesParams = GetRelationshipAttributesParams;
26
+ //# sourceMappingURL=GetRelationshipAttributesParams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetRelationshipAttributesParams.js","sourceRoot":"","sources":["../../../src/modules/attributes/GetRelationshipAttributesParams.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAAqF;AACrF,4CAAwF;AAMxF,MAAa,+BAAgC,SAAQ,wBAAY;IAKtD,MAAM,CAAC,IAAI,CAAC,KAAuC;QACtD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;CACJ;AALG;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,GAAE;8BACG,oCAA0B;8DAAA;AAH5C,0EAQC"}
@@ -0,0 +1,12 @@
1
+ import { ISerializable, Serializable } from "@js-soft/ts-serval";
2
+ import { IdentityAttribute, IIdentityAttribute, IRelationshipAttribute, RelationshipAttribute } from "@nmshd/content";
3
+ import { CoreId, ICoreId } from "@nmshd/transport";
4
+ export interface IUpdateConsumptionAttributeParams extends ISerializable {
5
+ id: ICoreId;
6
+ content: IIdentityAttribute | IRelationshipAttribute;
7
+ }
8
+ export declare class UpdateConsumptionAttributeParams extends Serializable implements IUpdateConsumptionAttributeParams {
9
+ id: CoreId;
10
+ content: IdentityAttribute | RelationshipAttribute;
11
+ static from(value: IUpdateConsumptionAttributeParams): UpdateConsumptionAttributeParams;
12
+ }
@@ -0,0 +1,32 @@
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.UpdateConsumptionAttributeParams = 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
+ class UpdateConsumptionAttributeParams extends ts_serval_1.Serializable {
17
+ static from(value) {
18
+ return this.fromAny(value);
19
+ }
20
+ }
21
+ __decorate([
22
+ (0, ts_serval_1.serialize)(),
23
+ (0, ts_serval_1.validate)(),
24
+ __metadata("design:type", transport_1.CoreId)
25
+ ], UpdateConsumptionAttributeParams.prototype, "id", void 0);
26
+ __decorate([
27
+ (0, ts_serval_1.serialize)({ unionTypes: [content_1.IdentityAttribute, content_1.RelationshipAttribute] }),
28
+ (0, ts_serval_1.validate)(),
29
+ __metadata("design:type", Object)
30
+ ], UpdateConsumptionAttributeParams.prototype, "content", void 0);
31
+ exports.UpdateConsumptionAttributeParams = UpdateConsumptionAttributeParams;
32
+ //# sourceMappingURL=UpdateConsumptionAttributeParams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UpdateConsumptionAttributeParams.js","sourceRoot":"","sources":["../../../src/modules/attributes/UpdateConsumptionAttributeParams.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAAqF;AACrF,4CAAqH;AACrH,gDAAkD;AAOlD,MAAa,gCAAiC,SAAQ,wBAAY;IASvD,MAAM,CAAC,IAAI,CAAC,KAAwC;QACvD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;CACJ;AATG;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,GAAE;8BACA,kBAAM;4DAAA;AAIjB;IAFC,IAAA,qBAAS,EAAC,EAAE,UAAU,EAAE,CAAC,2BAAiB,EAAE,+BAAqB,CAAC,EAAE,CAAC;IACrE,IAAA,oBAAQ,GAAE;;iEAC8C;AAP7D,4EAYC"}
@@ -1,6 +1,13 @@
1
- import { IdentityAttribute, IIdentityAttribute, IRelationshipAttribute, RelationshipAttribute } from "@nmshd/content";
1
+ import { IdentityAttribute, IdentityAttributeJSON, IIdentityAttribute, IRelationshipAttribute, RelationshipAttribute, RelationshipAttributeJSON } from "@nmshd/content";
2
2
  import { CoreDate, CoreId, CoreSynchronizable, ICoreDate, ICoreId, ICoreSynchronizable } from "@nmshd/transport";
3
- import { ConsumptionAttributeShareInfo, IConsumptionAttributeShareInfo } from "./ConsumptionAttributeShareInfo";
3
+ import { ConsumptionAttributeShareInfo, ConsumptionAttributeShareInfoJSON, IConsumptionAttributeShareInfo } from "./ConsumptionAttributeShareInfo";
4
+ export interface ConsumptionAttributeJSON {
5
+ content: IdentityAttributeJSON | RelationshipAttributeJSON;
6
+ createdAt: string;
7
+ succeeds: string;
8
+ succeededBy: string;
9
+ shareInfo: ConsumptionAttributeShareInfoJSON;
10
+ }
4
11
  export interface IConsumptionAttribute extends ICoreSynchronizable {
5
12
  content: IIdentityAttribute | IRelationshipAttribute;
6
13
  createdAt: ICoreDate;
@@ -1 +1 @@
1
- {"version":3,"file":"ConsumptionAttribute.js","sourceRoot":"","sources":["../../../../src/modules/attributes/local/ConsumptionAttribute.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAA8D;AAC9D,4CAAqH;AACrH,gDAAgH;AAChH,uDAAyC;AACzC,sDAAqD;AACrD,mFAA+G;AAW/G,IAAa,oBAAoB,GAAjC,MAAa,oBAAqB,SAAQ,8BAAkB;IAA5D;;QAC6B,wBAAmB,GAAG;YAC3C,OAAO;YACP,UAAU;YACV,IAAA,yBAAM,EAAuB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YAChD,IAAA,yBAAM,EAAuB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC/C,IAAA,yBAAM,EAAuB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;SACnD,CAAA;QAEwB,uBAAkB,GAAG,CAAC,IAAA,yBAAM,EAAuB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;IAuClG,CAAC;IAjBU,MAAM,CAAC,IAAI,CAAC,KAA4B;QAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,aAAa,CAC7B,SAAsD,EACtD,QAAkB,EAClB,SAA0C;QAE1C,OAAO,IAAI,CAAC,IAAI,CAAC;YACb,OAAO,EAAE,SAAS;YAClB,EAAE,EAAE,MAAM,4BAAc,CAAC,SAAS,CAAC,QAAQ,EAAE;YAC7C,SAAS,EAAE,oBAAQ,CAAC,GAAG,EAAE;YACzB,QAAQ,EAAE,QAAQ;YAClB,SAAS,EAAE,SAAS;SACvB,CAAC,CAAA;IACN,CAAC;CACJ,CAAA;AAnCG;IAFC,IAAA,oBAAQ,GAAE;IACV,IAAA,qBAAS,EAAC,EAAE,UAAU,EAAE,CAAC,2BAAiB,EAAE,+BAAqB,CAAC,EAAE,CAAC;;qDACb;AAIzD;IAFC,IAAA,oBAAQ,GAAE;IACV,IAAA,qBAAS,GAAE;8BACM,oBAAQ;uDAAA;AAI1B;IAFC,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,IAAA,qBAAS,GAAE;8BACM,kBAAM;sDAAA;AAIxB;IAFC,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,IAAA,qBAAS,GAAE;8BACS,kBAAM;yDAAA;AAI3B;IAFC,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,IAAA,qBAAS,GAAE;8BACO,6DAA6B;uDAAA;AA7BvC,oBAAoB;IADhC,IAAA,gBAAI,EAAC,sBAAsB,CAAC;GAChB,oBAAoB,CAgDhC;AAhDY,oDAAoB"}
1
+ {"version":3,"file":"ConsumptionAttribute.js","sourceRoot":"","sources":["../../../../src/modules/attributes/local/ConsumptionAttribute.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAA8D;AAC9D,4CAOuB;AACvB,gDAAgH;AAChH,uDAAyC;AACzC,sDAAqD;AACrD,mFAIwC;AAmBxC,IAAa,oBAAoB,GAAjC,MAAa,oBAAqB,SAAQ,8BAAkB;IAA5D;;QAC6B,wBAAmB,GAAG;YAC3C,OAAO;YACP,UAAU;YACV,IAAA,yBAAM,EAAuB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YAChD,IAAA,yBAAM,EAAuB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC/C,IAAA,yBAAM,EAAuB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;SACnD,CAAA;QAEwB,uBAAkB,GAAG,CAAC,IAAA,yBAAM,EAAuB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;IAuClG,CAAC;IAjBU,MAAM,CAAC,IAAI,CAAC,KAA4B;QAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,aAAa,CAC7B,SAAsD,EACtD,QAAkB,EAClB,SAA0C;QAE1C,OAAO,IAAI,CAAC,IAAI,CAAC;YACb,OAAO,EAAE,SAAS;YAClB,EAAE,EAAE,MAAM,4BAAc,CAAC,SAAS,CAAC,QAAQ,EAAE;YAC7C,SAAS,EAAE,oBAAQ,CAAC,GAAG,EAAE;YACzB,QAAQ,EAAE,QAAQ;YAClB,SAAS,EAAE,SAAS;SACvB,CAAC,CAAA;IACN,CAAC;CACJ,CAAA;AAnCG;IAFC,IAAA,oBAAQ,GAAE;IACV,IAAA,qBAAS,EAAC,EAAE,UAAU,EAAE,CAAC,2BAAiB,EAAE,+BAAqB,CAAC,EAAE,CAAC;;qDACb;AAIzD;IAFC,IAAA,oBAAQ,GAAE;IACV,IAAA,qBAAS,GAAE;8BACM,oBAAQ;uDAAA;AAI1B;IAFC,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,IAAA,qBAAS,GAAE;8BACM,kBAAM;sDAAA;AAIxB;IAFC,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,IAAA,qBAAS,GAAE;8BACS,kBAAM;yDAAA;AAI3B;IAFC,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,IAAA,qBAAS,GAAE;8BACO,6DAA6B;uDAAA;AA7BvC,oBAAoB;IADhC,IAAA,gBAAI,EAAC,sBAAsB,CAAC;GAChB,oBAAoB,CAgDhC;AAhDY,oDAAoB"}
@@ -1,4 +1,9 @@
1
1
  import { CoreAddress, CoreId, CoreSerializable, ICoreAddress, ICoreId, ICoreSerializable } from "@nmshd/transport";
2
+ export interface ConsumptionAttributeShareInfoJSON {
3
+ requestReference: string;
4
+ peer: string;
5
+ sourceAttribute?: string;
6
+ }
2
7
  export interface IConsumptionAttributeShareInfo extends ICoreSerializable {
3
8
  requestReference: ICoreId;
4
9
  peer: ICoreAddress;
@@ -1 +1 @@
1
- {"version":3,"file":"ConsumptionAttributeShareInfo.js","sourceRoot":"","sources":["../../../../src/modules/attributes/local/ConsumptionAttributeShareInfo.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAAwD;AACxD,gDAAkH;AAQlH,MAAa,6BAA8B,SAAQ,4BAAgB;IAaxD,MAAM,CAAC,IAAI,CAAC,KAAqC;QACpD,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAkC,CAAA;IAChE,CAAC;CACJ;AAbG;IAFC,IAAA,oBAAQ,GAAE;IACV,IAAA,qBAAS,GAAE;8BACa,kBAAM;uEAAA;AAI/B;IAFC,IAAA,oBAAQ,GAAE;IACV,IAAA,qBAAS,GAAE;8BACC,uBAAW;2DAAA;AAIxB;IAFC,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,IAAA,qBAAS,GAAE;8BACa,kBAAM;sEAAA;AAXnC,sEAgBC"}
1
+ {"version":3,"file":"ConsumptionAttributeShareInfo.js","sourceRoot":"","sources":["../../../../src/modules/attributes/local/ConsumptionAttributeShareInfo.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAAwD;AACxD,gDAAkH;AAclH,MAAa,6BAA8B,SAAQ,4BAAgB;IAaxD,MAAM,CAAC,IAAI,CAAC,KAAqC;QACpD,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAkC,CAAA;IAChE,CAAC;CACJ;AAbG;IAFC,IAAA,oBAAQ,GAAE;IACV,IAAA,qBAAS,GAAE;8BACa,kBAAM;uEAAA;AAI/B;IAFC,IAAA,oBAAQ,GAAE;IACV,IAAA,qBAAS,GAAE;8BACC,uBAAW;2DAAA;AAIxB;IAFC,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,IAAA,qBAAS,GAAE;8BACa,kBAAM;sEAAA;AAXnC,sEAgBC"}
@@ -0,0 +1,3 @@
1
+ import { QueryTranslator } from "@js-soft/docdb-querytranslator";
2
+ export declare const identityQueryTranslator: QueryTranslator;
3
+ export declare const relationshipQueryTranslator: QueryTranslator;
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.relationshipQueryTranslator = exports.identityQueryTranslator = void 0;
4
+ const docdb_querytranslator_1 = require("@js-soft/docdb-querytranslator");
5
+ const luxon_1 = require("luxon");
6
+ const ts_simple_nameof_1 = require("ts-simple-nameof");
7
+ exports.identityQueryTranslator = new docdb_querytranslator_1.QueryTranslator({
8
+ whitelist: {
9
+ [(0, ts_simple_nameof_1.nameof)((x) => x.tags)]: true,
10
+ [(0, ts_simple_nameof_1.nameof)((x) => x.valueType)]: true,
11
+ [(0, ts_simple_nameof_1.nameof)((x) => x.validFrom)]: true,
12
+ [(0, ts_simple_nameof_1.nameof)((x) => x.validTo)]: true,
13
+ attributeType: true
14
+ },
15
+ alias: {
16
+ // @type of attributeValue
17
+ [(0, ts_simple_nameof_1.nameof)((x) => x.valueType)]: [
18
+ `${(0, ts_simple_nameof_1.nameof)((x) => x.content)}.${(0, ts_simple_nameof_1.nameof)((x) => x.value)}.@type`
19
+ ],
20
+ // @type of attribute
21
+ attributeType: [`${(0, ts_simple_nameof_1.nameof)((x) => x.content)}.@type`]
22
+ },
23
+ custom: {
24
+ // tags
25
+ [(0, ts_simple_nameof_1.nameof)((x) => x.tags)]: (query, input) => {
26
+ const allowedTags = [];
27
+ for (const tag of input) {
28
+ const tagQuery = {
29
+ [`${(0, ts_simple_nameof_1.nameof)((x) => x.content)}.${(0, ts_simple_nameof_1.nameof)((x) => x.tags)}`]: { $contains: tag }
30
+ };
31
+ allowedTags.push(tagQuery);
32
+ }
33
+ query["$or"] = allowedTags;
34
+ },
35
+ // validFrom
36
+ [(0, ts_simple_nameof_1.nameof)((x) => x.validFrom)]: (query, input) => {
37
+ if (!input) {
38
+ return;
39
+ }
40
+ const validFromUtcString = luxon_1.DateTime.fromISO(input).toUTC().toString();
41
+ query[`${(0, ts_simple_nameof_1.nameof)((x) => x.content)}.${(0, ts_simple_nameof_1.nameof)((x) => x.validFrom)}`] = {
42
+ $gte: validFromUtcString
43
+ };
44
+ },
45
+ // validTo
46
+ [(0, ts_simple_nameof_1.nameof)((x) => x.validTo)]: (query, input) => {
47
+ if (!input) {
48
+ return;
49
+ }
50
+ const validToUtcString = luxon_1.DateTime.fromISO(input).toUTC().toString();
51
+ query[`${(0, ts_simple_nameof_1.nameof)((x) => x.content)}.${(0, ts_simple_nameof_1.nameof)((x) => x.validTo)}`] = {
52
+ $lte: validToUtcString
53
+ };
54
+ }
55
+ }
56
+ });
57
+ exports.relationshipQueryTranslator = new docdb_querytranslator_1.QueryTranslator({
58
+ whitelist: {
59
+ [(0, ts_simple_nameof_1.nameof)((x) => x.key)]: true,
60
+ [(0, ts_simple_nameof_1.nameof)((x) => x.valueType)]: true,
61
+ [(0, ts_simple_nameof_1.nameof)((x) => x.validFrom)]: true,
62
+ [(0, ts_simple_nameof_1.nameof)((x) => x.validTo)]: true,
63
+ [(0, ts_simple_nameof_1.nameof)((x) => x.owner)]: true,
64
+ [(0, ts_simple_nameof_1.nameof)((x) => x.thirdParty)]: true,
65
+ attributeType: true
66
+ },
67
+ alias: {
68
+ // key
69
+ [(0, ts_simple_nameof_1.nameof)((x) => x.key)]: [
70
+ `${(0, ts_simple_nameof_1.nameof)((x) => x.content)}.${(0, ts_simple_nameof_1.nameof)((x) => x.key)}`
71
+ ],
72
+ // @type of attributeValue
73
+ [(0, ts_simple_nameof_1.nameof)((x) => x.valueType)]: [
74
+ `${(0, ts_simple_nameof_1.nameof)((x) => x.content)}.${(0, ts_simple_nameof_1.nameof)((x) => x.value)}.@type`
75
+ ],
76
+ // @type of attribute
77
+ attributeType: [`${(0, ts_simple_nameof_1.nameof)((x) => x.content)}.@type`],
78
+ // owner
79
+ [(0, ts_simple_nameof_1.nameof)((x) => x.owner)]: [
80
+ `${(0, ts_simple_nameof_1.nameof)((x) => x.content)}.${(0, ts_simple_nameof_1.nameof)((x) => x.owner)}`
81
+ ],
82
+ // peer
83
+ [(0, ts_simple_nameof_1.nameof)((x) => x.thirdParty)]: [
84
+ `${(0, ts_simple_nameof_1.nameof)((x) => x.shareInfo)}.${(0, ts_simple_nameof_1.nameof)((x) => x.peer)}`
85
+ ]
86
+ },
87
+ custom: {
88
+ // validFrom
89
+ [(0, ts_simple_nameof_1.nameof)((x) => x.validFrom)]: (query, input) => {
90
+ if (!input) {
91
+ return;
92
+ }
93
+ const validFromUtcString = luxon_1.DateTime.fromISO(input).toUTC().toString();
94
+ query[`${(0, ts_simple_nameof_1.nameof)((x) => x.content)}.${(0, ts_simple_nameof_1.nameof)((x) => x.validFrom)}`] = {
95
+ $gte: validFromUtcString
96
+ };
97
+ },
98
+ // validTo
99
+ [(0, ts_simple_nameof_1.nameof)((x) => x.validTo)]: (query, input) => {
100
+ if (!input) {
101
+ return;
102
+ }
103
+ const validToUtcString = luxon_1.DateTime.fromISO(input).toUTC().toString();
104
+ query[`${(0, ts_simple_nameof_1.nameof)((x) => x.content)}.${(0, ts_simple_nameof_1.nameof)((x) => x.validTo)}`] = {
105
+ $lte: validToUtcString
106
+ };
107
+ }
108
+ }
109
+ });
110
+ //# sourceMappingURL=QueryTranslator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryTranslator.js","sourceRoot":"","sources":["../../../../src/modules/attributes/local/QueryTranslator.ts"],"names":[],"mappings":"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"}