@enbox/api 0.1.0 → 0.2.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.
- package/README.md +140 -159
- package/dist/browser.mjs +23 -13
- package/dist/browser.mjs.map +4 -4
- package/dist/esm/advanced.js +11 -0
- package/dist/esm/advanced.js.map +1 -0
- package/dist/esm/define-protocol.js +3 -3
- package/dist/esm/dwn-api.js +84 -130
- package/dist/esm/dwn-api.js.map +1 -1
- package/dist/esm/dwn-reader-api.js +128 -0
- package/dist/esm/dwn-reader-api.js.map +1 -0
- package/dist/esm/index.js +4 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/live-query.js +154 -0
- package/dist/esm/live-query.js.map +1 -0
- package/dist/esm/read-only-record.js +255 -0
- package/dist/esm/read-only-record.js.map +1 -0
- package/dist/esm/record.js +46 -57
- package/dist/esm/record.js.map +1 -1
- package/dist/esm/typed-web5.js +242 -0
- package/dist/esm/typed-web5.js.map +1 -0
- package/dist/esm/web5.js +71 -3
- package/dist/esm/web5.js.map +1 -1
- package/dist/types/advanced.d.ts +12 -0
- package/dist/types/advanced.d.ts.map +1 -0
- package/dist/types/define-protocol.d.ts +3 -3
- package/dist/types/dwn-api.d.ts +20 -104
- package/dist/types/dwn-api.d.ts.map +1 -1
- package/dist/types/dwn-reader-api.d.ts +138 -0
- package/dist/types/dwn-reader-api.d.ts.map +1 -0
- package/dist/types/index.d.ts +4 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/live-query.d.ts +148 -0
- package/dist/types/live-query.d.ts.map +1 -0
- package/dist/types/protocol-types.d.ts +2 -2
- package/dist/types/read-only-record.d.ts +133 -0
- package/dist/types/read-only-record.d.ts.map +1 -0
- package/dist/types/record.d.ts +37 -17
- package/dist/types/record.d.ts.map +1 -1
- package/dist/types/{typed-dwn-api.d.ts → typed-web5.d.ts} +75 -76
- package/dist/types/typed-web5.d.ts.map +1 -0
- package/dist/types/web5.d.ts +79 -3
- package/dist/types/web5.d.ts.map +1 -1
- package/package.json +10 -6
- package/src/advanced.ts +29 -0
- package/src/define-protocol.ts +3 -3
- package/src/dwn-api.ts +141 -266
- package/src/dwn-reader-api.ts +255 -0
- package/src/index.ts +4 -2
- package/src/live-query.ts +261 -0
- package/src/protocol-types.ts +2 -2
- package/src/read-only-record.ts +328 -0
- package/src/record.ts +116 -86
- package/src/typed-web5.ts +445 -0
- package/src/web5.ts +104 -5
- package/dist/esm/subscription-util.js +0 -35
- package/dist/esm/subscription-util.js.map +0 -1
- package/dist/esm/typed-dwn-api.js +0 -181
- package/dist/esm/typed-dwn-api.js.map +0 -1
- package/dist/types/subscription-util.d.ts +0 -19
- package/dist/types/subscription-util.d.ts.map +0 -1
- package/dist/types/typed-dwn-api.d.ts.map +0 -1
- package/src/subscription-util.ts +0 -44
- package/src/typed-dwn-api.ts +0 -370
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Advanced API surface for power users who need direct access to
|
|
3
|
+
* the underlying {@link DwnApi}.
|
|
4
|
+
*
|
|
5
|
+
* Most applications should use `web5.using(protocol)` instead.
|
|
6
|
+
* Import from `@enbox/api/advanced` to access these exports.
|
|
7
|
+
*
|
|
8
|
+
* @packageDocumentation
|
|
9
|
+
*/
|
|
10
|
+
export { DwnApi } from './dwn-api.js';
|
|
11
|
+
//# sourceMappingURL=advanced.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"advanced.js","sourceRoot":"","sources":["../../src/advanced.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Factory function for creating typed protocol definitions.
|
|
3
3
|
*
|
|
4
4
|
* `defineProtocol()` wraps a standard {@link ProtocolDefinition} with
|
|
5
|
-
* compile-time type metadata so that {@link
|
|
5
|
+
* compile-time type metadata so that {@link TypedWeb5} can provide
|
|
6
6
|
* path autocompletion, data-shape inference, and tag type safety.
|
|
7
7
|
*/
|
|
8
8
|
/**
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
*
|
|
13
13
|
* The `definition` argument is returned as-is (no cloning). The schema map
|
|
14
14
|
* is a phantom type parameter — it exists only at compile time to thread
|
|
15
|
-
* type information through to `
|
|
15
|
+
* type information through to `TypedWeb5`.
|
|
16
16
|
*
|
|
17
17
|
* @param definition - A standard `ProtocolDefinition` object.
|
|
18
18
|
* @param _schemaMap - A phantom value (e.g. `{} as MySchemaMap`) that carries
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
* });
|
|
28
28
|
*
|
|
29
29
|
* // socialGraph.definition is the raw ProtocolDefinition
|
|
30
|
-
* //
|
|
30
|
+
* // TypedWeb5 infers paths like 'friend' | 'friend/message' and
|
|
31
31
|
* // data types from the schema map.
|
|
32
32
|
* ```
|
|
33
33
|
*/
|
package/dist/esm/dwn-api.js
CHANGED
|
@@ -24,15 +24,13 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
24
24
|
return t;
|
|
25
25
|
};
|
|
26
26
|
import { AgentPermissionsApi, } from '@enbox/agent';
|
|
27
|
-
import { isEmptyObject } from '@enbox/common';
|
|
28
27
|
import { DwnInterface, getRecordAuthor } from '@enbox/agent';
|
|
29
28
|
import { dataToBlob } from './utils.js';
|
|
29
|
+
import { LiveQuery } from './live-query.js';
|
|
30
30
|
import { PermissionGrant } from './permission-grant.js';
|
|
31
31
|
import { PermissionRequest } from './permission-request.js';
|
|
32
32
|
import { Protocol } from './protocol.js';
|
|
33
33
|
import { Record } from './record.js';
|
|
34
|
-
import { SubscriptionUtil } from './subscription-util.js';
|
|
35
|
-
import { TypedDwnApi } from './typed-dwn-api.js';
|
|
36
34
|
/**
|
|
37
35
|
* Interface to interact with DWN Records and Protocols
|
|
38
36
|
*/
|
|
@@ -43,27 +41,6 @@ export class DwnApi {
|
|
|
43
41
|
this.delegateDid = options.delegateDid;
|
|
44
42
|
this.permissionsApi = new AgentPermissionsApi({ agent: this.agent });
|
|
45
43
|
}
|
|
46
|
-
/**
|
|
47
|
-
* Returns a {@link TypedDwnApi} scoped to the given typed protocol.
|
|
48
|
-
*
|
|
49
|
-
* The returned API provides path autocompletion, typed data payloads,
|
|
50
|
-
* and automatically injects the protocol URI and protocolPath into every
|
|
51
|
-
* DWN operation.
|
|
52
|
-
*
|
|
53
|
-
* @param protocol - A typed protocol created via `defineProtocol()`.
|
|
54
|
-
* @returns A `TypedDwnApi` instance bound to the given protocol.
|
|
55
|
-
*
|
|
56
|
-
* @example
|
|
57
|
-
* ```ts
|
|
58
|
-
* const social = dwn.using(SocialGraphProtocol);
|
|
59
|
-
* const { record } = await social.write('friend', {
|
|
60
|
-
* data: { did: 'did:example:alice' },
|
|
61
|
-
* });
|
|
62
|
-
* ```
|
|
63
|
-
*/
|
|
64
|
-
using(protocol) {
|
|
65
|
-
return new TypedDwnApi(this, protocol);
|
|
66
|
-
}
|
|
67
44
|
/**
|
|
68
45
|
* API to interact with Grants
|
|
69
46
|
*
|
|
@@ -161,18 +138,19 @@ export class DwnApi {
|
|
|
161
138
|
* Configure method, used to setup a new protocol (or update) with the passed definitions
|
|
162
139
|
*/
|
|
163
140
|
configure: (request) => __awaiter(this, void 0, void 0, function* () {
|
|
141
|
+
const { encryption } = request, messageParams = __rest(request, ["encryption"]);
|
|
164
142
|
const agentRequest = {
|
|
165
143
|
author: this.connectedDid,
|
|
166
|
-
messageParams
|
|
144
|
+
messageParams,
|
|
167
145
|
messageType: DwnInterface.ProtocolsConfigure,
|
|
168
146
|
target: this.connectedDid,
|
|
169
|
-
encryption
|
|
147
|
+
encryption,
|
|
170
148
|
};
|
|
171
149
|
if (this.delegateDid) {
|
|
172
150
|
const { message: delegatedGrant } = yield this.permissionsApi.getPermissionForRequest({
|
|
173
151
|
connectedDid: this.connectedDid,
|
|
174
152
|
delegateDid: this.delegateDid,
|
|
175
|
-
protocol:
|
|
153
|
+
protocol: messageParams.definition.protocol,
|
|
176
154
|
delegate: true,
|
|
177
155
|
cached: true,
|
|
178
156
|
messageType: agentRequest.messageType
|
|
@@ -193,11 +171,12 @@ export class DwnApi {
|
|
|
193
171
|
* Query the available protocols
|
|
194
172
|
*/
|
|
195
173
|
query: (request) => __awaiter(this, void 0, void 0, function* () {
|
|
174
|
+
const { from } = request, messageParams = __rest(request, ["from"]);
|
|
196
175
|
const agentRequest = {
|
|
197
176
|
author: this.connectedDid,
|
|
198
|
-
messageParams
|
|
177
|
+
messageParams,
|
|
199
178
|
messageType: DwnInterface.ProtocolsQuery,
|
|
200
|
-
target:
|
|
179
|
+
target: from || this.connectedDid,
|
|
201
180
|
};
|
|
202
181
|
if (this.delegateDid) {
|
|
203
182
|
// We attempt to get a grant within a try catch, if there is no grant we will still sign the query with the delegate DID's key
|
|
@@ -206,7 +185,7 @@ export class DwnApi {
|
|
|
206
185
|
const { grant: { id: permissionGrantId } } = yield this.permissionsApi.getPermissionForRequest({
|
|
207
186
|
connectedDid: this.connectedDid,
|
|
208
187
|
delegateDid: this.delegateDid,
|
|
209
|
-
protocol:
|
|
188
|
+
protocol: messageParams.filter.protocol,
|
|
210
189
|
cached: true,
|
|
211
190
|
messageType: agentRequest.messageType
|
|
212
191
|
});
|
|
@@ -219,7 +198,7 @@ export class DwnApi {
|
|
|
219
198
|
}
|
|
220
199
|
}
|
|
221
200
|
let agentResponse;
|
|
222
|
-
if (
|
|
201
|
+
if (from) {
|
|
223
202
|
agentResponse = yield this.agent.sendDwnRequest(agentRequest);
|
|
224
203
|
}
|
|
225
204
|
else {
|
|
@@ -236,70 +215,35 @@ export class DwnApi {
|
|
|
236
215
|
};
|
|
237
216
|
}
|
|
238
217
|
/**
|
|
239
|
-
* API to interact with DWN records (e.g., `dwn.records.
|
|
218
|
+
* API to interact with DWN records (e.g., `dwn.records.write()`).
|
|
240
219
|
*/
|
|
241
220
|
get records() {
|
|
242
221
|
return {
|
|
243
|
-
/**
|
|
244
|
-
* Alias for the `write` method
|
|
245
|
-
*/
|
|
246
|
-
create: (request) => __awaiter(this, void 0, void 0, function* () {
|
|
247
|
-
return this.records.write(request);
|
|
248
|
-
}),
|
|
249
|
-
/**
|
|
250
|
-
* Write a record based on an existing one (useful for updating an existing record)
|
|
251
|
-
*/
|
|
252
|
-
createFrom: (request) => __awaiter(this, void 0, void 0, function* () {
|
|
253
|
-
var _a, _b;
|
|
254
|
-
const _c = request.record.toJSON(), { author: inheritedAuthor } = _c, inheritedProperties = __rest(_c, ["author"]);
|
|
255
|
-
// If `data` is being updated then `dataCid` and `dataSize` must not be present.
|
|
256
|
-
if (request.data !== undefined) {
|
|
257
|
-
delete inheritedProperties.dataCid;
|
|
258
|
-
delete inheritedProperties.dataSize;
|
|
259
|
-
}
|
|
260
|
-
// If `published` is set to false, ensure that `datePublished` is undefined. Otherwise, DWN SDK's schema validation
|
|
261
|
-
// will throw an error if `published` is false but `datePublished` is set.
|
|
262
|
-
if (((_a = request.message) === null || _a === void 0 ? void 0 : _a.published) === false && inheritedProperties.datePublished !== undefined) {
|
|
263
|
-
delete inheritedProperties.datePublished;
|
|
264
|
-
delete inheritedProperties.published;
|
|
265
|
-
}
|
|
266
|
-
// If the request changes the `author` or message `descriptor` then the deterministic `recordId` will change.
|
|
267
|
-
// As a result, we will discard the `recordId` if either of these changes occur.
|
|
268
|
-
if (!isEmptyObject(request.message) || (request.author && request.author !== inheritedAuthor)) {
|
|
269
|
-
delete inheritedProperties.recordId;
|
|
270
|
-
}
|
|
271
|
-
// Auto-detect encryption from the source record if not explicitly set.
|
|
272
|
-
const shouldEncrypt = (_b = request.encryption) !== null && _b !== void 0 ? _b : (request.record.encryption !== undefined);
|
|
273
|
-
return this.records.write({
|
|
274
|
-
data: request.data,
|
|
275
|
-
message: Object.assign(Object.assign({}, inheritedProperties), request.message),
|
|
276
|
-
encryption: shouldEncrypt || undefined,
|
|
277
|
-
});
|
|
278
|
-
}),
|
|
279
222
|
/**
|
|
280
223
|
* Delete a record
|
|
281
224
|
*/
|
|
282
225
|
delete: (request) => __awaiter(this, void 0, void 0, function* () {
|
|
226
|
+
const { from, protocol } = request, messageParams = __rest(request, ["from", "protocol"]);
|
|
283
227
|
const agentRequest = {
|
|
284
228
|
/**
|
|
285
229
|
* The `author` is the DID that will sign the message and must be the DID the Web5 app is
|
|
286
230
|
* connected with and is authorized to access the signing private key of.
|
|
287
231
|
*/
|
|
288
232
|
author: this.connectedDid,
|
|
289
|
-
messageParams
|
|
233
|
+
messageParams,
|
|
290
234
|
messageType: DwnInterface.RecordsDelete,
|
|
291
235
|
/**
|
|
292
236
|
* The `target` is the DID of the DWN tenant under which the delete will be executed.
|
|
293
237
|
* If `from` is provided, the delete operation will be executed on a remote DWN.
|
|
294
238
|
* Otherwise, the record will be deleted on the local DWN.
|
|
295
239
|
*/
|
|
296
|
-
target:
|
|
240
|
+
target: from || this.connectedDid,
|
|
297
241
|
};
|
|
298
242
|
if (this.delegateDid) {
|
|
299
243
|
const { message: delegatedGrant } = yield this.permissionsApi.getPermissionForRequest({
|
|
300
244
|
connectedDid: this.connectedDid,
|
|
301
245
|
delegateDid: this.delegateDid,
|
|
302
|
-
protocol
|
|
246
|
+
protocol,
|
|
303
247
|
delegate: true,
|
|
304
248
|
cached: true,
|
|
305
249
|
messageType: agentRequest.messageType
|
|
@@ -308,7 +252,7 @@ export class DwnApi {
|
|
|
308
252
|
agentRequest.granteeDid = this.delegateDid;
|
|
309
253
|
}
|
|
310
254
|
let agentResponse;
|
|
311
|
-
if (
|
|
255
|
+
if (from) {
|
|
312
256
|
agentResponse = yield this.agent.sendDwnRequest(agentRequest);
|
|
313
257
|
}
|
|
314
258
|
else {
|
|
@@ -321,34 +265,35 @@ export class DwnApi {
|
|
|
321
265
|
* Query a single or multiple records based on the given filter
|
|
322
266
|
*/
|
|
323
267
|
query: (request) => __awaiter(this, void 0, void 0, function* () {
|
|
268
|
+
var _a;
|
|
269
|
+
const { from, encryption } = request, messageParams = __rest(request, ["from", "encryption"]);
|
|
324
270
|
const agentRequest = {
|
|
325
271
|
/**
|
|
326
272
|
* The `author` is the DID that will sign the message and must be the DID the Web5 app is
|
|
327
273
|
* connected with and is authorized to access the signing private key of.
|
|
328
274
|
*/
|
|
329
275
|
author: this.connectedDid,
|
|
330
|
-
messageParams
|
|
276
|
+
messageParams,
|
|
331
277
|
messageType: DwnInterface.RecordsQuery,
|
|
332
278
|
/**
|
|
333
279
|
* The `target` is the DID of the DWN tenant under which the query will be executed.
|
|
334
280
|
* If `from` is provided, the query operation will be executed on a remote DWN.
|
|
335
281
|
* Otherwise, the local DWN will be queried.
|
|
336
282
|
*/
|
|
337
|
-
target:
|
|
338
|
-
encryption
|
|
283
|
+
target: from || this.connectedDid,
|
|
284
|
+
encryption,
|
|
339
285
|
};
|
|
340
286
|
if (this.delegateDid) {
|
|
341
287
|
// if we don't find a delegated grant, we will attempt to query signing as the delegated DID
|
|
342
288
|
// This is to allow the API caller to query public records without needing to impersonate the delegate.
|
|
343
289
|
//
|
|
344
|
-
// NOTE:
|
|
345
|
-
//
|
|
346
|
-
// TODO: https://github.com/enboxorg/enbox/issues/898
|
|
290
|
+
// NOTE: For anonymous/public queries without explicit permissions, callers can use `DwnReaderApi` via `Web5.anonymous()`.
|
|
291
|
+
// See: https://github.com/enboxorg/enbox/issues/898
|
|
347
292
|
try {
|
|
348
293
|
const { message: delegatedGrant } = yield this.permissionsApi.getPermissionForRequest({
|
|
349
294
|
connectedDid: this.connectedDid,
|
|
350
295
|
delegateDid: this.delegateDid,
|
|
351
|
-
protocol:
|
|
296
|
+
protocol: (_a = messageParams.filter) === null || _a === void 0 ? void 0 : _a.protocol,
|
|
352
297
|
delegate: true,
|
|
353
298
|
cached: true,
|
|
354
299
|
messageType: agentRequest.messageType
|
|
@@ -356,13 +301,13 @@ export class DwnApi {
|
|
|
356
301
|
agentRequest.messageParams = Object.assign(Object.assign({}, agentRequest.messageParams), { delegatedGrant });
|
|
357
302
|
agentRequest.granteeDid = this.delegateDid;
|
|
358
303
|
}
|
|
359
|
-
catch (
|
|
304
|
+
catch (_b) {
|
|
360
305
|
// if a grant is not found, we should author the request as the delegated DID to get public records
|
|
361
306
|
agentRequest.author = this.delegateDid;
|
|
362
307
|
}
|
|
363
308
|
}
|
|
364
309
|
let agentResponse;
|
|
365
|
-
if (
|
|
310
|
+
if (from) {
|
|
366
311
|
agentResponse = yield this.agent.sendDwnRequest(agentRequest);
|
|
367
312
|
}
|
|
368
313
|
else {
|
|
@@ -389,7 +334,7 @@ export class DwnApi {
|
|
|
389
334
|
* to determine which DWN to send subsequent read requests to in the event the data
|
|
390
335
|
* payload exceeds the threshold for being returned with queries.
|
|
391
336
|
*/
|
|
392
|
-
remoteOrigin:
|
|
337
|
+
remoteOrigin: from, delegateDid: this.delegateDid, protocolRole: agentRequest.messageParams.protocolRole }, entry);
|
|
393
338
|
const record = new Record(this.agent, recordOptions, this.permissionsApi);
|
|
394
339
|
return record;
|
|
395
340
|
});
|
|
@@ -399,34 +344,34 @@ export class DwnApi {
|
|
|
399
344
|
* Read a single record based on the given filter
|
|
400
345
|
*/
|
|
401
346
|
read: (request) => __awaiter(this, void 0, void 0, function* () {
|
|
347
|
+
const { from, protocol, encryption } = request, messageParams = __rest(request, ["from", "protocol", "encryption"]);
|
|
402
348
|
const agentRequest = {
|
|
403
349
|
/**
|
|
404
350
|
* The `author` is the DID that will sign the message and must be the DID the Web5 app is
|
|
405
351
|
* connected with and is authorized to access the signing private key of.
|
|
406
352
|
*/
|
|
407
353
|
author: this.connectedDid,
|
|
408
|
-
messageParams
|
|
354
|
+
messageParams,
|
|
409
355
|
messageType: DwnInterface.RecordsRead,
|
|
410
356
|
/**
|
|
411
357
|
* The `target` is the DID of the DWN tenant under which the read will be executed.
|
|
412
358
|
* If `from` is provided, the read operation will be executed on a remote DWN.
|
|
413
359
|
* Otherwise, the read will occur on the local DWN.
|
|
414
360
|
*/
|
|
415
|
-
target:
|
|
416
|
-
encryption
|
|
361
|
+
target: from || this.connectedDid,
|
|
362
|
+
encryption,
|
|
417
363
|
};
|
|
418
364
|
if (this.delegateDid) {
|
|
419
365
|
// if we don't find a delegated grant, we will attempt to read signing as the delegated DID
|
|
420
366
|
// This is to allow the API caller to read public records without needing to impersonate the delegate.
|
|
421
367
|
//
|
|
422
|
-
// NOTE:
|
|
423
|
-
//
|
|
424
|
-
// TODO: https://github.com/enboxorg/enbox/issues/898
|
|
368
|
+
// NOTE: For anonymous/public reads without explicit permissions, callers can use `DwnReaderApi` via `Web5.anonymous()`.
|
|
369
|
+
// See: https://github.com/enboxorg/enbox/issues/898
|
|
425
370
|
try {
|
|
426
371
|
const { message: delegatedGrant } = yield this.permissionsApi.getPermissionForRequest({
|
|
427
372
|
connectedDid: this.connectedDid,
|
|
428
373
|
delegateDid: this.delegateDid,
|
|
429
|
-
protocol
|
|
374
|
+
protocol,
|
|
430
375
|
delegate: true,
|
|
431
376
|
cached: true,
|
|
432
377
|
messageType: agentRequest.messageType
|
|
@@ -440,7 +385,7 @@ export class DwnApi {
|
|
|
440
385
|
}
|
|
441
386
|
}
|
|
442
387
|
let agentResponse;
|
|
443
|
-
if (
|
|
388
|
+
if (from) {
|
|
444
389
|
agentResponse = yield this.agent.sendDwnRequest(agentRequest);
|
|
445
390
|
}
|
|
446
391
|
else {
|
|
@@ -467,56 +412,51 @@ export class DwnApi {
|
|
|
467
412
|
* to determine which DWN to send subsequent read requests to in the event the data
|
|
468
413
|
* payload must be read again (e.g., if the data stream is consumed).
|
|
469
414
|
*/
|
|
470
|
-
remoteOrigin:
|
|
415
|
+
remoteOrigin: from, delegateDid: this.delegateDid, data: entry.data, initialWrite: entry.initialWrite }, entry.recordsWrite);
|
|
471
416
|
record = new Record(this.agent, recordOptions, this.permissionsApi);
|
|
472
417
|
}
|
|
473
418
|
return { record, status };
|
|
474
419
|
}),
|
|
475
420
|
/**
|
|
476
|
-
*
|
|
421
|
+
* Subscribe to records matching the given filter.
|
|
477
422
|
*
|
|
478
|
-
*
|
|
479
|
-
*
|
|
423
|
+
* Returns a {@link LiveQuery} that atomically provides an initial snapshot
|
|
424
|
+
* of matching records and a real-time stream of deduplicated, semantically-
|
|
425
|
+
* typed change events (`create`, `update`, `delete`).
|
|
480
426
|
*/
|
|
481
427
|
subscribe: (request) => __awaiter(this, void 0, void 0, function* () {
|
|
428
|
+
var _a;
|
|
429
|
+
const { from } = request, messageParams = __rest(request, ["from"]);
|
|
430
|
+
// Build a DWN-level subscription handler that wraps raw RecordEvents
|
|
431
|
+
// into Record objects and feeds them into the LiveQuery.
|
|
432
|
+
let liveQuery;
|
|
433
|
+
const remoteOrigin = from;
|
|
434
|
+
const protocolRole = messageParams.protocolRole;
|
|
435
|
+
const subscriptionHandler = (event) => __awaiter(this, void 0, void 0, function* () {
|
|
436
|
+
const { message, initialWrite } = event;
|
|
437
|
+
const record = new Record(this.agent, Object.assign(Object.assign({}, message), { author: getRecordAuthor(message), connectedDid: this.connectedDid, remoteOrigin,
|
|
438
|
+
initialWrite,
|
|
439
|
+
protocolRole, delegateDid: this.delegateDid }), this.permissionsApi);
|
|
440
|
+
liveQuery === null || liveQuery === void 0 ? void 0 : liveQuery.handleEvent(record);
|
|
441
|
+
});
|
|
482
442
|
const agentRequest = {
|
|
483
|
-
/**
|
|
484
|
-
* The `author` is the DID that will sign the message and must be the DID the Web5 app is
|
|
485
|
-
* connected with and is authorized to access the signing private key of.
|
|
486
|
-
*/
|
|
487
443
|
author: this.connectedDid,
|
|
488
|
-
messageParams
|
|
444
|
+
messageParams,
|
|
489
445
|
messageType: DwnInterface.RecordsSubscribe,
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
* If `from` is provided, the subscribe operation will be executed on a remote DWN.
|
|
493
|
-
* Otherwise, the local DWN will execute the subscribe operation.
|
|
494
|
-
*/
|
|
495
|
-
target: request.from || this.connectedDid,
|
|
496
|
-
/**
|
|
497
|
-
* The handler to process the subscription events.
|
|
498
|
-
*/
|
|
499
|
-
subscriptionHandler: SubscriptionUtil.recordSubscriptionHandler({
|
|
500
|
-
agent: this.agent,
|
|
501
|
-
connectedDid: this.connectedDid,
|
|
502
|
-
delegateDid: this.delegateDid,
|
|
503
|
-
permissionsApi: this.permissionsApi,
|
|
504
|
-
protocolRole: request.message.protocolRole,
|
|
505
|
-
request
|
|
506
|
-
})
|
|
446
|
+
target: from || this.connectedDid,
|
|
447
|
+
subscriptionHandler,
|
|
507
448
|
};
|
|
508
449
|
if (this.delegateDid) {
|
|
509
450
|
// if we don't find a delegated grant, we will attempt to subscribe signing as the delegated DID
|
|
510
451
|
// This is to allow the API caller to subscribe to public records without needing to impersonate the delegate.
|
|
511
452
|
//
|
|
512
|
-
// NOTE:
|
|
513
|
-
//
|
|
514
|
-
// TODO: https://github.com/enboxorg/enbox/issues/898
|
|
453
|
+
// NOTE: For anonymous/public subscriptions without explicit permissions, callers can use `DwnReaderApi` via `Web5.anonymous()`.
|
|
454
|
+
// See: https://github.com/enboxorg/enbox/issues/898
|
|
515
455
|
try {
|
|
516
456
|
const { message: delegatedGrant } = yield this.permissionsApi.getPermissionForRequest({
|
|
517
457
|
connectedDid: this.connectedDid,
|
|
518
458
|
delegateDid: this.delegateDid,
|
|
519
|
-
protocol:
|
|
459
|
+
protocol: (_a = messageParams.filter) === null || _a === void 0 ? void 0 : _a.protocol,
|
|
520
460
|
delegate: true,
|
|
521
461
|
cached: true,
|
|
522
462
|
messageType: agentRequest.messageType
|
|
@@ -524,21 +464,34 @@ export class DwnApi {
|
|
|
524
464
|
agentRequest.messageParams = Object.assign(Object.assign({}, agentRequest.messageParams), { delegatedGrant });
|
|
525
465
|
agentRequest.granteeDid = this.delegateDid;
|
|
526
466
|
}
|
|
527
|
-
catch (
|
|
467
|
+
catch (_b) {
|
|
528
468
|
// if a grant is not found, we should author the request as the delegated DID to get public records
|
|
529
469
|
agentRequest.author = this.delegateDid;
|
|
530
470
|
}
|
|
531
471
|
}
|
|
532
472
|
let agentResponse;
|
|
533
|
-
if (
|
|
473
|
+
if (from) {
|
|
534
474
|
agentResponse = yield this.agent.sendDwnRequest(agentRequest);
|
|
535
475
|
}
|
|
536
476
|
else {
|
|
537
477
|
agentResponse = yield this.agent.processDwnRequest(agentRequest);
|
|
538
478
|
}
|
|
539
479
|
const reply = agentResponse.reply;
|
|
540
|
-
const { status, subscription } = reply;
|
|
541
|
-
|
|
480
|
+
const { status, subscription, entries = [], cursor } = reply;
|
|
481
|
+
if (subscription) {
|
|
482
|
+
liveQuery = new LiveQuery({
|
|
483
|
+
agent: this.agent,
|
|
484
|
+
connectedDid: this.connectedDid,
|
|
485
|
+
delegateDid: this.delegateDid,
|
|
486
|
+
protocolRole,
|
|
487
|
+
remoteOrigin,
|
|
488
|
+
permissionsApi: this.permissionsApi,
|
|
489
|
+
initialEntries: entries,
|
|
490
|
+
cursor,
|
|
491
|
+
subscription,
|
|
492
|
+
});
|
|
493
|
+
}
|
|
494
|
+
return { status, liveQuery };
|
|
542
495
|
}),
|
|
543
496
|
/**
|
|
544
497
|
* Writes a record to the DWN
|
|
@@ -550,23 +503,24 @@ export class DwnApi {
|
|
|
550
503
|
* requires fetching from the DWN datastore.
|
|
551
504
|
*/
|
|
552
505
|
write: (request) => __awaiter(this, void 0, void 0, function* () {
|
|
553
|
-
|
|
554
|
-
const { dataBlob, dataFormat } = dataToBlob(
|
|
506
|
+
const { data, store, encryption } = request, restParams = __rest(request, ["data", "store", "encryption"]);
|
|
507
|
+
const { dataBlob, dataFormat } = dataToBlob(data, restParams.dataFormat);
|
|
508
|
+
const messageParams = Object.assign(Object.assign({}, restParams), { dataFormat });
|
|
555
509
|
const dwnRequestParams = {
|
|
556
|
-
store
|
|
510
|
+
store,
|
|
557
511
|
messageType: DwnInterface.RecordsWrite,
|
|
558
|
-
messageParams
|
|
512
|
+
messageParams,
|
|
559
513
|
author: this.connectedDid,
|
|
560
514
|
target: this.connectedDid,
|
|
561
515
|
dataStream: dataBlob,
|
|
562
|
-
encryption
|
|
516
|
+
encryption,
|
|
563
517
|
};
|
|
564
518
|
// if impersonation is enabled, fetch the delegated grant to use with the write operation
|
|
565
519
|
if (this.delegateDid) {
|
|
566
520
|
const { message: delegatedGrant } = yield this.permissionsApi.getPermissionForRequest({
|
|
567
521
|
connectedDid: this.connectedDid,
|
|
568
522
|
delegateDid: this.delegateDid,
|
|
569
|
-
protocol:
|
|
523
|
+
protocol: messageParams.protocol,
|
|
570
524
|
delegate: true,
|
|
571
525
|
cached: true,
|
|
572
526
|
messageType: dwnRequestParams.messageType
|
package/dist/esm/dwn-api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dwn-api.js","sourceRoot":"","sources":["../../src/dwn-api.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dwn-api.js","sourceRoot":"","sources":["../../src/dwn-api.ts"],"names":[],"mappings":"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"}
|