@nmshd/runtime 6.8.0 → 6.10.0

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 (64) hide show
  1. package/dist/buildInformation.js +4 -4
  2. package/dist/types/transport/TokenDTO.d.ts +4 -0
  3. package/dist/types/transport/TokenDTO.d.ts.map +1 -1
  4. package/dist/useCases/anonymous/tokens/LoadPeerTokenAnonymous.d.ts +1 -0
  5. package/dist/useCases/anonymous/tokens/LoadPeerTokenAnonymous.d.ts.map +1 -1
  6. package/dist/useCases/anonymous/tokens/LoadPeerTokenAnonymous.js +1 -1
  7. package/dist/useCases/anonymous/tokens/LoadPeerTokenAnonymous.js.map +1 -1
  8. package/dist/useCases/common/RuntimeErrors.d.ts +1 -1
  9. package/dist/useCases/common/RuntimeErrors.d.ts.map +1 -1
  10. package/dist/useCases/common/RuntimeErrors.js +3 -3
  11. package/dist/useCases/common/RuntimeErrors.js.map +1 -1
  12. package/dist/useCases/common/Schemas.d.ts.map +1 -1
  13. package/dist/useCases/common/Schemas.js +97 -0
  14. package/dist/useCases/common/Schemas.js.map +1 -1
  15. package/dist/useCases/common/index.d.ts +1 -0
  16. package/dist/useCases/common/index.d.ts.map +1 -1
  17. package/dist/useCases/common/index.js +1 -0
  18. package/dist/useCases/common/index.js.map +1 -1
  19. package/dist/useCases/common/validation/TokenAndTemplateCreationValidator.d.ts +16 -0
  20. package/dist/useCases/common/validation/TokenAndTemplateCreationValidator.d.ts.map +1 -0
  21. package/dist/useCases/common/validation/TokenAndTemplateCreationValidator.js +30 -0
  22. package/dist/useCases/common/validation/TokenAndTemplateCreationValidator.js.map +1 -0
  23. package/dist/useCases/transport/account/LoadItemFromTruncatedReference.d.ts +1 -0
  24. package/dist/useCases/transport/account/LoadItemFromTruncatedReference.d.ts.map +1 -1
  25. package/dist/useCases/transport/account/LoadItemFromTruncatedReference.js +5 -5
  26. package/dist/useCases/transport/account/LoadItemFromTruncatedReference.js.map +1 -1
  27. package/dist/useCases/transport/files/CreateTokenForFile.d.ts +9 -2
  28. package/dist/useCases/transport/files/CreateTokenForFile.d.ts.map +1 -1
  29. package/dist/useCases/transport/files/CreateTokenForFile.js +3 -2
  30. package/dist/useCases/transport/files/CreateTokenForFile.js.map +1 -1
  31. package/dist/useCases/transport/files/CreateTokenQRCodeForFile.d.ts +9 -2
  32. package/dist/useCases/transport/files/CreateTokenQRCodeForFile.d.ts.map +1 -1
  33. package/dist/useCases/transport/files/CreateTokenQRCodeForFile.js +3 -2
  34. package/dist/useCases/transport/files/CreateTokenQRCodeForFile.js.map +1 -1
  35. package/dist/useCases/transport/files/GetOrLoadFile.d.ts +1 -0
  36. package/dist/useCases/transport/files/GetOrLoadFile.d.ts.map +1 -1
  37. package/dist/useCases/transport/files/GetOrLoadFile.js +5 -5
  38. package/dist/useCases/transport/files/GetOrLoadFile.js.map +1 -1
  39. package/dist/useCases/transport/relationshipTemplates/CreateOwnRelationshipTemplate.d.ts +2 -3
  40. package/dist/useCases/transport/relationshipTemplates/CreateOwnRelationshipTemplate.d.ts.map +1 -1
  41. package/dist/useCases/transport/relationshipTemplates/CreateOwnRelationshipTemplate.js +1 -17
  42. package/dist/useCases/transport/relationshipTemplates/CreateOwnRelationshipTemplate.js.map +1 -1
  43. package/dist/useCases/transport/relationshipTemplates/CreateTokenForOwnRelationshipTemplate.d.ts +9 -2
  44. package/dist/useCases/transport/relationshipTemplates/CreateTokenForOwnRelationshipTemplate.d.ts.map +1 -1
  45. package/dist/useCases/transport/relationshipTemplates/CreateTokenForOwnRelationshipTemplate.js +6 -2
  46. package/dist/useCases/transport/relationshipTemplates/CreateTokenForOwnRelationshipTemplate.js.map +1 -1
  47. package/dist/useCases/transport/relationshipTemplates/CreateTokenQRCodeForOwnRelationshipTemplate.d.ts +9 -2
  48. package/dist/useCases/transport/relationshipTemplates/CreateTokenQRCodeForOwnRelationshipTemplate.d.ts.map +1 -1
  49. package/dist/useCases/transport/relationshipTemplates/CreateTokenQRCodeForOwnRelationshipTemplate.js +6 -2
  50. package/dist/useCases/transport/relationshipTemplates/CreateTokenQRCodeForOwnRelationshipTemplate.js.map +1 -1
  51. package/dist/useCases/transport/relationshipTemplates/LoadPeerRelationshipTemplate.js +1 -1
  52. package/dist/useCases/transport/relationshipTemplates/LoadPeerRelationshipTemplate.js.map +1 -1
  53. package/dist/useCases/transport/tokens/CreateOwnToken.d.ts +9 -2
  54. package/dist/useCases/transport/tokens/CreateOwnToken.d.ts.map +1 -1
  55. package/dist/useCases/transport/tokens/CreateOwnToken.js +3 -2
  56. package/dist/useCases/transport/tokens/CreateOwnToken.js.map +1 -1
  57. package/dist/useCases/transport/tokens/LoadPeerToken.d.ts +1 -0
  58. package/dist/useCases/transport/tokens/LoadPeerToken.d.ts.map +1 -1
  59. package/dist/useCases/transport/tokens/LoadPeerToken.js +1 -1
  60. package/dist/useCases/transport/tokens/LoadPeerToken.js.map +1 -1
  61. package/dist/useCases/transport/tokens/TokenMapper.d.ts.map +1 -1
  62. package/dist/useCases/transport/tokens/TokenMapper.js +7 -1
  63. package/dist/useCases/transport/tokens/TokenMapper.js.map +1 -1
  64. package/package.json +5 -5
@@ -6,6 +6,7 @@ export * from "./RuntimeErrors";
6
6
  export * from "./SchemaRepository";
7
7
  export * from "./UseCase";
8
8
  export * from "./validation/SchemaValidator";
9
+ export * from "./validation/TokenAndTemplateCreationValidator";
9
10
  export * from "./validation/ValidatableStrings";
10
11
  export * from "./validation/ValidationFailure";
11
12
  export * from "./validation/ValidationResult";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/useCases/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/useCases/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gDAAgD,CAAC;AAC/D,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC"}
@@ -22,6 +22,7 @@ __exportStar(require("./RuntimeErrors"), exports);
22
22
  __exportStar(require("./SchemaRepository"), exports);
23
23
  __exportStar(require("./UseCase"), exports);
24
24
  __exportStar(require("./validation/SchemaValidator"), exports);
25
+ __exportStar(require("./validation/TokenAndTemplateCreationValidator"), exports);
25
26
  __exportStar(require("./validation/ValidatableStrings"), exports);
26
27
  __exportStar(require("./validation/ValidationFailure"), exports);
27
28
  __exportStar(require("./validation/ValidationResult"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/useCases/common/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,kDAAgC;AAChC,qDAAmC;AACnC,2CAAyB;AACzB,kDAAgC;AAChC,qDAAmC;AACnC,4CAA0B;AAC1B,+DAA6C;AAC7C,kEAAgD;AAChD,iEAA+C;AAC/C,gEAA8C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/useCases/common/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,kDAAgC;AAChC,qDAAmC;AACnC,2CAAyB;AACzB,kDAAgC;AAChC,qDAAmC;AACnC,4CAA0B;AAC1B,+DAA6C;AAC7C,iFAA+D;AAC/D,kEAAgD;AAChD,iEAA+C;AAC/C,gEAA8C"}
@@ -0,0 +1,16 @@
1
+ import { JsonSchema } from "../SchemaRepository";
2
+ import { SchemaValidator } from "./SchemaValidator";
3
+ import { ISO8601DateTimeString } from "./ValidatableStrings";
4
+ import { ValidationResult } from "./ValidationResult";
5
+ export declare class TokenAndTemplateCreationValidator<T extends {
6
+ expiresAt?: ISO8601DateTimeString;
7
+ passwordProtection?: {
8
+ password: string;
9
+ passwordIsPin?: true;
10
+ };
11
+ }> extends SchemaValidator<T> {
12
+ protected readonly schema: JsonSchema;
13
+ constructor(schema: JsonSchema);
14
+ validate(input: T): ValidationResult;
15
+ }
16
+ //# sourceMappingURL=TokenAndTemplateCreationValidator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TokenAndTemplateCreationValidator.d.ts","sourceRoot":"","sources":["../../../../src/useCases/common/validation/TokenAndTemplateCreationValidator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,qBAAa,iCAAiC,CAC1C,CAAC,SAAS;IACN,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,kBAAkB,CAAC,EAAE;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,CAAC,EAAE,IAAI,CAAC;KACxB,CAAC;CACL,CACH,SAAQ,eAAe,CAAC,CAAC,CAAC;uBACuB,MAAM,EAAE,UAAU;gBAAlB,MAAM,EAAE,UAAU;IAIjD,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,gBAAgB;CA0BvD"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TokenAndTemplateCreationValidator = void 0;
4
+ const core_types_1 = require("@nmshd/core-types");
5
+ const RuntimeErrors_1 = require("../RuntimeErrors");
6
+ const SchemaValidator_1 = require("./SchemaValidator");
7
+ const ValidationFailure_1 = require("./ValidationFailure");
8
+ class TokenAndTemplateCreationValidator extends SchemaValidator_1.SchemaValidator {
9
+ constructor(schema) {
10
+ super(schema);
11
+ this.schema = schema;
12
+ }
13
+ validate(input) {
14
+ const validationResult = super.validate(input);
15
+ if (input.expiresAt && core_types_1.CoreDate.from(input.expiresAt).isExpired()) {
16
+ validationResult.addFailure(new ValidationFailure_1.ValidationFailure(RuntimeErrors_1.RuntimeErrors.general.invalidPropertyValue(`'expiresAt' must be in the future`), "expiresAt"));
17
+ }
18
+ if (input.passwordProtection) {
19
+ const passwordProtection = input.passwordProtection;
20
+ if (passwordProtection.passwordIsPin) {
21
+ if (!/^[0-9]{4,16}$/.test(passwordProtection.password)) {
22
+ validationResult.addFailure(new ValidationFailure_1.ValidationFailure(RuntimeErrors_1.RuntimeErrors.general.invalidPropertyValue(`'passwordProtection.passwordIsPin' is true, hence 'passwordProtection.password' must consist of 4 to 16 digits from 0 to 9.`), "passwordProtection"));
23
+ }
24
+ }
25
+ }
26
+ return validationResult;
27
+ }
28
+ }
29
+ exports.TokenAndTemplateCreationValidator = TokenAndTemplateCreationValidator;
30
+ //# sourceMappingURL=TokenAndTemplateCreationValidator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TokenAndTemplateCreationValidator.js","sourceRoot":"","sources":["../../../../src/useCases/common/validation/TokenAndTemplateCreationValidator.ts"],"names":[],"mappings":";;;AAAA,kDAA6C;AAC7C,oDAAiD;AAEjD,uDAAoD;AAEpD,2DAAwD;AAGxD,MAAa,iCAQX,SAAQ,iCAAkB;IACxB,YAA+C,MAAkB;QAC7D,KAAK,CAAC,MAAM,CAAC,CAAC;QAD6B,WAAM,GAAN,MAAM,CAAY;IAEjE,CAAC;IAEe,QAAQ,CAAC,KAAQ;QAC7B,MAAM,gBAAgB,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAE/C,IAAI,KAAK,CAAC,SAAS,IAAI,qBAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC;YAChE,gBAAgB,CAAC,UAAU,CAAC,IAAI,qCAAiB,CAAC,6BAAa,CAAC,OAAO,CAAC,oBAAoB,CAAC,mCAAmC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;QACrJ,CAAC;QAED,IAAI,KAAK,CAAC,kBAAkB,EAAE,CAAC;YAC3B,MAAM,kBAAkB,GAAG,KAAK,CAAC,kBAAkB,CAAC;YAEpD,IAAI,kBAAkB,CAAC,aAAa,EAAE,CAAC;gBACnC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACrD,gBAAgB,CAAC,UAAU,CACvB,IAAI,qCAAiB,CACjB,6BAAa,CAAC,OAAO,CAAC,oBAAoB,CACtC,6HAA6H,CAChI,EACD,oBAAoB,CACvB,CACJ,CAAC;gBACN,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,gBAAgB,CAAC;IAC5B,CAAC;CACJ;AAvCD,8EAuCC"}
@@ -4,6 +4,7 @@ import { DeviceOnboardingInfoDTO, FileDTO, RelationshipTemplateDTO, TokenDTO } f
4
4
  import { FileReferenceString, RelationshipTemplateReferenceString, SchemaRepository, SchemaValidator, TokenReferenceString, UseCase } from "../../common";
5
5
  export interface LoadItemFromTruncatedReferenceRequest {
6
6
  reference: TokenReferenceString | FileReferenceString | RelationshipTemplateReferenceString;
7
+ password?: string;
7
8
  }
8
9
  declare class Validator extends SchemaValidator<LoadItemFromTruncatedReferenceRequest> {
9
10
  constructor(schemaRepository: SchemaRepository);
@@ -1 +1 @@
1
- {"version":3,"file":"LoadItemFromTruncatedReference.d.ts","sourceRoot":"","sources":["../../../../src/useCases/transport/account/LoadItemFromTruncatedReference.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EACH,iBAAiB,EACjB,cAAc,EACd,8BAA8B,EAK9B,eAAe,EAClB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,uBAAuB,EAAE,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACrG,OAAO,EAEH,mBAAmB,EACnB,mCAAmC,EAEnC,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,OAAO,EACV,MAAM,cAAc,CAAC;AAMtB,MAAM,WAAW,qCAAqC;IAClD,SAAS,EAAE,oBAAoB,GAAG,mBAAmB,GAAG,mCAAmC,CAAC;CAC/F;AAED,cAAM,SAAU,SAAQ,eAAe,CAAC,qCAAqC,CAAC;gBAC/C,gBAAgB,EAAE,gBAAgB;CAGhE;AAED,MAAM,MAAM,sCAAsC,GAC5C;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,sBAAsB,CAAC;IAAC,KAAK,EAAE,uBAAuB,CAAA;CAAE,GAChE;IAAE,IAAI,EAAE,sBAAsB,CAAC;IAAC,KAAK,EAAE,uBAAuB,CAAA;CAAE,CAAC;AAEvE,qBAAa,qCAAsC,SAAQ,OAAO,CAAC,qCAAqC,EAAE,sCAAsC,CAAC;IAEjI,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBAHjB,cAAc,EAAE,cAAc,EAC9B,kBAAkB,EAAE,8BAA8B,EAClD,eAAe,EAAE,eAAe,EAChC,iBAAiB,EAAE,iBAAiB,EACrD,SAAS,EAAE,SAAS;cAKhB,eAAe,CAAC,OAAO,EAAE,qCAAqC,GAAG,OAAO,CAAC,MAAM,CAAC,sCAAsC,CAAC,CAAC;YAQ1H,gBAAgB;YAsBhB,oBAAoB;CAqCrC"}
1
+ {"version":3,"file":"LoadItemFromTruncatedReference.d.ts","sourceRoot":"","sources":["../../../../src/useCases/transport/account/LoadItemFromTruncatedReference.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EACH,iBAAiB,EACjB,cAAc,EACd,8BAA8B,EAK9B,eAAe,EAClB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,uBAAuB,EAAE,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACrG,OAAO,EAEH,mBAAmB,EACnB,mCAAmC,EAEnC,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,OAAO,EACV,MAAM,cAAc,CAAC;AAMtB,MAAM,WAAW,qCAAqC;IAClD,SAAS,EAAE,oBAAoB,GAAG,mBAAmB,GAAG,mCAAmC,CAAC;IAC5F,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,cAAM,SAAU,SAAQ,eAAe,CAAC,qCAAqC,CAAC;gBAC/C,gBAAgB,EAAE,gBAAgB;CAGhE;AAED,MAAM,MAAM,sCAAsC,GAC5C;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,sBAAsB,CAAC;IAAC,KAAK,EAAE,uBAAuB,CAAA;CAAE,GAChE;IAAE,IAAI,EAAE,sBAAsB,CAAC;IAAC,KAAK,EAAE,uBAAuB,CAAA;CAAE,CAAC;AAEvE,qBAAa,qCAAsC,SAAQ,OAAO,CAAC,qCAAqC,EAAE,sCAAsC,CAAC;IAEjI,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBAHjB,cAAc,EAAE,cAAc,EAC9B,kBAAkB,EAAE,8BAA8B,EAClD,eAAe,EAAE,eAAe,EAChC,iBAAiB,EAAE,iBAAiB,EACrD,SAAS,EAAE,SAAS;cAKhB,eAAe,CAAC,OAAO,EAAE,qCAAqC,GAAG,OAAO,CAAC,MAAM,CAAC,sCAAsC,CAAC,CAAC;YAQ1H,gBAAgB;YAsBhB,oBAAoB;CAqCrC"}
@@ -49,7 +49,7 @@ let LoadItemFromTruncatedReferenceUseCase = class LoadItemFromTruncatedReference
49
49
  async _executeInternal(request) {
50
50
  const reference = request.reference;
51
51
  if (reference.startsWith(common_1.Base64ForIdPrefix.RelationshipTemplate)) {
52
- const template = await this.templateController.loadPeerRelationshipTemplateByTruncated(reference);
52
+ const template = await this.templateController.loadPeerRelationshipTemplateByTruncated(reference, request.password);
53
53
  return ts_utils_1.Result.ok({
54
54
  type: "RelationshipTemplate",
55
55
  value: RelationshipTemplateMapper_1.RelationshipTemplateMapper.toRelationshipTemplateDTO(template)
@@ -62,16 +62,16 @@ let LoadItemFromTruncatedReferenceUseCase = class LoadItemFromTruncatedReference
62
62
  value: FileMapper_1.FileMapper.toFileDTO(file)
63
63
  });
64
64
  }
65
- return await this.handleTokenReference(reference);
65
+ return await this.handleTokenReference(reference, request.password);
66
66
  }
67
- async handleTokenReference(tokenReference) {
68
- const token = await this.tokenController.loadPeerTokenByTruncated(tokenReference, true);
67
+ async handleTokenReference(tokenReference, password) {
68
+ const token = await this.tokenController.loadPeerTokenByTruncated(tokenReference, true, password);
69
69
  if (!token.cache) {
70
70
  throw common_1.RuntimeErrors.general.cacheEmpty(transport_1.Token, token.id.toString());
71
71
  }
72
72
  const tokenContent = token.cache.content;
73
73
  if (tokenContent instanceof transport_1.TokenContentRelationshipTemplate) {
74
- const template = await this.templateController.loadPeerRelationshipTemplateByTokenContent(tokenContent);
74
+ const template = await this.templateController.loadPeerRelationshipTemplateByTokenContent(tokenContent, password);
75
75
  return ts_utils_1.Result.ok({
76
76
  type: "RelationshipTemplate",
77
77
  value: RelationshipTemplateMapper_1.RelationshipTemplateMapper.toRelationshipTemplateDTO(template)
@@ -1 +1 @@
1
- {"version":3,"file":"LoadItemFromTruncatedReference.js","sourceRoot":"","sources":["../../../../src/useCases/transport/account/LoadItemFromTruncatedReference.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LoadItemFromTruncatedReference.js","sourceRoot":"","sources":["../../../../src/useCases/transport/account/LoadItemFromTruncatedReference.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,21 @@
1
1
  import { Result } from "@js-soft/ts-utils";
2
2
  import { AccountController, FileController, TokenController } from "@nmshd/transport";
3
3
  import { TokenDTO } from "../../../types";
4
- import { AddressString, FileIdString, ISO8601DateTimeString, SchemaRepository, SchemaValidator, UseCase } from "../../common";
4
+ import { AddressString, FileIdString, ISO8601DateTimeString, SchemaRepository, TokenAndTemplateCreationValidator, UseCase } from "../../common";
5
5
  export interface CreateTokenForFileRequest {
6
6
  fileId: FileIdString;
7
7
  expiresAt?: ISO8601DateTimeString;
8
8
  ephemeral?: boolean;
9
9
  forIdentity?: AddressString;
10
+ passwordProtection?: {
11
+ /**
12
+ * @minLength 1
13
+ */
14
+ password: string;
15
+ passwordIsPin?: true;
16
+ };
10
17
  }
11
- declare class Validator extends SchemaValidator<CreateTokenForFileRequest> {
18
+ declare class Validator extends TokenAndTemplateCreationValidator<CreateTokenForFileRequest> {
12
19
  constructor(schemaRepository: SchemaRepository);
13
20
  }
14
21
  export declare class CreateTokenForFileUseCase extends UseCase<CreateTokenForFileRequest, TokenDTO> {
@@ -1 +1 @@
1
- {"version":3,"file":"CreateTokenForFile.d.ts","sourceRoot":"","sources":["../../../../src/useCases/transport/files/CreateTokenForFile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAE,iBAAiB,EAAQ,cAAc,EAAoB,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAE9G,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,qBAAqB,EAAiB,gBAAgB,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAG7I,MAAM,WAAW,yBAAyB;IACtC,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED,cAAM,SAAU,SAAQ,eAAe,CAAC,yBAAyB,CAAC;gBACnC,gBAAgB,EAAE,gBAAgB;CAGhE;AAED,qBAAa,yBAA0B,SAAQ,OAAO,CAAC,yBAAyB,EAAE,QAAQ,CAAC;IAE3E,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBAFjB,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe,EAChC,iBAAiB,EAAE,iBAAiB,EACrD,SAAS,EAAE,SAAS;cAKhB,eAAe,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;CA4BjG"}
1
+ {"version":3,"file":"CreateTokenForFile.d.ts","sourceRoot":"","sources":["../../../../src/useCases/transport/files/CreateTokenForFile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAE,iBAAiB,EAAQ,cAAc,EAA0D,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEpJ,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,qBAAqB,EAAiB,gBAAgB,EAAE,iCAAiC,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAG/J,MAAM,WAAW,yBAAyB;IACtC,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,kBAAkB,CAAC,EAAE;QACjB;;WAEG;QACH,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,CAAC,EAAE,IAAI,CAAC;KACxB,CAAC;CACL;AAED,cAAM,SAAU,SAAQ,iCAAiC,CAAC,yBAAyB,CAAC;gBACrD,gBAAgB,EAAE,gBAAgB;CAGhE;AAED,qBAAa,yBAA0B,SAAQ,OAAO,CAAC,yBAAyB,EAAE,QAAQ,CAAC;IAE3E,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBAFjB,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe,EAChC,iBAAiB,EAAE,iBAAiB,EACrD,SAAS,EAAE,SAAS;cAKhB,eAAe,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;CA6BjG"}
@@ -19,7 +19,7 @@ const transport_1 = require("@nmshd/transport");
19
19
  const typescript_ioc_1 = require("@nmshd/typescript-ioc");
20
20
  const common_1 = require("../../common");
21
21
  const TokenMapper_1 = require("../tokens/TokenMapper");
22
- let Validator = class Validator extends common_1.SchemaValidator {
22
+ let Validator = class Validator extends common_1.TokenAndTemplateCreationValidator {
23
23
  constructor(schemaRepository) {
24
24
  super(schemaRepository.getSchema("CreateTokenForFileRequest"));
25
25
  }
@@ -51,7 +51,8 @@ let CreateTokenForFileUseCase = class CreateTokenForFileUseCase extends common_1
51
51
  content: tokenContent,
52
52
  expiresAt: tokenExpiry,
53
53
  ephemeral,
54
- forIdentity: request.forIdentity ? core_types_1.CoreAddress.from(request.forIdentity) : undefined
54
+ forIdentity: request.forIdentity ? core_types_1.CoreAddress.from(request.forIdentity) : undefined,
55
+ passwordProtection: transport_1.PasswordProtectionCreationParameters.create(request.passwordProtection)
55
56
  });
56
57
  if (!ephemeral) {
57
58
  await this.accountController.syncDatawallet();
@@ -1 +1 @@
1
- {"version":3,"file":"CreateTokenForFile.js","sourceRoot":"","sources":["../../../../src/useCases/transport/files/CreateTokenForFile.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gDAA2C;AAC3C,kDAAkE;AAClE,gDAA8G;AAC9G,0DAA+C;AAE/C,yCAA6I;AAC7I,uDAAoD;AASpD,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,wBAA0C;IAC9D,YAA2B,gBAAkC;QACzD,KAAK,CAAC,gBAAgB,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC,CAAC;IACnE,CAAC;CACJ,CAAA;AAJK,SAAS;IACS,WAAA,uBAAM,CAAA;qCAAmB,yBAAgB;GAD3D,SAAS,CAId;AAED,IAAa,yBAAyB,GAAtC,MAAa,yBAA0B,SAAQ,gBAA4C;IACvF,YAC6B,cAA8B,EAC9B,eAAgC,EAChC,iBAAoC,EACrD,SAAoB;QAE5B,KAAK,CAAC,SAAS,CAAC,CAAC;QALQ,mBAAc,GAAd,cAAc,CAAgB;QAC9B,oBAAe,GAAf,eAAe,CAAiB;QAChC,sBAAiB,GAAjB,iBAAiB,CAAmB;IAIjE,CAAC;IAES,KAAK,CAAC,eAAe,CAAC,OAAkC;QAC9D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,mBAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAE5E,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO,iBAAM,CAAC,IAAI,CAAC,sBAAa,CAAC,OAAO,CAAC,cAAc,CAAC,gBAAI,CAAC,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,YAAY,GAAG,4BAAgB,CAAC,IAAI,CAAC;YACvC,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,SAAS,EAAE,IAAI,CAAC,SAAS;SAC5B,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC;QAC5C,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,IAAI,qBAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QACrF,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;QAC9F,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC;YAC/C,OAAO,EAAE,YAAY;YACrB,SAAS,EAAE,WAAW;YACtB,SAAS;YACT,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,wBAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;SACvF,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,MAAM,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,CAAC;QAClD,CAAC;QAED,OAAO,iBAAM,CAAC,EAAE,CAAC,yBAAW,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;IAC/D,CAAC;CACJ,CAAA;AAtCY,8DAAyB;oCAAzB,yBAAyB;IAE7B,WAAA,uBAAM,CAAA;IACN,WAAA,uBAAM,CAAA;IACN,WAAA,uBAAM,CAAA;IACN,WAAA,uBAAM,CAAA;qCAHkC,0BAAc;QACb,2BAAe;QACb,6BAAiB;QAC1C,SAAS;GALvB,yBAAyB,CAsCrC"}
1
+ {"version":3,"file":"CreateTokenForFile.js","sourceRoot":"","sources":["../../../../src/useCases/transport/files/CreateTokenForFile.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gDAA2C;AAC3C,kDAAkE;AAClE,gDAAoJ;AACpJ,0DAA+C;AAE/C,yCAA+J;AAC/J,uDAAoD;AAgBpD,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,0CAA4D;IAChF,YAA2B,gBAAkC;QACzD,KAAK,CAAC,gBAAgB,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC,CAAC;IACnE,CAAC;CACJ,CAAA;AAJK,SAAS;IACS,WAAA,uBAAM,CAAA;qCAAmB,yBAAgB;GAD3D,SAAS,CAId;AAED,IAAa,yBAAyB,GAAtC,MAAa,yBAA0B,SAAQ,gBAA4C;IACvF,YAC6B,cAA8B,EAC9B,eAAgC,EAChC,iBAAoC,EACrD,SAAoB;QAE5B,KAAK,CAAC,SAAS,CAAC,CAAC;QALQ,mBAAc,GAAd,cAAc,CAAgB;QAC9B,oBAAe,GAAf,eAAe,CAAiB;QAChC,sBAAiB,GAAjB,iBAAiB,CAAmB;IAIjE,CAAC;IAES,KAAK,CAAC,eAAe,CAAC,OAAkC;QAC9D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,mBAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAE5E,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO,iBAAM,CAAC,IAAI,CAAC,sBAAa,CAAC,OAAO,CAAC,cAAc,CAAC,gBAAI,CAAC,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,YAAY,GAAG,4BAAgB,CAAC,IAAI,CAAC;YACvC,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,SAAS,EAAE,IAAI,CAAC,SAAS;SAC5B,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC;QAC5C,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,IAAI,qBAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QACrF,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;QAC9F,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC;YAC/C,OAAO,EAAE,YAAY;YACrB,SAAS,EAAE,WAAW;YACtB,SAAS;YACT,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,wBAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;YACpF,kBAAkB,EAAE,gDAAoC,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC;SAC9F,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,MAAM,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,CAAC;QAClD,CAAC;QAED,OAAO,iBAAM,CAAC,EAAE,CAAC,yBAAW,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;IAC/D,CAAC;CACJ,CAAA;AAvCY,8DAAyB;oCAAzB,yBAAyB;IAE7B,WAAA,uBAAM,CAAA;IACN,WAAA,uBAAM,CAAA;IACN,WAAA,uBAAM,CAAA;IACN,WAAA,uBAAM,CAAA;qCAHkC,0BAAc;QACb,2BAAe;QACb,6BAAiB;QAC1C,SAAS;GALvB,yBAAyB,CAuCrC"}
@@ -1,15 +1,22 @@
1
1
  import { Result } from "@js-soft/ts-utils";
2
2
  import { FileController, TokenController } from "@nmshd/transport";
3
- import { AddressString, FileIdString, ISO8601DateTimeString, SchemaRepository, SchemaValidator, UseCase } from "../../common";
3
+ import { AddressString, FileIdString, ISO8601DateTimeString, SchemaRepository, TokenAndTemplateCreationValidator, UseCase } from "../../common";
4
4
  export interface CreateTokenQRCodeForFileRequest {
5
5
  fileId: FileIdString;
6
6
  expiresAt?: ISO8601DateTimeString;
7
7
  forIdentity?: AddressString;
8
+ passwordProtection?: {
9
+ /**
10
+ * @minLength 1
11
+ */
12
+ password: string;
13
+ passwordIsPin?: true;
14
+ };
8
15
  }
9
16
  export interface CreateTokenQRCodeForFileResponse {
10
17
  qrCodeBytes: string;
11
18
  }
12
- declare class Validator extends SchemaValidator<CreateTokenQRCodeForFileRequest> {
19
+ declare class Validator extends TokenAndTemplateCreationValidator<CreateTokenQRCodeForFileRequest> {
13
20
  constructor(schemaRepository: SchemaRepository);
14
21
  }
15
22
  export declare class CreateTokenQRCodeForFileUseCase extends UseCase<CreateTokenQRCodeForFileRequest, CreateTokenQRCodeForFileResponse> {
@@ -1 +1 @@
1
- {"version":3,"file":"CreateTokenQRCodeForFile.d.ts","sourceRoot":"","sources":["../../../../src/useCases/transport/files/CreateTokenQRCodeForFile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAQ,cAAc,EAAoB,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAE3F,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,qBAAqB,EAAyB,gBAAgB,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAErJ,MAAM,WAAW,+BAA+B;IAC5C,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,WAAW,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED,MAAM,WAAW,gCAAgC;IAC7C,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,cAAM,SAAU,SAAQ,eAAe,CAAC,+BAA+B,CAAC;gBACzC,gBAAgB,EAAE,gBAAgB;CAGhE;AAED,qBAAa,+BAAgC,SAAQ,OAAO,CAAC,+BAA+B,EAAE,gCAAgC,CAAC;IAE/G,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,eAAe;gBADf,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe,EACjD,SAAS,EAAE,SAAS;cAKhB,eAAe,CAAC,OAAO,EAAE,+BAA+B,GAAG,OAAO,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAAC;CAwB/H"}
1
+ {"version":3,"file":"CreateTokenQRCodeForFile.d.ts","sourceRoot":"","sources":["../../../../src/useCases/transport/files/CreateTokenQRCodeForFile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAQ,cAAc,EAA0D,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEjI,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,qBAAqB,EAAyB,gBAAgB,EAAE,iCAAiC,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvK,MAAM,WAAW,+BAA+B;IAC5C,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,kBAAkB,CAAC,EAAE;QACjB;;WAEG;QACH,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,CAAC,EAAE,IAAI,CAAC;KACxB,CAAC;CACL;AAED,MAAM,WAAW,gCAAgC;IAC7C,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,cAAM,SAAU,SAAQ,iCAAiC,CAAC,+BAA+B,CAAC;gBAC3D,gBAAgB,EAAE,gBAAgB;CAGhE;AAED,qBAAa,+BAAgC,SAAQ,OAAO,CAAC,+BAA+B,EAAE,gCAAgC,CAAC;IAE/G,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,eAAe;gBADf,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe,EACjD,SAAS,EAAE,SAAS;cAKhB,eAAe,CAAC,OAAO,EAAE,+BAA+B,GAAG,OAAO,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAAC;CAyB/H"}
@@ -18,7 +18,7 @@ const core_types_1 = require("@nmshd/core-types");
18
18
  const transport_1 = require("@nmshd/transport");
19
19
  const typescript_ioc_1 = require("@nmshd/typescript-ioc");
20
20
  const common_1 = require("../../common");
21
- let Validator = class Validator extends common_1.SchemaValidator {
21
+ let Validator = class Validator extends common_1.TokenAndTemplateCreationValidator {
22
22
  constructor(schemaRepository) {
23
23
  super(schemaRepository.getSchema("CreateTokenQRCodeForFileRequest"));
24
24
  }
@@ -48,7 +48,8 @@ let CreateTokenQRCodeForFileUseCase = class CreateTokenQRCodeForFileUseCase exte
48
48
  content: tokenContent,
49
49
  expiresAt: tokenExpiry,
50
50
  ephemeral: true,
51
- forIdentity: request.forIdentity ? core_types_1.CoreAddress.from(request.forIdentity) : undefined
51
+ forIdentity: request.forIdentity ? core_types_1.CoreAddress.from(request.forIdentity) : undefined,
52
+ passwordProtection: transport_1.PasswordProtectionCreationParameters.create(request.passwordProtection)
52
53
  });
53
54
  const qrCode = await common_1.QRCode.forTruncateable(token);
54
55
  return ts_utils_1.Result.ok({ qrCodeBytes: qrCode.asBase64() });
@@ -1 +1 @@
1
- {"version":3,"file":"CreateTokenQRCodeForFile.js","sourceRoot":"","sources":["../../../../src/useCases/transport/files/CreateTokenQRCodeForFile.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gDAA2C;AAC3C,kDAAkE;AAClE,gDAA2F;AAC3F,0DAA+C;AAC/C,yCAAqJ;AAYrJ,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,wBAAgD;IACpE,YAA2B,gBAAkC;QACzD,KAAK,CAAC,gBAAgB,CAAC,SAAS,CAAC,iCAAiC,CAAC,CAAC,CAAC;IACzE,CAAC;CACJ,CAAA;AAJK,SAAS;IACS,WAAA,uBAAM,CAAA;qCAAmB,yBAAgB;GAD3D,SAAS,CAId;AAED,IAAa,+BAA+B,GAA5C,MAAa,+BAAgC,SAAQ,gBAA0E;IAC3H,YAC6B,cAA8B,EAC9B,eAAgC,EACjD,SAAoB;QAE5B,KAAK,CAAC,SAAS,CAAC,CAAC;QAJQ,mBAAc,GAAd,cAAc,CAAgB;QAC9B,oBAAe,GAAf,eAAe,CAAiB;IAI7D,CAAC;IAES,KAAK,CAAC,eAAe,CAAC,OAAwC;QACpE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,mBAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAE5E,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO,iBAAM,CAAC,IAAI,CAAC,sBAAa,CAAC,OAAO,CAAC,cAAc,CAAC,gBAAI,CAAC,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,YAAY,GAAG,4BAAgB,CAAC,IAAI,CAAC;YACvC,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,SAAS,EAAE,IAAI,CAAC,SAAS;SAC5B,CAAC,CAAC;QAEH,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,IAAI,qBAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QACrF,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;QAC9F,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC;YAC/C,OAAO,EAAE,YAAY;YACrB,SAAS,EAAE,WAAW;YACtB,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,wBAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;SACvF,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,eAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACnD,OAAO,iBAAM,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACzD,CAAC;CACJ,CAAA;AAjCY,0EAA+B;0CAA/B,+BAA+B;IAEnC,WAAA,uBAAM,CAAA;IACN,WAAA,uBAAM,CAAA;IACN,WAAA,uBAAM,CAAA;qCAFkC,0BAAc;QACb,2BAAe;QACtC,SAAS;GAJvB,+BAA+B,CAiC3C"}
1
+ {"version":3,"file":"CreateTokenQRCodeForFile.js","sourceRoot":"","sources":["../../../../src/useCases/transport/files/CreateTokenQRCodeForFile.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gDAA2C;AAC3C,kDAAkE;AAClE,gDAAiI;AACjI,0DAA+C;AAC/C,yCAAuK;AAmBvK,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,0CAAkE;IACtF,YAA2B,gBAAkC;QACzD,KAAK,CAAC,gBAAgB,CAAC,SAAS,CAAC,iCAAiC,CAAC,CAAC,CAAC;IACzE,CAAC;CACJ,CAAA;AAJK,SAAS;IACS,WAAA,uBAAM,CAAA;qCAAmB,yBAAgB;GAD3D,SAAS,CAId;AAED,IAAa,+BAA+B,GAA5C,MAAa,+BAAgC,SAAQ,gBAA0E;IAC3H,YAC6B,cAA8B,EAC9B,eAAgC,EACjD,SAAoB;QAE5B,KAAK,CAAC,SAAS,CAAC,CAAC;QAJQ,mBAAc,GAAd,cAAc,CAAgB;QAC9B,oBAAe,GAAf,eAAe,CAAiB;IAI7D,CAAC;IAES,KAAK,CAAC,eAAe,CAAC,OAAwC;QACpE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,mBAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAE5E,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO,iBAAM,CAAC,IAAI,CAAC,sBAAa,CAAC,OAAO,CAAC,cAAc,CAAC,gBAAI,CAAC,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,YAAY,GAAG,4BAAgB,CAAC,IAAI,CAAC;YACvC,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,SAAS,EAAE,IAAI,CAAC,SAAS;SAC5B,CAAC,CAAC;QAEH,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,IAAI,qBAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QACrF,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;QAC9F,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC;YAC/C,OAAO,EAAE,YAAY;YACrB,SAAS,EAAE,WAAW;YACtB,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,wBAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;YACpF,kBAAkB,EAAE,gDAAoC,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC;SAC9F,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,eAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACnD,OAAO,iBAAM,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACzD,CAAC;CACJ,CAAA;AAlCY,0EAA+B;0CAA/B,+BAA+B;IAEnC,WAAA,uBAAM,CAAA;IACN,WAAA,uBAAM,CAAA;IACN,WAAA,uBAAM,CAAA;qCAFkC,0BAAc;QACb,2BAAe;QACtC,SAAS;GAJvB,+BAA+B,CAkC3C"}
@@ -7,6 +7,7 @@ import { FileReferenceString, SchemaRepository, SchemaValidator, TokenReferenceS
7
7
  */
8
8
  export interface GetOrLoadFileRequest {
9
9
  reference: TokenReferenceString | FileReferenceString;
10
+ password?: string;
10
11
  }
11
12
  declare class Validator extends SchemaValidator<GetOrLoadFileRequest> {
12
13
  constructor(schemaRepository: SchemaRepository);
@@ -1 +1 @@
1
- {"version":3,"file":"GetOrLoadFile.d.ts","sourceRoot":"","sources":["../../../../src/useCases/transport/files/GetOrLoadFile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG3C,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAA2B,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAE/G,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAqB,mBAAmB,EAAiB,gBAAgB,EAAE,eAAe,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGvJ;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,SAAS,EAAE,oBAAoB,GAAG,mBAAmB,CAAC;CACzD;AAED,cAAM,SAAU,SAAQ,eAAe,CAAC,oBAAoB,CAAC;gBAC9B,gBAAgB,EAAE,gBAAgB;CAGhE;AAED,qBAAa,oBAAqB,SAAQ,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC;IAEhE,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBAFjB,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe,EAChC,iBAAiB,EAAE,iBAAiB,EACrD,SAAS,EAAE,SAAS;cAKhB,eAAe,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAQ1E,qBAAqB;YAYrB,yBAAyB;YAKzB,0BAA0B;YAe1B,QAAQ;CAIzB"}
1
+ {"version":3,"file":"GetOrLoadFile.d.ts","sourceRoot":"","sources":["../../../../src/useCases/transport/files/GetOrLoadFile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG3C,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAA2B,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAE/G,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAqB,mBAAmB,EAAiB,gBAAgB,EAAE,eAAe,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGvJ;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,SAAS,EAAE,oBAAoB,GAAG,mBAAmB,CAAC;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,cAAM,SAAU,SAAQ,eAAe,CAAC,oBAAoB,CAAC;gBAC9B,gBAAgB,EAAE,gBAAgB;CAGhE;AAED,qBAAa,oBAAqB,SAAQ,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC;IAEhE,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBAFjB,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe,EAChC,iBAAiB,EAAE,iBAAiB,EACrD,SAAS,EAAE,SAAS;cAKhB,eAAe,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAQ1E,qBAAqB;YAYrB,yBAAyB;YAKzB,0BAA0B;YAe1B,QAAQ;CAIzB"}
@@ -35,16 +35,16 @@ let GetOrLoadFileUseCase = class GetOrLoadFileUseCase extends common_1.UseCase {
35
35
  this.accountController = accountController;
36
36
  }
37
37
  async executeInternal(request) {
38
- const result = await this.loadFileFromReference(request.reference);
38
+ const result = await this.loadFileFromReference(request.reference, request.password);
39
39
  await this.accountController.syncDatawallet();
40
40
  return result;
41
41
  }
42
- async loadFileFromReference(reference) {
42
+ async loadFileFromReference(reference, password) {
43
43
  if (reference.startsWith(common_1.Base64ForIdPrefix.File)) {
44
44
  return await this.loadFileFromFileReference(reference);
45
45
  }
46
46
  if (reference.startsWith(common_1.Base64ForIdPrefix.Token)) {
47
- return await this.loadFileFromTokenReference(reference);
47
+ return await this.loadFileFromTokenReference(reference, password);
48
48
  }
49
49
  throw common_1.RuntimeErrors.files.invalidReference(reference);
50
50
  }
@@ -52,8 +52,8 @@ let GetOrLoadFileUseCase = class GetOrLoadFileUseCase extends common_1.UseCase {
52
52
  const file = await this.fileController.getOrLoadFileByTruncated(truncatedReference);
53
53
  return ts_utils_1.Result.ok(FileMapper_1.FileMapper.toFileDTO(file));
54
54
  }
55
- async loadFileFromTokenReference(truncatedReference) {
56
- const token = await this.tokenController.loadPeerTokenByTruncated(truncatedReference, true);
55
+ async loadFileFromTokenReference(truncatedReference, password) {
56
+ const token = await this.tokenController.loadPeerTokenByTruncated(truncatedReference, true, password);
57
57
  if (!token.cache) {
58
58
  throw common_1.RuntimeErrors.general.cacheEmpty(transport_1.Token, token.id.toString());
59
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"GetOrLoadFile.js","sourceRoot":"","sources":["../../../../src/useCases/transport/files/GetOrLoadFile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GetOrLoadFile.js","sourceRoot":"","sources":["../../../../src/useCases/transport/files/GetOrLoadFile.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gDAA2C;AAG3C,gDAA+G;AAC/G,0DAA+C;AAE/C,yCAAuJ;AACvJ,6CAA0C;AAU1C,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,wBAAqC;IACzD,YAA2B,gBAAkC;QACzD,KAAK,CAAC,gBAAgB,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAC9D,CAAC;CACJ,CAAA;AAJK,SAAS;IACS,WAAA,uBAAM,CAAA;qCAAmB,yBAAgB;GAD3D,SAAS,CAId;AAED,IAAa,oBAAoB,GAAjC,MAAa,oBAAqB,SAAQ,gBAAsC;IAC5E,YAC6B,cAA8B,EAC9B,eAAgC,EAChC,iBAAoC,EACrD,SAAoB;QAE5B,KAAK,CAAC,SAAS,CAAC,CAAC;QALQ,mBAAc,GAAd,cAAc,CAAgB;QAC9B,oBAAe,GAAf,eAAe,CAAiB;QAChC,sBAAiB,GAAjB,iBAAiB,CAAmB;IAIjE,CAAC;IAES,KAAK,CAAC,eAAe,CAAC,OAA6B;QACzD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAErF,MAAM,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,CAAC;QAE9C,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAAC,SAAiB,EAAE,QAAiB;QACpE,IAAI,SAAS,CAAC,UAAU,CAAC,0BAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/C,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,SAAS,CAAC,UAAU,CAAC,0BAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;YAChD,OAAO,MAAM,IAAI,CAAC,0BAA0B,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,sBAAa,CAAC,KAAK,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC1D,CAAC;IAEO,KAAK,CAAC,yBAAyB,CAAC,kBAA0B;QAC9D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,kBAAkB,CAAC,CAAC;QACpF,OAAO,iBAAM,CAAC,EAAE,CAAC,uBAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACjD,CAAC;IAEO,KAAK,CAAC,0BAA0B,CAAC,kBAA0B,EAAE,QAAiB;QAClF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,wBAAwB,CAAC,kBAAkB,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAEtG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,sBAAa,CAAC,OAAO,CAAC,UAAU,CAAC,iBAAK,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvE,CAAC;QAED,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,YAAY,4BAAgB,CAAC,EAAE,CAAC;YACrD,OAAO,iBAAM,CAAC,IAAI,CAAC,sBAAa,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC;QACpC,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAClE,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,EAAU,EAAE,GAAoB;QACnD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAC9D,OAAO,iBAAM,CAAC,EAAE,CAAC,uBAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACjD,CAAC;CACJ,CAAA;AAtDY,oDAAoB;+BAApB,oBAAoB;IAExB,WAAA,uBAAM,CAAA;IACN,WAAA,uBAAM,CAAA;IACN,WAAA,uBAAM,CAAA;IACN,WAAA,uBAAM,CAAA;qCAHkC,0BAAc;QACb,2BAAe;QACb,6BAAiB;QAC1C,SAAS;GALvB,oBAAoB,CAsDhC"}
@@ -2,7 +2,7 @@ import { Result } from "@js-soft/ts-utils";
2
2
  import { OutgoingRequestsController } from "@nmshd/consumption";
3
3
  import { AccountController, RelationshipTemplateController } from "@nmshd/transport";
4
4
  import { RelationshipTemplateDTO } from "../../../types";
5
- import { AddressString, ISO8601DateTimeString, SchemaRepository, SchemaValidator, UseCase, ValidationResult } from "../../common";
5
+ import { AddressString, ISO8601DateTimeString, SchemaRepository, TokenAndTemplateCreationValidator, UseCase } from "../../common";
6
6
  export interface CreateOwnRelationshipTemplateRequest {
7
7
  expiresAt: ISO8601DateTimeString;
8
8
  content: any;
@@ -19,9 +19,8 @@ export interface CreateOwnRelationshipTemplateRequest {
19
19
  passwordIsPin?: true;
20
20
  };
21
21
  }
22
- declare class Validator extends SchemaValidator<CreateOwnRelationshipTemplateRequest> {
22
+ declare class Validator extends TokenAndTemplateCreationValidator<CreateOwnRelationshipTemplateRequest> {
23
23
  constructor(schemaRepository: SchemaRepository);
24
- validate(input: CreateOwnRelationshipTemplateRequest): ValidationResult;
25
24
  }
26
25
  export declare class CreateOwnRelationshipTemplateUseCase extends UseCase<CreateOwnRelationshipTemplateRequest, RelationshipTemplateDTO> {
27
26
  private readonly templateController;
@@ -1 +1 @@
1
- {"version":3,"file":"CreateOwnRelationshipTemplate.d.ts","sourceRoot":"","sources":["../../../../src/useCases/transport/relationshipTemplates/CreateOwnRelationshipTemplate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAGhE,OAAO,EAAE,iBAAiB,EAAwC,8BAA8B,EAAE,MAAM,kBAAkB,CAAC;AAI3H,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAiB,gBAAgB,EAAE,eAAe,EAAE,OAAO,EAAqB,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGpK,MAAM,WAAW,oCAAoC;IACjD,SAAS,EAAE,qBAAqB,CAAC;IACjC,OAAO,EAAE,GAAG,CAAC;IACb;;OAEG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,kBAAkB,CAAC,EAAE;QACjB;;WAEG;QACH,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,CAAC,EAAE,IAAI,CAAC;KACxB,CAAC;CACL;AAED,cAAM,SAAU,SAAQ,eAAe,CAAC,oCAAoC,CAAC;gBAC9C,gBAAgB,EAAE,gBAAgB;IAI7C,QAAQ,CAAC,KAAK,EAAE,oCAAoC,GAAG,gBAAgB;CAqB1F;AAED,qBAAa,oCAAqC,SAAQ,OAAO,CAAC,oCAAoC,EAAE,uBAAuB,CAAC;IAEhH,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,0BAA0B;gBAF1B,kBAAkB,EAAE,8BAA8B,EAClD,iBAAiB,EAAE,iBAAiB,EACpC,0BAA0B,EAAE,0BAA0B,EACvE,SAAS,EAAE,SAAS;cAKhB,eAAe,CAAC,OAAO,EAAE,oCAAoC,GAAG,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;YAuB1G,mCAAmC;CAyBpD"}
1
+ {"version":3,"file":"CreateOwnRelationshipTemplate.d.ts","sourceRoot":"","sources":["../../../../src/useCases/transport/relationshipTemplates/CreateOwnRelationshipTemplate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAGhE,OAAO,EAAE,iBAAiB,EAAwC,8BAA8B,EAAE,MAAM,kBAAkB,CAAC;AAE3H,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAiB,gBAAgB,EAAE,iCAAiC,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGjJ,MAAM,WAAW,oCAAoC;IACjD,SAAS,EAAE,qBAAqB,CAAC;IACjC,OAAO,EAAE,GAAG,CAAC;IACb;;OAEG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,kBAAkB,CAAC,EAAE;QACjB;;WAEG;QACH,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,CAAC,EAAE,IAAI,CAAC;KACxB,CAAC;CACL;AAED,cAAM,SAAU,SAAQ,iCAAiC,CAAC,oCAAoC,CAAC;gBAChE,gBAAgB,EAAE,gBAAgB;CAGhE;AAED,qBAAa,oCAAqC,SAAQ,OAAO,CAAC,oCAAoC,EAAE,uBAAuB,CAAC;IAEhH,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,0BAA0B;gBAF1B,kBAAkB,EAAE,8BAA8B,EAClD,iBAAiB,EAAE,iBAAiB,EACpC,0BAA0B,EAAE,0BAA0B,EACvE,SAAS,EAAE,SAAS;cAKhB,eAAe,CAAC,OAAO,EAAE,oCAAoC,GAAG,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;YAuB1G,mCAAmC;CAyBpD"}
@@ -20,28 +20,12 @@ const content_1 = require("@nmshd/content");
20
20
  const core_types_1 = require("@nmshd/core-types");
21
21
  const transport_1 = require("@nmshd/transport");
22
22
  const typescript_ioc_1 = require("@nmshd/typescript-ioc");
23
- const luxon_1 = require("luxon");
24
- const ts_simple_nameof_1 = require("ts-simple-nameof");
25
23
  const common_1 = require("../../common");
26
24
  const RelationshipTemplateMapper_1 = require("./RelationshipTemplateMapper");
27
- let Validator = class Validator extends common_1.SchemaValidator {
25
+ let Validator = class Validator extends common_1.TokenAndTemplateCreationValidator {
28
26
  constructor(schemaRepository) {
29
27
  super(schemaRepository.getSchema("CreateOwnRelationshipTemplateRequest"));
30
28
  }
31
- validate(input) {
32
- const validationResult = super.validate(input);
33
- if (!validationResult.isValid())
34
- return validationResult;
35
- if (luxon_1.DateTime.fromISO(input.expiresAt) <= luxon_1.DateTime.utc()) {
36
- validationResult.addFailure(new common_1.ValidationFailure(common_1.RuntimeErrors.general.invalidPropertyValue(`'${(0, ts_simple_nameof_1.nameof)((r) => r.expiresAt)}' must be in the future`), (0, ts_simple_nameof_1.nameof)((r) => r.expiresAt)));
37
- }
38
- if (input.passwordProtection?.passwordIsPin) {
39
- if (!/^[0-9]{4,16}$/.test(input.passwordProtection.password)) {
40
- validationResult.addFailure(new common_1.ValidationFailure(common_1.RuntimeErrors.general.invalidPin()));
41
- }
42
- }
43
- return validationResult;
44
- }
45
29
  };
46
30
  Validator = __decorate([
47
31
  __param(0, typescript_ioc_1.Inject),
@@ -1 +1 @@
1
- {"version":3,"file":"CreateOwnRelationshipTemplate.js","sourceRoot":"","sources":["../../../../src/useCases/transport/relationshipTemplates/CreateOwnRelationshipTemplate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CreateOwnRelationshipTemplate.js","sourceRoot":"","sources":["../../../../src/useCases/transport/relationshipTemplates/CreateOwnRelationshipTemplate.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,21 @@
1
1
  import { Result } from "@js-soft/ts-utils";
2
2
  import { AccountController, RelationshipTemplateController, TokenController } from "@nmshd/transport";
3
3
  import { TokenDTO } from "../../../types";
4
- import { AddressString, ISO8601DateTimeString, RelationshipTemplateIdString, SchemaRepository, SchemaValidator, UseCase } from "../../common";
4
+ import { AddressString, ISO8601DateTimeString, RelationshipTemplateIdString, SchemaRepository, TokenAndTemplateCreationValidator, UseCase } from "../../common";
5
5
  export interface CreateTokenForOwnTemplateRequest {
6
6
  templateId: RelationshipTemplateIdString;
7
7
  expiresAt?: ISO8601DateTimeString;
8
8
  ephemeral?: boolean;
9
9
  forIdentity?: AddressString;
10
+ passwordProtection?: {
11
+ /**
12
+ * @minLength 1
13
+ */
14
+ password: string;
15
+ passwordIsPin?: true;
16
+ };
10
17
  }
11
- declare class Validator extends SchemaValidator<CreateTokenForOwnTemplateRequest> {
18
+ declare class Validator extends TokenAndTemplateCreationValidator<CreateTokenForOwnTemplateRequest> {
12
19
  constructor(schemaRepository: SchemaRepository);
13
20
  }
14
21
  export declare class CreateTokenForOwnTemplateUseCase extends UseCase<CreateTokenForOwnTemplateRequest, TokenDTO> {
@@ -1 +1 @@
1
- {"version":3,"file":"CreateTokenForOwnRelationshipTemplate.d.ts","sourceRoot":"","sources":["../../../../src/useCases/transport/relationshipTemplates/CreateTokenForOwnRelationshipTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EACH,iBAAiB,EAEjB,8BAA8B,EAG9B,eAAe,EAClB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,4BAA4B,EAAiB,gBAAgB,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAG7J,MAAM,WAAW,gCAAgC;IAC7C,UAAU,EAAE,4BAA4B,CAAC;IACzC,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED,cAAM,SAAU,SAAQ,eAAe,CAAC,gCAAgC,CAAC;gBAC1C,gBAAgB,EAAE,gBAAgB;CAGhE;AAED,qBAAa,gCAAiC,SAAQ,OAAO,CAAC,gCAAgC,EAAE,QAAQ,CAAC;IAEzF,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBAFjB,kBAAkB,EAAE,8BAA8B,EAClD,eAAe,EAAE,eAAe,EAChC,iBAAiB,EAAE,iBAAiB,EACrD,SAAS,EAAE,SAAS;cAKhB,eAAe,CAAC,OAAO,EAAE,gCAAgC,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;CAwCxG"}
1
+ {"version":3,"file":"CreateTokenForOwnRelationshipTemplate.d.ts","sourceRoot":"","sources":["../../../../src/useCases/transport/relationshipTemplates/CreateTokenForOwnRelationshipTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EACH,iBAAiB,EAGjB,8BAA8B,EAG9B,eAAe,EAClB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,4BAA4B,EAAiB,gBAAgB,EAAE,iCAAiC,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAG/K,MAAM,WAAW,gCAAgC;IAC7C,UAAU,EAAE,4BAA4B,CAAC;IACzC,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,kBAAkB,CAAC,EAAE;QACjB;;WAEG;QACH,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,CAAC,EAAE,IAAI,CAAC;KACxB,CAAC;CACL;AAED,cAAM,SAAU,SAAQ,iCAAiC,CAAC,gCAAgC,CAAC;gBAC5D,gBAAgB,EAAE,gBAAgB;CAGhE;AAED,qBAAa,gCAAiC,SAAQ,OAAO,CAAC,gCAAgC,EAAE,QAAQ,CAAC;IAEzF,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBAFjB,kBAAkB,EAAE,8BAA8B,EAClD,eAAe,EAAE,eAAe,EAChC,iBAAiB,EAAE,iBAAiB,EACrD,SAAS,EAAE,SAAS;cAKhB,eAAe,CAAC,OAAO,EAAE,gCAAgC,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;CA6CxG"}
@@ -19,7 +19,7 @@ const transport_1 = require("@nmshd/transport");
19
19
  const typescript_ioc_1 = require("@nmshd/typescript-ioc");
20
20
  const common_1 = require("../../common");
21
21
  const TokenMapper_1 = require("../tokens/TokenMapper");
22
- let Validator = class Validator extends common_1.SchemaValidator {
22
+ let Validator = class Validator extends common_1.TokenAndTemplateCreationValidator {
23
23
  constructor(schemaRepository) {
24
24
  super(schemaRepository.getSchema("CreateTokenForOwnTemplateRequest"));
25
25
  }
@@ -46,6 +46,9 @@ let CreateTokenForOwnTemplateUseCase = class CreateTokenForOwnTemplateUseCase ex
46
46
  if (template.cache?.forIdentity && request.forIdentity !== template.cache.forIdentity.toString()) {
47
47
  return ts_utils_1.Result.fail(common_1.RuntimeErrors.relationshipTemplates.personalizationMustBeInherited());
48
48
  }
49
+ if (template.passwordProtection && !template.passwordProtection.matchesInputForNewPasswordProtection(request.passwordProtection)) {
50
+ return ts_utils_1.Result.fail(common_1.RuntimeErrors.relationshipTemplates.passwordProtectionMustBeInherited());
51
+ }
49
52
  const passwordProtection = template.passwordProtection ? transport_1.SharedPasswordProtection.from(template.passwordProtection) : undefined;
50
53
  const tokenContent = transport_1.TokenContentRelationshipTemplate.from({
51
54
  templateId: template.id,
@@ -60,7 +63,8 @@ let CreateTokenForOwnTemplateUseCase = class CreateTokenForOwnTemplateUseCase ex
60
63
  content: tokenContent,
61
64
  expiresAt: tokenExpiry,
62
65
  ephemeral,
63
- forIdentity: request.forIdentity ? core_types_1.CoreAddress.from(request.forIdentity) : undefined
66
+ forIdentity: request.forIdentity ? core_types_1.CoreAddress.from(request.forIdentity) : undefined,
67
+ passwordProtection: transport_1.PasswordProtectionCreationParameters.create(request.passwordProtection)
64
68
  });
65
69
  if (!ephemeral) {
66
70
  await this.accountController.syncDatawallet();
@@ -1 +1 @@
1
- {"version":3,"file":"CreateTokenForOwnRelationshipTemplate.js","sourceRoot":"","sources":["../../../../src/useCases/transport/relationshipTemplates/CreateTokenForOwnRelationshipTemplate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CreateTokenForOwnRelationshipTemplate.js","sourceRoot":"","sources":["../../../../src/useCases/transport/relationshipTemplates/CreateTokenForOwnRelationshipTemplate.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,19 @@
1
1
  import { Result } from "@js-soft/ts-utils";
2
2
  import { RelationshipTemplateController, TokenController } from "@nmshd/transport";
3
- import { AddressString, ISO8601DateTimeString, RelationshipTemplateIdString, SchemaRepository, SchemaValidator, UseCase } from "../../common";
3
+ import { AddressString, ISO8601DateTimeString, RelationshipTemplateIdString, SchemaRepository, TokenAndTemplateCreationValidator, UseCase } from "../../common";
4
4
  export interface CreateTokenQRCodeForOwnTemplateRequest {
5
5
  templateId: RelationshipTemplateIdString;
6
6
  expiresAt?: ISO8601DateTimeString;
7
7
  forIdentity?: AddressString;
8
+ passwordProtection?: {
9
+ /**
10
+ * @minLength 1
11
+ */
12
+ password: string;
13
+ passwordIsPin?: true;
14
+ };
8
15
  }
9
- declare class Validator extends SchemaValidator<CreateTokenQRCodeForOwnTemplateRequest> {
16
+ declare class Validator extends TokenAndTemplateCreationValidator<CreateTokenQRCodeForOwnTemplateRequest> {
10
17
  constructor(schemaRepository: SchemaRepository);
11
18
  }
12
19
  export interface CreateTokenQRCodeForOwnTemplateResponse {
@@ -1 +1 @@
1
- {"version":3,"file":"CreateTokenQRCodeForOwnRelationshipTemplate.d.ts","sourceRoot":"","sources":["../../../../src/useCases/transport/relationshipTemplates/CreateTokenQRCodeForOwnRelationshipTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAwB,8BAA8B,EAA8D,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAErK,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAU,4BAA4B,EAAiB,gBAAgB,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAErK,MAAM,WAAW,sCAAsC;IACnD,UAAU,EAAE,4BAA4B,CAAC;IACzC,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,WAAW,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED,cAAM,SAAU,SAAQ,eAAe,CAAC,sCAAsC,CAAC;gBAChD,gBAAgB,EAAE,gBAAgB;CAGhE;AAED,MAAM,WAAW,uCAAuC;IACpD,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,sCAAuC,SAAQ,OAAO,CAAC,sCAAsC,EAAE,uCAAuC,CAAC;IAEpI,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,eAAe;gBADf,kBAAkB,EAAE,8BAA8B,EAClD,eAAe,EAAE,eAAe,EACjD,SAAS,EAAE,SAAS;cAKhB,eAAe,CAAC,OAAO,EAAE,sCAAsC,GAAG,OAAO,CAAC,MAAM,CAAC,uCAAuC,CAAC,CAAC;CAoC7I"}
1
+ {"version":3,"file":"CreateTokenQRCodeForOwnRelationshipTemplate.d.ts","sourceRoot":"","sources":["../../../../src/useCases/transport/relationshipTemplates/CreateTokenQRCodeForOwnRelationshipTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAGH,8BAA8B,EAG9B,eAAe,EAClB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACH,aAAa,EACb,qBAAqB,EAErB,4BAA4B,EAE5B,gBAAgB,EAChB,iCAAiC,EACjC,OAAO,EACV,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,sCAAsC;IACnD,UAAU,EAAE,4BAA4B,CAAC;IACzC,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,kBAAkB,CAAC,EAAE;QACjB;;WAEG;QACH,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,CAAC,EAAE,IAAI,CAAC;KACxB,CAAC;CACL;AAED,cAAM,SAAU,SAAQ,iCAAiC,CAAC,sCAAsC,CAAC;gBAClE,gBAAgB,EAAE,gBAAgB;CAGhE;AAED,MAAM,WAAW,uCAAuC;IACpD,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,sCAAuC,SAAQ,OAAO,CAAC,sCAAsC,EAAE,uCAAuC,CAAC;IAEpI,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,eAAe;gBADf,kBAAkB,EAAE,8BAA8B,EAClD,eAAe,EAAE,eAAe,EACjD,SAAS,EAAE,SAAS;cAKhB,eAAe,CAAC,OAAO,EAAE,sCAAsC,GAAG,OAAO,CAAC,MAAM,CAAC,uCAAuC,CAAC,CAAC;CAyC7I"}
@@ -18,7 +18,7 @@ const core_types_1 = require("@nmshd/core-types");
18
18
  const transport_1 = require("@nmshd/transport");
19
19
  const typescript_ioc_1 = require("@nmshd/typescript-ioc");
20
20
  const common_1 = require("../../common");
21
- let Validator = class Validator extends common_1.SchemaValidator {
21
+ let Validator = class Validator extends common_1.TokenAndTemplateCreationValidator {
22
22
  constructor(schemaRepository) {
23
23
  super(schemaRepository.getSchema("CreateTokenQRCodeForOwnTemplateRequest"));
24
24
  }
@@ -44,6 +44,9 @@ let CreateTokenQRCodeForOwnTemplateUseCase = class CreateTokenQRCodeForOwnTempla
44
44
  if (template.cache?.forIdentity && request.forIdentity !== template.cache.forIdentity.toString()) {
45
45
  return ts_utils_1.Result.fail(common_1.RuntimeErrors.relationshipTemplates.personalizationMustBeInherited());
46
46
  }
47
+ if (template.passwordProtection && !template.passwordProtection.matchesInputForNewPasswordProtection(request.passwordProtection)) {
48
+ return ts_utils_1.Result.fail(common_1.RuntimeErrors.relationshipTemplates.passwordProtectionMustBeInherited());
49
+ }
47
50
  const passwordProtection = template.passwordProtection ? transport_1.SharedPasswordProtection.from(template.passwordProtection) : undefined;
48
51
  const tokenContent = transport_1.TokenContentRelationshipTemplate.from({
49
52
  templateId: template.id,
@@ -57,7 +60,8 @@ let CreateTokenQRCodeForOwnTemplateUseCase = class CreateTokenQRCodeForOwnTempla
57
60
  content: tokenContent,
58
61
  expiresAt: tokenExpiry,
59
62
  ephemeral: true,
60
- forIdentity: request.forIdentity ? core_types_1.CoreAddress.from(request.forIdentity) : undefined
63
+ forIdentity: request.forIdentity ? core_types_1.CoreAddress.from(request.forIdentity) : undefined,
64
+ passwordProtection: transport_1.PasswordProtectionCreationParameters.create(request.passwordProtection)
61
65
  });
62
66
  const qrCode = await common_1.QRCode.forTruncateable(token);
63
67
  return ts_utils_1.Result.ok({ qrCodeBytes: qrCode.asBase64() });
@@ -1 +1 @@
1
- {"version":3,"file":"CreateTokenQRCodeForOwnRelationshipTemplate.js","sourceRoot":"","sources":["../../../../src/useCases/transport/relationshipTemplates/CreateTokenQRCodeForOwnRelationshipTemplate.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gDAA2C;AAC3C,kDAAkE;AAClE,gDAAqK;AACrK,0DAA+C;AAC/C,yCAAqK;AAQrK,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,wBAAuD;IAC3E,YAA2B,gBAAkC;QACzD,KAAK,CAAC,gBAAgB,CAAC,SAAS,CAAC,wCAAwC,CAAC,CAAC,CAAC;IAChF,CAAC;CACJ,CAAA;AAJK,SAAS;IACS,WAAA,uBAAM,CAAA;qCAAmB,yBAAgB;GAD3D,SAAS,CAId;AAMD,IAAa,sCAAsC,GAAnD,MAAa,sCAAuC,SAAQ,gBAAwF;IAChJ,YAC6B,kBAAkD,EAClD,eAAgC,EACjD,SAAoB;QAE5B,KAAK,CAAC,SAAS,CAAC,CAAC;QAJQ,uBAAkB,GAAlB,kBAAkB,CAAgC;QAClD,oBAAe,GAAf,eAAe,CAAiB;IAI7D,CAAC;IAES,KAAK,CAAC,eAAe,CAAC,OAA+C;QAC3E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,mBAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;QAExG,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,OAAO,iBAAM,CAAC,IAAI,CAAC,sBAAa,CAAC,OAAO,CAAC,cAAc,CAAC,gCAAoB,CAAC,CAAC,CAAC;QACnF,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YAClB,OAAO,iBAAM,CAAC,IAAI,CAAC,sBAAa,CAAC,qBAAqB,CAAC,gCAAgC,EAAE,CAAC,CAAC;QAC/F,CAAC;QAED,IAAI,QAAQ,CAAC,KAAK,EAAE,WAAW,IAAI,OAAO,CAAC,WAAW,KAAK,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC/F,OAAO,iBAAM,CAAC,IAAI,CAAC,sBAAa,CAAC,qBAAqB,CAAC,8BAA8B,EAAE,CAAC,CAAC;QAC7F,CAAC;QAED,MAAM,kBAAkB,GAAG,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,oCAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEhI,MAAM,YAAY,GAAG,4CAAgC,CAAC,IAAI,CAAC;YACvD,UAAU,EAAE,QAAQ,CAAC,EAAE;YACvB,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,WAAW,EAAE,QAAQ,CAAC,KAAM,CAAC,WAAW;YACxC,kBAAkB;SACrB,CAAC,CAAC;QAEH,MAAM,kBAAkB,GAAG,QAAQ,CAAC,KAAK,EAAE,SAAS,IAAI,qBAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QACzF,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;QAC9F,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC;YAC/C,OAAO,EAAE,YAAY;YACrB,SAAS,EAAE,WAAW;YACtB,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,wBAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;SACvF,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,eAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACnD,OAAO,iBAAM,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACzD,CAAC;CACJ,CAAA;AA7CY,wFAAsC;iDAAtC,sCAAsC;IAE1C,WAAA,uBAAM,CAAA;IACN,WAAA,uBAAM,CAAA;IACN,WAAA,uBAAM,CAAA;qCAFsC,0CAA8B;QACjC,2BAAe;QACtC,SAAS;GAJvB,sCAAsC,CA6ClD"}
1
+ {"version":3,"file":"CreateTokenQRCodeForOwnRelationshipTemplate.js","sourceRoot":"","sources":["../../../../src/useCases/transport/relationshipTemplates/CreateTokenQRCodeForOwnRelationshipTemplate.ts"],"names":[],"mappings":"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"}