@nmshd/transport 1.0.2 → 1.0.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 (48) hide show
  1. package/dist/buildInformation.js +5 -5
  2. package/dist/core/CoreIdHelper.d.ts +1 -1
  3. package/dist/core/CoreIdHelper.js.map +1 -1
  4. package/dist/core/{DbCollectionNames.d.ts → DbCollectionName.d.ts} +2 -2
  5. package/dist/core/DbCollectionName.js +16 -0
  6. package/dist/core/DbCollectionName.js.map +1 -0
  7. package/dist/core/ICacheable.d.ts +1 -0
  8. package/dist/core/ICacheable.js +6 -2
  9. package/dist/core/ICacheable.js.map +1 -1
  10. package/dist/core/Transport.d.ts +1 -1
  11. package/dist/core/backbone/AuthClient.js.map +1 -1
  12. package/dist/core/backbone/RESTClient.js +1 -2
  13. package/dist/core/backbone/RESTClient.js.map +1 -1
  14. package/dist/modules/accounts/AccountController.js +2 -2
  15. package/dist/modules/accounts/AccountController.js.map +1 -1
  16. package/dist/modules/certificates/CertificateIssuer.js +2 -2
  17. package/dist/modules/certificates/CertificateIssuer.js.map +1 -1
  18. package/dist/modules/devices/DevicesController.js +2 -2
  19. package/dist/modules/devices/DevicesController.js.map +1 -1
  20. package/dist/modules/files/FileController.d.ts +6 -0
  21. package/dist/modules/files/FileController.js +22 -7
  22. package/dist/modules/files/FileController.js.map +1 -1
  23. package/dist/modules/messages/MessageController.d.ts +6 -1
  24. package/dist/modules/messages/MessageController.js +18 -5
  25. package/dist/modules/messages/MessageController.js.map +1 -1
  26. package/dist/modules/relationshipTemplates/RelationshipTemplateController.d.ts +6 -0
  27. package/dist/modules/relationshipTemplates/RelationshipTemplateController.js +22 -7
  28. package/dist/modules/relationshipTemplates/RelationshipTemplateController.js.map +1 -1
  29. package/dist/modules/relationships/RelationshipsController.d.ts +6 -0
  30. package/dist/modules/relationships/RelationshipsController.js +36 -18
  31. package/dist/modules/relationships/RelationshipsController.js.map +1 -1
  32. package/dist/modules/secrets/SecretController.js +2 -2
  33. package/dist/modules/secrets/SecretController.js.map +1 -1
  34. package/dist/modules/sync/DatawalletModificationsProcessor.d.ts +42 -9
  35. package/dist/modules/sync/DatawalletModificationsProcessor.js +66 -37
  36. package/dist/modules/sync/DatawalletModificationsProcessor.js.map +1 -1
  37. package/dist/modules/sync/SyncController.js +1 -1
  38. package/dist/modules/sync/SyncController.js.map +1 -1
  39. package/dist/modules/tokens/TokenController.d.ts +6 -0
  40. package/dist/modules/tokens/TokenController.js +22 -7
  41. package/dist/modules/tokens/TokenController.js.map +1 -1
  42. package/lib-web/nmshd.transport.js +411 -221
  43. package/lib-web/nmshd.transport.js.map +1 -1
  44. package/lib-web/nmshd.transport.min.js +1 -1
  45. package/lib-web/nmshd.transport.min.js.map +1 -1
  46. package/package.json +3 -3
  47. package/dist/core/DbCollectionNames.js +0 -16
  48. package/dist/core/DbCollectionNames.js.map +0 -1
@@ -3,20 +3,21 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.DatawalletModificationsProcessor = void 0;
6
+ exports.CacheFetcher = exports.DatawalletModificationsProcessor = void 0;
7
7
  const lodash_1 = __importDefault(require("lodash"));
8
8
  const core_1 = require("../../core");
9
- const DbCollectionNames_1 = require("../../core/DbCollectionNames");
9
+ const DbCollectionName_1 = require("../../core/DbCollectionName");
10
+ const File_1 = require("../files/local/File");
11
+ const Message_1 = require("../messages/local/Message");
12
+ const Relationship_1 = require("../relationships/local/Relationship");
13
+ const RelationshipTemplate_1 = require("../relationshipTemplates/local/RelationshipTemplate");
14
+ const Token_1 = require("../tokens/local/Token");
10
15
  const DatawalletModification_1 = require("./local/DatawalletModification");
11
16
  class DatawalletModificationsProcessor {
12
- constructor(collectionProvider, modifications, fileCacheUpdater, messageCacheUpdater, relationshipTemplateCacheUpdater, relationshipCacheUpdater, tokenCacheUpdater) {
17
+ constructor(cacheFetcher, collectionProvider, modifications) {
18
+ this.cacheFetcher = cacheFetcher;
13
19
  this.collectionProvider = collectionProvider;
14
20
  this.modifications = modifications;
15
- this.fileCacheUpdater = fileCacheUpdater;
16
- this.messageCacheUpdater = messageCacheUpdater;
17
- this.relationshipTemplateCacheUpdater = relationshipTemplateCacheUpdater;
18
- this.relationshipCacheUpdater = relationshipCacheUpdater;
19
- this.tokenCacheUpdater = tokenCacheUpdater;
20
21
  }
21
22
  async execute() {
22
23
  const modificationsGroupedByType = lodash_1.default.groupBy(this.modifications, (m) => m.type);
@@ -72,40 +73,68 @@ class DatawalletModificationsProcessor {
72
73
  }
73
74
  }
74
75
  async applyCacheChanges(cacheChanges) {
76
+ var _a, _b, _c, _d, _e;
75
77
  if (!cacheChanges || cacheChanges.length === 0) {
76
78
  return;
77
79
  }
78
80
  const cacheChangesGroupedByCollection = lodash_1.default.groupBy(cacheChanges, (c) => c.collection);
79
- const fillCachePromises = [];
80
- for (const collectionName in cacheChangesGroupedByCollection) {
81
- const modificationsInCollection = cacheChangesGroupedByCollection[collectionName];
82
- switch (collectionName) {
83
- case DbCollectionNames_1.DbCollectionNames.Files:
84
- fillCachePromises.push(this.fileCacheUpdater.updateCache(modificationsInCollection.map((m) => m.objectIdentifier.toString())));
85
- break;
86
- case DbCollectionNames_1.DbCollectionNames.Messages:
87
- fillCachePromises.push(this.messageCacheUpdater.updateCache(modificationsInCollection.map((m) => m.objectIdentifier.toString())));
88
- break;
89
- case DbCollectionNames_1.DbCollectionNames.Relationships:
90
- // Relationship caches are filled afterwards. It requires the template caches to be filled.
91
- break;
92
- case DbCollectionNames_1.DbCollectionNames.Templates:
93
- fillCachePromises.push(this.relationshipTemplateCacheUpdater.updateCache(modificationsInCollection.map((m) => m.objectIdentifier.toString())));
94
- break;
95
- case DbCollectionNames_1.DbCollectionNames.Tokens:
96
- fillCachePromises.push(this.tokenCacheUpdater.updateCache(modificationsInCollection.map((m) => m.objectIdentifier.toString())));
97
- break;
98
- default:
99
- throw new Error(`DB collection with name '${collectionName}' is not supported.'`);
100
- }
101
- }
102
- await Promise.all(fillCachePromises);
103
- const relationshipCacheUpdates = cacheChangesGroupedByCollection[DbCollectionNames_1.DbCollectionNames.Relationships];
104
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
105
- if (relationshipCacheUpdates) {
106
- await this.relationshipCacheUpdater.updateCache(relationshipCacheUpdates.map((m) => m.objectIdentifier.toString()));
107
- }
81
+ const caches = await this.cacheFetcher.fetchCacheFor({
82
+ files: ((_a = cacheChangesGroupedByCollection[DbCollectionName_1.DbCollectionName.Files]) !== null && _a !== void 0 ? _a : []).map((m) => m.objectIdentifier),
83
+ messages: ((_b = cacheChangesGroupedByCollection[DbCollectionName_1.DbCollectionName.Messages]) !== null && _b !== void 0 ? _b : []).map((m) => m.objectIdentifier),
84
+ relationshipTemplates: ((_c = cacheChangesGroupedByCollection[DbCollectionName_1.DbCollectionName.RelationshipTemplates]) !== null && _c !== void 0 ? _c : []).map((m) => m.objectIdentifier),
85
+ tokens: ((_d = cacheChangesGroupedByCollection[DbCollectionName_1.DbCollectionName.Tokens]) !== null && _d !== void 0 ? _d : []).map((m) => m.objectIdentifier)
86
+ });
87
+ await this.save(caches.files, DbCollectionName_1.DbCollectionName.Files, File_1.File);
88
+ await this.save(caches.messages, DbCollectionName_1.DbCollectionName.Messages, Message_1.Message);
89
+ await this.save(caches.relationshipTemplates, DbCollectionName_1.DbCollectionName.RelationshipTemplates, RelationshipTemplate_1.RelationshipTemplate);
90
+ await this.save(caches.tokens, DbCollectionName_1.DbCollectionName.Tokens, Token_1.Token);
91
+ const relationshipCaches = await this.cacheFetcher.fetchCacheFor({
92
+ relationships: ((_e = cacheChangesGroupedByCollection[DbCollectionName_1.DbCollectionName.Relationships]) !== null && _e !== void 0 ? _e : []).map((m) => m.objectIdentifier)
93
+ });
94
+ await this.save(relationshipCaches.relationships, DbCollectionName_1.DbCollectionName.Relationships, Relationship_1.Relationship);
95
+ }
96
+ async save(caches, collectionName, constructorOfT) {
97
+ const collection = await this.collectionProvider.getCollection(collectionName);
98
+ await Promise.all(caches.map(async (c) => {
99
+ const itemDoc = await collection.read(c.id.toString());
100
+ const item = await core_1.CoreSerializableAsync.fromT(itemDoc, constructorOfT);
101
+ item.setCache(c.cache);
102
+ await collection.update(itemDoc, item);
103
+ }));
108
104
  }
109
105
  }
110
106
  exports.DatawalletModificationsProcessor = DatawalletModificationsProcessor;
107
+ class CacheFetcher {
108
+ constructor(fileController, messageController, relationshipTemplateController, relationshipController, tokenController) {
109
+ this.fileController = fileController;
110
+ this.messageController = messageController;
111
+ this.relationshipTemplateController = relationshipTemplateController;
112
+ this.relationshipController = relationshipController;
113
+ this.tokenController = tokenController;
114
+ }
115
+ async fetchCacheFor(input) {
116
+ const caches = await Promise.all([
117
+ this.fetchCaches(this.fileController, input.files),
118
+ this.fetchCaches(this.messageController, input.messages),
119
+ this.fetchCaches(this.relationshipController, input.relationships),
120
+ this.fetchCaches(this.relationshipTemplateController, input.relationshipTemplates),
121
+ this.fetchCaches(this.tokenController, input.tokens)
122
+ ]);
123
+ const output = {
124
+ files: caches[0],
125
+ messages: caches[1],
126
+ relationships: caches[2],
127
+ relationshipTemplates: caches[3],
128
+ tokens: caches[4]
129
+ };
130
+ return output;
131
+ }
132
+ async fetchCaches(controller, ids) {
133
+ if (!ids)
134
+ return [];
135
+ const caches = await controller.fetchCaches(ids);
136
+ return caches;
137
+ }
138
+ }
139
+ exports.CacheFetcher = CacheFetcher;
111
140
  //# sourceMappingURL=DatawalletModificationsProcessor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatawalletModificationsProcessor.js","sourceRoot":"","sources":["../../../src/modules/sync/DatawalletModificationsProcessor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DatawalletModificationsProcessor.js","sourceRoot":"","sources":["../../../src/modules/sync/DatawalletModificationsProcessor.ts"],"names":[],"mappings":"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"}
@@ -84,7 +84,7 @@ class SyncController extends core_1.TransportController {
84
84
  }
85
85
  const incomingModifications = await this.decryptDatawalletModifications(encryptedIncomingModifications);
86
86
  this.log.trace(`${incomingModifications.length} incoming modifications found`);
87
- const datawalletModificationsProcessor = new DatawalletModificationsProcessor_1.DatawalletModificationsProcessor(this._db, incomingModifications, this.parent.files, this.parent.messages, this.parent.relationshipTemplates, this.parent.relationships, this.parent.tokens);
87
+ const datawalletModificationsProcessor = new DatawalletModificationsProcessor_1.DatawalletModificationsProcessor(new DatawalletModificationsProcessor_1.CacheFetcher(this.parent.files, this.parent.messages, this.parent.relationshipTemplates, this.parent.relationships, this.parent.tokens), this._db, incomingModifications);
88
88
  await datawalletModificationsProcessor.execute();
89
89
  this.log.trace(`${incomingModifications.length} incoming modifications executed`, incomingModifications);
90
90
  await this.updateLocalDatawalletModificationIndex(encryptedIncomingModifications.sort(descending)[0].index);
@@ -1 +1 @@
1
- {"version":3,"file":"SyncController.js","sourceRoot":"","sources":["../../../src/modules/sync/SyncController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SyncController.js","sourceRoot":"","sources":["../../../src/modules/sync/SyncController.ts"],"names":[],"mappings":";;;AACA,qCAA6F;AAM7F,0DAA4D;AAC5D,sDAAkD;AAClD,iDAA6C;AAC7C,iFAA6E;AAC7E,yFAAmG;AACnG,uEAAmE;AACnE,2EAAuE;AAGvE,MAAa,cAAe,SAAQ,0BAAmB;IAInD,YACI,MAAyB,EACR,+BAAoD,EACpD,iBAA0B;QAE3C,KAAK,CAAC,qBAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QAHjB,oCAA+B,GAA/B,+BAA+B,CAAqB;QACpD,sBAAiB,GAAjB,iBAAiB,CAAS;IAG/C,CAAC;IAEM,KAAK,CAAC,IAAI;QACb,MAAM,KAAK,CAAC,IAAI,EAAE,CAAA;QAElB,IAAI,CAAC,MAAM,GAAG,IAAI,uBAAU,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;QACpE,IAAI,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QAEhD,OAAO,IAAI,CAAA;IACf,CAAC;IAUM,KAAK,CAAC,IAAI,CAAC,aAAyB,YAAY;;QACnD,IAAI,MAAA,IAAI,CAAC,WAAW,0CAAE,QAAQ,CAAC,UAAU,CAAC,EAAE;YACxC,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAA;SACxC;QAED,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;YAC5D,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAA;YAC9B,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;SACrC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,YAAY,CAAC,WAAW,EAAE,UAAU,CAAC,CAAA;QAE5D,IAAI;YACA,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAA;SACxC;gBAAS;YACN,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,MAAM,IAAI,CAAC,+BAA+B,CAAC,MAAM,EAAE,CAAC,EAAE;gBACjF,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;aAC9D;YAED,IAAI,CAAC,WAAW,GAAG,SAAS,CAAA;SAC/B;IACL,CAAC;IAEO,KAAK,CAAC,KAAK,CAAC,UAAsB;QACtC,IAAI,UAAU,KAAK,gBAAgB,EAAE;YACjC,OAAO,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;SACrC;QAED,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;QACnD,IAAI,CAAC,iBAAiB,EAAE;YACpB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;YAC3B,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAA;YACrC,OAAO,IAAI,2BAAY,EAAE,CAAA;SAC5B;QAED,MAAM,IAAI,CAAC,oCAAoC,EAAE,CAAA;QACjD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,2BAA2B,EAAE,CAAA;QACvD,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAC1C,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAA;QAErC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,EAAE;YACvD,MAAM,IAAI,gBAAS,CACf,kDAAkD,EAClD,MAAM,CAAC,OAAO;iBACT,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC;iBACxC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;iBACvB,IAAI,CAAC,KAAK,CAAC,CACnB,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;SACtB;QAED,OAAO,MAAM,CAAC,YAAY,CAAA;IAC9B,CAAC;IAEO,KAAK,CAAC,cAAc;QACxB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YACzB,OAAM;SACT;QAED,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAA;QAEjE,MAAM,IAAI,CAAC,oCAAoC,EAAE,CAAA;QACjD,MAAM,IAAI,CAAC,gCAAgC,EAAE,CAAA;QAE7C,MAAM,IAAI,CAAC,kCAAkC,EAAE,CAAA;QAE/C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAA;IACnE,CAAC;IAEO,KAAK,CAAC,oCAAoC;QAC9C,MAAM,gCAAgC,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,0BAA0B,CAAC;YAClF,UAAU,EAAE,MAAM,IAAI,CAAC,mCAAmC,EAAE;SAC/D,CAAC,CAAA;QAEF,MAAM,8BAA8B,GAAG,MAAM,gCAAgC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAA;QAE7F,IAAI,8BAA8B,CAAC,MAAM,KAAK,CAAC,EAAE;YAC7C,OAAM;SACT;QAED,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC,8BAA8B,CAAC,8BAA8B,CAAC,CAAA;QAEvG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,qBAAqB,CAAC,MAAM,+BAA+B,CAAC,CAAA;QAE9E,MAAM,gCAAgC,GAAG,IAAI,mEAAgC,CACzE,IAAI,+CAAY,CACZ,IAAI,CAAC,MAAM,CAAC,KAAK,EACjB,IAAI,CAAC,MAAM,CAAC,QAAQ,EACpB,IAAI,CAAC,MAAM,CAAC,qBAAqB,EACjC,IAAI,CAAC,MAAM,CAAC,aAAa,EACzB,IAAI,CAAC,MAAM,CAAC,MAAM,CACrB,EACD,IAAI,CAAC,GAAG,EACR,qBAAqB,CACxB,CAAA;QAED,MAAM,gCAAgC,CAAC,OAAO,EAAE,CAAA;QAEhD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,qBAAqB,CAAC,MAAM,kCAAkC,EAAE,qBAAqB,CAAC,CAAA;QAExG,MAAM,IAAI,CAAC,sCAAsC,CAAC,8BAA8B,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IAC/G,CAAC;IAEO,KAAK,CAAC,8BAA8B,CACxC,sBAAwD;QAExD,MAAM,sBAAsB,GAA6B,EAAE,CAAA;QAE3D,KAAK,MAAM,qBAAqB,IAAI,sBAAsB,EAAE;YACxD,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,oCAAoC,CAChG,qBAAqB,CAAC,gBAAgB,EACtC,qBAAqB,CAAC,KAAK,CAC9B,CAAA;YACD,MAAM,qBAAqB,GAAG,MAAM,2DAA4B,CAAC,kCAAkC,CAC/F,qBAAqB,EACrB,gBAAgB,CACnB,CAAA;YACD,sBAAsB,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;SACrD;QAED,OAAO,sBAAsB,CAAA;IACjC,CAAC;IAEO,KAAK,CAAC,gCAAgC;QAC1C,MAAM,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,GAAG,MAAM,IAAI,CAAC,0CAA0C,EAAE,CAAA;QAE/G,IAAI,qBAAqB,CAAC,MAAM,KAAK,CAAC,EAAE;YACpC,OAAM;SACT;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,6BAA6B,CAAC;YAC3D,UAAU,EAAE,MAAM,IAAI,CAAC,mCAAmC,EAAE;YAC5D,aAAa,EAAE,qBAAqB;SACvC,CAAC,CAAA;QAEF,MAAM,IAAI,CAAC,qCAAqC,CAAC,oBAAoB,CAAC,CAAA;QACtE,MAAM,IAAI,CAAC,sCAAsC,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IAC5E,CAAC;IAEO,KAAK,CAAC,0CAA0C;QACpD,MAAM,qBAAqB,GAA+C,EAAE,CAAA;QAC5E,MAAM,oBAAoB,GAAa,EAAE,CAAA;QAEzC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YACzB,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,CAAA;SACzD;QAED,MAAM,4BAA4B,GAAG,MAAM,IAAI,CAAC,UAAU,CACtD,MAAM,IAAI,CAAC,+BAA+B,CAAC,IAAI,EAAE,EACjD,+CAAsB,CACzB,CAAA;QAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,mCAAmC,EAAE,CAAA;QACnE,IAAI,eAAe,GAAG,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAA;QACzE,KAAK,MAAM,iBAAiB,IAAI,4BAA4B,EAAE;YAC1D,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,oCAAoC,CAChG,iBAAiB,EACjB,eAAe,EAAE,CACpB,CAAA;YACD,MAAM,oBAAoB,GAAG,2DAA4B,CAAC,0CAA0C,CAChG,iBAAiB,EACjB,gBAAgB,CACnB,CAAA;YAED,oBAAoB,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;YACpD,qBAAqB,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;SACnD;QACD,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,CAAA;IAC1D,CAAC;IAEO,KAAK,CAAC,qCAAqC,CAAC,oBAA8B;QAC9E,KAAK,MAAM,mBAAmB,IAAI,oBAAoB,EAAE;YACpD,MAAM,IAAI,CAAC,+BAA+B,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,mBAAmB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;SACjG;IACL,CAAC;IAEO,KAAK,CAAC,YAAY;;QACtB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAA;QAE/C,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,iCAAkB,CAAC,WAAW,EAAE;YACxD,OAAO,KAAK,CAAA;SACf;QAED,IAAI,CAAC,cAAc,GAAG,MAAA,MAAM,CAAC,KAAK,CAAC,OAAO,mCAAI,SAAS,CAAA;QACvD,OAAO,IAAI,CAAC,cAAc,KAAK,SAAS,CAAA;IAC5C,CAAC;IAEO,KAAK,CAAC,2BAA2B;QACrC,MAAM,uBAAuB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,0BAA0B,CAAC,IAAI,CAAC,cAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;QAEhH,IAAI,uBAAuB,CAAC,OAAO,EAAE;YACjC,MAAM,uBAAuB,CAAC,KAAK,CAAA;SACtC;QAED,MAAM,cAAc,GAAG,MAAM,uBAAuB,CAAC,KAAK,CAAC,OAAO,EAAE,CAAA;QAEpE,MAAM,sBAAsB,GAAG,IAAI,iDAAuB,CACtD,IAAI,CAAC,MAAM,CAAC,QAAQ,EACpB,IAAI,CAAC,MAAM,CAAC,aAAa,EACzB,cAAc,CACjB,CAAA;QACD,MAAM,sBAAsB,CAAC,OAAO,EAAE,CAAA;QAEtC,OAAO,EAAE,OAAO,EAAE,sBAAsB,CAAC,OAAO,EAAE,YAAY,EAAE,sBAAsB,CAAC,YAAY,EAAE,CAAA;IACzG,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,oBAAiE;QAC3F,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACtB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;SAC7D;QAED,MAAM,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,GAAG,MAAM,IAAI,CAAC,0CAA0C,EAAE,CAAA;QAE/G,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE;YACjE,uBAAuB,EAAE,qBAAqB;YAC9C,oBAAoB,EAAE,oBAAoB;SAC7C,CAAC,CAAA;QAEF,MAAM,IAAI,CAAC,qCAAqC,CAAC,oBAAoB,CAAC,CAAA;QAEtE,MAAM,8BAA8B,GAAG,MAAM,IAAI,CAAC,mCAAmC,EAAE,CAAA;QACvF,MAAM,8BAA8B,GAAG,CAAC,8BAA8B,IAAI,CAAC,CAAC,CAAC,GAAG,qBAAqB,CAAC,MAAM,CAAA;QAC5G,MAAM,IAAI,CAAC,sCAAsC,CAAC,8BAA8B,CAAC,CAAA;QAEjF,IAAI,CAAC,cAAc,GAAG,SAAS,CAAA;IACnC,CAAC;IAEO,KAAK,CAAC,mCAAmC;QAC7C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAA;QACzE,OAAO,KAAK,CAAA;IAChB,CAAC;IAEO,KAAK,CAAC,sCAAsC,CAAC,QAAgB;QACjE,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,kCAAkC,EAAE,QAAQ,CAAC,CAAA;IACzE,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,IAAiC;QAC7D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,CAAA;QACxD,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,eAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACnD,OAAO,IAAI,CAAA;IACf,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,IAAiC;QAC7D,MAAM,UAAU,GAAG,eAAQ,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAA;QAC/C,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,EAAE,UAAU,CAAC,CAAA;IAC3D,CAAC;IAEM,KAAK,CAAC,wBAAwB;QACjC,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAA;IACrD,CAAC;IAEM,KAAK,CAAC,kCAAkC;QAC3C,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAA;IACrD,CAAC;IAEO,KAAK,CAAC,wBAAwB;QAClC,MAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAA;IAC9C,CAAC;IAEO,KAAK,CAAC,kCAAkC;QAC5C,MAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAA;IAC9C,CAAC;CACJ;AAnSD,wCAmSC;AAED,SAAS,UAAU,CAAC,aAA6C,EAAE,aAA6C;IAC5G,OAAO,aAAa,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,CAAA;AACpD,CAAC;AAED,MAAM,YAAY;IACd,YAAmC,OAAqC,EAAkB,UAAsB;QAA7E,YAAO,GAAP,OAAO,CAA8B;QAAkB,eAAU,GAAV,UAAU,CAAY;IAAG,CAAC;IAE7G,QAAQ,CAAC,UAAsB;QAClC,IAAI,IAAI,CAAC,UAAU,KAAK,YAAY,EAAE;YAClC,OAAO,IAAI,CAAA;SACd;QAED,OAAO,UAAU,KAAK,gBAAgB,CAAA;IAC1C,CAAC;CACJ"}
@@ -3,6 +3,7 @@ import { CryptoSecretKey } from "@nmshd/crypto";
3
3
  import { CoreId } from "../../core";
4
4
  import { TransportController } from "../../core/TransportController";
5
5
  import { AccountController } from "../accounts/AccountController";
6
+ import { CachedToken } from "./local/CachedToken";
6
7
  import { ISendTokenParameters } from "./local/SendTokenParameters";
7
8
  import { Token } from "./local/Token";
8
9
  import { TokenReference } from "./transmission/TokenReference";
@@ -16,8 +17,13 @@ export declare class TokenController extends TransportController {
16
17
  setTokenMetadata(idOrToken: CoreId | Token, metadata: ISerializableAsync): Promise<Token>;
17
18
  getToken(id: CoreId): Promise<Token | undefined>;
18
19
  updateCache(ids: string[]): Promise<Token[]>;
20
+ fetchCaches(ids: CoreId[]): Promise<{
21
+ id: CoreId;
22
+ cache: CachedToken;
23
+ }[]>;
19
24
  private updateCacheOfExistingTokenInDb;
20
25
  private updateCacheOfToken;
26
+ private decryptToken;
21
27
  loadPeerTokenByTruncated(truncated: string, ephemeral: boolean): Promise<Token>;
22
28
  loadPeerTokenByReference(tokenReference: TokenReference, ephemeral: boolean): Promise<Token>;
23
29
  loadPeerToken(id: CoreId, secretKey: CryptoSecretKey, ephemeral: boolean): Promise<Token>;
@@ -4,7 +4,7 @@ exports.TokenController = void 0;
4
4
  const ts_serval_1 = require("@js-soft/ts-serval");
5
5
  const crypto_1 = require("@nmshd/crypto");
6
6
  const core_1 = require("../../core");
7
- const DbCollectionNames_1 = require("../../core/DbCollectionNames");
7
+ const DbCollectionName_1 = require("../../core/DbCollectionName");
8
8
  const TransportController_1 = require("../../core/TransportController");
9
9
  const TokenClient_1 = require("./backbone/TokenClient");
10
10
  const CachedToken_1 = require("./local/CachedToken");
@@ -18,7 +18,7 @@ class TokenController extends TransportController_1.TransportController {
18
18
  async init() {
19
19
  await super.init();
20
20
  this.client = new TokenClient_1.TokenClient(this.config, this.parent.authenticator);
21
- this.tokens = await this.parent.getSynchronizedCollection(DbCollectionNames_1.DbCollectionNames.Tokens);
21
+ this.tokens = await this.parent.getSynchronizedCollection(DbCollectionName_1.DbCollectionName.Tokens);
22
22
  return this;
23
23
  }
24
24
  async getTokens(query) {
@@ -77,6 +77,17 @@ class TokenController extends TransportController_1.TransportController {
77
77
  }
78
78
  return await Promise.all(promises);
79
79
  }
80
+ async fetchCaches(ids) {
81
+ if (ids.length === 0)
82
+ return [];
83
+ const backboneTokens = await (await this.client.getTokens({ ids: ids.map((id) => id.id) })).value.collect();
84
+ const decryptionPromises = backboneTokens.map(async (t) => {
85
+ const tokenDoc = await this.tokens.read(t.id);
86
+ const token = await Token_1.Token.from(tokenDoc);
87
+ return { id: core_1.CoreId.from(t), cache: await this.decryptToken(t, token.secretKey) };
88
+ });
89
+ return await Promise.all(decryptionPromises);
90
+ }
80
91
  async updateCacheOfExistingTokenInDb(id, response) {
81
92
  const tokenDoc = await this.tokens.read(id);
82
93
  if (!tokenDoc) {
@@ -92,11 +103,17 @@ class TokenController extends TransportController_1.TransportController {
92
103
  if (!response) {
93
104
  response = (await this.client.getToken(tokenId)).value;
94
105
  }
106
+ const cachedToken = await this.decryptToken(response, token.secretKey);
107
+ token.setCache(cachedToken);
108
+ // Update isOwn, as it is possible that the identity receives an own token
109
+ token.isOwn = this.parent.identity.isMe(cachedToken.createdBy);
110
+ }
111
+ async decryptToken(response, secretKey) {
95
112
  const cipher = await crypto_1.CryptoCipher.fromBase64(response.content);
96
- const plaintextTokenBuffer = await core_1.CoreCrypto.decrypt(cipher, token.secretKey);
113
+ const plaintextTokenBuffer = await core_1.CoreCrypto.decrypt(cipher, secretKey);
97
114
  const plaintextTokenContent = await core_1.CoreSerializableAsync.deserializeUnknown(plaintextTokenBuffer.toUtf8());
98
115
  if (!(plaintextTokenContent instanceof ts_serval_1.SerializableAsync)) {
99
- throw core_1.TransportErrors.tokens.invalidTokenContent(tokenId).logWith(this._log);
116
+ throw core_1.TransportErrors.tokens.invalidTokenContent(response.id).logWith(this._log);
100
117
  }
101
118
  const cachedToken = await CachedToken_1.CachedToken.from({
102
119
  createdAt: core_1.CoreDate.from(response.createdAt),
@@ -105,9 +122,7 @@ class TokenController extends TransportController_1.TransportController {
105
122
  createdByDevice: core_1.CoreId.from(response.createdByDevice),
106
123
  content: plaintextTokenContent
107
124
  });
108
- token.setCache(cachedToken);
109
- // Update isOwn, as it is possible that the identity receives an own token
110
- token.isOwn = this.parent.identity.isMe(cachedToken.createdBy);
125
+ return cachedToken;
111
126
  }
112
127
  async loadPeerTokenByTruncated(truncated, ephemeral) {
113
128
  const reference = await TokenReference_1.TokenReference.fromTruncated(truncated);
@@ -1 +1 @@
1
- {"version":3,"file":"TokenController.js","sourceRoot":"","sources":["../../../src/modules/tokens/TokenController.ts"],"names":[],"mappings":";;;AAAA,kDAA0E;AAC1E,0CAAyE;AACzE,qCAA8G;AAC9G,oEAAgE;AAChE,wEAAoF;AAIpF,wDAAoD;AACpD,qDAAiD;AACjD,qEAAuF;AACvF,yCAAqC;AACrC,kEAA8D;AAE9D,MAAa,eAAgB,SAAQ,yCAAmB;IAIpD,YAAmB,MAAyB;QACxC,KAAK,CAAC,oCAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IACvC,CAAC;IAEM,KAAK,CAAC,IAAI;QACb,MAAM,KAAK,CAAC,IAAI,EAAE,CAAA;QAElB,IAAI,CAAC,MAAM,GAAG,IAAI,yBAAW,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;QACrE,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC,qCAAiB,CAAC,MAAM,CAAC,CAAA;QAEnF,OAAO,IAAI,CAAA;IACf,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,KAAW;QAC9B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC3C,OAAO,MAAM,IAAI,CAAC,UAAU,CAAQ,KAAK,EAAE,aAAK,CAAC,CAAA;IACrD,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,UAAgC;QACnD,MAAM,KAAK,GAAG,MAAM,yCAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACxD,MAAM,SAAS,GAAoB,MAAM,iBAAU,CAAC,iBAAiB,EAAE,CAAA;QACvE,MAAM,eAAe,GAAW,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,CAAA;QACzD,MAAM,qBAAqB,GAAe,mBAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAA;QAE9E,MAAM,MAAM,GAAiB,MAAM,iBAAU,CAAC,OAAO,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAA;QAEvF,MAAM,QAAQ,GAAG,CACb,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;YAC1B,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE;YAC1B,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE;SACxC,CAAC,CACL,CAAC,KAAK,CAAA;QAEP,MAAM,WAAW,GAAG,MAAM,yBAAW,CAAC,IAAI,CAAC;YACvC,SAAS,EAAE,eAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC5C,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO;YACvC,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE;YAC5C,OAAO,EAAE,KAAK,CAAC,OAAO;SACzB,CAAC,CAAA;QAEF,MAAM,KAAK,GAAU,MAAM,aAAK,CAAC,IAAI,CAAC;YAClC,EAAE,EAAE,aAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,SAAS,EAAE,SAAS;YACpB,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,WAAW;YAClB,QAAQ,EAAE,eAAQ,CAAC,GAAG,EAAE;SAC3B,CAAC,CAAA;QAEF,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;YAClB,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;SAClC;QAED,OAAO,KAAK,CAAA;IAChB,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAAC,SAAyB,EAAE,QAA4B;QACjF,MAAM,EAAE,GAAG,SAAS,YAAY,aAAM,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAA;QACvF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC3C,IAAI,CAAC,QAAQ,EAAE;YACX,MAAM,sBAAe,CAAC,OAAO,CAAC,cAAc,CAAC,aAAK,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;SACxF;QAED,MAAM,KAAK,GAAG,MAAM,aAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACxC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;QAC3B,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QAEzC,OAAO,KAAK,CAAA;IAChB,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,EAAU;QAC5B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;QACtD,OAAO,QAAQ,CAAC,CAAC,CAAC,MAAM,aAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC5D,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,GAAa;QAClC,MAAM,WAAW,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAA;QAChE,MAAM,QAAQ,GAAG,EAAE,CAAA;QACnB,IAAI,KAAK,EAAE,MAAM,UAAU,IAAI,WAAW,EAAE;YACxC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,CAAA;SAChF;QACD,OAAO,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IACtC,CAAC;IAEO,KAAK,CAAC,8BAA8B,CAAC,EAAU,EAAE,QAAoC;QACzF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC3C,IAAI,CAAC,QAAQ,EAAE;YACX,MAAM,sBAAe,CAAC,OAAO,CAAC,cAAc,CAAC,aAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;SAC7E;QAED,MAAM,KAAK,GAAG,MAAM,aAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAExC,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QAC9C,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QACzC,OAAO,KAAK,CAAA;IAChB,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,KAAY,EAAE,QAAoC;QAC/E,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAA;QAEnC,IAAI,CAAC,QAAQ,EAAE;YACX,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAA;SACzD;QAED,MAAM,MAAM,GAAG,MAAM,qBAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QAC9D,MAAM,oBAAoB,GAAG,MAAM,iBAAU,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;QAC9E,MAAM,qBAAqB,GAAG,MAAM,4BAAqB,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC,CAAA;QAE3G,IAAI,CAAC,CAAC,qBAAqB,YAAY,6BAAiB,CAAC,EAAE;YACvD,MAAM,sBAAe,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;SAC/E;QAED,MAAM,WAAW,GAAG,MAAM,yBAAW,CAAC,IAAI,CAAC;YACvC,SAAS,EAAE,eAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC5C,SAAS,EAAE,eAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC5C,SAAS,EAAE,kBAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC/C,eAAe,EAAE,aAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;YACtD,OAAO,EAAE,qBAAqB;SACjC,CAAC,CAAA;QACF,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;QAE3B,0EAA0E;QAC1E,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;IAClE,CAAC;IAEM,KAAK,CAAC,wBAAwB,CAAC,SAAiB,EAAE,SAAkB;QACvE,MAAM,SAAS,GAAG,MAAM,+BAAc,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;QAC/D,OAAO,MAAM,IAAI,CAAC,wBAAwB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;IACpE,CAAC;IAEM,KAAK,CAAC,wBAAwB,CAAC,cAA8B,EAAE,SAAkB;QACpF,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;IACrF,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,EAAU,EAAE,SAA0B,EAAE,SAAkB;QACjF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;QACtD,IAAI,QAAQ,EAAE;YACV,OAAO,MAAM,IAAI,CAAC,8BAA8B,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;SAClE;QAED,MAAM,KAAK,GAAG,MAAM,aAAK,CAAC,IAAI,CAAC;YAC3B,EAAE,EAAE,EAAE;YACN,SAAS,EAAE,SAAS;YACpB,KAAK,EAAE,KAAK;SACf,CAAC,CAAA;QAEF,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAA;QAEpC,IAAI,CAAC,SAAS,EAAE;YACZ,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;SAClC;QAED,OAAO,KAAK,CAAA;IAChB,CAAC;CACJ;AA9JD,0CA8JC"}
1
+ {"version":3,"file":"TokenController.js","sourceRoot":"","sources":["../../../src/modules/tokens/TokenController.ts"],"names":[],"mappings":"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"}