@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.
@@ -1,12 +1,12 @@
1
1
  import { type PeerId } from "@libp2p/interface";
2
2
  import { PublicSignKey } from "@peerbit/crypto";
3
- import { type CanPerformOperations, Documents } from "@peerbit/document";
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: Documents<Access>;
9
+ access: DocumentsLike<Access, Access>;
10
10
  identityGraphController: IdentityGraph;
11
11
  trustedNetwork: TrustedNetwork;
12
12
  constructor(opts: {
@@ -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,EAAE,KAAK,oBAAoB,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEzE,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;AAEvE,qBACa,wBAAyB,SAAQ,OAAO;IAEpD,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IAG1B,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"}
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"}
@@ -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.open({
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),
@@ -1 +1 @@
1
- {"version":3,"file":"acl-db.js","sourceRoot":"","sources":["../../src/acl-db.ts"],"names":[],"mappings":"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"}
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.14",
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.0",
59
- "@peerbit/program": "5.5.1",
60
- "@peerbit/shared-log": "12.1.1",
61
- "@peerbit/trusted-network": "5.0.3"
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
- "uint8arrays": "^5.1.0",
65
- "@peerbit/test-utils": "2.3.12",
66
- "@peerbit/time": "2.3.0"
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 { type CanPerformOperations, Documents } from "@peerbit/document";
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: Documents<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.open({
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),