@peerbit/identity-access-controller 5.2.14 → 5.2.16-e209d2e
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/dist/src/acl-db.d.ts +2 -2
- package/dist/src/acl-db.d.ts.map +1 -1
- package/dist/src/acl-db.js +16 -2
- package/dist/src/acl-db.js.map +1 -1
- package/package.json +9 -9
- package/src/acl-db.ts +26 -3
package/dist/src/acl-db.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { type PeerId } from "@libp2p/interface";
|
|
2
2
|
import { PublicSignKey } from "@peerbit/crypto";
|
|
3
|
-
import { type CanPerformOperations,
|
|
3
|
+
import { type CanPerformOperations, type DocumentsLike } from "@peerbit/document";
|
|
4
4
|
import { Program } from "@peerbit/program";
|
|
5
5
|
import { type ReplicationOptions } from "@peerbit/shared-log";
|
|
6
6
|
import { IdentityGraph, TrustedNetwork } from "@peerbit/trusted-network";
|
|
7
7
|
import { Access } from "./access.js";
|
|
8
8
|
export declare class IdentityAccessController extends Program {
|
|
9
|
-
access:
|
|
9
|
+
access: DocumentsLike<Access, Access>;
|
|
10
10
|
identityGraphController: IdentityGraph;
|
|
11
11
|
trustedNetwork: TrustedNetwork;
|
|
12
12
|
constructor(opts: {
|
package/dist/src/acl-db.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acl-db.d.ts","sourceRoot":"","sources":["../../src/acl-db.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAc,MAAM,iBAAiB,CAAC;AAC5D,OAAO,
|
|
1
|
+
{"version":3,"file":"acl-db.d.ts","sourceRoot":"","sources":["../../src/acl-db.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAc,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EACN,KAAK,oBAAoB,EAEzB,KAAK,aAAa,EAClB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EACN,aAAa,EACb,cAAc,EAId,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAwB,MAAM,EAAc,MAAM,aAAa,CAAC;AAqBvE,qBACa,wBAAyB,SAAQ,OAAO;IAEpD,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAGtC,uBAAuB,EAAE,aAAa,CAAC;IAGvC,cAAc,EAAE,cAAc,CAAC;gBAEnB,IAAI,EAAE;QACjB,EAAE,CAAC,EAAE,UAAU,CAAC;QAChB,SAAS,EAAE,aAAa,GAAG,MAAM,CAAC;QAClC,cAAc,CAAC,EAAE,cAAc,CAAC;KAChC;IA6BK,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,aAAa,GAAG,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAiElE,UAAU,CAAC,UAAU,EAAE,oBAAoB,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAqEnE,IAAI,CAAC,UAAU,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,kBAAkB,CAAA;KAAE;CAe1D"}
|
package/dist/src/acl-db.js
CHANGED
|
@@ -35,13 +35,27 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
|
|
|
35
35
|
import { field, variant } from "@dao-xyz/borsh";
|
|
36
36
|
import {} from "@libp2p/interface";
|
|
37
37
|
import { PublicSignKey, sha256Sync } from "@peerbit/crypto";
|
|
38
|
-
import { Documents } from "@peerbit/document";
|
|
38
|
+
import { Documents, } from "@peerbit/document";
|
|
39
39
|
import { Compare, IntegerCompare, Or, SearchRequest } from "@peerbit/document";
|
|
40
40
|
import { Program } from "@peerbit/program";
|
|
41
41
|
import {} from "@peerbit/shared-log";
|
|
42
42
|
import { IdentityGraph, TrustedNetwork, createIdentityGraphStore, getFromByTo, getPathGenerator, } from "@peerbit/trusted-network";
|
|
43
43
|
import { concat } from "uint8arrays";
|
|
44
44
|
import { ACCESS_TYPE_PROPERTY, Access, AccessType } from "./access.js";
|
|
45
|
+
const openDocumentsLike = async (owner, docs, args) => {
|
|
46
|
+
if (!(docs instanceof Program)) {
|
|
47
|
+
return docs;
|
|
48
|
+
}
|
|
49
|
+
const opened = await owner.node.open(docs, {
|
|
50
|
+
args,
|
|
51
|
+
parent: owner,
|
|
52
|
+
existing: "reuse",
|
|
53
|
+
});
|
|
54
|
+
if (opened instanceof Documents && !opened._clazz) {
|
|
55
|
+
await opened.open(args);
|
|
56
|
+
}
|
|
57
|
+
return opened;
|
|
58
|
+
};
|
|
45
59
|
let IdentityAccessController = (() => {
|
|
46
60
|
let _classDecorators = [variant("identity_acl")];
|
|
47
61
|
let _classDescriptor;
|
|
@@ -206,7 +220,7 @@ let IdentityAccessController = (() => {
|
|
|
206
220
|
replicate: properties?.replicate || { factor: 1 },
|
|
207
221
|
canRead: this.canRead.bind(this),
|
|
208
222
|
});
|
|
209
|
-
await this.access
|
|
223
|
+
this.access = await openDocumentsLike(this, this.access, {
|
|
210
224
|
replicate: properties?.replicate || { factor: 1 },
|
|
211
225
|
type: Access,
|
|
212
226
|
canPerform: this.canPerform.bind(this),
|
package/dist/src/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,EAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,
|
|
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": "5.2.
|
|
3
|
+
"version": "5.2.16-e209d2e",
|
|
4
4
|
"description": "Access controller that operates on a DB",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"type": "module",
|
|
@@ -54,16 +54,16 @@
|
|
|
54
54
|
"dependencies": {
|
|
55
55
|
"@dao-xyz/borsh": "^6.0.0",
|
|
56
56
|
"@libp2p/interface": "^3.1.0",
|
|
57
|
-
"@peerbit/crypto": "2.4.1",
|
|
58
|
-
"@peerbit/document": "12.1.
|
|
59
|
-
"@peerbit/program": "5.5.
|
|
60
|
-
"@peerbit/shared-log": "12.1.
|
|
61
|
-
"@peerbit/trusted-network": "5.0.
|
|
57
|
+
"@peerbit/crypto": "2.4.1-e209d2e",
|
|
58
|
+
"@peerbit/document": "12.1.2-e209d2e",
|
|
59
|
+
"@peerbit/program": "5.5.2-e209d2e",
|
|
60
|
+
"@peerbit/shared-log": "12.1.3-e209d2e",
|
|
61
|
+
"@peerbit/trusted-network": "5.0.5-e209d2e"
|
|
62
62
|
},
|
|
63
63
|
"devDependencies": {
|
|
64
|
-
"
|
|
65
|
-
"@peerbit/test-utils": "2.3.
|
|
66
|
-
"
|
|
64
|
+
"@peerbit/time": "2.3.0-e209d2e",
|
|
65
|
+
"@peerbit/test-utils": "2.3.14-e209d2e",
|
|
66
|
+
"uint8arrays": "^5.1.0"
|
|
67
67
|
},
|
|
68
68
|
"scripts": {
|
|
69
69
|
"clean": "aegir clean",
|
package/src/acl-db.ts
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { field, variant } from "@dao-xyz/borsh";
|
|
2
2
|
import { type PeerId } from "@libp2p/interface";
|
|
3
3
|
import { PublicSignKey, sha256Sync } from "@peerbit/crypto";
|
|
4
|
-
import {
|
|
4
|
+
import {
|
|
5
|
+
type CanPerformOperations,
|
|
6
|
+
Documents,
|
|
7
|
+
type DocumentsLike,
|
|
8
|
+
} from "@peerbit/document";
|
|
5
9
|
import { Compare, IntegerCompare, Or, SearchRequest } from "@peerbit/document";
|
|
6
10
|
import { Program } from "@peerbit/program";
|
|
7
11
|
import { type ReplicationOptions } from "@peerbit/shared-log";
|
|
@@ -15,10 +19,29 @@ import {
|
|
|
15
19
|
import { concat } from "uint8arrays";
|
|
16
20
|
import { ACCESS_TYPE_PROPERTY, Access, AccessType } from "./access.js";
|
|
17
21
|
|
|
22
|
+
const openDocumentsLike = async <T, I extends Record<string, any> = any>(
|
|
23
|
+
owner: Program<any, any>,
|
|
24
|
+
docs: DocumentsLike<T, I>,
|
|
25
|
+
args: any,
|
|
26
|
+
): Promise<DocumentsLike<T, I>> => {
|
|
27
|
+
if (!(docs instanceof Program)) {
|
|
28
|
+
return docs;
|
|
29
|
+
}
|
|
30
|
+
const opened = await owner.node.open(docs as Documents<T, I>, {
|
|
31
|
+
args,
|
|
32
|
+
parent: owner as any,
|
|
33
|
+
existing: "reuse",
|
|
34
|
+
});
|
|
35
|
+
if (opened instanceof Documents && !(opened as any)._clazz) {
|
|
36
|
+
await opened.open(args);
|
|
37
|
+
}
|
|
38
|
+
return opened as DocumentsLike<T, I>;
|
|
39
|
+
};
|
|
40
|
+
|
|
18
41
|
@variant("identity_acl")
|
|
19
42
|
export class IdentityAccessController extends Program {
|
|
20
43
|
@field({ type: Documents })
|
|
21
|
-
access:
|
|
44
|
+
access: DocumentsLike<Access, Access>;
|
|
22
45
|
|
|
23
46
|
@field({ type: IdentityGraph })
|
|
24
47
|
identityGraphController: IdentityGraph;
|
|
@@ -198,7 +221,7 @@ export class IdentityAccessController extends Program {
|
|
|
198
221
|
replicate: properties?.replicate || { factor: 1 },
|
|
199
222
|
canRead: this.canRead.bind(this),
|
|
200
223
|
});
|
|
201
|
-
await this.access
|
|
224
|
+
this.access = await openDocumentsLike(this, this.access, {
|
|
202
225
|
replicate: properties?.replicate || { factor: 1 },
|
|
203
226
|
type: Access,
|
|
204
227
|
canPerform: this.canPerform.bind(this),
|