@nmshd/transport 2.0.0-alpha.2 → 2.0.0-alpha.3

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 (41) hide show
  1. package/dist/buildInformation.js +5 -5
  2. package/dist/core/CoreIdHelper.d.ts +2 -1
  3. package/dist/core/CoreIdHelper.js +5 -0
  4. package/dist/core/CoreIdHelper.js.map +1 -1
  5. package/dist/core/Reference.d.ts +16 -0
  6. package/dist/core/Reference.js +69 -0
  7. package/dist/core/Reference.js.map +1 -0
  8. package/dist/core/TransportIds.d.ts +0 -1
  9. package/dist/core/TransportIds.js +0 -1
  10. package/dist/core/TransportIds.js.map +1 -1
  11. package/dist/core/index.d.ts +1 -0
  12. package/dist/core/index.js +1 -0
  13. package/dist/core/index.js.map +1 -1
  14. package/dist/modules/files/local/File.d.ts +1 -0
  15. package/dist/modules/files/local/File.js +5 -4
  16. package/dist/modules/files/local/File.js.map +1 -1
  17. package/dist/modules/files/transmission/FileReference.d.ts +4 -10
  18. package/dist/modules/files/transmission/FileReference.js +6 -44
  19. package/dist/modules/files/transmission/FileReference.js.map +1 -1
  20. package/dist/modules/index.d.ts +1 -0
  21. package/dist/modules/index.js +1 -0
  22. package/dist/modules/index.js.map +1 -1
  23. package/dist/modules/relationshipTemplates/RelationshipTemplateController.d.ts +3 -0
  24. package/dist/modules/relationshipTemplates/RelationshipTemplateController.js +8 -0
  25. package/dist/modules/relationshipTemplates/RelationshipTemplateController.js.map +1 -1
  26. package/dist/modules/relationshipTemplates/local/RelationshipTemplate.d.ts +3 -0
  27. package/dist/modules/relationshipTemplates/local/RelationshipTemplate.js +8 -0
  28. package/dist/modules/relationshipTemplates/local/RelationshipTemplate.js.map +1 -1
  29. package/dist/modules/relationshipTemplates/transmission/RelationshipTemplateReference.d.ts +7 -0
  30. package/dist/modules/relationshipTemplates/transmission/RelationshipTemplateReference.js +25 -0
  31. package/dist/modules/relationshipTemplates/transmission/RelationshipTemplateReference.js.map +1 -0
  32. package/dist/modules/tokens/local/Token.js +3 -6
  33. package/dist/modules/tokens/local/Token.js.map +1 -1
  34. package/dist/modules/tokens/transmission/TokenReference.d.ts +4 -10
  35. package/dist/modules/tokens/transmission/TokenReference.js +6 -44
  36. package/dist/modules/tokens/transmission/TokenReference.js.map +1 -1
  37. package/lib-web/nmshd.transport.js +171 -106
  38. package/lib-web/nmshd.transport.js.map +1 -1
  39. package/lib-web/nmshd.transport.min.js +1 -1
  40. package/lib-web/nmshd.transport.min.js.map +1 -1
  41. package/package.json +8 -8
@@ -5,58 +5,20 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
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
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
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
- var TokenReference_1;
12
8
  Object.defineProperty(exports, "__esModule", { value: true });
13
9
  exports.TokenReference = void 0;
14
10
  const ts_serval_1 = require("@js-soft/ts-serval");
15
- const crypto_1 = require("@nmshd/crypto");
16
11
  const core_1 = require("../../../core");
17
- let TokenReference = TokenReference_1 = class TokenReference extends core_1.CoreSerializable {
18
- truncate() {
19
- const truncatedReference = crypto_1.CoreBuffer.fromUtf8(`${this.id.toString()}|${this.key.algorithm}|${this.key.secretKey.toBase64URL()}`);
20
- return truncatedReference.toBase64URL();
21
- }
22
- static fromTruncated(value) {
23
- const truncatedBuffer = crypto_1.CoreBuffer.fromBase64URL(value);
24
- const splitted = truncatedBuffer.toUtf8().split("|");
25
- if (splitted.length !== 3) {
26
- throw core_1.TransportErrors.tokens.invalidTruncatedReference();
27
- }
28
- try {
29
- const id = core_1.CoreId.from(splitted[0]);
30
- const alg = parseInt(splitted[1]);
31
- const key = splitted[2];
32
- const secretKey = crypto_1.CryptoSecretKey.from({
33
- algorithm: alg,
34
- secretKey: crypto_1.CoreBuffer.fromBase64URL(key)
35
- });
36
- return TokenReference_1.from({
37
- id: id,
38
- key: secretKey
39
- });
40
- }
41
- catch (e) {
42
- throw core_1.TransportErrors.tokens.invalidTruncatedReference();
43
- }
12
+ let TokenReference = class TokenReference extends core_1.Reference {
13
+ static preFrom(value) {
14
+ super.validateId(value, core_1.BackboneIds.token);
15
+ return value;
44
16
  }
45
17
  static from(value) {
46
- return this.fromAny(value);
18
+ return super.from(value);
47
19
  }
48
20
  };
49
- __decorate([
50
- (0, ts_serval_1.validate)(),
51
- (0, ts_serval_1.serialize)(),
52
- __metadata("design:type", core_1.CoreId)
53
- ], TokenReference.prototype, "id", void 0);
54
- __decorate([
55
- (0, ts_serval_1.validate)(),
56
- (0, ts_serval_1.serialize)(),
57
- __metadata("design:type", crypto_1.CryptoSecretKey)
58
- ], TokenReference.prototype, "key", void 0);
59
- TokenReference = TokenReference_1 = __decorate([
21
+ TokenReference = __decorate([
60
22
  (0, ts_serval_1.type)("TokenReference")
61
23
  ], TokenReference);
62
24
  exports.TokenReference = TokenReference;
@@ -1 +1 @@
1
- {"version":3,"file":"TokenReference.js","sourceRoot":"","sources":["../../../../src/modules/tokens/transmission/TokenReference.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,kDAA8D;AAC9D,0CAA6E;AAC7E,wCAAqG;AAQrG,IAAa,cAAc,sBAA3B,MAAa,cAAe,SAAQ,uBAAgB;IASzC,QAAQ;QACX,MAAM,kBAAkB,GAAG,mBAAU,CAAC,QAAQ,CAC1C,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,CACpF,CAAA;QACD,OAAO,kBAAkB,CAAC,WAAW,EAAE,CAAA;IAC3C,CAAC;IAEM,MAAM,CAAC,aAAa,CAAC,KAAa;QACrC,MAAM,eAAe,GAAG,mBAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QACvD,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAEpD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YACvB,MAAM,sBAAe,CAAC,MAAM,CAAC,yBAAyB,EAAE,CAAA;SAC3D;QACD,IAAI;YACA,MAAM,EAAE,GAAG,aAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;YACnC,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;YACjC,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;YACvB,MAAM,SAAS,GAAG,wBAAe,CAAC,IAAI,CAAC;gBACnC,SAAS,EAAE,GAAG;gBACd,SAAS,EAAE,mBAAU,CAAC,aAAa,CAAC,GAAG,CAAC;aAC3C,CAAC,CAAA;YAEF,OAAO,gBAAc,CAAC,IAAI,CAAC;gBACvB,EAAE,EAAE,EAAE;gBACN,GAAG,EAAE,SAAS;aACjB,CAAC,CAAA;SACL;QAAC,OAAO,CAAC,EAAE;YACR,MAAM,sBAAe,CAAC,MAAM,CAAC,yBAAyB,EAAE,CAAA;SAC3D;IACL,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,KAA+B;QAC9C,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;CACJ,CAAA;AAzCG;IAFC,IAAA,oBAAQ,GAAE;IACV,IAAA,qBAAS,GAAE;8BACD,aAAM;0CAAA;AAIjB;IAFC,IAAA,oBAAQ,GAAE;IACV,IAAA,qBAAS,GAAE;8BACA,wBAAe;2CAAA;AAPlB,cAAc;IAD1B,IAAA,gBAAI,EAAC,gBAAgB,CAAC;GACV,cAAc,CA4C1B;AA5CY,wCAAc"}
1
+ {"version":3,"file":"TokenReference.js","sourceRoot":"","sources":["../../../../src/modules/tokens/transmission/TokenReference.ts"],"names":[],"mappings":";;;;;;;;;AAAA,kDAAyC;AACzC,wCAAkE;AAKlE,IAAa,cAAc,GAA3B,MAAa,cAAe,SAAQ,gBAAS;IAC/B,MAAM,CAAU,OAAO,CAAC,KAAU;QACxC,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,kBAAW,CAAC,KAAK,CAAC,CAAA;QAE1C,OAAO,KAAK,CAAA;IAChB,CAAC;IAEM,MAAM,CAAU,IAAI,CAAC,KAA+B;QACvD,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC5B,CAAC;CACJ,CAAA;AAVY,cAAc;IAD1B,IAAA,gBAAI,EAAC,gBAAgB,CAAC;GACV,cAAc,CAU1B;AAVY,wCAAc"}
@@ -15,11 +15,11 @@ exports.buildInformation = void 0;
15
15
  const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-serval");
16
16
  const crypto_1 = __webpack_require__(/*! @nmshd/crypto */ "@nmshd/crypto");
17
17
  exports.buildInformation = {
18
- version: "2.0.0-alpha.2",
19
- build: "28",
20
- date: "2022-06-14T07:48:11+00:00",
21
- commit: "50fc95042643bfc779e34b2ff4e6a1c5495264c3",
22
- dependencies: {"@js-soft/docdb-access-abstractions":"1.0.1","@js-soft/logging-abstractions":"1.0.0","@js-soft/simple-logger":"1.0.1","@js-soft/ts-utils":"1.1.2","axios":"^0.27.2","deep-equal":"^2.0.5","fast-json-patch":"^3.1.1","form-data":"^4.0.0","json-stringify-safe":"^5.0.1","lodash":"^4.17.21","luxon":"^2.4.0","qs":"^6.10.5","reflect-metadata":"^0.1.13","ts-simple-nameof":"^1.3.1","uuid":"^8.3.2"},
18
+ version: "2.0.0-alpha.3",
19
+ build: "29",
20
+ date: "2022-07-01T08:13:45+00:00",
21
+ commit: "7bc1cb56230ee23eae0f10e5fbc8f4741df0f143",
22
+ dependencies: {"@js-soft/docdb-access-abstractions":"1.0.1","@js-soft/logging-abstractions":"1.0.0","@js-soft/simple-logger":"1.0.1","@js-soft/ts-utils":"1.1.2","axios":"^0.27.2","deep-equal":"^2.0.5","fast-json-patch":"^3.1.1","form-data":"^4.0.0","json-stringify-safe":"^5.0.1","lodash":"^4.17.21","luxon":"^2.4.0","qs":"^6.11.0","reflect-metadata":"^0.1.13","ts-simple-nameof":"^1.3.1","uuid":"^8.3.2"},
23
23
  libraries: {
24
24
  crypto: crypto_1.buildInformation,
25
25
  serval: ts_serval_1.buildInformation
@@ -341,7 +341,12 @@ class CoreIdHelper {
341
341
  }
342
342
  return await CoreId_1.CoreId.generate(this.prefix);
343
343
  }
344
+ async generateUnsafe() {
345
+ return await CoreId_1.CoreId.generate(this.prefix);
346
+ }
344
347
  validate(id) {
348
+ if (id instanceof CoreId_1.CoreId)
349
+ id = id.toString();
345
350
  return this.coreIdRegex.test(id);
346
351
  }
347
352
  }
@@ -627,6 +632,85 @@ exports.ProgressReporterStep = ProgressReporterStep;
627
632
 
628
633
  /***/ }),
629
634
 
635
+ /***/ "./dist/core/Reference.js":
636
+ /*!********************************!*\
637
+ !*** ./dist/core/Reference.js ***!
638
+ \********************************/
639
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
640
+
641
+ "use strict";
642
+
643
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
644
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
645
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
646
+ 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;
647
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
648
+ };
649
+ var __metadata = (this && this.__metadata) || function (k, v) {
650
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
651
+ };
652
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
653
+ exports.Reference = void 0;
654
+ const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-serval");
655
+ const crypto_1 = __webpack_require__(/*! @nmshd/crypto */ "@nmshd/crypto");
656
+ const TransportErrors_1 = __webpack_require__(/*! ./TransportErrors */ "./dist/core/TransportErrors.js");
657
+ const CoreId_1 = __webpack_require__(/*! ./types/CoreId */ "./dist/core/types/CoreId.js");
658
+ class Reference extends ts_serval_1.Serializable {
659
+ truncate() {
660
+ const truncatedReference = crypto_1.CoreBuffer.fromUtf8(`${this.id.toString()}|${this.key.algorithm}|${this.key.secretKey.toBase64URL()}`);
661
+ return truncatedReference.toBase64URL();
662
+ }
663
+ static fromTruncated(value) {
664
+ const truncatedBuffer = crypto_1.CoreBuffer.fromBase64URL(value);
665
+ const splitted = truncatedBuffer.toUtf8().split("|");
666
+ if (splitted.length !== 3) {
667
+ throw TransportErrors_1.TransportErrors.files.invalidTruncatedReference();
668
+ }
669
+ try {
670
+ const id = CoreId_1.CoreId.from(splitted[0]);
671
+ const alg = parseInt(splitted[1]);
672
+ const key = splitted[2];
673
+ const secretKey = crypto_1.CryptoSecretKey.from({
674
+ algorithm: alg,
675
+ secretKey: crypto_1.CoreBuffer.fromBase64URL(key)
676
+ });
677
+ return this.from({
678
+ id: CoreId_1.CoreId.from(id),
679
+ key: secretKey
680
+ });
681
+ }
682
+ catch (e) {
683
+ throw TransportErrors_1.TransportErrors.files.invalidTruncatedReference();
684
+ }
685
+ }
686
+ static validateId(value, helper) {
687
+ if (!(value === null || value === void 0 ? void 0 : value.id))
688
+ return;
689
+ if (!helper.validate(value.id)) {
690
+ throw new ts_serval_1.ValidationError(this.name, "id", `id must start with '${helper.prefix}' but is '${value.id}'`);
691
+ }
692
+ }
693
+ static from(value) {
694
+ if (typeof value === "string")
695
+ return this.fromTruncated(value);
696
+ return this.fromAny(value);
697
+ }
698
+ }
699
+ __decorate([
700
+ (0, ts_serval_1.validate)(),
701
+ (0, ts_serval_1.serialize)(),
702
+ __metadata("design:type", CoreId_1.CoreId)
703
+ ], Reference.prototype, "id", void 0);
704
+ __decorate([
705
+ (0, ts_serval_1.validate)(),
706
+ (0, ts_serval_1.serialize)(),
707
+ __metadata("design:type", crypto_1.CryptoSecretKey)
708
+ ], Reference.prototype, "key", void 0);
709
+ exports.Reference = Reference;
710
+ //# sourceMappingURL=Reference.js.map
711
+
712
+ /***/ }),
713
+
630
714
  /***/ "./dist/core/Transport.js":
631
715
  /*!********************************!*\
632
716
  !*** ./dist/core/Transport.js ***!
@@ -1154,7 +1238,6 @@ TransportIds.secret = new CoreIdHelper_1.CoreIdHelper("TRPSEC");
1154
1238
  TransportIds.relationshipSecret = new CoreIdHelper_1.CoreIdHelper("TRPRSE");
1155
1239
  TransportIds.relationshipTemplateKey = new CoreIdHelper_1.CoreIdHelper("TRPRTK");
1156
1240
  TransportIds.datawalletModification = new CoreIdHelper_1.CoreIdHelper("TRPDWM");
1157
- TransportIds.fileReference = new CoreIdHelper_1.CoreIdHelper("TRPFRF");
1158
1241
  //# sourceMappingURL=TransportIds.js.map
1159
1242
 
1160
1243
  /***/ }),
@@ -2186,6 +2269,7 @@ __exportStar(__webpack_require__(/*! ./CoreSynchronizable */ "./dist/core/CoreSy
2186
2269
  __exportStar(__webpack_require__(/*! ./CoreUtil */ "./dist/core/CoreUtil.js"), exports);
2187
2270
  __exportStar(__webpack_require__(/*! ./DependencyOverrides */ "./dist/core/DependencyOverrides.js"), exports);
2188
2271
  __exportStar(__webpack_require__(/*! ./ProgressReporter */ "./dist/core/ProgressReporter.js"), exports);
2272
+ __exportStar(__webpack_require__(/*! ./Reference */ "./dist/core/Reference.js"), exports);
2189
2273
  __exportStar(__webpack_require__(/*! ./Transport */ "./dist/core/Transport.js"), exports);
2190
2274
  __exportStar(__webpack_require__(/*! ./TransportContext */ "./dist/core/TransportContext.js"), exports);
2191
2275
  __exportStar(__webpack_require__(/*! ./TransportController */ "./dist/core/TransportController.js"), exports);
@@ -5698,10 +5782,11 @@ let File = class File extends core_1.CoreSynchronizable {
5698
5782
  return this.fromAny(value);
5699
5783
  }
5700
5784
  toFileReference() {
5701
- return FileReference_1.FileReference.from({
5702
- id: this.id,
5703
- key: this.secretKey
5704
- });
5785
+ return FileReference_1.FileReference.from({ id: this.id, key: this.secretKey });
5786
+ }
5787
+ truncate() {
5788
+ const reference = this.toFileReference();
5789
+ return reference.truncate();
5705
5790
  }
5706
5791
  setCache(cache) {
5707
5792
  this.cache = cache;
@@ -5912,58 +5997,20 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5912
5997
  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;
5913
5998
  return c > 3 && r && Object.defineProperty(target, key, r), r;
5914
5999
  };
5915
- var __metadata = (this && this.__metadata) || function (k, v) {
5916
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
5917
- };
5918
- var FileReference_1;
5919
6000
  Object.defineProperty(exports, "__esModule", ({ value: true }));
5920
6001
  exports.FileReference = void 0;
5921
6002
  const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-serval");
5922
- const crypto_1 = __webpack_require__(/*! @nmshd/crypto */ "@nmshd/crypto");
5923
6003
  const core_1 = __webpack_require__(/*! ../../../core */ "./dist/core/index.js");
5924
- let FileReference = FileReference_1 = class FileReference extends core_1.CoreSerializable {
5925
- truncate() {
5926
- const truncatedReference = crypto_1.CoreBuffer.fromUtf8(`${this.id.toString()}|${this.key.algorithm}|${this.key.secretKey.toBase64URL()}`);
5927
- return truncatedReference.toBase64URL();
5928
- }
5929
- static fromTruncated(value) {
5930
- const truncatedBuffer = crypto_1.CoreBuffer.fromBase64URL(value);
5931
- const splitted = truncatedBuffer.toUtf8().split("|");
5932
- if (splitted.length !== 3) {
5933
- throw core_1.TransportErrors.files.invalidTruncatedReference();
5934
- }
5935
- try {
5936
- const id = core_1.CoreId.from(splitted[0]);
5937
- const alg = parseInt(splitted[1]);
5938
- const key = splitted[2];
5939
- const secretKey = crypto_1.CryptoSecretKey.from({
5940
- algorithm: alg,
5941
- secretKey: crypto_1.CoreBuffer.fromBase64URL(key)
5942
- });
5943
- return FileReference_1.from({
5944
- id: core_1.CoreId.from(id),
5945
- key: secretKey
5946
- });
5947
- }
5948
- catch (e) {
5949
- throw core_1.TransportErrors.files.invalidTruncatedReference();
5950
- }
6004
+ let FileReference = class FileReference extends core_1.Reference {
6005
+ static preFrom(value) {
6006
+ super.validateId(value, core_1.BackboneIds.file);
6007
+ return value;
5951
6008
  }
5952
6009
  static from(value) {
5953
- return this.fromAny(value);
6010
+ return super.from(value);
5954
6011
  }
5955
6012
  };
5956
- __decorate([
5957
- (0, ts_serval_1.validate)(),
5958
- (0, ts_serval_1.serialize)(),
5959
- __metadata("design:type", core_1.CoreId)
5960
- ], FileReference.prototype, "id", void 0);
5961
- __decorate([
5962
- (0, ts_serval_1.validate)(),
5963
- (0, ts_serval_1.serialize)(),
5964
- __metadata("design:type", crypto_1.CryptoSecretKey)
5965
- ], FileReference.prototype, "key", void 0);
5966
- FileReference = FileReference_1 = __decorate([
6013
+ FileReference = __decorate([
5967
6014
  (0, ts_serval_1.type)("FileReference")
5968
6015
  ], FileReference);
5969
6016
  exports.FileReference = FileReference;
@@ -6083,6 +6130,7 @@ __exportStar(__webpack_require__(/*! ./relationshipTemplates/local/SendRelations
6083
6130
  __exportStar(__webpack_require__(/*! ./relationshipTemplates/RelationshipTemplateController */ "./dist/modules/relationshipTemplates/RelationshipTemplateController.js"), exports);
6084
6131
  __exportStar(__webpack_require__(/*! ./relationshipTemplates/transmission/RelationshipTemplateContent */ "./dist/modules/relationshipTemplates/transmission/RelationshipTemplateContent.js"), exports);
6085
6132
  __exportStar(__webpack_require__(/*! ./relationshipTemplates/transmission/RelationshipTemplatePublicKey */ "./dist/modules/relationshipTemplates/transmission/RelationshipTemplatePublicKey.js"), exports);
6133
+ __exportStar(__webpack_require__(/*! ./relationshipTemplates/transmission/RelationshipTemplateReference */ "./dist/modules/relationshipTemplates/transmission/RelationshipTemplateReference.js"), exports);
6086
6134
  __exportStar(__webpack_require__(/*! ./relationshipTemplates/transmission/RelationshipTemplateSigned */ "./dist/modules/relationshipTemplates/transmission/RelationshipTemplateSigned.js"), exports);
6087
6135
  __exportStar(__webpack_require__(/*! ./secrets/data/SecretContainerCipher */ "./dist/modules/secrets/data/SecretContainerCipher.js"), exports);
6088
6136
  __exportStar(__webpack_require__(/*! ./secrets/data/SecretContainerPlain */ "./dist/modules/secrets/data/SecretContainerPlain.js"), exports);
@@ -7077,6 +7125,7 @@ const CachedRelationshipTemplate_1 = __webpack_require__(/*! ./local/CachedRelat
7077
7125
  const RelationshipTemplate_1 = __webpack_require__(/*! ./local/RelationshipTemplate */ "./dist/modules/relationshipTemplates/local/RelationshipTemplate.js");
7078
7126
  const SendRelationshipTemplateParameters_1 = __webpack_require__(/*! ./local/SendRelationshipTemplateParameters */ "./dist/modules/relationshipTemplates/local/SendRelationshipTemplateParameters.js");
7079
7127
  const RelationshipTemplateContent_1 = __webpack_require__(/*! ./transmission/RelationshipTemplateContent */ "./dist/modules/relationshipTemplates/transmission/RelationshipTemplateContent.js");
7128
+ const RelationshipTemplateReference_1 = __webpack_require__(/*! ./transmission/RelationshipTemplateReference */ "./dist/modules/relationshipTemplates/transmission/RelationshipTemplateReference.js");
7080
7129
  const RelationshipTemplateSigned_1 = __webpack_require__(/*! ./transmission/RelationshipTemplateSigned */ "./dist/modules/relationshipTemplates/transmission/RelationshipTemplateSigned.js");
7081
7130
  class RelationshipTemplateController extends TransportController_1.TransportController {
7082
7131
  constructor(parent, secrets, controllerName) {
@@ -7228,6 +7277,13 @@ class RelationshipTemplateController extends TransportController_1.TransportCont
7228
7277
  await this.templates.update(templateDoc, template);
7229
7278
  return template;
7230
7279
  }
7280
+ async loadPeerRelationshipTemplateByTruncated(truncated) {
7281
+ const reference = RelationshipTemplateReference_1.RelationshipTemplateReference.fromTruncated(truncated);
7282
+ return await this.loadPeerRelationshipTemplateByReference(reference);
7283
+ }
7284
+ async loadPeerRelationshipTemplateByReference(relationshipTemplateReference) {
7285
+ return await this.loadPeerRelationshipTemplate(relationshipTemplateReference.id, relationshipTemplateReference.key);
7286
+ }
7231
7287
  async loadPeerRelationshipTemplate(id, secretKey) {
7232
7288
  const templateDoc = await this.templates.read(id.toString());
7233
7289
  if (templateDoc) {
@@ -7428,6 +7484,7 @@ const crypto_1 = __webpack_require__(/*! @nmshd/crypto */ "@nmshd/crypto");
7428
7484
  const ts_simple_nameof_1 = __webpack_require__(/*! ts-simple-nameof */ "./node_modules/ts-simple-nameof/index.js");
7429
7485
  const core_1 = __webpack_require__(/*! ../../../core */ "./dist/core/index.js");
7430
7486
  const CoreDate_1 = __webpack_require__(/*! ../../../core/types/CoreDate */ "./dist/core/types/CoreDate.js");
7487
+ const RelationshipTemplateReference_1 = __webpack_require__(/*! ../transmission/RelationshipTemplateReference */ "./dist/modules/relationshipTemplates/transmission/RelationshipTemplateReference.js");
7431
7488
  const CachedRelationshipTemplate_1 = __webpack_require__(/*! ./CachedRelationshipTemplate */ "./dist/modules/relationshipTemplates/local/CachedRelationshipTemplate.js");
7432
7489
  let RelationshipTemplate = class RelationshipTemplate extends core_1.CoreSynchronizable {
7433
7490
  constructor() {
@@ -7446,6 +7503,13 @@ let RelationshipTemplate = class RelationshipTemplate extends core_1.CoreSynchro
7446
7503
  static from(value) {
7447
7504
  return this.fromAny(value);
7448
7505
  }
7506
+ toRelationshipTemplateReference() {
7507
+ return RelationshipTemplateReference_1.RelationshipTemplateReference.from({ id: this.id, key: this.secretKey });
7508
+ }
7509
+ truncate() {
7510
+ const reference = this.toRelationshipTemplateReference();
7511
+ return reference.truncate();
7512
+ }
7449
7513
  setCache(cache) {
7450
7514
  this.cache = cache;
7451
7515
  this.cachedAt = CoreDate_1.CoreDate.utc();
@@ -7673,6 +7737,41 @@ exports.RelationshipTemplatePublicKey = RelationshipTemplatePublicKey;
7673
7737
 
7674
7738
  /***/ }),
7675
7739
 
7740
+ /***/ "./dist/modules/relationshipTemplates/transmission/RelationshipTemplateReference.js":
7741
+ /*!******************************************************************************************!*\
7742
+ !*** ./dist/modules/relationshipTemplates/transmission/RelationshipTemplateReference.js ***!
7743
+ \******************************************************************************************/
7744
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
7745
+
7746
+ "use strict";
7747
+
7748
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
7749
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
7750
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
7751
+ 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;
7752
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7753
+ };
7754
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
7755
+ exports.RelationshipTemplateReference = void 0;
7756
+ const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-serval");
7757
+ const core_1 = __webpack_require__(/*! ../../../core */ "./dist/core/index.js");
7758
+ let RelationshipTemplateReference = class RelationshipTemplateReference extends core_1.Reference {
7759
+ static preFrom(value) {
7760
+ super.validateId(value, core_1.BackboneIds.relationshipTemplate);
7761
+ return value;
7762
+ }
7763
+ static from(value) {
7764
+ return super.from(value);
7765
+ }
7766
+ };
7767
+ RelationshipTemplateReference = __decorate([
7768
+ (0, ts_serval_1.type)("RelationshipTemplateReference")
7769
+ ], RelationshipTemplateReference);
7770
+ exports.RelationshipTemplateReference = RelationshipTemplateReference;
7771
+ //# sourceMappingURL=RelationshipTemplateReference.js.map
7772
+
7773
+ /***/ }),
7774
+
7676
7775
  /***/ "./dist/modules/relationshipTemplates/transmission/RelationshipTemplateSigned.js":
7677
7776
  /*!***************************************************************************************!*\
7678
7777
  !*** ./dist/modules/relationshipTemplates/transmission/RelationshipTemplateSigned.js ***!
@@ -11403,14 +11502,11 @@ let Token = class Token extends core_1.CoreSynchronizable {
11403
11502
  return this.fromAny(value);
11404
11503
  }
11405
11504
  toTokenReference() {
11406
- return TokenReference_1.TokenReference.from({
11407
- id: this.id,
11408
- key: this.secretKey
11409
- });
11505
+ return TokenReference_1.TokenReference.from({ id: this.id, key: this.secretKey });
11410
11506
  }
11411
11507
  truncate() {
11412
- const tokenReference = this.toTokenReference();
11413
- return tokenReference.truncate();
11508
+ const reference = this.toTokenReference();
11509
+ return reference.truncate();
11414
11510
  }
11415
11511
  setCache(cache) {
11416
11512
  this.cache = cache;
@@ -11604,58 +11700,20 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
11604
11700
  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;
11605
11701
  return c > 3 && r && Object.defineProperty(target, key, r), r;
11606
11702
  };
11607
- var __metadata = (this && this.__metadata) || function (k, v) {
11608
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
11609
- };
11610
- var TokenReference_1;
11611
11703
  Object.defineProperty(exports, "__esModule", ({ value: true }));
11612
11704
  exports.TokenReference = void 0;
11613
11705
  const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-serval");
11614
- const crypto_1 = __webpack_require__(/*! @nmshd/crypto */ "@nmshd/crypto");
11615
11706
  const core_1 = __webpack_require__(/*! ../../../core */ "./dist/core/index.js");
11616
- let TokenReference = TokenReference_1 = class TokenReference extends core_1.CoreSerializable {
11617
- truncate() {
11618
- const truncatedReference = crypto_1.CoreBuffer.fromUtf8(`${this.id.toString()}|${this.key.algorithm}|${this.key.secretKey.toBase64URL()}`);
11619
- return truncatedReference.toBase64URL();
11620
- }
11621
- static fromTruncated(value) {
11622
- const truncatedBuffer = crypto_1.CoreBuffer.fromBase64URL(value);
11623
- const splitted = truncatedBuffer.toUtf8().split("|");
11624
- if (splitted.length !== 3) {
11625
- throw core_1.TransportErrors.tokens.invalidTruncatedReference();
11626
- }
11627
- try {
11628
- const id = core_1.CoreId.from(splitted[0]);
11629
- const alg = parseInt(splitted[1]);
11630
- const key = splitted[2];
11631
- const secretKey = crypto_1.CryptoSecretKey.from({
11632
- algorithm: alg,
11633
- secretKey: crypto_1.CoreBuffer.fromBase64URL(key)
11634
- });
11635
- return TokenReference_1.from({
11636
- id: id,
11637
- key: secretKey
11638
- });
11639
- }
11640
- catch (e) {
11641
- throw core_1.TransportErrors.tokens.invalidTruncatedReference();
11642
- }
11707
+ let TokenReference = class TokenReference extends core_1.Reference {
11708
+ static preFrom(value) {
11709
+ super.validateId(value, core_1.BackboneIds.token);
11710
+ return value;
11643
11711
  }
11644
11712
  static from(value) {
11645
- return this.fromAny(value);
11713
+ return super.from(value);
11646
11714
  }
11647
11715
  };
11648
- __decorate([
11649
- (0, ts_serval_1.validate)(),
11650
- (0, ts_serval_1.serialize)(),
11651
- __metadata("design:type", core_1.CoreId)
11652
- ], TokenReference.prototype, "id", void 0);
11653
- __decorate([
11654
- (0, ts_serval_1.validate)(),
11655
- (0, ts_serval_1.serialize)(),
11656
- __metadata("design:type", crypto_1.CryptoSecretKey)
11657
- ], TokenReference.prototype, "key", void 0);
11658
- TokenReference = TokenReference_1 = __decorate([
11716
+ TokenReference = __decorate([
11659
11717
  (0, ts_serval_1.type)("TokenReference")
11660
11718
  ], TokenReference);
11661
11719
  exports.TokenReference = TokenReference;
@@ -44251,6 +44309,7 @@ var stringify = function stringify(
44251
44309
  object,
44252
44310
  prefix,
44253
44311
  generateArrayPrefix,
44312
+ commaRoundTrip,
44254
44313
  strictNullHandling,
44255
44314
  skipNulls,
44256
44315
  encoder,
@@ -44315,7 +44374,7 @@ var stringify = function stringify(
44315
44374
  for (var i = 0; i < valuesArray.length; ++i) {
44316
44375
  valuesJoined += (i === 0 ? '' : ',') + formatter(encoder(valuesArray[i], defaults.encoder, charset, 'value', format));
44317
44376
  }
44318
- return [formatter(keyValue) + (isArray(obj) && valuesArray.length === 1 ? '[]' : '') + '=' + valuesJoined];
44377
+ return [formatter(keyValue) + (commaRoundTrip && isArray(obj) && valuesArray.length === 1 ? '[]' : '') + '=' + valuesJoined];
44319
44378
  }
44320
44379
  return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder, charset, 'value', format))];
44321
44380
  }
@@ -44339,7 +44398,7 @@ var stringify = function stringify(
44339
44398
  objKeys = sort ? keys.sort(sort) : keys;
44340
44399
  }
44341
44400
 
44342
- var adjustedPrefix = generateArrayPrefix === 'comma' && isArray(obj) && obj.length === 1 ? prefix + '[]' : prefix;
44401
+ var adjustedPrefix = commaRoundTrip && isArray(obj) && obj.length === 1 ? prefix + '[]' : prefix;
44343
44402
 
44344
44403
  for (var j = 0; j < objKeys.length; ++j) {
44345
44404
  var key = objKeys[j];
@@ -44360,6 +44419,7 @@ var stringify = function stringify(
44360
44419
  value,
44361
44420
  keyPrefix,
44362
44421
  generateArrayPrefix,
44422
+ commaRoundTrip,
44363
44423
  strictNullHandling,
44364
44424
  skipNulls,
44365
44425
  encoder,
@@ -44456,6 +44516,10 @@ module.exports = function (object, opts) {
44456
44516
  }
44457
44517
 
44458
44518
  var generateArrayPrefix = arrayPrefixGenerators[arrayFormat];
44519
+ if (opts && 'commaRoundTrip' in opts && typeof opts.commaRoundTrip !== 'boolean') {
44520
+ throw new TypeError('`commaRoundTrip` must be a boolean, or absent');
44521
+ }
44522
+ var commaRoundTrip = generateArrayPrefix === 'comma' && opts && opts.commaRoundTrip;
44459
44523
 
44460
44524
  if (!objKeys) {
44461
44525
  objKeys = Object.keys(obj);
@@ -44476,6 +44540,7 @@ module.exports = function (object, opts) {
44476
44540
  obj[key],
44477
44541
  key,
44478
44542
  generateArrayPrefix,
44543
+ commaRoundTrip,
44479
44544
  options.strictNullHandling,
44480
44545
  options.skipNulls,
44481
44546
  options.encode ? options.encoder : null,