@ceramicnetwork/stream-model 0.0.2 → 0.1.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/lib/model.d.ts +26 -19
- package/lib/model.d.ts.map +1 -1
- package/lib/model.js +107 -125
- 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
|
+
LINK = "link"
|
|
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,IAAI,SAAS;CACd;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,15 @@ 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
9
|
import * as uint8arrays from 'uint8arrays';
|
|
11
10
|
import { randomBytes } from '@stablelib/random';
|
|
12
11
|
import { Stream, StreamStatic, SyncOptions, } from '@ceramicnetwork/common';
|
|
13
|
-
import {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
sync: SyncOptions.PREFER_CACHE,
|
|
19
|
-
};
|
|
12
|
+
import { StreamID, StreamRef } from '@ceramicnetwork/streamid';
|
|
13
|
+
import { CID } from 'multiformats/cid';
|
|
14
|
+
import { create } from 'multiformats/hashes/digest';
|
|
15
|
+
import { code, encode } from '@ipld/dag-cbor';
|
|
16
|
+
import multihashes from 'multihashes';
|
|
20
17
|
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
18
|
async function _ensureAuthenticated(signer) {
|
|
57
19
|
if (signer.did == null) {
|
|
58
20
|
throw new Error('No DID provided');
|
|
@@ -64,13 +26,14 @@ async function _ensureAuthenticated(signer) {
|
|
|
64
26
|
}
|
|
65
27
|
}
|
|
66
28
|
}
|
|
67
|
-
async function _signDagJWS(signer, commit) {
|
|
68
|
-
await _ensureAuthenticated(signer);
|
|
69
|
-
return signer.did.createDagJWS(commit);
|
|
70
|
-
}
|
|
71
29
|
async function throwReadOnlyError() {
|
|
72
30
|
throw new Error('Historical stream commits cannot be modified. Load the stream without specifying a commit to make updates.');
|
|
73
31
|
}
|
|
32
|
+
export var ModelAccountRelation;
|
|
33
|
+
(function (ModelAccountRelation) {
|
|
34
|
+
ModelAccountRelation["LIST"] = "list";
|
|
35
|
+
ModelAccountRelation["LINK"] = "link";
|
|
36
|
+
})(ModelAccountRelation || (ModelAccountRelation = {}));
|
|
74
37
|
let Model = Model_1 = class Model extends Stream {
|
|
75
38
|
constructor() {
|
|
76
39
|
super(...arguments);
|
|
@@ -79,31 +42,62 @@ let Model = Model_1 = class Model extends Stream {
|
|
|
79
42
|
get content() {
|
|
80
43
|
return super.content;
|
|
81
44
|
}
|
|
82
|
-
static async create(ceramic, content, metadata
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
45
|
+
static async create(ceramic, content, metadata) {
|
|
46
|
+
Model_1.assertComplete(content);
|
|
47
|
+
const opts = {
|
|
48
|
+
publish: true,
|
|
49
|
+
anchor: true,
|
|
50
|
+
pin: true,
|
|
51
|
+
sync: SyncOptions.NEVER_SYNC,
|
|
52
|
+
throwOnInvalidCommit: true,
|
|
53
|
+
};
|
|
54
|
+
const commit = await Model_1._makeGenesis(ceramic, content, metadata);
|
|
55
|
+
const model = await ceramic.createStreamFromGenesis(Model_1.STREAM_TYPE_ID, commit, opts);
|
|
56
|
+
return model;
|
|
57
|
+
}
|
|
58
|
+
static async createPlaceholder(ceramic, content, metadata) {
|
|
59
|
+
const opts = {
|
|
60
|
+
publish: false,
|
|
61
|
+
anchor: false,
|
|
62
|
+
pin: false,
|
|
63
|
+
sync: SyncOptions.NEVER_SYNC,
|
|
64
|
+
throwOnInvalidCommit: true,
|
|
65
|
+
};
|
|
66
|
+
const commit = await Model_1._makeGenesis(ceramic, content, metadata);
|
|
89
67
|
return ceramic.createStreamFromGenesis(Model_1.STREAM_TYPE_ID, commit, opts);
|
|
90
68
|
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
return ceramic.createStreamFromGenesis(Model_1.STREAM_TYPE_ID, commit, opts);
|
|
69
|
+
async replacePlaceholder(content) {
|
|
70
|
+
Model_1.assertComplete(content, this.id);
|
|
71
|
+
const opts = { publish: true, anchor: true, pin: true, throwOnInvalidCommit: true };
|
|
72
|
+
const updateCommit = await this._makeCommit(this.api, content);
|
|
73
|
+
const updated = await this.api.applyCommit(this.id, updateCommit, opts);
|
|
74
|
+
this.state$.next(updated.state);
|
|
98
75
|
}
|
|
99
|
-
static
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
76
|
+
static assertComplete(content, streamId) {
|
|
77
|
+
if (!content.name) {
|
|
78
|
+
if (streamId) {
|
|
79
|
+
throw new Error(`Model with StreamID ${streamId.toString()} is missing a 'name' field`);
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
throw new Error(`Model is missing a 'name' field`);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
if (!content.schema) {
|
|
86
|
+
if (streamId) {
|
|
87
|
+
throw new Error(`Model ${content.name} (${streamId.toString()}) is missing a 'schema' field`);
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
throw new Error(`Model ${content.name} is missing a 'schema' field`);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
if (!content.accountRelation) {
|
|
94
|
+
if (streamId) {
|
|
95
|
+
throw new Error(`Model ${content.name} (${streamId.toString()}) is missing a 'accountRelation' field`);
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
throw new Error(`Model ${content.name} is missing a 'accountRelation' field`);
|
|
99
|
+
}
|
|
104
100
|
}
|
|
105
|
-
const commit = await Model_1.makeGenesis(ceramic, null, metadata);
|
|
106
|
-
return ceramic.createStreamFromGenesis(Model_1.STREAM_TYPE_ID, commit, opts);
|
|
107
101
|
}
|
|
108
102
|
static async load(ceramic, streamId, opts = {}) {
|
|
109
103
|
opts = { ...DEFAULT_LOAD_OPTS, ...opts };
|
|
@@ -111,85 +105,73 @@ let Model = Model_1 = class Model extends Stream {
|
|
|
111
105
|
if (streamRef.type != Model_1.STREAM_TYPE_ID) {
|
|
112
106
|
throw new Error(`StreamID ${streamRef.toString()} does not refer to a '${Model_1.STREAM_TYPE_NAME}' stream, but to a ${streamRef.typeName}`);
|
|
113
107
|
}
|
|
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;
|
|
108
|
+
const model = await ceramic.loadStream(streamRef, opts);
|
|
109
|
+
try {
|
|
110
|
+
Model_1.assertComplete(model.content, streamId);
|
|
111
|
+
}
|
|
112
|
+
catch (err) {
|
|
113
|
+
throw new Error(`Incomplete placeholder Models cannot be loaded: ${err.message}`);
|
|
114
|
+
}
|
|
115
|
+
return model;
|
|
141
116
|
}
|
|
142
|
-
|
|
143
|
-
|
|
117
|
+
async _makeCommit(signer, newContent) {
|
|
118
|
+
const commit = this._makeRawCommit(newContent);
|
|
119
|
+
return Model_1._signDagJWS(signer, commit);
|
|
144
120
|
}
|
|
145
|
-
|
|
146
|
-
const header = headerFromMetadata(newMetadata, false);
|
|
121
|
+
_makeRawCommit(newContent) {
|
|
147
122
|
if (newContent == null) {
|
|
148
|
-
|
|
149
|
-
}
|
|
150
|
-
if (header.controllers && header.controllers?.length !== 1) {
|
|
151
|
-
throw new Error('Exactly one controller must be specified');
|
|
123
|
+
throw new Error(`Cannot set Model content to null`);
|
|
152
124
|
}
|
|
153
125
|
const patch = jsonpatch.compare(this.content, newContent);
|
|
154
|
-
|
|
155
|
-
header,
|
|
126
|
+
return {
|
|
156
127
|
data: patch,
|
|
157
128
|
prev: this.tip,
|
|
158
129
|
id: this.state.log[0].cid,
|
|
159
130
|
};
|
|
160
|
-
return _signDagJWS(signer, commit);
|
|
161
131
|
}
|
|
162
|
-
static async
|
|
163
|
-
if (
|
|
164
|
-
|
|
132
|
+
static async _makeGenesis(signer, content, metadata) {
|
|
133
|
+
if (content == null) {
|
|
134
|
+
throw new Error(`Genesis content cannot be null`);
|
|
165
135
|
}
|
|
166
|
-
if (!metadata
|
|
136
|
+
if (!metadata || !metadata.controller) {
|
|
167
137
|
if (signer.did) {
|
|
168
138
|
await _ensureAuthenticated(signer);
|
|
169
|
-
metadata
|
|
139
|
+
metadata = { controller: signer.did.hasParent ? signer.did.parent : signer.did.id };
|
|
170
140
|
}
|
|
171
141
|
else {
|
|
172
|
-
throw new Error('No
|
|
142
|
+
throw new Error('No controller specified');
|
|
173
143
|
}
|
|
174
144
|
}
|
|
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
|
-
}
|
|
145
|
+
const header = {
|
|
146
|
+
controllers: [metadata.controller],
|
|
147
|
+
unique: uint8arrays.toString(randomBytes(12), 'base64'),
|
|
148
|
+
model: Model_1.MODEL.bytes,
|
|
149
|
+
};
|
|
187
150
|
const commit = { data: content, header };
|
|
188
|
-
return _signDagJWS(signer, commit);
|
|
151
|
+
return Model_1._signDagJWS(signer, commit);
|
|
152
|
+
}
|
|
153
|
+
makeReadOnly() {
|
|
154
|
+
this.replacePlaceholder = throwReadOnlyError;
|
|
155
|
+
this.sync = throwReadOnlyError;
|
|
156
|
+
this._isReadOnly = true;
|
|
157
|
+
}
|
|
158
|
+
get isReadOnly() {
|
|
159
|
+
return this._isReadOnly;
|
|
160
|
+
}
|
|
161
|
+
static async _signDagJWS(signer, commit) {
|
|
162
|
+
await _ensureAuthenticated(signer);
|
|
163
|
+
return signer.did.createDagJWS(commit);
|
|
189
164
|
}
|
|
190
165
|
};
|
|
191
166
|
Model.STREAM_TYPE_NAME = 'model';
|
|
192
167
|
Model.STREAM_TYPE_ID = 2;
|
|
168
|
+
Model.MODEL = (function () {
|
|
169
|
+
const data = encode('model-v1');
|
|
170
|
+
const multihash = multihashes.encode(data, 'identity');
|
|
171
|
+
const digest = create(code, multihash);
|
|
172
|
+
const cid = CID.createV1(code, digest);
|
|
173
|
+
return new StreamID(Model_1.STREAM_TYPE_ID, cid);
|
|
174
|
+
})();
|
|
193
175
|
Model = Model_1 = __decorate([
|
|
194
176
|
StreamStatic()
|
|
195
177
|
], 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;AACvC,OAAO,KAAK,
|
|
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.1.0",
|
|
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.1.0",
|
|
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": "7b7de4d055b9997cafcf8fd36b05290dbe88390a"
|
|
41
43
|
}
|