@peerbit/identity-access-controller 2.0.4 → 2.0.6
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/esm/acl-db.js +9 -9
- package/lib/esm/acl-db.js.map +1 -1
- package/package.json +6 -6
- package/src/access.ts +1 -1
- package/src/acl-db.ts +9 -9
package/lib/esm/acl-db.js
CHANGED
|
@@ -8,8 +8,8 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
8
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
9
|
};
|
|
10
10
|
import { field, variant } from "@dao-xyz/borsh";
|
|
11
|
-
import { Documents, DocumentIndex
|
|
12
|
-
import { getPathGenerator, TrustedNetwork, getFromByTo, IdentityGraph, createIdentityGraphStore
|
|
11
|
+
import { Documents, DocumentIndex } from "@peerbit/document";
|
|
12
|
+
import { getPathGenerator, TrustedNetwork, getFromByTo, IdentityGraph, createIdentityGraphStore } from "@peerbit/trusted-network";
|
|
13
13
|
import { Access, AccessType } from "./access";
|
|
14
14
|
import { sha256Sync } from "@peerbit/crypto";
|
|
15
15
|
import { Program } from "@peerbit/program";
|
|
@@ -27,17 +27,17 @@ export let IdentityAccessController = class IdentityAccessController extends Pro
|
|
|
27
27
|
this.access = new Documents({
|
|
28
28
|
id: opts.id && sha256Sync(concat([opts.id, new Uint8Array([0])])),
|
|
29
29
|
index: new DocumentIndex({
|
|
30
|
-
query: new RPC()
|
|
31
|
-
})
|
|
30
|
+
query: new RPC()
|
|
31
|
+
})
|
|
32
32
|
});
|
|
33
33
|
this.trustedNetwork = opts.trustedNetwork
|
|
34
34
|
? opts.trustedNetwork
|
|
35
35
|
: new TrustedNetwork({
|
|
36
36
|
id: opts.id && sha256Sync(concat([opts.id, new Uint8Array([1])])),
|
|
37
|
-
rootTrust: opts.rootTrust
|
|
37
|
+
rootTrust: opts.rootTrust
|
|
38
38
|
});
|
|
39
39
|
this.identityGraphController = new IdentityGraph({
|
|
40
|
-
relationGraph: createIdentityGraphStore(opts.id && sha256Sync(concat([opts.id, new Uint8Array([2])])))
|
|
40
|
+
relationGraph: createIdentityGraphStore(opts.id && sha256Sync(concat([opts.id, new Uint8Array([2])])))
|
|
41
41
|
});
|
|
42
42
|
}
|
|
43
43
|
// allow anyone write to the ACL db, but assume entry is invalid until a verifier verifies
|
|
@@ -120,15 +120,15 @@ export let IdentityAccessController = class IdentityAccessController extends Pro
|
|
|
120
120
|
async open(properties) {
|
|
121
121
|
await this.identityGraphController.open({
|
|
122
122
|
role: properties?.role,
|
|
123
|
-
canRead: this.canRead.bind(this)
|
|
123
|
+
canRead: this.canRead.bind(this)
|
|
124
124
|
});
|
|
125
125
|
await this.access.open({
|
|
126
126
|
role: properties?.role,
|
|
127
127
|
type: Access,
|
|
128
128
|
canPerform: this.canPerform.bind(this),
|
|
129
129
|
index: {
|
|
130
|
-
canRead: this.canRead.bind(this)
|
|
131
|
-
}
|
|
130
|
+
canRead: this.canRead.bind(this)
|
|
131
|
+
}
|
|
132
132
|
});
|
|
133
133
|
await this.trustedNetwork.open(properties);
|
|
134
134
|
}
|
package/lib/esm/acl-db.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acl-db.js","sourceRoot":"","sources":["../../src/acl-db.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EACN,SAAS,EACT,aAAa,
|
|
1
|
+
{"version":3,"file":"acl-db.js","sourceRoot":"","sources":["../../src/acl-db.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@peerbit/identity-access-controller",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.6",
|
|
4
4
|
"description": "Access controller that operates on a DB",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -31,12 +31,12 @@
|
|
|
31
31
|
"license": "MIT",
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"@dao-xyz/borsh": "^5.1.5",
|
|
34
|
-
"@peerbit/document": "3.0.
|
|
35
|
-
"@peerbit/trusted-network": "2.0.
|
|
34
|
+
"@peerbit/document": "3.0.6",
|
|
35
|
+
"@peerbit/trusted-network": "2.0.6"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
|
-
"@peerbit/test-utils": "^1.0.
|
|
39
|
-
"@peerbit/time": "^1.0.
|
|
38
|
+
"@peerbit/test-utils": "^1.0.21",
|
|
39
|
+
"@peerbit/time": "^1.0.3"
|
|
40
40
|
},
|
|
41
|
-
"gitHead": "
|
|
41
|
+
"gitHead": "6442481a66eec1bc13d06b3663f93643c247d141"
|
|
42
42
|
}
|
package/src/access.ts
CHANGED
package/src/acl-db.ts
CHANGED
|
@@ -5,14 +5,14 @@ import {
|
|
|
5
5
|
Role,
|
|
6
6
|
TransactionContext,
|
|
7
7
|
PutOperation,
|
|
8
|
-
DeleteOperation
|
|
8
|
+
DeleteOperation
|
|
9
9
|
} from "@peerbit/document";
|
|
10
10
|
import {
|
|
11
11
|
getPathGenerator,
|
|
12
12
|
TrustedNetwork,
|
|
13
13
|
getFromByTo,
|
|
14
14
|
IdentityGraph,
|
|
15
|
-
createIdentityGraphStore
|
|
15
|
+
createIdentityGraphStore
|
|
16
16
|
} from "@peerbit/trusted-network";
|
|
17
17
|
import { Access, AccessType } from "./access";
|
|
18
18
|
import { Entry } from "@peerbit/log";
|
|
@@ -45,20 +45,20 @@ export class IdentityAccessController extends Program {
|
|
|
45
45
|
this.access = new Documents({
|
|
46
46
|
id: opts.id && sha256Sync(concat([opts.id, new Uint8Array([0])])),
|
|
47
47
|
index: new DocumentIndex({
|
|
48
|
-
query: new RPC()
|
|
49
|
-
})
|
|
48
|
+
query: new RPC()
|
|
49
|
+
})
|
|
50
50
|
});
|
|
51
51
|
|
|
52
52
|
this.trustedNetwork = opts.trustedNetwork
|
|
53
53
|
? opts.trustedNetwork
|
|
54
54
|
: new TrustedNetwork({
|
|
55
55
|
id: opts.id && sha256Sync(concat([opts.id, new Uint8Array([1])])),
|
|
56
|
-
rootTrust: opts.rootTrust
|
|
56
|
+
rootTrust: opts.rootTrust
|
|
57
57
|
});
|
|
58
58
|
this.identityGraphController = new IdentityGraph({
|
|
59
59
|
relationGraph: createIdentityGraphStore(
|
|
60
60
|
opts.id && sha256Sync(concat([opts.id, new Uint8Array([2])]))
|
|
61
|
-
)
|
|
61
|
+
)
|
|
62
62
|
});
|
|
63
63
|
}
|
|
64
64
|
|
|
@@ -174,15 +174,15 @@ export class IdentityAccessController extends Program {
|
|
|
174
174
|
async open(properties?: { role?: Role }) {
|
|
175
175
|
await this.identityGraphController.open({
|
|
176
176
|
role: properties?.role,
|
|
177
|
-
canRead: this.canRead.bind(this)
|
|
177
|
+
canRead: this.canRead.bind(this)
|
|
178
178
|
});
|
|
179
179
|
await this.access.open({
|
|
180
180
|
role: properties?.role,
|
|
181
181
|
type: Access,
|
|
182
182
|
canPerform: this.canPerform.bind(this),
|
|
183
183
|
index: {
|
|
184
|
-
canRead: this.canRead.bind(this)
|
|
185
|
-
}
|
|
184
|
+
canRead: this.canRead.bind(this)
|
|
185
|
+
}
|
|
186
186
|
});
|
|
187
187
|
await this.trustedNetwork.open(properties);
|
|
188
188
|
}
|