@ceramicnetwork/stream-model 0.0.2 → 0.2.0-rc.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/lib/model.d.ts +26 -19
- package/lib/model.d.ts.map +1 -1
- package/lib/model.js +107 -126
- package/lib/model.js.map +1 -1
- package/package.json +6 -4
package/lib/model.d.ts
CHANGED
|
@@ -1,28 +1,35 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { CreateOpts, LoadOpts, UpdateOpts, Stream, CeramicCommit, GenesisCommit, CeramicApi, CeramicSigner } from '@ceramicnetwork/common';
|
|
1
|
+
import { LoadOpts, Stream, CeramicApi } from '@ceramicnetwork/common';
|
|
3
2
|
import { CommitID, StreamID } from '@ceramicnetwork/streamid';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
tags?: Array<string>;
|
|
8
|
-
schema?: CommitID | string;
|
|
9
|
-
deterministic?: boolean;
|
|
10
|
-
forbidControllerChange?: boolean;
|
|
3
|
+
import type { JSONSchema } from 'json-schema-typed/draft-2020-12';
|
|
4
|
+
export interface ModelMetadata {
|
|
5
|
+
controller: string;
|
|
11
6
|
}
|
|
12
|
-
export declare
|
|
7
|
+
export declare enum ModelAccountRelation {
|
|
8
|
+
LIST = "list",
|
|
9
|
+
SINGLE = "single"
|
|
10
|
+
}
|
|
11
|
+
export interface ModelDefinition {
|
|
12
|
+
name: string;
|
|
13
|
+
description?: string;
|
|
14
|
+
schema: JSONSchema.Object;
|
|
15
|
+
accountRelation: ModelAccountRelation;
|
|
16
|
+
}
|
|
17
|
+
export declare class Model extends Stream {
|
|
13
18
|
static STREAM_TYPE_NAME: string;
|
|
14
19
|
static STREAM_TYPE_ID: number;
|
|
20
|
+
static readonly MODEL: StreamID;
|
|
15
21
|
private _isReadOnly;
|
|
16
|
-
get content():
|
|
17
|
-
static create
|
|
18
|
-
static
|
|
19
|
-
|
|
20
|
-
static
|
|
21
|
-
|
|
22
|
-
|
|
22
|
+
get content(): ModelDefinition;
|
|
23
|
+
static create(ceramic: CeramicApi, content: ModelDefinition, metadata?: ModelMetadata): Promise<Model>;
|
|
24
|
+
static createPlaceholder(ceramic: CeramicApi, content: Partial<ModelDefinition>, metadata?: ModelMetadata): Promise<Model>;
|
|
25
|
+
replacePlaceholder(content: ModelDefinition): Promise<void>;
|
|
26
|
+
static assertComplete(content: ModelDefinition, streamId?: StreamID | CommitID | string): void;
|
|
27
|
+
static load(ceramic: CeramicApi, streamId: StreamID | CommitID | string, opts?: LoadOpts): Promise<Model>;
|
|
28
|
+
private _makeCommit;
|
|
29
|
+
private _makeRawCommit;
|
|
30
|
+
private static _makeGenesis;
|
|
23
31
|
makeReadOnly(): void;
|
|
24
32
|
get isReadOnly(): boolean;
|
|
25
|
-
|
|
26
|
-
static makeGenesis<T>(signer: CeramicSigner, content: T | null | undefined, metadata?: ModelMetadataArgs): Promise<CeramicCommit>;
|
|
33
|
+
private static _signDagJWS;
|
|
27
34
|
}
|
|
28
35
|
//# sourceMappingURL=model.d.ts.map
|
package/lib/model.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,QAAQ,EAER,MAAM,EAON,UAAU,EAIX,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAa,MAAM,0BAA0B,CAAA;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AASjE,MAAM,WAAW,aAAa;IAI5B,UAAU,EAAE,MAAM,CAAA;CACnB;AA4BD,oBAAY,oBAAoB;IAC9B,IAAI,SAAS;IACb,MAAM,WAAW;CAClB;AAKD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,UAAU,CAAC,MAAM,CAAA;IACzB,eAAe,EAAE,oBAAoB,CAAA;CACtC;AAKD,qBACa,KAAM,SAAQ,MAAM;IAC/B,MAAM,CAAC,gBAAgB,SAAU;IACjC,MAAM,CAAC,cAAc,SAAI;IAIzB,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAM3B;IAEJ,OAAO,CAAC,WAAW,CAAQ;IAE3B,IAAI,OAAO,IAAI,eAAe,CAE7B;WAQY,MAAM,CACjB,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,eAAe,EACxB,QAAQ,CAAC,EAAE,aAAa,GACvB,OAAO,CAAC,KAAK,CAAC;WAuBJ,iBAAiB,CAC5B,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,EACjC,QAAQ,CAAC,EAAE,aAAa,GACvB,OAAO,CAAC,KAAK,CAAC;IAiBX,kBAAkB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAajE,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,IAAI;WAoCjF,IAAI,CACf,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,EACtC,IAAI,GAAE,QAAa,GAClB,OAAO,CAAC,KAAK,CAAC;YA2BH,WAAW;IAYzB,OAAO,CAAC,cAAc;mBAmBD,YAAY;IAkCjC,YAAY;IAMZ,IAAI,UAAU,IAAI,OAAO,CAExB;mBAQoB,WAAW;CAOjC"}
|
package/lib/model.js
CHANGED
|
@@ -6,53 +6,14 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
};
|
|
7
7
|
var Model_1;
|
|
8
8
|
import jsonpatch from 'fast-json-patch';
|
|
9
|
-
import * as dagCbor from '@ipld/dag-cbor';
|
|
10
|
-
import * as uint8arrays from 'uint8arrays';
|
|
11
9
|
import { randomBytes } from '@stablelib/random';
|
|
12
10
|
import { Stream, StreamStatic, SyncOptions, } from '@ceramicnetwork/common';
|
|
13
|
-
import {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
sync: SyncOptions.PREFER_CACHE,
|
|
19
|
-
};
|
|
11
|
+
import { StreamID, StreamRef } from '@ceramicnetwork/streamid';
|
|
12
|
+
import { CID } from 'multiformats/cid';
|
|
13
|
+
import { create } from 'multiformats/hashes/digest';
|
|
14
|
+
import { code, encode } from '@ipld/dag-cbor';
|
|
15
|
+
import multihashes from 'multihashes';
|
|
20
16
|
const DEFAULT_LOAD_OPTS = { sync: SyncOptions.PREFER_CACHE };
|
|
21
|
-
const DEFAULT_UPDATE_OPTS = { anchor: true, publish: true, throwOnInvalidCommit: true };
|
|
22
|
-
function headerFromMetadata(metadata, genesis) {
|
|
23
|
-
if (typeof metadata?.schema === 'string') {
|
|
24
|
-
try {
|
|
25
|
-
CommitID.fromString(metadata.schema);
|
|
26
|
-
}
|
|
27
|
-
catch {
|
|
28
|
-
throw new Error('Schema must be a CommitID');
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
const header = {
|
|
32
|
-
controllers: metadata?.controllers,
|
|
33
|
-
family: metadata?.family,
|
|
34
|
-
schema: metadata?.schema?.toString(),
|
|
35
|
-
tags: metadata?.tags,
|
|
36
|
-
};
|
|
37
|
-
if (genesis) {
|
|
38
|
-
if (!metadata?.deterministic) {
|
|
39
|
-
header.unique = uint8arrays.toString(randomBytes(12), 'base64');
|
|
40
|
-
}
|
|
41
|
-
if (metadata?.forbidControllerChange) {
|
|
42
|
-
header.forbidControllerChange = true;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
if (metadata?.deterministic !== undefined || metadata?.unique !== undefined) {
|
|
47
|
-
throw new Error("Cannot change 'deterministic' or 'unique' properties on existing Streams");
|
|
48
|
-
}
|
|
49
|
-
if (metadata?.forbidControllerChange !== undefined) {
|
|
50
|
-
throw new Error("Cannot change 'forbidControllerChange' property on existing Streams");
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
Object.keys(header).forEach((key) => header[key] === undefined && delete header[key]);
|
|
54
|
-
return header;
|
|
55
|
-
}
|
|
56
17
|
async function _ensureAuthenticated(signer) {
|
|
57
18
|
if (signer.did == null) {
|
|
58
19
|
throw new Error('No DID provided');
|
|
@@ -64,13 +25,14 @@ async function _ensureAuthenticated(signer) {
|
|
|
64
25
|
}
|
|
65
26
|
}
|
|
66
27
|
}
|
|
67
|
-
async function _signDagJWS(signer, commit) {
|
|
68
|
-
await _ensureAuthenticated(signer);
|
|
69
|
-
return signer.did.createDagJWS(commit);
|
|
70
|
-
}
|
|
71
28
|
async function throwReadOnlyError() {
|
|
72
29
|
throw new Error('Historical stream commits cannot be modified. Load the stream without specifying a commit to make updates.');
|
|
73
30
|
}
|
|
31
|
+
export var ModelAccountRelation;
|
|
32
|
+
(function (ModelAccountRelation) {
|
|
33
|
+
ModelAccountRelation["LIST"] = "list";
|
|
34
|
+
ModelAccountRelation["SINGLE"] = "single";
|
|
35
|
+
})(ModelAccountRelation || (ModelAccountRelation = {}));
|
|
74
36
|
let Model = Model_1 = class Model extends Stream {
|
|
75
37
|
constructor() {
|
|
76
38
|
super(...arguments);
|
|
@@ -79,31 +41,62 @@ let Model = Model_1 = class Model extends Stream {
|
|
|
79
41
|
get content() {
|
|
80
42
|
return super.content;
|
|
81
43
|
}
|
|
82
|
-
static async create(ceramic, content, metadata
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
44
|
+
static async create(ceramic, content, metadata) {
|
|
45
|
+
Model_1.assertComplete(content);
|
|
46
|
+
const opts = {
|
|
47
|
+
publish: true,
|
|
48
|
+
anchor: true,
|
|
49
|
+
pin: true,
|
|
50
|
+
sync: SyncOptions.NEVER_SYNC,
|
|
51
|
+
throwOnInvalidCommit: true,
|
|
52
|
+
};
|
|
53
|
+
const commit = await Model_1._makeGenesis(ceramic, content, metadata);
|
|
54
|
+
const model = await ceramic.createStreamFromGenesis(Model_1.STREAM_TYPE_ID, commit, opts);
|
|
55
|
+
return model;
|
|
56
|
+
}
|
|
57
|
+
static async createPlaceholder(ceramic, content, metadata) {
|
|
58
|
+
const opts = {
|
|
59
|
+
publish: false,
|
|
60
|
+
anchor: false,
|
|
61
|
+
pin: false,
|
|
62
|
+
sync: SyncOptions.NEVER_SYNC,
|
|
63
|
+
throwOnInvalidCommit: true,
|
|
64
|
+
};
|
|
65
|
+
const commit = await Model_1._makeGenesis(ceramic, content, metadata);
|
|
89
66
|
return ceramic.createStreamFromGenesis(Model_1.STREAM_TYPE_ID, commit, opts);
|
|
90
67
|
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
return ceramic.createStreamFromGenesis(Model_1.STREAM_TYPE_ID, commit, opts);
|
|
68
|
+
async replacePlaceholder(content) {
|
|
69
|
+
Model_1.assertComplete(content, this.id);
|
|
70
|
+
const opts = { publish: true, anchor: true, pin: true, throwOnInvalidCommit: true };
|
|
71
|
+
const updateCommit = await this._makeCommit(this.api, content);
|
|
72
|
+
const updated = await this.api.applyCommit(this.id, updateCommit, opts);
|
|
73
|
+
this.state$.next(updated.state);
|
|
98
74
|
}
|
|
99
|
-
static
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
75
|
+
static assertComplete(content, streamId) {
|
|
76
|
+
if (!content.name) {
|
|
77
|
+
if (streamId) {
|
|
78
|
+
throw new Error(`Model with StreamID ${streamId.toString()} is missing a 'name' field`);
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
throw new Error(`Model is missing a 'name' field`);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
if (!content.schema) {
|
|
85
|
+
if (streamId) {
|
|
86
|
+
throw new Error(`Model ${content.name} (${streamId.toString()}) is missing a 'schema' field`);
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
throw new Error(`Model ${content.name} is missing a 'schema' field`);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
if (!content.accountRelation) {
|
|
93
|
+
if (streamId) {
|
|
94
|
+
throw new Error(`Model ${content.name} (${streamId.toString()}) is missing a 'accountRelation' field`);
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
throw new Error(`Model ${content.name} is missing a 'accountRelation' field`);
|
|
98
|
+
}
|
|
104
99
|
}
|
|
105
|
-
const commit = await Model_1.makeGenesis(ceramic, null, metadata);
|
|
106
|
-
return ceramic.createStreamFromGenesis(Model_1.STREAM_TYPE_ID, commit, opts);
|
|
107
100
|
}
|
|
108
101
|
static async load(ceramic, streamId, opts = {}) {
|
|
109
102
|
opts = { ...DEFAULT_LOAD_OPTS, ...opts };
|
|
@@ -111,85 +104,73 @@ let Model = Model_1 = class Model extends Stream {
|
|
|
111
104
|
if (streamRef.type != Model_1.STREAM_TYPE_ID) {
|
|
112
105
|
throw new Error(`StreamID ${streamRef.toString()} does not refer to a '${Model_1.STREAM_TYPE_NAME}' stream, but to a ${streamRef.typeName}`);
|
|
113
106
|
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
}
|
|
123
|
-
async patch(jsonPatch, opts = {}) {
|
|
124
|
-
opts = { ...DEFAULT_UPDATE_OPTS, ...opts };
|
|
125
|
-
const header = headerFromMetadata(this.metadata, false);
|
|
126
|
-
const rawCommit = {
|
|
127
|
-
header,
|
|
128
|
-
data: jsonPatch,
|
|
129
|
-
prev: this.tip,
|
|
130
|
-
id: this.state$.id.cid,
|
|
131
|
-
};
|
|
132
|
-
const commit = await _signDagJWS(this.api, rawCommit);
|
|
133
|
-
const updated = await this.api.applyCommit(this.id, commit, opts);
|
|
134
|
-
this.state$.next(updated.state);
|
|
135
|
-
}
|
|
136
|
-
makeReadOnly() {
|
|
137
|
-
this.update = throwReadOnlyError;
|
|
138
|
-
this.patch = throwReadOnlyError;
|
|
139
|
-
this.sync = throwReadOnlyError;
|
|
140
|
-
this._isReadOnly = true;
|
|
107
|
+
const model = await ceramic.loadStream(streamRef, opts);
|
|
108
|
+
try {
|
|
109
|
+
Model_1.assertComplete(model.content, streamId);
|
|
110
|
+
}
|
|
111
|
+
catch (err) {
|
|
112
|
+
throw new Error(`Incomplete placeholder Models cannot be loaded: ${err.message}`);
|
|
113
|
+
}
|
|
114
|
+
return model;
|
|
141
115
|
}
|
|
142
|
-
|
|
143
|
-
|
|
116
|
+
async _makeCommit(signer, newContent) {
|
|
117
|
+
const commit = this._makeRawCommit(newContent);
|
|
118
|
+
return Model_1._signDagJWS(signer, commit);
|
|
144
119
|
}
|
|
145
|
-
|
|
146
|
-
const header = headerFromMetadata(newMetadata, false);
|
|
120
|
+
_makeRawCommit(newContent) {
|
|
147
121
|
if (newContent == null) {
|
|
148
|
-
|
|
149
|
-
}
|
|
150
|
-
if (header.controllers && header.controllers?.length !== 1) {
|
|
151
|
-
throw new Error('Exactly one controller must be specified');
|
|
122
|
+
throw new Error(`Cannot set Model content to null`);
|
|
152
123
|
}
|
|
153
124
|
const patch = jsonpatch.compare(this.content, newContent);
|
|
154
|
-
|
|
155
|
-
header,
|
|
125
|
+
return {
|
|
156
126
|
data: patch,
|
|
157
127
|
prev: this.tip,
|
|
158
128
|
id: this.state.log[0].cid,
|
|
159
129
|
};
|
|
160
|
-
return _signDagJWS(signer, commit);
|
|
161
130
|
}
|
|
162
|
-
static async
|
|
163
|
-
if (
|
|
164
|
-
|
|
131
|
+
static async _makeGenesis(signer, content, metadata) {
|
|
132
|
+
if (content == null) {
|
|
133
|
+
throw new Error(`Genesis content cannot be null`);
|
|
165
134
|
}
|
|
166
|
-
if (!metadata
|
|
135
|
+
if (!metadata || !metadata.controller) {
|
|
167
136
|
if (signer.did) {
|
|
168
137
|
await _ensureAuthenticated(signer);
|
|
169
|
-
metadata
|
|
138
|
+
metadata = { controller: signer.did.hasParent ? signer.did.parent : signer.did.id };
|
|
170
139
|
}
|
|
171
140
|
else {
|
|
172
|
-
throw new Error('No
|
|
141
|
+
throw new Error('No controller specified');
|
|
173
142
|
}
|
|
174
143
|
}
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
throw new Error('Initial content must be null when creating a deterministic Model');
|
|
181
|
-
}
|
|
182
|
-
if (content == null) {
|
|
183
|
-
const result = { header };
|
|
184
|
-
dagCbor.encode(result);
|
|
185
|
-
return result;
|
|
186
|
-
}
|
|
144
|
+
const header = {
|
|
145
|
+
controllers: [metadata.controller],
|
|
146
|
+
unique: randomBytes(12),
|
|
147
|
+
model: Model_1.MODEL.bytes,
|
|
148
|
+
};
|
|
187
149
|
const commit = { data: content, header };
|
|
188
|
-
return _signDagJWS(signer, commit);
|
|
150
|
+
return Model_1._signDagJWS(signer, commit);
|
|
151
|
+
}
|
|
152
|
+
makeReadOnly() {
|
|
153
|
+
this.replacePlaceholder = throwReadOnlyError;
|
|
154
|
+
this.sync = throwReadOnlyError;
|
|
155
|
+
this._isReadOnly = true;
|
|
156
|
+
}
|
|
157
|
+
get isReadOnly() {
|
|
158
|
+
return this._isReadOnly;
|
|
159
|
+
}
|
|
160
|
+
static async _signDagJWS(signer, commit) {
|
|
161
|
+
await _ensureAuthenticated(signer);
|
|
162
|
+
return signer.did.createDagJWS(commit);
|
|
189
163
|
}
|
|
190
164
|
};
|
|
191
165
|
Model.STREAM_TYPE_NAME = 'model';
|
|
192
166
|
Model.STREAM_TYPE_ID = 2;
|
|
167
|
+
Model.MODEL = (function () {
|
|
168
|
+
const data = encode('model-v1');
|
|
169
|
+
const multihash = multihashes.encode(data, 'identity');
|
|
170
|
+
const digest = create(code, multihash);
|
|
171
|
+
const cid = CID.createV1(code, digest);
|
|
172
|
+
return new StreamID(Model_1.STREAM_TYPE_ID, cid);
|
|
173
|
+
})();
|
|
193
174
|
Model = Model_1 = __decorate([
|
|
194
175
|
StreamStatic()
|
|
195
176
|
], Model);
|
package/lib/model.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,SAAS,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ceramicnetwork/stream-model",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.2.0-rc.3",
|
|
4
4
|
"description": "Ceramic Model stream type",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ceramic",
|
|
@@ -30,12 +30,14 @@
|
|
|
30
30
|
"clean": "npx rimraf ./lib"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@ceramicnetwork/common": "^2.0.
|
|
34
|
-
"@ceramicnetwork/streamid": "^2.0
|
|
33
|
+
"@ceramicnetwork/common": "^2.2.0-rc.3",
|
|
34
|
+
"@ceramicnetwork/streamid": "^2.1.0",
|
|
35
35
|
"@ipld/dag-cbor": "^7.0.0",
|
|
36
36
|
"@stablelib/random": "^1.0.1",
|
|
37
37
|
"fast-json-patch": "^3.1.0",
|
|
38
|
+
"json-schema-typed": "^8.0.1",
|
|
39
|
+
"multihashes": "^4.0.3",
|
|
38
40
|
"uint8arrays": "^3.0.0"
|
|
39
41
|
},
|
|
40
|
-
"gitHead": "
|
|
42
|
+
"gitHead": "42787231ecf14fa8bcf1c80f15e50dfe8de4fb32"
|
|
41
43
|
}
|