@brightchain/brightchain-lib 0.23.5 → 0.23.15

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brightchain/brightchain-lib",
3
- "version": "0.23.5",
3
+ "version": "0.23.15",
4
4
  "description": "BrightChain core library - browser-compatible blockchain storage",
5
5
  "main": "src/index.js",
6
6
  "types": "src/index.d.ts",
@@ -68,6 +68,10 @@ export interface IMemberIndexEntry<TID extends PlatformID = Uint8Array> {
68
68
  lastUpdate: Date;
69
69
  region?: string;
70
70
  reputation: number;
71
+ /** Member display name — used to populate the in-memory name→id index. */
72
+ name?: string;
73
+ /** Member contact email — used to populate the in-memory email→id index. */
74
+ email?: string;
71
75
  }
72
76
  /**
73
77
  * Query criteria for member lookups
@@ -125,6 +129,13 @@ export interface IMemberStore<TID extends PlatformID = Uint8Array> {
125
129
  mnemonic: SecureString;
126
130
  }>;
127
131
  getMember(id: TID): Promise<Member<TID>>;
132
+ /**
133
+ * Returns the hex-encoded public key for a member.
134
+ * Reads from the `users` DB collection when available (fast path for
135
+ * seeded users whose CBL blocks are not stored). Falls back to getMember()
136
+ * for members created via createMember() which do have CBL blocks.
137
+ */
138
+ getMemberPublicKeyHex(id: TID): Promise<string | null>;
128
139
  updateMember(id: TID, changes: IMemberChanges<TID>): Promise<void>;
129
140
  deleteMember(id: TID): Promise<void>;
130
141
  updateIndex(entry: IMemberIndexEntry<TID>): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"memberData.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/member/memberData.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memberData.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/member/memberData.ts"],"names":[],"mappings":"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"}
@@ -58,4 +58,23 @@ export interface ValidationFieldError {
58
58
  message: string;
59
59
  value?: unknown;
60
60
  }
61
+ /**
62
+ * Minimal collection interface used by MemberStore for DB-backed queries.
63
+ * Typed as a structural interface so brightchain-lib stays free of
64
+ * any @brightchain/db or Node.js-specific dependencies.
65
+ */
66
+ export interface IMinimalCollection<T extends BsonDocument = BsonDocument> {
67
+ findOne(filter: Partial<T>): Promise<T | null>;
68
+ find(filter: Partial<T>): {
69
+ toArray(): Promise<T[]>;
70
+ };
71
+ insertOne(doc: T): Promise<unknown>;
72
+ }
73
+ /**
74
+ * Minimal database interface used by MemberStore for DB-backed queries.
75
+ * Implemented by BrightChainDb (structural compatibility — no import needed).
76
+ */
77
+ export interface IMemberStoreDb {
78
+ collection<T extends BsonDocument = BsonDocument>(name: string): IMinimalCollection<T>;
79
+ }
61
80
  //# sourceMappingURL=documentTypes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"documentTypes.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/storage/documentTypes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,qCAAqC;AACrC,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;AAEhC,wEAAwE;AACxE,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,UAAU,CAAA;CAAE,CAAC;AAE1E;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,oBAAoB;IACpB,IAAI,CAAC,EACD,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,OAAO,GACP,MAAM,GACN,MAAM,GACN,KAAK,GACL,mBAAmB,GACnB,mBAAmB,GACnB,KAAK,CACD,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,OAAO,GACP,MAAM,GACN,MAAM,GACN,KAAK,GACL,mBAAmB,GACnB,mBAAmB,CACtB,CAAC;IACN,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qBAAqB;IACrB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IACjB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACzC,uCAAuC;IACvC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,6BAA6B;IAC7B,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,wCAAwC;IACxC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sDAAsD;IACtD,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,iCAAiC;IACjC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,GAAG,MAAM,CAAC;IAChD,+EAA+E;IAC/E,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB"}
1
+ {"version":3,"file":"documentTypes.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/storage/documentTypes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,qCAAqC;AACrC,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;AAEhC,wEAAwE;AACxE,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,UAAU,CAAA;CAAE,CAAC;AAE1E;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,oBAAoB;IACpB,IAAI,CAAC,EACD,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,OAAO,GACP,MAAM,GACN,MAAM,GACN,KAAK,GACL,mBAAmB,GACnB,mBAAmB,GACnB,KAAK,CACD,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,OAAO,GACP,MAAM,GACN,MAAM,GACN,KAAK,GACL,mBAAmB,GACnB,mBAAmB,CACtB,CAAC;IACN,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qBAAqB;IACrB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IACjB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACzC,uCAAuC;IACvC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,6BAA6B;IAC7B,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,wCAAwC;IACxC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sDAAsD;IACtD,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,iCAAiC;IACjC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,GAAG,MAAM,CAAC;IAChD,+EAA+E;IAC/E,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY;IACvE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC/C,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG;QAAE,OAAO,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA;KAAE,CAAC;IACtD,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACrC;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY,EAC9C,IAAI,EAAE,MAAM,GACX,kBAAkB,CAAC,CAAC,CAAC,CAAC;CAC1B"}
@@ -2,6 +2,7 @@ import { Member, PlatformID, SecureString } from '@digitaldefiance/ecies-lib';
2
2
  import { IMemberChanges, IMemberIndexEntry, IMemberQueryCriteria, IMemberReference, IMemberStore, INewMemberData } from '../interfaces/member/memberData';
3
3
  import { IPrivateMemberProfileHydratedData, IPublicMemberProfileHydratedData } from '../interfaces/member/profileStorage';
4
4
  import { IBlockStore } from '../interfaces/storage/blockStore';
5
+ import { IMemberStoreDb } from '../interfaces/storage/documentTypes';
5
6
  /**
6
7
  * Service for storing and retrieving member data
7
8
  */
@@ -11,7 +12,15 @@ export declare class MemberStore<TID extends PlatformID = Uint8Array> implements
11
12
  private readonly regionIndex;
12
13
  private readonly nameIndex;
13
14
  private readonly emailIndex;
14
- constructor(blockStore: IBlockStore);
15
+ /** Optional DB reference for scalable, DB-backed queryIndex lookups. */
16
+ private _db;
17
+ constructor(blockStore: IBlockStore, db?: IMemberStoreDb);
18
+ /**
19
+ * Attach (or replace) the DB reference after construction.
20
+ * Called by the plugin after connect() so MemberStore can query
21
+ * the persisted member_index and users collections directly.
22
+ */
23
+ setDb(db: IMemberStoreDb): void;
15
24
  /**
16
25
  * Extract and parse JSON data from a CBL block.
17
26
  * Handles XOR tuple reconstruction and null byte trimming.
@@ -39,6 +48,17 @@ export declare class MemberStore<TID extends PlatformID = Uint8Array> implements
39
48
  * @requirements 2.1, 2.2
40
49
  */
41
50
  getMember(id: TID): Promise<Member<TID>>;
51
+ /**
52
+ * Returns the hex-encoded public key for a member.
53
+ *
54
+ * Fast path: when a DB reference is set, queries the `users` collection
55
+ * directly for `publicKey` (stored as hex by buildUserDocument). This
56
+ * avoids loading CBL blocks, which are not written for seeded users.
57
+ *
58
+ * Fallback: calls getMember() for members created via createMember() that
59
+ * do have real CBL blocks in the block store.
60
+ */
61
+ getMemberPublicKeyHex(id: TID): Promise<string | null>;
42
62
  /**
43
63
  * Get member profile document by ID
44
64
  * Deserializes CBL data to retrieve public and private profile data.
@@ -73,9 +93,22 @@ export declare class MemberStore<TID extends PlatformID = Uint8Array> implements
73
93
  */
74
94
  updateIndex(entry: IMemberIndexEntry<TID>): Promise<void>;
75
95
  /**
76
- * Query the member index
96
+ * Query the member index.
97
+ *
98
+ * When a `name` or `email` criterion is provided and the in-memory index is
99
+ * empty (e.g. after a server restart), falls back to querying the persisted
100
+ * `users` and `member_index` collections via the optional `_db` reference.
101
+ * This avoids loading the entire member list into memory for large databases.
77
102
  */
78
103
  queryIndex(criteria: IMemberQueryCriteria<TID>): Promise<IMemberReference<TID>[]>;
104
+ /**
105
+ * DB-backed queryIndex for name/email lookups.
106
+ *
107
+ * Queries `users` for the member ID, then `member_index` for CBL checksums.
108
+ * Returns at most `criteria.limit` results (default 1 for name/email lookups).
109
+ * Does NOT load the full member list — O(1) DB lookups.
110
+ */
111
+ private _queryIndexFromDb;
79
112
  /**
80
113
  * Sync shard with other nodes
81
114
  */
@@ -1 +1 @@
1
- {"version":3,"file":"memberStore.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/services/memberStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,MAAM,EACN,UAAU,EACV,YAAY,EAEb,MAAM,4BAA4B,CAAC;AAkBpC,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACf,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,iCAAiC,EAEjC,gCAAgC,EAEjC,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAI/D;;GAEG;AACH,qBAAa,WAAW,CACtB,GAAG,SAAS,UAAU,GAAG,UAAU,CACnC,YAAW,YAAY,CAAC,GAAG,CAAC;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAc;IACzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsC;IAClE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2B;IACvD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsB;IAChD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;gBAErC,UAAU,EAAE,WAAW;IAQnC;;;;;;;;OAQG;YACW,yBAAyB;IA6DvC;;OAEG;IACU,YAAY,CACvB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC;QAAE,SAAS,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAAC,QAAQ,EAAE,YAAY,CAAA;KAAE,CAAC;IA6SxE;;;;;;;;OAQG;IACU,SAAS,CAAC,EAAE,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IA0ErD;;;;;;;;OAQG;IACU,gBAAgB,CAAC,EAAE,EAAE,GAAG,GAAG,OAAO,CAAC;QAC9C,aAAa,EAAE,gCAAgC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QAC5D,cAAc,EAAE,iCAAiC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;KAC/D,CAAC;IAsLF;;;;;;;;;;OAUG;IACU,YAAY,CACvB,EAAE,EAAE,GAAG,EACP,OAAO,EAAE,cAAc,CAAC,GAAG,CAAC,GAC3B,OAAO,CAAC,IAAI,CAAC;IA+JhB;;OAEG;IACU,YAAY,CAAC,EAAE,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAqCjD;;OAEG;IACU,WAAW,CAAC,KAAK,EAAE,iBAAiB,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BtE;;OAEG;IACU,UAAU,CACrB,QAAQ,EAAE,oBAAoB,CAAC,GAAG,CAAC,GAClC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;IA+EnC;;OAEG;IAEU,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKtD;;OAEG;IACU,gBAAgB,CAC3B,QAAQ,EAAE,cAAc,CAAC,GAAG,CAAC,EAAE,GAC9B,OAAO,CAAC,IAAI,CAAC;CAIjB"}
1
+ {"version":3,"file":"memberStore.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/services/memberStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,MAAM,EACN,UAAU,EACV,YAAY,EAEb,MAAM,4BAA4B,CAAC;AAkBpC,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACf,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EACL,iCAAiC,EAEjC,gCAAgC,EAEjC,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAKrE;;GAEG;AACH,qBAAa,WAAW,CACtB,GAAG,SAAS,UAAU,GAAG,UAAU,CACnC,YAAW,YAAY,CAAC,GAAG,CAAC;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAc;IACzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsC;IAClE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2B;IACvD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsB;IAChD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IACjD,wEAAwE;IACxE,OAAO,CAAC,GAAG,CAAwB;gBAEvB,UAAU,EAAE,WAAW,EAAE,EAAE,CAAC,EAAE,cAAc;IASxD;;;;OAIG;IACI,KAAK,CAAC,EAAE,EAAE,cAAc,GAAG,IAAI;IAItC;;;;;;;;OAQG;YACW,yBAAyB;IA6DvC;;OAEG;IACU,YAAY,CACvB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC;QAAE,SAAS,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAAC,QAAQ,EAAE,YAAY,CAAA;KAAE,CAAC;IAySxE;;;;;;;;OAQG;IACU,SAAS,CAAC,EAAE,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IA0ErD;;;;;;;;;OASG;IACU,qBAAqB,CAAC,EAAE,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA4CnE;;;;;;;;OAQG;IACU,gBAAgB,CAAC,EAAE,EAAE,GAAG,GAAG,OAAO,CAAC;QAC9C,aAAa,EAAE,gCAAgC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QAC5D,cAAc,EAAE,iCAAiC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;KAC/D,CAAC;IAsLF;;;;;;;;;;OAUG;IACU,YAAY,CACvB,EAAE,EAAE,GAAG,EACP,OAAO,EAAE,cAAc,CAAC,GAAG,CAAC,GAC3B,OAAO,CAAC,IAAI,CAAC;IA+JhB;;OAEG;IACU,YAAY,CAAC,EAAE,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAqCjD;;OAEG;IACU,WAAW,CAAC,KAAK,EAAE,iBAAiB,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IA2CtE;;;;;;;OAOG;IACU,UAAU,CACrB,QAAQ,EAAE,oBAAoB,CAAC,GAAG,CAAC,GAClC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;IAqFnC;;;;;;OAMG;YACW,iBAAiB;IAsE/B;;OAEG;IAEU,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKtD;;OAEG;IACU,gBAAgB,CAC3B,QAAQ,EAAE,cAAc,CAAC,GAAG,CAAC,EAAE,GAC9B,OAAO,CAAC,IAAI,CAAC;CAIjB"}
@@ -16,18 +16,28 @@ const memberStatusType_1 = require("../enumerations/memberStatusType");
16
16
  const memberError_1 = require("../errors/memberError");
17
17
  const notImplemented_1 = require("../errors/notImplemented");
18
18
  const i18n_1 = require("../i18n");
19
+ const checksum_1 = require("../types/checksum");
19
20
  const memberCblService_1 = require("./member/memberCblService");
20
21
  const service_provider_1 = require("./service.provider");
21
22
  /**
22
23
  * Service for storing and retrieving member data
23
24
  */
24
25
  class MemberStore {
25
- constructor(blockStore) {
26
+ constructor(blockStore, db) {
26
27
  this.blockStore = blockStore;
27
28
  this.memberIndex = new Map();
28
29
  this.regionIndex = new Map();
29
30
  this.nameIndex = new Map();
30
31
  this.emailIndex = new Map();
32
+ this._db = db ?? null;
33
+ }
34
+ /**
35
+ * Attach (or replace) the DB reference after construction.
36
+ * Called by the plugin after connect() so MemberStore can query
37
+ * the persisted member_index and users collections directly.
38
+ */
39
+ setDb(db) {
40
+ this._db = db;
31
41
  }
32
42
  /**
33
43
  * Extract and parse JSON data from a CBL block.
@@ -279,12 +289,10 @@ class MemberStore {
279
289
  lastUpdate: new Date(),
280
290
  region: data.region,
281
291
  reputation: 0,
292
+ name: data.name,
293
+ email: data.contactEmail.toString(),
282
294
  };
283
295
  await this.updateIndex(indexEntry);
284
- // Add to name index
285
- this.nameIndex.set(data.name, doc.id);
286
- // Add to email index
287
- this.emailIndex.set(data.contactEmail.toString(), doc.id);
288
296
  rollbackOperations.push(async () => {
289
297
  if (doc) {
290
298
  this.memberIndex.delete(doc.id);
@@ -386,6 +394,48 @@ class MemberStore {
386
394
  throw new memberError_1.MemberError(memberErrorType_1.MemberErrorType.FailedToHydrateMember);
387
395
  }
388
396
  }
397
+ /**
398
+ * Returns the hex-encoded public key for a member.
399
+ *
400
+ * Fast path: when a DB reference is set, queries the `users` collection
401
+ * directly for `publicKey` (stored as hex by buildUserDocument). This
402
+ * avoids loading CBL blocks, which are not written for seeded users.
403
+ *
404
+ * Fallback: calls getMember() for members created via createMember() that
405
+ * do have real CBL blocks in the block store.
406
+ */
407
+ async getMemberPublicKeyHex(id) {
408
+ // Fast path — DB-backed lookup via users collection
409
+ if (this._db) {
410
+ const sp = service_provider_1.ServiceProvider.getInstance();
411
+ // Build the idHex the same way _queryIndexFromDb does: strip dashes
412
+ const idHex = (0, ecies_lib_1.uint8ArrayToHex)(sp.idProvider.toBytes(id));
413
+ // Try looking up by the hex id (matches _id stored as ShortHexGuid)
414
+ const usersCol = this._db.collection('users');
415
+ // _id in users is stored as the fullId (with or without dashes depending
416
+ // on the hydration schema). Try both forms.
417
+ let userDoc = await usersCol.findOne({ _id: idHex });
418
+ if (!userDoc) {
419
+ // Try dashed UUID form
420
+ const dashed = idHex.replace(/^([0-9a-f]{8})([0-9a-f]{4})([0-9a-f]{4})([0-9a-f]{4})([0-9a-f]{12})$/i, '$1-$2-$3-$4-$5');
421
+ userDoc = await usersCol.findOne({ _id: dashed });
422
+ }
423
+ if (userDoc?.publicKey) {
424
+ console.info(`[MemberStore] getMemberPublicKeyHex: found publicKey in users collection for id=${idHex}`);
425
+ return userDoc.publicKey;
426
+ }
427
+ }
428
+ // Fallback — reconstruct from CBL blocks (works for createMember() members)
429
+ try {
430
+ const member = await this.getMember(id);
431
+ return member.publicKey
432
+ ? Buffer.from(member.publicKey).toString('hex')
433
+ : null;
434
+ }
435
+ catch {
436
+ return null;
437
+ }
438
+ }
389
439
  /**
390
440
  * Get member profile document by ID
391
441
  * Deserializes CBL data to retrieve public and private profile data.
@@ -713,23 +763,55 @@ class MemberStore {
713
763
  regionSet.add(id);
714
764
  }
715
765
  }
766
+ // Update name index — remove old mapping if name changed
767
+ if (entry.name) {
768
+ if (oldEntry?.name && oldEntry.name !== entry.name) {
769
+ this.nameIndex.delete(oldEntry.name);
770
+ }
771
+ this.nameIndex.set(entry.name, id);
772
+ }
773
+ // Update email index — remove old mapping if email changed
774
+ if (entry.email) {
775
+ if (oldEntry?.email && oldEntry.email !== entry.email) {
776
+ this.emailIndex.delete(oldEntry.email);
777
+ }
778
+ this.emailIndex.set(entry.email, id);
779
+ }
716
780
  // Update member index
717
781
  this.memberIndex.set(id, entry);
718
782
  }
719
783
  /**
720
- * Query the member index
784
+ * Query the member index.
785
+ *
786
+ * When a `name` or `email` criterion is provided and the in-memory index is
787
+ * empty (e.g. after a server restart), falls back to querying the persisted
788
+ * `users` and `member_index` collections via the optional `_db` reference.
789
+ * This avoids loading the entire member list into memory for large databases.
721
790
  */
722
791
  async queryIndex(criteria) {
792
+ const sp = service_provider_1.ServiceProvider.getInstance();
793
+ // ── DB-backed fast path for name/email lookups ────────────────────────
794
+ // Use when the in-memory index is empty OR when a name/email lookup
795
+ // misses the in-memory name/email indexes (e.g. seeded users that were
796
+ // written directly to the DB via initializeWithRbac, bypassing
797
+ // createMember, so nameIndex/emailIndex were never populated).
798
+ if (this._db && (criteria.name || criteria.email)) {
799
+ const nameHit = criteria.name && this.nameIndex.has(criteria.name);
800
+ const emailHit = criteria.email && this.emailIndex.has(criteria.email);
801
+ if (this.memberIndex.size === 0 || (!nameHit && !emailHit)) {
802
+ return this._queryIndexFromDb(criteria);
803
+ }
804
+ }
805
+ // ── In-memory path ────────────────────────────────────────────────────
723
806
  let results = Array.from(this.memberIndex.values());
724
807
  // Apply filters
725
808
  if (criteria.id) {
726
- results = results.filter((entry) => criteria.id &&
727
- service_provider_1.ServiceProvider.getInstance().idProvider.equals(entry.id, criteria.id));
809
+ results = results.filter((entry) => criteria.id && sp.idProvider.equals(entry.id, criteria.id));
728
810
  }
729
811
  if (criteria.name) {
730
812
  const memberId = this.nameIndex.get(criteria.name);
731
813
  if (memberId) {
732
- results = results.filter((entry) => (0, ecies_lib_1.uint8ArrayToHex)(service_provider_1.ServiceProvider.getInstance().idProvider.toBytes(entry.id)) === memberId);
814
+ results = results.filter((entry) => (0, ecies_lib_1.uint8ArrayToHex)(sp.idProvider.toBytes(entry.id)) === memberId);
733
815
  }
734
816
  else {
735
817
  results = [];
@@ -738,7 +820,7 @@ class MemberStore {
738
820
  if (criteria.email) {
739
821
  const memberId = this.emailIndex.get(criteria.email);
740
822
  if (memberId) {
741
- results = results.filter((entry) => (0, ecies_lib_1.uint8ArrayToHex)(service_provider_1.ServiceProvider.getInstance().idProvider.toBytes(entry.id)) === memberId);
823
+ results = results.filter((entry) => (0, ecies_lib_1.uint8ArrayToHex)(sp.idProvider.toBytes(entry.id)) === memberId);
742
824
  }
743
825
  else {
744
826
  results = [];
@@ -770,11 +852,77 @@ class MemberStore {
770
852
  return results.map((entry) => ({
771
853
  id: entry.id,
772
854
  type: entry.type,
773
- status: entry.status,
774
855
  dateVerified: entry.lastUpdate,
775
856
  publicCBL: entry.publicCBL,
776
857
  }));
777
858
  }
859
+ /**
860
+ * DB-backed queryIndex for name/email lookups.
861
+ *
862
+ * Queries `users` for the member ID, then `member_index` for CBL checksums.
863
+ * Returns at most `criteria.limit` results (default 1 for name/email lookups).
864
+ * Does NOT load the full member list — O(1) DB lookups.
865
+ */
866
+ async _queryIndexFromDb(criteria) {
867
+ if (!this._db)
868
+ return [];
869
+ const sp = service_provider_1.ServiceProvider.getInstance();
870
+ // Look up the user document by username or email
871
+ const usersCol = this._db.collection('users');
872
+ let userDoc = null;
873
+ if (criteria.name) {
874
+ userDoc = await usersCol.findOne({ username: criteria.name });
875
+ }
876
+ else if (criteria.email) {
877
+ userDoc = await usersCol.findOne({ email: criteria.email });
878
+ }
879
+ if (!userDoc || !userDoc._id)
880
+ return [];
881
+ const idHex = userDoc._id.replace(/-/g, '');
882
+ // Look up the member_index document for CBL checksums
883
+ const indexCol = this._db.collection('member_index');
884
+ const indexDoc = await indexCol.findOne({ id: idHex });
885
+ if (!indexDoc)
886
+ return [];
887
+ // Reconstruct the typed ID and index entry
888
+ let typedId;
889
+ try {
890
+ typedId = sp.idProvider.idFromString(idHex);
891
+ }
892
+ catch {
893
+ return [];
894
+ }
895
+ const entry = {
896
+ id: typedId,
897
+ publicCBL: checksum_1.Checksum.fromHex(indexDoc.publicCBL),
898
+ privateCBL: checksum_1.Checksum.fromHex(indexDoc.privateCBL),
899
+ ...(indexDoc.publicProfileCBL
900
+ ? { publicProfileCBL: checksum_1.Checksum.fromHex(indexDoc.publicProfileCBL) }
901
+ : {}),
902
+ ...(indexDoc.privateProfileCBL
903
+ ? { privateProfileCBL: checksum_1.Checksum.fromHex(indexDoc.privateProfileCBL) }
904
+ : {}),
905
+ type: indexDoc.type,
906
+ status: indexDoc.status ?? memberStatusType_1.MemberStatusType.Active,
907
+ lastUpdate: new Date(indexDoc.lastUpdate),
908
+ region: indexDoc.region,
909
+ reputation: indexDoc.reputation ?? 0,
910
+ };
911
+ // Cache in the in-memory index for subsequent calls in this session
912
+ this.memberIndex.set(idHex, entry);
913
+ if (criteria.name)
914
+ this.nameIndex.set(criteria.name, idHex);
915
+ if (criteria.email)
916
+ this.emailIndex.set(criteria.email, idHex);
917
+ return [
918
+ {
919
+ id: typedId,
920
+ type: entry.type,
921
+ dateVerified: entry.lastUpdate,
922
+ publicCBL: entry.publicCBL,
923
+ },
924
+ ];
925
+ }
778
926
  /**
779
927
  * Sync shard with other nodes
780
928
  */
@@ -1 +1 @@
1
- {"version":3,"file":"memberStore.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/services/memberStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memberStore.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/services/memberStore.ts"],"names":[],"mappings":"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"}