@interop/was-client 0.51.0 → 0.53.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 +46 -2
- package/dist/Collection.d.ts +30 -9
- package/dist/Collection.d.ts.map +1 -1
- package/dist/Collection.js +110 -76
- package/dist/Collection.js.map +1 -1
- package/dist/Resource.d.ts +15 -0
- package/dist/Resource.d.ts.map +1 -1
- package/dist/Resource.js +6 -17
- package/dist/Resource.js.map +1 -1
- package/dist/Space.d.ts +54 -0
- package/dist/Space.d.ts.map +1 -1
- package/dist/Space.js +104 -18
- package/dist/Space.js.map +1 -1
- package/dist/codec.d.ts +54 -12
- package/dist/codec.d.ts.map +1 -1
- package/dist/edv/EdvCodec.d.ts +9 -8
- package/dist/edv/EdvCodec.d.ts.map +1 -1
- package/dist/edv/EdvCodec.js +65 -33
- package/dist/edv/EdvCodec.js.map +1 -1
- package/dist/edv/descriptorStore.d.ts.map +1 -1
- package/dist/edv/descriptorStore.js +2 -0
- package/dist/edv/descriptorStore.js.map +1 -1
- package/dist/edv/docCipher.d.ts.map +1 -1
- package/dist/edv/docCipher.js +1 -1
- package/dist/edv/docCipher.js.map +1 -1
- package/dist/edv/index.d.ts +2 -0
- package/dist/edv/index.d.ts.map +1 -1
- package/dist/edv/index.js +1 -0
- package/dist/edv/index.js.map +1 -1
- package/dist/edv/logGovernedDescriptorStore.d.ts +164 -0
- package/dist/edv/logGovernedDescriptorStore.d.ts.map +1 -0
- package/dist/edv/logGovernedDescriptorStore.js +477 -0
- package/dist/edv/logGovernedDescriptorStore.js.map +1 -0
- package/dist/edv/recipients.d.ts.map +1 -1
- package/dist/edv/recipients.js +25 -82
- package/dist/edv/recipients.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/internal/cas.d.ts +95 -0
- package/dist/internal/cas.d.ts.map +1 -0
- package/dist/internal/cas.js +116 -0
- package/dist/internal/cas.js.map +1 -0
- package/dist/internal/codec.d.ts.map +1 -1
- package/dist/internal/codec.js +6 -6
- package/dist/internal/codec.js.map +1 -1
- package/dist/internal/content.d.ts +13 -0
- package/dist/internal/content.d.ts.map +1 -1
- package/dist/internal/content.js +16 -0
- package/dist/internal/content.js.map +1 -1
- package/dist/internal/describe.d.ts +16 -21
- package/dist/internal/describe.d.ts.map +1 -1
- package/dist/internal/describe.js +17 -25
- package/dist/internal/describe.js.map +1 -1
- package/dist/internal/meta.d.ts +9 -9
- package/dist/internal/meta.d.ts.map +1 -1
- package/dist/internal/meta.js +13 -14
- package/dist/internal/meta.js.map +1 -1
- package/dist/internal/request.d.ts +19 -0
- package/dist/internal/request.d.ts.map +1 -1
- package/dist/internal/request.js +26 -0
- package/dist/internal/request.js.map +1 -1
- package/dist/log/logStore.d.ts +8 -5
- package/dist/log/logStore.d.ts.map +1 -1
- package/dist/log/logStore.js +30 -30
- package/dist/log/logStore.js.map +1 -1
- package/dist/sync/provisioning.d.ts +43 -15
- package/dist/sync/provisioning.d.ts.map +1 -1
- package/dist/sync/provisioning.js +147 -38
- package/dist/sync/provisioning.js.map +1 -1
- package/dist/types.d.ts +11 -12
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -199,6 +199,22 @@ const desc = await space.describe() // { id, type: ['Space'], name, controller }
|
|
|
199
199
|
// Upsert: merges the given fields over the current description.
|
|
200
200
|
await space.configure({ name: 'Home (renamed)' })
|
|
201
201
|
|
|
202
|
+
// Lost-update-safe writes: read the description with its ETag, then write
|
|
203
|
+
// it under `ifMatch` (412 `PreconditionFailedError` if it changed), or
|
|
204
|
+
// create-if-absent under `ifNoneMatch` (412 if the Space already exists).
|
|
205
|
+
// Nothing is read or merged on the client, so `controller` is required.
|
|
206
|
+
const read = await space.describeWithEtag() // { description, etag? } | null
|
|
207
|
+
await space.replaceDescription(
|
|
208
|
+
{ name: 'Home', controller: read!.description.controller },
|
|
209
|
+
{ ifMatch: read!.etag }
|
|
210
|
+
) // { etag? }
|
|
211
|
+
await was
|
|
212
|
+
.space('fresh-id')
|
|
213
|
+
.replaceDescription(
|
|
214
|
+
{ name: 'Fresh', controller: 'did:key:z6Mk...' },
|
|
215
|
+
{ ifNoneMatch: true }
|
|
216
|
+
) // { description, etag? }: a create echoes the description
|
|
217
|
+
|
|
202
218
|
await space.delete() // idempotent
|
|
203
219
|
|
|
204
220
|
// Need to know whether the DELETE actually removed anything, rather than
|
|
@@ -332,6 +348,9 @@ await resource.getBytes() // Uint8Array
|
|
|
332
348
|
|
|
333
349
|
Reads auto-parse: `get()` returns a parsed object for a JSON content-type and a
|
|
334
350
|
`Blob` otherwise; `getText()` / `getBytes()` are explicit escape hatches.
|
|
351
|
+
`getWithEtag()` pairs the decoded value with its ETag validator, and
|
|
352
|
+
`getWithEtag({ as: 'text' })` projects it to text (decrypting where `getText()`
|
|
353
|
+
would not).
|
|
335
354
|
|
|
336
355
|
A write value is a JSON object/array or binary (`Blob`/`Uint8Array`) -- the
|
|
337
356
|
`ResourceData` type. A top-level JSON primitive (a bare `string`, `number`,
|
|
@@ -545,6 +564,29 @@ lost race throws `PreconditionFailedError` (412). These are the raw transport
|
|
|
545
564
|
methods; the `/log` subpath's `resourceLogStore({ collection })` (below) drives
|
|
546
565
|
them as the resource-log store port.
|
|
547
566
|
|
|
567
|
+
A reader that holds the descriptor but not the convention follows its `history`
|
|
568
|
+
pointer through the `/edv` subpath's `logGovernedCollectionDescriptorStore`, the
|
|
569
|
+
`EncryptionDescriptorStore` the recipient primitives run over. Its `read()`
|
|
570
|
+
refuses a `history.method` other than the profile's format identifier or a
|
|
571
|
+
`history.resource` other than `collection.historyLogUrl` before any fetch,
|
|
572
|
+
verifies the log through `@interop/vh-resource-log` under the controller port
|
|
573
|
+
and chain-head pin store you supply, and refuses a served descriptor that does
|
|
574
|
+
not match the verified head. Pass a `signer` to write; without one the store is
|
|
575
|
+
read-only.
|
|
576
|
+
|
|
577
|
+
```ts
|
|
578
|
+
import { logGovernedCollectionDescriptorStore } from '@interop/was-client/edv'
|
|
579
|
+
import { memoryResourceLogPinStore } from '@interop/vh-resource-log'
|
|
580
|
+
|
|
581
|
+
const store = logGovernedCollectionDescriptorStore({
|
|
582
|
+
collection,
|
|
583
|
+
resolveController, // () => Promise<ResourceLogController>, your verified view
|
|
584
|
+
pinStore: memoryResourceLogPinStore(),
|
|
585
|
+
logId: 'space/s1/vault/meta/log' // the pin slot for this log
|
|
586
|
+
})
|
|
587
|
+
const { descriptor } = await store.read() // verified head state, `history` kept
|
|
588
|
+
```
|
|
589
|
+
|
|
548
590
|
### Conditional writes (optimistic concurrency)
|
|
549
591
|
|
|
550
592
|
Against a backend that advertises the `conditional-writes` feature (see below),
|
|
@@ -895,8 +937,10 @@ plugs into:
|
|
|
895
937
|
unpadded -- so the same logical document (and the same controller) lands on
|
|
896
938
|
the same id on every replica, with no coordination or mapping table.
|
|
897
939
|
- **`ensureSpaceAndCollection(...)`** is idempotent provisioning: upsert the
|
|
898
|
-
Space, configure the collection (`edv` or `
|
|
899
|
-
world-readable). Safe to re-run on every connect.
|
|
940
|
+
Space, configure the collection (`edv`, `plaintext`, or `governed`, optionally
|
|
941
|
+
world-readable). Safe to re-run on every connect. A `governed` collection is
|
|
942
|
+
created with no `encryption` member, the caller declaring governance
|
|
943
|
+
afterwards through the history log's guarded create.
|
|
900
944
|
|
|
901
945
|
```ts
|
|
902
946
|
import {
|
package/dist/Collection.d.ts
CHANGED
|
@@ -85,13 +85,14 @@ export declare class Collection {
|
|
|
85
85
|
etag?: string;
|
|
86
86
|
} | null>;
|
|
87
87
|
/**
|
|
88
|
-
* Writes (replaces) the Collection Description, optionally
|
|
89
|
-
*
|
|
90
|
-
*
|
|
91
|
-
*
|
|
92
|
-
*
|
|
93
|
-
*
|
|
94
|
-
*
|
|
88
|
+
* Writes (replaces) the Collection Description, optionally under a
|
|
89
|
+
* precondition: `ifMatch` (the `ETag` from {@link describeWithEtag}) makes
|
|
90
|
+
* it a compare-and-swap so a concurrent writer cannot be silently clobbered,
|
|
91
|
+
* and `ifNoneMatch: true` makes it a guarded create that proceeds only while
|
|
92
|
+
* no Collection exists under this id. A failed precondition surfaces as
|
|
93
|
+
* `PreconditionFailedError` (412). Sends the writable fields as the full
|
|
94
|
+
* body; omit a field to drop it (replace semantics), so callers doing CAS
|
|
95
|
+
* pass every field forward. Returns the new `ETag` and the fields written.
|
|
95
96
|
*
|
|
96
97
|
* This is the generic description-CAS primitive the key-epoch recipient
|
|
97
98
|
* operations build on (add/remove a reader is a CAS of the `encryption`
|
|
@@ -101,10 +102,13 @@ export declare class Collection {
|
|
|
101
102
|
* @param options {object}
|
|
102
103
|
* @param [options.ifMatch] {string} the prior `ETag`; the write applies only
|
|
103
104
|
* if the description is unchanged
|
|
105
|
+
* @param [options.ifNoneMatch] {boolean} write only if the Collection does
|
|
106
|
+
* not exist yet
|
|
104
107
|
* @returns {Promise<{ description: CollectionDescription; etag?: string }>}
|
|
105
108
|
*/
|
|
106
109
|
replaceDescription(description: CollectionWritableFields, options?: {
|
|
107
110
|
ifMatch?: string;
|
|
111
|
+
ifNoneMatch?: boolean;
|
|
108
112
|
}): Promise<{
|
|
109
113
|
description: CollectionDescription;
|
|
110
114
|
etag?: string;
|
|
@@ -206,6 +210,15 @@ export declare class Collection {
|
|
|
206
210
|
* @returns {Promise<void>}
|
|
207
211
|
*/
|
|
208
212
|
setTags(tags: Record<string, string>): Promise<void>;
|
|
213
|
+
/**
|
|
214
|
+
* The absolute URL of the Collection's governing history log, the `/meta/log`
|
|
215
|
+
* sub-resource {@link getHistoryLog} reads. A log-governed descriptor's
|
|
216
|
+
* `history.resource` names this URL; a verifying reader compares the two
|
|
217
|
+
* before opening the log.
|
|
218
|
+
*
|
|
219
|
+
* @returns {string}
|
|
220
|
+
*/
|
|
221
|
+
get historyLogUrl(): string;
|
|
209
222
|
/**
|
|
210
223
|
* Reads the Collection's governing history log (the backend's
|
|
211
224
|
* `governed-history-logs` feature): the JSON Lines body served at the
|
|
@@ -214,7 +227,9 @@ export declare class Collection {
|
|
|
214
227
|
* feed) and not part of the `/meta` object; it is versioned by its own
|
|
215
228
|
* validator, which {@link putHistoryLog} takes as `ifMatch` for a
|
|
216
229
|
* compare-and-swap append. Returns `null` when the Collection has no log,
|
|
217
|
-
* or is missing or not visible to you (404 conflation caveat).
|
|
230
|
+
* or is missing or not visible to you (404 conflation caveat). A log served
|
|
231
|
+
* under a JSON content type (whose body the HTTP client has already parsed)
|
|
232
|
+
* is not a JSON Lines log and throws `ValidationError`.
|
|
218
233
|
*
|
|
219
234
|
* This is the raw transport read. The `@interop/was-client/log` subpath's
|
|
220
235
|
* `resourceLogStore({ collection })` drives it as the store port of
|
|
@@ -238,6 +253,12 @@ export declare class Collection {
|
|
|
238
253
|
* the line contract, or whose head `state` violates an encryption
|
|
239
254
|
* transition against the prior head, throws `ValidationError` (400).
|
|
240
255
|
*
|
|
256
|
+
* The write is always conditional: the profile forbids replacing a log
|
|
257
|
+
* unguarded (the server checks the head-state transition, not chain
|
|
258
|
+
* continuity, so an unconditional PUT could replace a longer verified log
|
|
259
|
+
* wholesale). A call naming neither `ifMatch` nor `ifNoneMatch` throws
|
|
260
|
+
* `ValidationError` before any request.
|
|
261
|
+
*
|
|
241
262
|
* From the guarded create on, the Collection's served `encryption` member
|
|
242
263
|
* is derived by the server from the log head's `state`, and a direct
|
|
243
264
|
* `encryption` write on the Description is refused with `ConflictError`.
|
|
@@ -249,7 +270,7 @@ export declare class Collection {
|
|
|
249
270
|
* @param [options.ifNoneMatch] {boolean} create only if no log exists
|
|
250
271
|
* @returns {Promise<{ etag?: string }>} the log's new ETag
|
|
251
272
|
*/
|
|
252
|
-
putHistoryLog(body: string, options
|
|
273
|
+
putHistoryLog(body: string, options: {
|
|
253
274
|
ifMatch?: string;
|
|
254
275
|
ifNoneMatch?: boolean;
|
|
255
276
|
}): Promise<{
|
package/dist/Collection.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Collection.d.ts","sourceRoot":"","sources":["../src/Collection.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Collection.d.ts","sourceRoot":"","sources":["../src/Collection.ts"],"names":[],"mappings":"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"}
|
package/dist/Collection.js
CHANGED
|
@@ -8,14 +8,15 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import { collectionPath, collectionItems, collectionPolicy, collectionLinkset, collectionBackend, collectionQuota, collectionQuery, collectionMeta, collectionLog, resourcePath, toUrl } from './internal/paths.js';
|
|
10
10
|
import { assertNotReserved } from './internal/reserved.js';
|
|
11
|
-
import {
|
|
11
|
+
import { ValidationError, WasServerError, httpStatus } from './errors.js';
|
|
12
12
|
import { delegateGrantAt } from './internal/grant.js';
|
|
13
|
-
import { send, readData } from './internal/request.js';
|
|
13
|
+
import { send, readData, readDataWithEtag } from './internal/request.js';
|
|
14
14
|
import { collectionCodecHolder } from './internal/codec.js';
|
|
15
15
|
import { collectionBackendFeatures } from './internal/features.js';
|
|
16
16
|
import { collectWalk, signedPageWalk, walkItems, walkPagesOrEmpty } from './internal/pagination.js';
|
|
17
|
-
import { collectionWritableFields, describeCollection,
|
|
17
|
+
import { collectionWritableFields, describeCollection, unreadableDescriptionError } from './internal/describe.js';
|
|
18
18
|
import { readEtag, writeHeaders } from './internal/conditional.js';
|
|
19
|
+
import { compareAndSwap } from './internal/cas.js';
|
|
19
20
|
import { readMeta, writeMeta, patchCustom } from './internal/meta.js';
|
|
20
21
|
import { codecRequestContext, insertResource } from './internal/write.js';
|
|
21
22
|
import { readPolicy, writePolicy, deletePolicy, isPublicPolicy, setPublicPolicy } from './internal/policy.js';
|
|
@@ -230,30 +231,21 @@ export class Collection {
|
|
|
230
231
|
* @returns {Promise<{ description: CollectionDescription; etag?: string } | null>}
|
|
231
232
|
*/
|
|
232
233
|
async describeWithEtag() {
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
const response = await describeCollectionResponse(this.#context, {
|
|
236
|
-
spaceId: this.spaceId,
|
|
237
|
-
collectionId: this.id,
|
|
234
|
+
const read = await readDataWithEtag(this.#context, {
|
|
235
|
+
path: this.#path,
|
|
238
236
|
capability: this.#capability
|
|
239
237
|
});
|
|
240
|
-
|
|
241
|
-
if (response === null || description === null) {
|
|
242
|
-
return null;
|
|
243
|
-
}
|
|
244
|
-
return {
|
|
245
|
-
description,
|
|
246
|
-
etag: readEtag(response)
|
|
247
|
-
};
|
|
238
|
+
return read === null ? null : { description: read.data, etag: read.etag };
|
|
248
239
|
}
|
|
249
240
|
/**
|
|
250
|
-
* Writes (replaces) the Collection Description, optionally
|
|
251
|
-
*
|
|
252
|
-
*
|
|
253
|
-
*
|
|
254
|
-
*
|
|
255
|
-
*
|
|
256
|
-
*
|
|
241
|
+
* Writes (replaces) the Collection Description, optionally under a
|
|
242
|
+
* precondition: `ifMatch` (the `ETag` from {@link describeWithEtag}) makes
|
|
243
|
+
* it a compare-and-swap so a concurrent writer cannot be silently clobbered,
|
|
244
|
+
* and `ifNoneMatch: true` makes it a guarded create that proceeds only while
|
|
245
|
+
* no Collection exists under this id. A failed precondition surfaces as
|
|
246
|
+
* `PreconditionFailedError` (412). Sends the writable fields as the full
|
|
247
|
+
* body; omit a field to drop it (replace semantics), so callers doing CAS
|
|
248
|
+
* pass every field forward. Returns the new `ETag` and the fields written.
|
|
257
249
|
*
|
|
258
250
|
* This is the generic description-CAS primitive the key-epoch recipient
|
|
259
251
|
* operations build on (add/remove a reader is a CAS of the `encryption`
|
|
@@ -263,6 +255,8 @@ export class Collection {
|
|
|
263
255
|
* @param options {object}
|
|
264
256
|
* @param [options.ifMatch] {string} the prior `ETag`; the write applies only
|
|
265
257
|
* if the description is unchanged
|
|
258
|
+
* @param [options.ifNoneMatch] {boolean} write only if the Collection does
|
|
259
|
+
* not exist yet
|
|
266
260
|
* @returns {Promise<{ description: CollectionDescription; etag?: string }>}
|
|
267
261
|
*/
|
|
268
262
|
async replaceDescription(description, options = {}) {
|
|
@@ -272,7 +266,12 @@ export class Collection {
|
|
|
272
266
|
method: 'PUT',
|
|
273
267
|
capability: this.#capability,
|
|
274
268
|
json: { id: this.id, ...fields },
|
|
275
|
-
headers: writeHeaders({
|
|
269
|
+
headers: writeHeaders({
|
|
270
|
+
precondition: {
|
|
271
|
+
ifMatch: options.ifMatch,
|
|
272
|
+
ifNoneMatch: options.ifNoneMatch
|
|
273
|
+
}
|
|
274
|
+
})
|
|
276
275
|
});
|
|
277
276
|
// Writing the `encryption` descriptor can rotate the key epoch (the
|
|
278
277
|
// recipient operations CAS this field) or flip the collection from
|
|
@@ -347,6 +346,7 @@ export class Collection {
|
|
|
347
346
|
metaPath: this.#metaPath,
|
|
348
347
|
codec: Promise.resolve(codec),
|
|
349
348
|
subject: `collection "${this.id}"`,
|
|
349
|
+
slot: { kind: 'collection' },
|
|
350
350
|
capability: this.#capability
|
|
351
351
|
});
|
|
352
352
|
}
|
|
@@ -388,6 +388,7 @@ export class Collection {
|
|
|
388
388
|
// The Collection metadata stamp describes the `custom` envelope itself,
|
|
389
389
|
// so it travels as a top-level member of this PUT body.
|
|
390
390
|
sendEpoch: true,
|
|
391
|
+
slot: { kind: 'collection' },
|
|
391
392
|
ifMatch: options.ifMatch,
|
|
392
393
|
ifNoneMatch: options.ifNoneMatch,
|
|
393
394
|
capability: this.#capability
|
|
@@ -428,6 +429,17 @@ export class Collection {
|
|
|
428
429
|
get #logPath() {
|
|
429
430
|
return collectionLog(this.spaceId, this.id);
|
|
430
431
|
}
|
|
432
|
+
/**
|
|
433
|
+
* The absolute URL of the Collection's governing history log, the `/meta/log`
|
|
434
|
+
* sub-resource {@link getHistoryLog} reads. A log-governed descriptor's
|
|
435
|
+
* `history.resource` names this URL; a verifying reader compares the two
|
|
436
|
+
* before opening the log.
|
|
437
|
+
*
|
|
438
|
+
* @returns {string}
|
|
439
|
+
*/
|
|
440
|
+
get historyLogUrl() {
|
|
441
|
+
return toUrl({ serverUrl: this.#context.serverUrl, path: this.#logPath });
|
|
442
|
+
}
|
|
431
443
|
/**
|
|
432
444
|
* Reads the Collection's governing history log (the backend's
|
|
433
445
|
* `governed-history-logs` feature): the JSON Lines body served at the
|
|
@@ -436,7 +448,9 @@ export class Collection {
|
|
|
436
448
|
* feed) and not part of the `/meta` object; it is versioned by its own
|
|
437
449
|
* validator, which {@link putHistoryLog} takes as `ifMatch` for a
|
|
438
450
|
* compare-and-swap append. Returns `null` when the Collection has no log,
|
|
439
|
-
* or is missing or not visible to you (404 conflation caveat).
|
|
451
|
+
* or is missing or not visible to you (404 conflation caveat). A log served
|
|
452
|
+
* under a JSON content type (whose body the HTTP client has already parsed)
|
|
453
|
+
* is not a JSON Lines log and throws `ValidationError`.
|
|
440
454
|
*
|
|
441
455
|
* This is the raw transport read. The `@interop/was-client/log` subpath's
|
|
442
456
|
* `resourceLogStore({ collection })` drives it as the store port of
|
|
@@ -454,6 +468,10 @@ export class Collection {
|
|
|
454
468
|
if (response === null) {
|
|
455
469
|
return null;
|
|
456
470
|
}
|
|
471
|
+
if (response.data !== undefined) {
|
|
472
|
+
throw new ValidationError(`Cannot read the history log of collection "${this.id}": the server ` +
|
|
473
|
+
'served it as JSON, not as a JSON Lines text body.');
|
|
474
|
+
}
|
|
457
475
|
const body = await response.text();
|
|
458
476
|
const etag = readEtag(response);
|
|
459
477
|
return etag !== undefined ? { body, etag } : { body };
|
|
@@ -470,6 +488,12 @@ export class Collection {
|
|
|
470
488
|
* the line contract, or whose head `state` violates an encryption
|
|
471
489
|
* transition against the prior head, throws `ValidationError` (400).
|
|
472
490
|
*
|
|
491
|
+
* The write is always conditional: the profile forbids replacing a log
|
|
492
|
+
* unguarded (the server checks the head-state transition, not chain
|
|
493
|
+
* continuity, so an unconditional PUT could replace a longer verified log
|
|
494
|
+
* wholesale). A call naming neither `ifMatch` nor `ifNoneMatch` throws
|
|
495
|
+
* `ValidationError` before any request.
|
|
496
|
+
*
|
|
473
497
|
* From the guarded create on, the Collection's served `encryption` member
|
|
474
498
|
* is derived by the server from the log head's `state`, and a direct
|
|
475
499
|
* `encryption` write on the Description is refused with `ConflictError`.
|
|
@@ -481,7 +505,12 @@ export class Collection {
|
|
|
481
505
|
* @param [options.ifNoneMatch] {boolean} create only if no log exists
|
|
482
506
|
* @returns {Promise<{ etag?: string }>} the log's new ETag
|
|
483
507
|
*/
|
|
484
|
-
async putHistoryLog(body, options
|
|
508
|
+
async putHistoryLog(body, options) {
|
|
509
|
+
if (options.ifMatch === undefined && !options.ifNoneMatch) {
|
|
510
|
+
throw new ValidationError(`Cannot write the history log of collection "${this.id}": pass ` +
|
|
511
|
+
'`ifMatch` (the prior log ETag) or `ifNoneMatch: true`; an ' +
|
|
512
|
+
'unconditional write is forbidden.');
|
|
513
|
+
}
|
|
485
514
|
const response = await send(this.#context, {
|
|
486
515
|
path: this.#logPath,
|
|
487
516
|
method: 'PUT',
|
|
@@ -584,60 +613,65 @@ export class Collection {
|
|
|
584
613
|
const declared = normalizeAttribute(attribute);
|
|
585
614
|
const key = attributeKey(declared);
|
|
586
615
|
// Read, reconcile, conditionally write. A 412 means another client wrote
|
|
587
|
-
// the metadata between the read and the write, so
|
|
588
|
-
// rather than clobbering its declaration with ours.
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
616
|
+
// the metadata between the read and the write, so the shared loop re-reads
|
|
617
|
+
// and re-applies rather than clobbering its declaration with ours.
|
|
618
|
+
//
|
|
619
|
+
// The first read reuses the metadata the codec resolution above already
|
|
620
|
+
// read (when this call is what triggered it); every retry re-reads, since
|
|
621
|
+
// a 412 means the document changed.
|
|
622
|
+
let reusable = snapshot;
|
|
623
|
+
const custom = await compareAndSwap({
|
|
624
|
+
store: {
|
|
625
|
+
read: async () => {
|
|
626
|
+
const current = reusable !== undefined ? reusable : await this.meta();
|
|
627
|
+
reusable = undefined;
|
|
628
|
+
return {
|
|
629
|
+
value: (current?.custom ?? {}),
|
|
630
|
+
etag: current?.etag
|
|
631
|
+
};
|
|
632
|
+
},
|
|
633
|
+
// The schema shares the `custom` object with the user's own `name` /
|
|
634
|
+
// `tags`, which are carried forward untouched.
|
|
635
|
+
replace: async (next, { ifMatch }) => {
|
|
636
|
+
await this.setMeta({ custom: next }, { ifMatch });
|
|
606
637
|
}
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
]
|
|
621
|
-
};
|
|
622
|
-
try {
|
|
623
|
-
await this.setMeta({
|
|
624
|
-
// The schema shares the `custom` object with the user's own
|
|
625
|
-
// `name` / `tags`, which are carried forward untouched.
|
|
626
|
-
custom: {
|
|
627
|
-
...custom,
|
|
628
|
-
[INDEX_SCHEMA_PROPERTY]: next
|
|
638
|
+
},
|
|
639
|
+
operation: 'Index declaration',
|
|
640
|
+
mutate: current => {
|
|
641
|
+
const schema = readIndexSchema(current);
|
|
642
|
+
const existing = schema.indexes.find(entry => attributeKey(entry.attribute) === key);
|
|
643
|
+
if (existing) {
|
|
644
|
+
if ((existing.unique === true) !== (unique === true)) {
|
|
645
|
+
throw new ValidationError(`Cannot declare index "${key}" as ` +
|
|
646
|
+
`${unique === true ? 'unique' : 'non-unique'}: this ` +
|
|
647
|
+
'collection already declares it as ' +
|
|
648
|
+
`${existing.unique === true ? 'unique' : 'non-unique'}. An ` +
|
|
649
|
+
'index cannot change uniqueness in place -- already-stored ' +
|
|
650
|
+
'documents were indexed under the old terms.');
|
|
629
651
|
}
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
catch (err) {
|
|
633
|
-
if (err instanceof PreconditionFailedError && attempt < maxAttempts) {
|
|
634
|
-
continue;
|
|
652
|
+
// Already declared: nothing to write.
|
|
653
|
+
return null;
|
|
635
654
|
}
|
|
636
|
-
|
|
655
|
+
const revision = schema.revision + 1;
|
|
656
|
+
return {
|
|
657
|
+
...current,
|
|
658
|
+
[INDEX_SCHEMA_PROPERTY]: {
|
|
659
|
+
revision,
|
|
660
|
+
indexes: [
|
|
661
|
+
...schema.indexes,
|
|
662
|
+
{
|
|
663
|
+
attribute: declared,
|
|
664
|
+
...(unique === true && { unique: true }),
|
|
665
|
+
addedIn: revision
|
|
666
|
+
}
|
|
667
|
+
]
|
|
668
|
+
}
|
|
669
|
+
};
|
|
637
670
|
}
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
671
|
+
});
|
|
672
|
+
const schema = readIndexSchema(custom);
|
|
673
|
+
indexing.applySchema(schema);
|
|
674
|
+
return schema;
|
|
641
675
|
}
|
|
642
676
|
/**
|
|
643
677
|
* Searches the collection's encrypted documents by indexed attribute. The
|
package/dist/Collection.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Collection.js","sourceRoot":"","sources":["../src/Collection.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Collection.js","sourceRoot":"","sources":["../src/Collection.ts"],"names":[],"mappings":"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"}
|
package/dist/Resource.d.ts
CHANGED
|
@@ -52,12 +52,27 @@ export declare class Resource {
|
|
|
52
52
|
* resource is missing or not visible to you (404 conflation caveat); `etag`
|
|
53
53
|
* is absent against a backend that does not version resources.
|
|
54
54
|
*
|
|
55
|
+
* With `{ as: 'text' }` the decoded value is projected to its text body
|
|
56
|
+
* instead: a text-family or binary body reads as UTF-8 text, a JSON body is
|
|
57
|
+
* re-serialized (the {@link getText} contract). Unlike `getText`, this read
|
|
58
|
+
* runs the codec, so on an encrypted collection it decrypts -- it is the
|
|
59
|
+
* read for a text-bodied resource (a JSON Lines log) whose next write is
|
|
60
|
+
* conditional on the validator.
|
|
61
|
+
*
|
|
62
|
+
* @param [options] {object}
|
|
63
|
+
* @param [options.as] {'text'} project the decoded value to text
|
|
55
64
|
* @returns {Promise<{ data: Json | Blob; etag?: string } | null>}
|
|
56
65
|
*/
|
|
57
66
|
getWithEtag(): Promise<{
|
|
58
67
|
data: Json | Blob;
|
|
59
68
|
etag?: string;
|
|
60
69
|
} | null>;
|
|
70
|
+
getWithEtag(options: {
|
|
71
|
+
as: 'text';
|
|
72
|
+
}): Promise<{
|
|
73
|
+
data: string;
|
|
74
|
+
etag?: string;
|
|
75
|
+
} | null>;
|
|
61
76
|
/**
|
|
62
77
|
* Reads the resource body as text. Returns `null` on a missing/unauthorized
|
|
63
78
|
* resource (404 conflation caveat). A raw escape hatch: it does NOT run the
|
package/dist/Resource.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Resource.d.ts","sourceRoot":"","sources":["../src/Resource.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAI1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAa1D,OAAO,KAAK,EAAuB,aAAa,EAAE,MAAM,YAAY,CAAA;AACpE,OAAO,KAAK,EACV,kBAAkB,EAClB,KAAK,EACL,IAAI,EACJ,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,YAAY,CAAA;AAkBnB,qBAAa,QAAQ;;IACnB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IA+BnB;;;;;;;;;;;;;;;;OAgBG;gBACS,EACV,OAAO,EACP,OAAO,EACP,YAAY,EACZ,UAAU,EACV,UAAU,EACV,KAAK,EACL,QAAQ,EACR,UAAU,EACX,EAAE;QACD,OAAO,EAAE,aAAa,CAAA;QACtB,OAAO,EAAE,MAAM,CAAA;QACf,YAAY,EAAE,MAAM,CAAA;QACpB,UAAU,EAAE,MAAM,CAAA;QAClB,UAAU,CAAC,EAAE,KAAK,CAAA;QAClB,KAAK,CAAC,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAA;QACpC,QAAQ,CAAC,EAAE,YAAY,CAAA;QACvB,UAAU,CAAC,EAAE,kBAAkB,CAAA;KAChC;IAqED;;;;;;OAMG;IACG,GAAG,IAAI,OAAO,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAIxC
|
|
1
|
+
{"version":3,"file":"Resource.d.ts","sourceRoot":"","sources":["../src/Resource.ts"],"names":[],"mappings":"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"}
|