@peerbit/trusted-network 6.0.44 → 6.0.45
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EACN,aAAa,EAGb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACN,KAAK,oBAAoB,EACzB,KAAK,OAAO,EAEZ,KAAK,aAAa,EAClB,KAAK,SAAS,
|
|
1
|
+
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EACN,aAAa,EAGb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACN,KAAK,oBAAoB,EACzB,KAAK,OAAO,EAEZ,KAAK,aAAa,EAClB,KAAK,SAAS,EAGd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EACN,MAAM,EACN,gBAAgB,EAOhB,MAAM,qBAAqB,CAAC;AAmE7B,KAAK,iBAAiB,GAAG;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1B,SAAS,CAAC,EAAE,kBAAkB,CAAC;CAC/B,CAAC;AAEF,qBACa,aAAc,SAAQ,OAAO,CAAC,iBAAiB,CAAC;IAE5D,aAAa,EAAE,aAAa,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;gBAE3C,KAAK,CAAC,EAAE;QACnB,EAAE,CAAC,EAAE,UAAU,CAAC;QAChB,aAAa,CAAC,EAAE,aAAa,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;KACxD;IAQK,UAAU,CACf,UAAU,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,GAChD,OAAO,CAAC,OAAO,CAAC;IAIb,IAAI,CAAC,OAAO,CAAC,EAAE,iBAAiB;IAgBhC,WAAW,CAChB,EAAE,EAAE,aAAa,GAAG,MAAM,EAC1B,OAAO,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC;CAWnC;AAED;;GAEG;AAEH,KAAK,kBAAkB,GAAG;IAAE,SAAS,CAAC,EAAE,kBAAkB,CAAA;CAAE,CAAC;AAE7D,qBACa,cAAe,SAAQ,OAAO,CAAC,kBAAkB,CAAC;IAE9D,SAAS,EAAE,aAAa,CAAC;IAGzB,UAAU,EAAE,aAAa,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IAIpD,OAAO,CAAC,aAAa,CAAK;gBAEd,KAAK,EAAE;QAAE,EAAE,CAAC,EAAE,UAAU,CAAC;QAAC,SAAS,EAAE,aAAa,GAAG,MAAM,CAAA;KAAE;IAMnE,IAAI,CAAC,OAAO,CAAC,EAAE,kBAAkB;IAejC,UAAU,CACf,UAAU,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,GAChD,OAAO,CAAC,OAAO,CAAC;IAIb,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAInE,GAAG,CACR,OAAO,EAAE,aAAa,GAAG,MAAM,EAC/B,OAAO,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC;IAsB7B,WAAW,CAChB,OAAO,EAAE,aAAa,GAAG,MAAM,EAC/B,OAAO,GAAE,aAAa,GAAG,MAAuB;IAIjD,WAAW,CACV,OAAO,EAAE,aAAa,GAAG,MAAM,EAC/B,OAAO,GAAE,aAAa,GAAG,MAAuB;IASjD;;;;;;;;;OASG;IACG,SAAS,CACd,OAAO,EAAE,aAAa,EACtB,OAAO,GAAE,aAA8B,GACrC,OAAO,CAAC,OAAO,CAAC;IAyBb,eAAe,CACpB,OAAO,EAAE,aAAa,EACtB,OAAO,GAAE,aAA8B,GACrC,OAAO,CAAC,OAAO,CAAC;IAUb,UAAU,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAU5C,QAAQ,IAAI,MAAM;CAGlB"}
|
package/dist/src/controller.js
CHANGED
|
@@ -35,11 +35,11 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
|
|
|
35
35
|
import { field, serialize, variant } from "@dao-xyz/borsh";
|
|
36
36
|
import {} from "@libp2p/interface";
|
|
37
37
|
import { PublicSignKey, getPublicKeyFromPeerId, sha256Base64Sync, } from "@peerbit/crypto";
|
|
38
|
-
import { Documents, SearchRequest, } from "@peerbit/document";
|
|
38
|
+
import { Documents, SearchRequest, policy, } from "@peerbit/document";
|
|
39
39
|
import {} from "@peerbit/log";
|
|
40
40
|
import { Program } from "@peerbit/program";
|
|
41
41
|
import {} from "@peerbit/shared-log";
|
|
42
|
-
import { FromTo, IdentityRelation, createIdentityGraphStore,
|
|
42
|
+
import { FromTo, IdentityRelation, createIdentityGraphStore, getFromByToLocalOnly, getPathGenerator, getToByFrom, hasPath, getRelation as resolveRelation, } from "./identity-graph.js";
|
|
43
43
|
const openDocumentsLike = async (owner, docs, args) => {
|
|
44
44
|
if (!(docs instanceof Program)) {
|
|
45
45
|
return docs;
|
|
@@ -90,6 +90,7 @@ const canPerformByRelation = async (properties, isTrusted) => {
|
|
|
90
90
|
}
|
|
91
91
|
return false;
|
|
92
92
|
};
|
|
93
|
+
const defaultIdentityGraphCanPerform = policy.or(policy.put(policy.signedByField("_from")), policy.delete(policy.allowAll()));
|
|
93
94
|
let IdentityGraph = (() => {
|
|
94
95
|
let _classDecorators = [variant("relations")];
|
|
95
96
|
let _classDescriptor;
|
|
@@ -123,9 +124,12 @@ let IdentityGraph = (() => {
|
|
|
123
124
|
return canPerformByRelation(properties);
|
|
124
125
|
}
|
|
125
126
|
async open(options) {
|
|
127
|
+
const canPerform = this.canPerform === IdentityGraph.prototype.canPerform
|
|
128
|
+
? defaultIdentityGraphCanPerform
|
|
129
|
+
: this.canPerform.bind(this);
|
|
126
130
|
this.relationGraph = await openDocumentsLike(this, this.relationGraph, {
|
|
127
131
|
type: IdentityRelation,
|
|
128
|
-
canPerform
|
|
132
|
+
canPerform,
|
|
129
133
|
replicate: options?.replicate,
|
|
130
134
|
index: {
|
|
131
135
|
canRead: options?.canRead,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,EACN,aAAa,EACb,sBAAsB,EACtB,gBAAgB,GAChB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAGN,SAAS,EAGT,aAAa,
|
|
1
|
+
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/controller.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@peerbit/trusted-network",
|
|
3
|
-
"version": "6.0.
|
|
3
|
+
"version": "6.0.45",
|
|
4
4
|
"description": "Access controller that operates on a DB",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"type": "module",
|
|
@@ -55,16 +55,16 @@
|
|
|
55
55
|
"@dao-xyz/borsh": "^6.0.0",
|
|
56
56
|
"@libp2p/interface": "^3.1.1",
|
|
57
57
|
"uint8arrays": "^5.1.0",
|
|
58
|
-
"@peerbit/
|
|
59
|
-
"@peerbit/
|
|
60
|
-
"@peerbit/
|
|
61
|
-
"@peerbit/shared-log": "13.
|
|
62
|
-
"@peerbit/
|
|
58
|
+
"@peerbit/document": "13.1.0",
|
|
59
|
+
"@peerbit/log": "6.2.0",
|
|
60
|
+
"@peerbit/program": "6.0.32",
|
|
61
|
+
"@peerbit/shared-log": "13.2.0",
|
|
62
|
+
"@peerbit/crypto": "3.1.2"
|
|
63
63
|
},
|
|
64
64
|
"devDependencies": {
|
|
65
65
|
"@ethersproject/wallet": "^5.8.0",
|
|
66
|
-
"@peerbit/
|
|
67
|
-
"@peerbit/
|
|
66
|
+
"@peerbit/test-utils": "3.1.0",
|
|
67
|
+
"@peerbit/time": "3.0.0"
|
|
68
68
|
},
|
|
69
69
|
"repository": {
|
|
70
70
|
"type": "git",
|
package/src/controller.ts
CHANGED
|
@@ -12,6 +12,7 @@ import {
|
|
|
12
12
|
type DocumentsLike,
|
|
13
13
|
type Operation,
|
|
14
14
|
SearchRequest,
|
|
15
|
+
policy,
|
|
15
16
|
} from "@peerbit/document";
|
|
16
17
|
import { type AppendOptions } from "@peerbit/log";
|
|
17
18
|
import { Program } from "@peerbit/program";
|
|
@@ -20,7 +21,6 @@ import {
|
|
|
20
21
|
FromTo,
|
|
21
22
|
IdentityRelation,
|
|
22
23
|
createIdentityGraphStore,
|
|
23
|
-
getFromByTo,
|
|
24
24
|
getFromByToLocalOnly,
|
|
25
25
|
getPathGenerator,
|
|
26
26
|
getToByFrom,
|
|
@@ -88,6 +88,11 @@ const canPerformByRelation = async (
|
|
|
88
88
|
return false;
|
|
89
89
|
};
|
|
90
90
|
|
|
91
|
+
const defaultIdentityGraphCanPerform = policy.or<IdentityRelation>(
|
|
92
|
+
policy.put(policy.signedByField<IdentityRelation>("_from")),
|
|
93
|
+
policy.delete(policy.allowAll<IdentityRelation>()),
|
|
94
|
+
);
|
|
95
|
+
|
|
91
96
|
type IdentityGraphArgs = {
|
|
92
97
|
canRead?: CanRead<FromTo>;
|
|
93
98
|
replicate?: ReplicationOptions;
|
|
@@ -116,9 +121,13 @@ export class IdentityGraph extends Program<IdentityGraphArgs> {
|
|
|
116
121
|
}
|
|
117
122
|
|
|
118
123
|
async open(options?: IdentityGraphArgs) {
|
|
124
|
+
const canPerform =
|
|
125
|
+
this.canPerform === IdentityGraph.prototype.canPerform
|
|
126
|
+
? defaultIdentityGraphCanPerform
|
|
127
|
+
: this.canPerform.bind(this);
|
|
119
128
|
this.relationGraph = await openDocumentsLike(this, this.relationGraph, {
|
|
120
129
|
type: IdentityRelation,
|
|
121
|
-
canPerform
|
|
130
|
+
canPerform,
|
|
122
131
|
replicate: options?.replicate,
|
|
123
132
|
index: {
|
|
124
133
|
canRead: options?.canRead,
|