@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.
- package/dist/buildInformation.js +5 -5
- package/dist/core/CoreIdHelper.d.ts +1 -1
- package/dist/core/CoreIdHelper.js.map +1 -1
- package/dist/core/{DbCollectionNames.d.ts → DbCollectionName.d.ts} +2 -2
- package/dist/core/DbCollectionName.js +16 -0
- package/dist/core/DbCollectionName.js.map +1 -0
- package/dist/core/ICacheable.d.ts +1 -0
- package/dist/core/ICacheable.js +6 -2
- package/dist/core/ICacheable.js.map +1 -1
- package/dist/core/Transport.d.ts +1 -1
- package/dist/core/backbone/AuthClient.js.map +1 -1
- package/dist/core/backbone/RESTClient.js +1 -2
- package/dist/core/backbone/RESTClient.js.map +1 -1
- package/dist/modules/accounts/AccountController.js +2 -2
- package/dist/modules/accounts/AccountController.js.map +1 -1
- package/dist/modules/certificates/CertificateIssuer.js +2 -2
- package/dist/modules/certificates/CertificateIssuer.js.map +1 -1
- package/dist/modules/devices/DevicesController.js +2 -2
- package/dist/modules/devices/DevicesController.js.map +1 -1
- package/dist/modules/files/FileController.d.ts +6 -0
- package/dist/modules/files/FileController.js +22 -7
- package/dist/modules/files/FileController.js.map +1 -1
- package/dist/modules/messages/MessageController.d.ts +6 -1
- package/dist/modules/messages/MessageController.js +18 -5
- package/dist/modules/messages/MessageController.js.map +1 -1
- package/dist/modules/relationshipTemplates/RelationshipTemplateController.d.ts +6 -0
- package/dist/modules/relationshipTemplates/RelationshipTemplateController.js +22 -7
- package/dist/modules/relationshipTemplates/RelationshipTemplateController.js.map +1 -1
- package/dist/modules/relationships/RelationshipsController.d.ts +6 -0
- package/dist/modules/relationships/RelationshipsController.js +36 -18
- package/dist/modules/relationships/RelationshipsController.js.map +1 -1
- package/dist/modules/secrets/SecretController.js +2 -2
- package/dist/modules/secrets/SecretController.js.map +1 -1
- package/dist/modules/sync/DatawalletModificationsProcessor.d.ts +42 -9
- package/dist/modules/sync/DatawalletModificationsProcessor.js +66 -37
- package/dist/modules/sync/DatawalletModificationsProcessor.js.map +1 -1
- package/dist/modules/sync/SyncController.js +1 -1
- package/dist/modules/sync/SyncController.js.map +1 -1
- package/dist/modules/tokens/TokenController.d.ts +6 -0
- package/dist/modules/tokens/TokenController.js +22 -7
- package/dist/modules/tokens/TokenController.js.map +1 -1
- package/lib-web/nmshd.transport.js +411 -221
- package/lib-web/nmshd.transport.js.map +1 -1
- package/lib-web/nmshd.transport.min.js +1 -1
- package/lib-web/nmshd.transport.min.js.map +1 -1
- package/package.json +3 -3
- package/dist/core/DbCollectionNames.js +0 -16
- 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
|
|
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
|
|
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
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
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":";;;;;;
|
|
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(
|
|
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":";;;AACA,qCAA6F;AAM7F,0DAA4D;AAC5D,sDAAkD;AAClD,iDAA6C;AAC7C,iFAA6E;AAC7E,
|
|
1
|
+
{"version":3,"file":"SyncController.js","sourceRoot":"","sources":["../../../src/modules/sync/SyncController.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|
|
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(
|
|
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,
|
|
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(
|
|
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
|
-
|
|
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,
|
|
1
|
+
{"version":3,"file":"TokenController.js","sourceRoot":"","sources":["../../../src/modules/tokens/TokenController.ts"],"names":[],"mappings":"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"}
|