@brightchain/brightchain-api-lib 0.18.2 → 0.21.0
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 +8 -3
- package/src/index.d.ts +0 -1
- package/src/index.d.ts.map +1 -1
- package/src/index.js +0 -1
- package/src/index.js.map +1 -1
- package/src/lib/application.d.ts +12 -3
- package/src/lib/application.d.ts.map +1 -1
- package/src/lib/application.js +153 -7
- package/src/lib/application.js.map +1 -1
- package/src/lib/availability/gossipService.d.ts +59 -1
- package/src/lib/availability/gossipService.d.ts.map +1 -1
- package/src/lib/availability/gossipService.js +125 -1
- package/src/lib/availability/gossipService.js.map +1 -1
- package/src/lib/availability/index.d.ts +1 -0
- package/src/lib/availability/index.d.ts.map +1 -1
- package/src/lib/availability/index.js +1 -0
- package/src/lib/availability/index.js.map +1 -1
- package/src/lib/availability/quorumGossipHandler.d.ts +126 -0
- package/src/lib/availability/quorumGossipHandler.d.ts.map +1 -0
- package/src/lib/availability/quorumGossipHandler.js +246 -0
- package/src/lib/availability/quorumGossipHandler.js.map +1 -0
- package/src/lib/constants.d.ts.map +1 -1
- package/src/lib/constants.js +4 -0
- package/src/lib/constants.js.map +1 -1
- package/src/lib/controllers/api/quorum.d.ts +110 -2
- package/src/lib/controllers/api/quorum.d.ts.map +1 -1
- package/src/lib/controllers/api/quorum.js +389 -0
- package/src/lib/controllers/api/quorum.js.map +1 -1
- package/src/lib/controllers/api/user.d.ts +12 -15
- package/src/lib/controllers/api/user.d.ts.map +1 -1
- package/src/lib/controllers/api/user.js +312 -94
- package/src/lib/controllers/api/user.js.map +1 -1
- package/src/lib/databaseInit.d.ts +3 -2
- package/src/lib/databaseInit.d.ts.map +1 -1
- package/src/lib/databaseInit.js +24 -12
- package/src/lib/databaseInit.js.map +1 -1
- package/src/lib/datastore/index.d.ts +0 -1
- package/src/lib/datastore/index.d.ts.map +1 -1
- package/src/lib/datastore/index.js +0 -1
- package/src/lib/datastore/index.js.map +1 -1
- package/src/lib/environment.d.ts +6 -0
- package/src/lib/environment.d.ts.map +1 -1
- package/src/lib/environment.js +14 -0
- package/src/lib/environment.js.map +1 -1
- package/src/lib/hydration/energyAccountHydration.d.ts +17 -0
- package/src/lib/hydration/energyAccountHydration.d.ts.map +1 -0
- package/src/lib/hydration/energyAccountHydration.js +24 -0
- package/src/lib/hydration/energyAccountHydration.js.map +1 -0
- package/src/lib/hydration/index.d.ts +13 -0
- package/src/lib/hydration/index.d.ts.map +1 -0
- package/src/lib/hydration/index.js +21 -0
- package/src/lib/hydration/index.js.map +1 -0
- package/src/lib/hydration/rbacHydration.d.ts +28 -0
- package/src/lib/hydration/rbacHydration.d.ts.map +1 -0
- package/src/lib/hydration/rbacHydration.js +56 -0
- package/src/lib/hydration/rbacHydration.js.map +1 -0
- package/src/lib/interfaces/environment.d.ts +7 -1
- package/src/lib/interfaces/environment.d.ts.map +1 -1
- package/src/lib/interfaces/responses/api-backup-codes-response.d.ts +1 -1
- package/src/lib/interfaces/responses/api-code-count-response.d.ts +1 -1
- package/src/lib/interfaces/responses/api-password-change-response.d.ts +9 -0
- package/src/lib/interfaces/responses/api-password-change-response.d.ts.map +1 -0
- package/src/lib/interfaces/responses/api-password-change-response.js +3 -0
- package/src/lib/interfaces/responses/api-password-change-response.js.map +1 -0
- package/src/lib/interfaces/responses/api-recovery-response.d.ts +9 -0
- package/src/lib/interfaces/responses/api-recovery-response.d.ts.map +1 -0
- package/src/lib/interfaces/responses/api-recovery-response.js +3 -0
- package/src/lib/interfaces/responses/api-recovery-response.js.map +1 -0
- package/src/lib/interfaces/responses/index.d.ts +2 -0
- package/src/lib/interfaces/responses/index.d.ts.map +1 -1
- package/src/lib/interfaces/storage/client-session.d.ts +1 -1
- package/src/lib/interfaces/storage/client-session.d.ts.map +1 -1
- package/src/lib/interfaces/storage/collection.d.ts +1 -1
- package/src/lib/interfaces/storage/collection.d.ts.map +1 -1
- package/src/lib/interfaces/storage/database-lifecycle-hooks.d.ts +1 -1
- package/src/lib/interfaces/storage/database-lifecycle-hooks.d.ts.map +1 -1
- package/src/lib/interfaces/storage/database.d.ts +1 -1
- package/src/lib/interfaces/storage/database.d.ts.map +1 -1
- package/src/lib/interfaces/storage/document-types.d.ts +1 -1
- package/src/lib/interfaces/storage/document-types.d.ts.map +1 -1
- package/src/lib/interfaces/storage/index.d.ts +1 -0
- package/src/lib/interfaces/storage/index.d.ts.map +1 -1
- package/src/lib/interfaces/storage/index.js.map +1 -1
- package/src/lib/interfaces/storage/storedDocumentTypes.d.ts +73 -0
- package/src/lib/interfaces/storage/storedDocumentTypes.d.ts.map +1 -0
- package/src/lib/interfaces/storage/storedDocumentTypes.js +15 -0
- package/src/lib/interfaces/storage/storedDocumentTypes.js.map +1 -0
- package/src/lib/plugins/brightchain-database-plugin.d.ts +31 -21
- package/src/lib/plugins/brightchain-database-plugin.d.ts.map +1 -1
- package/src/lib/plugins/brightchain-database-plugin.js +103 -53
- package/src/lib/plugins/brightchain-database-plugin.js.map +1 -1
- package/src/lib/plugins/configure-brightchain-app.d.ts.map +1 -1
- package/src/lib/plugins/configure-brightchain-app.js +5 -0
- package/src/lib/plugins/configure-brightchain-app.js.map +1 -1
- package/src/lib/services/auth.d.ts +6 -2
- package/src/lib/services/auth.d.ts.map +1 -1
- package/src/lib/services/auth.js +43 -7
- package/src/lib/services/auth.js.map +1 -1
- package/src/lib/services/backupCodeService.d.ts +35 -0
- package/src/lib/services/backupCodeService.d.ts.map +1 -0
- package/src/lib/services/backupCodeService.js +109 -0
- package/src/lib/services/backupCodeService.js.map +1 -0
- package/src/lib/services/brightchain-authentication-provider.d.ts.map +1 -1
- package/src/lib/services/brightchain-authentication-provider.js +28 -9
- package/src/lib/services/brightchain-authentication-provider.js.map +1 -1
- package/src/lib/services/brightchain-member-init.service.d.ts +39 -20
- package/src/lib/services/brightchain-member-init.service.d.ts.map +1 -1
- package/src/lib/services/brightchain-member-init.service.js +139 -53
- package/src/lib/services/brightchain-member-init.service.js.map +1 -1
- package/src/lib/services/cliOperatorPrompt.d.ts +81 -0
- package/src/lib/services/cliOperatorPrompt.d.ts.map +1 -0
- package/src/lib/services/cliOperatorPrompt.js +177 -0
- package/src/lib/services/cliOperatorPrompt.js.map +1 -0
- package/src/lib/services/contentAwareBlocksService.d.ts +92 -0
- package/src/lib/services/contentAwareBlocksService.d.ts.map +1 -0
- package/src/lib/services/contentAwareBlocksService.js +102 -0
- package/src/lib/services/contentAwareBlocksService.js.map +1 -0
- package/src/lib/services/contentIngestionService.d.ts +68 -0
- package/src/lib/services/contentIngestionService.d.ts.map +1 -0
- package/src/lib/services/contentIngestionService.js +139 -0
- package/src/lib/services/contentIngestionService.js.map +1 -0
- package/src/lib/services/identityExpirationScheduler.d.ts +77 -0
- package/src/lib/services/identityExpirationScheduler.d.ts.map +1 -0
- package/src/lib/services/identityExpirationScheduler.js +157 -0
- package/src/lib/services/identityExpirationScheduler.js.map +1 -0
- package/src/lib/services/index.d.ts +7 -0
- package/src/lib/services/index.d.ts.map +1 -1
- package/src/lib/services/index.js +7 -0
- package/src/lib/services/index.js.map +1 -1
- package/src/lib/services/quorumDatabaseAdapter.d.ts +60 -0
- package/src/lib/services/quorumDatabaseAdapter.d.ts.map +1 -0
- package/src/lib/services/quorumDatabaseAdapter.js +652 -0
- package/src/lib/services/quorumDatabaseAdapter.js.map +1 -0
- package/src/lib/services/secureKeyStorage.js +3 -3
- package/src/lib/services/secureKeyStorage.js.map +1 -1
- package/src/lib/services/sessionAdapter.d.ts +62 -0
- package/src/lib/services/sessionAdapter.d.ts.map +1 -0
- package/src/lib/services/sessionAdapter.js +105 -0
- package/src/lib/services/sessionAdapter.js.map +1 -0
- package/src/lib/utils/rehydration.d.ts +31 -0
- package/src/lib/utils/rehydration.d.ts.map +1 -0
- package/src/lib/utils/rehydration.js +111 -0
- package/src/lib/utils/rehydration.js.map +1 -0
- package/src/lib/utils/serialization.d.ts +21 -0
- package/src/lib/utils/serialization.d.ts.map +1 -0
- package/src/lib/utils/serialization.js +41 -0
- package/src/lib/utils/serialization.js.map +1 -0
- package/src/lib/validation/userValidation.d.ts +17 -0
- package/src/lib/validation/userValidation.d.ts.map +1 -1
- package/src/lib/validation/userValidation.js +77 -0
- package/src/lib/validation/userValidation.js.map +1 -1
- package/src/lib/adapters/brightChainDbDocumentStoreAdapter.d.ts +0 -24
- package/src/lib/adapters/brightChainDbDocumentStoreAdapter.d.ts.map +0 -1
- package/src/lib/adapters/brightChainDbDocumentStoreAdapter.js +0 -53
- package/src/lib/adapters/brightChainDbDocumentStoreAdapter.js.map +0 -1
- package/src/lib/datastore/document-model-adapter.d.ts +0 -48
- package/src/lib/datastore/document-model-adapter.d.ts.map +0 -1
- package/src/lib/datastore/document-model-adapter.js +0 -178
- package/src/lib/datastore/document-model-adapter.js.map +0 -1
- /package/{brightchain-api-lib/README.md → README.md} +0 -0
|
@@ -15,15 +15,18 @@ const brightchain_lib_1 = require("@brightchain/brightchain-lib");
|
|
|
15
15
|
const db_1 = require("@brightchain/db");
|
|
16
16
|
const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
|
|
17
17
|
const i18n_lib_1 = require("@digitaldefiance/i18n-lib");
|
|
18
|
+
const node_ecies_lib_1 = require("@digitaldefiance/node-ecies-lib");
|
|
18
19
|
const suite_core_lib_1 = require("@digitaldefiance/suite-core-lib");
|
|
19
20
|
const brightChainApiStrings_1 = require("../enumerations/brightChainApiStrings");
|
|
20
21
|
const memberIndexSchemaValidationError_1 = require("../errors/memberIndexSchemaValidationError");
|
|
22
|
+
const hydration_1 = require("../hydration");
|
|
21
23
|
const memberIndexSchema_1 = require("../interfaces/storage/memberIndexSchema");
|
|
22
24
|
const mnemonicSchema_1 = require("../interfaces/storage/mnemonicSchema");
|
|
23
25
|
const roleSchema_1 = require("../interfaces/storage/roleSchema");
|
|
24
26
|
const userRoleSchema_1 = require("../interfaces/storage/userRoleSchema");
|
|
25
27
|
const userSchema_1 = require("../interfaces/storage/userSchema");
|
|
26
28
|
const diskBlockStore_1 = require("../stores/diskBlockStore");
|
|
29
|
+
const serialization_1 = require("../utils/serialization");
|
|
27
30
|
/** Well-known collection name for the member index. */
|
|
28
31
|
const MEMBER_INDEX_COLLECTION = 'member_index';
|
|
29
32
|
// ─── Block store helpers (not exported) ──────────────────────────────────────
|
|
@@ -96,7 +99,7 @@ class BrightChainMemberInitService {
|
|
|
96
99
|
*
|
|
97
100
|
* Steps:
|
|
98
101
|
* 1. Build the appropriate block store (disk or memory)
|
|
99
|
-
* 2. Create
|
|
102
|
+
* 2. Create BrightChainDb with an isolated HeadRegistry
|
|
100
103
|
* 3. Create CBLIndex for the member pool
|
|
101
104
|
* 4. Build candidate IMemberIndexDocument entries
|
|
102
105
|
* 5. Validate all candidates against MEMBER_INDEX_SCHEMA (pre-transaction)
|
|
@@ -112,12 +115,12 @@ class BrightChainMemberInitService {
|
|
|
112
115
|
: buildMemoryBlockStore(config.blockSize);
|
|
113
116
|
const db = new db_1.BrightChainDb(blockStore, {
|
|
114
117
|
name: config.memberPoolName,
|
|
115
|
-
|
|
116
|
-
//
|
|
117
|
-
...(useDisk
|
|
118
|
+
// Use PersistentHeadRegistry for disk stores so data survives across
|
|
119
|
+
// service instances; use an isolated in-memory registry otherwise.
|
|
120
|
+
...(useDisk
|
|
121
|
+
? { dataDir: config.blockStorePath }
|
|
122
|
+
: { headRegistry: db_1.HeadRegistry.createIsolated() }),
|
|
118
123
|
});
|
|
119
|
-
// Load persisted head pointers from disk (no-op for InMemoryHeadRegistry)
|
|
120
|
-
await db.getHeadRegistry().load();
|
|
121
124
|
await db.connect();
|
|
122
125
|
this._db = db;
|
|
123
126
|
this._memberCblIndex = new db_1.CBLIndex(db, blockStore);
|
|
@@ -139,7 +142,13 @@ class BrightChainMemberInitService {
|
|
|
139
142
|
const toInsert = candidates.filter((c) => !existingIds.has(c.id));
|
|
140
143
|
const skippedCount = candidates.length - toInsert.length;
|
|
141
144
|
if (toInsert.length === 0) {
|
|
142
|
-
return {
|
|
145
|
+
return {
|
|
146
|
+
input,
|
|
147
|
+
alreadyInitialized: true,
|
|
148
|
+
insertedCount: 0,
|
|
149
|
+
skippedCount,
|
|
150
|
+
db,
|
|
151
|
+
};
|
|
143
152
|
}
|
|
144
153
|
// Step 7: insert in a single transaction
|
|
145
154
|
await db.withTransaction(async (session) => {
|
|
@@ -148,12 +157,49 @@ class BrightChainMemberInitService {
|
|
|
148
157
|
}
|
|
149
158
|
});
|
|
150
159
|
return {
|
|
160
|
+
input,
|
|
151
161
|
alreadyInitialized: false,
|
|
152
162
|
insertedCount: toInsert.length,
|
|
153
163
|
skippedCount,
|
|
154
164
|
db,
|
|
155
165
|
};
|
|
156
166
|
}
|
|
167
|
+
// ── Model registration ───────────────────────────────────────────────────
|
|
168
|
+
/**
|
|
169
|
+
* Register typed Models for all RBAC collections on the given BrightChainDb.
|
|
170
|
+
*
|
|
171
|
+
* After this call, `db.model('roles')`, `db.model('users')`, etc. return
|
|
172
|
+
* Model instances that auto-serialize on writes and auto-rehydrate on reads.
|
|
173
|
+
*
|
|
174
|
+
* Idempotent — skips registration if models are already present.
|
|
175
|
+
*/
|
|
176
|
+
registerRbacModels(db) {
|
|
177
|
+
const idProvider = (0, node_ecies_lib_1.getEnhancedNodeIdProvider)();
|
|
178
|
+
if (!db.hasModel(roleSchema_1.ROLES_COLLECTION)) {
|
|
179
|
+
db.model(roleSchema_1.ROLES_COLLECTION, {
|
|
180
|
+
schema: roleSchema_1.ROLE_SCHEMA,
|
|
181
|
+
hydration: (0, hydration_1.createRoleHydrationSchema)(idProvider),
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
if (!db.hasModel(userSchema_1.USERS_COLLECTION)) {
|
|
185
|
+
db.model(userSchema_1.USERS_COLLECTION, {
|
|
186
|
+
schema: userSchema_1.USER_SCHEMA,
|
|
187
|
+
hydration: (0, hydration_1.createUserHydrationSchema)(idProvider),
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
if (!db.hasModel(userRoleSchema_1.USER_ROLES_COLLECTION)) {
|
|
191
|
+
db.model(userRoleSchema_1.USER_ROLES_COLLECTION, {
|
|
192
|
+
schema: userRoleSchema_1.USER_ROLE_SCHEMA,
|
|
193
|
+
hydration: (0, hydration_1.createUserRoleHydrationSchema)(idProvider),
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
if (!db.hasModel(mnemonicSchema_1.MNEMONICS_COLLECTION)) {
|
|
197
|
+
db.model(mnemonicSchema_1.MNEMONICS_COLLECTION, {
|
|
198
|
+
schema: mnemonicSchema_1.MNEMONIC_SCHEMA,
|
|
199
|
+
hydration: (0, hydration_1.createMnemonicHydrationSchema)(idProvider),
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
}
|
|
157
203
|
// ── RBAC initialization ─────────────────────────────────────────────────
|
|
158
204
|
/**
|
|
159
205
|
* Build a role document for insertion into the roles collection.
|
|
@@ -227,27 +273,14 @@ class BrightChainMemberInitService {
|
|
|
227
273
|
}
|
|
228
274
|
/**
|
|
229
275
|
* Serialize a typed RBAC document for storage/validation.
|
|
230
|
-
*
|
|
231
|
-
*
|
|
232
|
-
*
|
|
276
|
+
* Delegates to the standalone serializeForStorage utility.
|
|
277
|
+
*
|
|
278
|
+
* @template T - The input typed document (e.g. IRoleBase<TID, Date, string>)
|
|
279
|
+
* @template TStored - The expected stored output type (e.g. IStoredRole).
|
|
280
|
+
* When omitted, returns a generic Record.
|
|
233
281
|
*/
|
|
234
282
|
static serializeForStorage(doc) {
|
|
235
|
-
|
|
236
|
-
for (const [key, value] of Object.entries(doc)) {
|
|
237
|
-
if (value instanceof Date) {
|
|
238
|
-
result[key] = value.toISOString();
|
|
239
|
-
}
|
|
240
|
-
else if (Buffer.isBuffer(value) && 'asFullHexGuid' in value) {
|
|
241
|
-
result[key] = value.asFullHexGuid;
|
|
242
|
-
}
|
|
243
|
-
else if (Buffer.isBuffer(value)) {
|
|
244
|
-
result[key] = value.toString('hex');
|
|
245
|
-
}
|
|
246
|
-
else {
|
|
247
|
-
result[key] = value;
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
return result;
|
|
283
|
+
return (0, serialization_1.serializeForStorage)(doc);
|
|
251
284
|
}
|
|
252
285
|
/**
|
|
253
286
|
* Validate a document against a schema, returning field errors (if any).
|
|
@@ -256,6 +289,8 @@ class BrightChainMemberInitService {
|
|
|
256
289
|
* (IRoleBase, IUserBase, etc.) without needing an index signature.
|
|
257
290
|
* Serializes the document before validation so GuidV4Buffer and Date
|
|
258
291
|
* values are converted to the string types the schemas expect.
|
|
292
|
+
*
|
|
293
|
+
* @deprecated Prefer using Model.validate() which handles dehydration internally.
|
|
259
294
|
*/
|
|
260
295
|
static validateRbacDocument(doc, schema, collectionName) {
|
|
261
296
|
try {
|
|
@@ -303,70 +338,92 @@ class BrightChainMemberInitService {
|
|
|
303
338
|
const userDocuments = users.map((u) => BrightChainMemberInitService.buildUserDocument(u, systemUserId, now));
|
|
304
339
|
const userRoleDocuments = users.map((u) => BrightChainMemberInitService.buildUserRoleDocument(u, systemUserId, now));
|
|
305
340
|
const mnemonicDocuments = users.map((u) => BrightChainMemberInitService.buildMnemonicDocument(u));
|
|
306
|
-
// Validate all RBAC documents before touching the DB
|
|
341
|
+
// Validate all RBAC documents via the Model layer before touching the DB.
|
|
342
|
+
// Model.validate() dehydrates internally and checks against the schema.
|
|
343
|
+
// We register models first so validate() is available.
|
|
344
|
+
this.registerRbacModels(db);
|
|
345
|
+
const rolesModelForValidation = db.model(roleSchema_1.ROLES_COLLECTION);
|
|
346
|
+
const usersModelForValidation = db.model(userSchema_1.USERS_COLLECTION);
|
|
347
|
+
const userRolesModelForValidation = db.model(userRoleSchema_1.USER_ROLES_COLLECTION);
|
|
348
|
+
const mnemonicsModelForValidation = db.model(mnemonicSchema_1.MNEMONICS_COLLECTION);
|
|
307
349
|
for (const doc of roleDocuments) {
|
|
308
|
-
const errors =
|
|
350
|
+
const errors = rolesModelForValidation.validate(doc);
|
|
309
351
|
if (errors.length > 0) {
|
|
310
352
|
throw new memberIndexSchemaValidationError_1.MemberIndexSchemaValidationError(errors);
|
|
311
353
|
}
|
|
312
354
|
}
|
|
313
355
|
for (const doc of userDocuments) {
|
|
314
|
-
const errors =
|
|
356
|
+
const errors = usersModelForValidation.validate(doc);
|
|
315
357
|
if (errors.length > 0) {
|
|
316
358
|
throw new memberIndexSchemaValidationError_1.MemberIndexSchemaValidationError(errors);
|
|
317
359
|
}
|
|
318
360
|
}
|
|
319
361
|
for (const doc of userRoleDocuments) {
|
|
320
|
-
const errors =
|
|
362
|
+
const errors = userRolesModelForValidation.validate(doc);
|
|
321
363
|
if (errors.length > 0) {
|
|
322
364
|
throw new memberIndexSchemaValidationError_1.MemberIndexSchemaValidationError(errors);
|
|
323
365
|
}
|
|
324
366
|
}
|
|
325
367
|
for (const doc of mnemonicDocuments) {
|
|
326
|
-
const errors =
|
|
368
|
+
const errors = mnemonicsModelForValidation.validate(doc);
|
|
327
369
|
if (errors.length > 0) {
|
|
328
370
|
throw new memberIndexSchemaValidationError_1.MemberIndexSchemaValidationError(errors);
|
|
329
371
|
}
|
|
330
372
|
}
|
|
331
|
-
// Step 9:
|
|
332
|
-
|
|
333
|
-
const
|
|
334
|
-
const
|
|
335
|
-
const
|
|
336
|
-
const
|
|
337
|
-
|
|
338
|
-
const
|
|
339
|
-
const
|
|
340
|
-
const
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
const
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
const
|
|
373
|
+
// Step 9: Models are already registered above — retrieve them for
|
|
374
|
+
// idempotency checks and inserts.
|
|
375
|
+
const rolesModel = rolesModelForValidation;
|
|
376
|
+
const usersModel = usersModelForValidation;
|
|
377
|
+
const userRolesModel = userRolesModelForValidation;
|
|
378
|
+
const mnemonicsModel = mnemonicsModelForValidation;
|
|
379
|
+
// Idempotency check: read existing stored _ids via the raw collection.
|
|
380
|
+
const existingRoles = await rolesModel.collection.find({}).toArray();
|
|
381
|
+
const existingUsers = await usersModel.collection.find({}).toArray();
|
|
382
|
+
const existingUserRoles = await userRolesModel.collection
|
|
383
|
+
.find({})
|
|
384
|
+
.toArray();
|
|
385
|
+
const existingMnemonics = await mnemonicsModel.collection
|
|
386
|
+
.find({})
|
|
387
|
+
.toArray();
|
|
388
|
+
// Stored _id values are already hex strings — no conversion needed.
|
|
389
|
+
const existingRoleIds = new Set(existingRoles.map((r) => r._id));
|
|
390
|
+
const existingUserIds = new Set(existingUsers.map((u) => u._id));
|
|
391
|
+
const existingUserRoleIds = new Set(existingUserRoles.map((ur) => ur._id));
|
|
392
|
+
const existingMnemonicIds = new Set(existingMnemonics.map((m) => m._id));
|
|
393
|
+
// Compare typed documents against stored hex strings by dehydrating the _id.
|
|
394
|
+
const rolesToInsert = roleDocuments.filter((d) => !existingRoleIds.has(String(rolesModel.dehydrate(d)['_id'])));
|
|
395
|
+
const usersToInsert = userDocuments.filter((d) => !existingUserIds.has(String(usersModel.dehydrate(d)['_id'])));
|
|
396
|
+
const userRolesToInsert = userRoleDocuments.filter((d) => !existingUserRoleIds.has(String(userRolesModel.dehydrate(d)['_id'])));
|
|
397
|
+
const mnemonicsToInsert = mnemonicDocuments.filter((d) => !existingMnemonicIds.has(String(mnemonicsModel.dehydrate(d)['_id'])));
|
|
348
398
|
const totalToInsert = rolesToInsert.length +
|
|
349
399
|
usersToInsert.length +
|
|
350
400
|
userRolesToInsert.length +
|
|
351
401
|
mnemonicsToInsert.length;
|
|
352
|
-
// Step 10: Insert missing RBAC documents in a single transaction
|
|
402
|
+
// Step 10: Insert missing RBAC documents in a single transaction.
|
|
403
|
+
// Model.insertOne auto-dehydrates typed → stored and validates against
|
|
404
|
+
// the schema, so no manual serializeForStorage calls are needed.
|
|
353
405
|
if (totalToInsert > 0) {
|
|
354
406
|
await db.withTransaction(async (session) => {
|
|
355
407
|
for (const doc of rolesToInsert) {
|
|
356
|
-
await
|
|
408
|
+
await rolesModel.collection.insertOne(rolesModel.dehydrate(doc), {
|
|
409
|
+
session,
|
|
410
|
+
});
|
|
357
411
|
}
|
|
358
412
|
for (const doc of mnemonicsToInsert) {
|
|
359
|
-
await
|
|
413
|
+
await mnemonicsModel.collection.insertOne(mnemonicsModel.dehydrate(doc), { session });
|
|
360
414
|
}
|
|
361
415
|
for (const doc of usersToInsert) {
|
|
362
|
-
await
|
|
416
|
+
await usersModel.collection.insertOne(usersModel.dehydrate(doc), {
|
|
417
|
+
session,
|
|
418
|
+
});
|
|
363
419
|
}
|
|
364
420
|
for (const doc of userRolesToInsert) {
|
|
365
|
-
await
|
|
421
|
+
await userRolesModel.collection.insertOne(userRolesModel.dehydrate(doc), { session });
|
|
366
422
|
}
|
|
367
423
|
});
|
|
368
424
|
}
|
|
369
425
|
return {
|
|
426
|
+
input,
|
|
370
427
|
alreadyInitialized: baseResult.alreadyInitialized && totalToInsert === 0,
|
|
371
428
|
insertedCount: baseResult.insertedCount + totalToInsert,
|
|
372
429
|
skippedCount: baseResult.skippedCount,
|
|
@@ -482,6 +539,35 @@ class BrightChainMemberInitService {
|
|
|
482
539
|
log('=== End BrightChain Account Credentials ===');
|
|
483
540
|
log('');
|
|
484
541
|
}
|
|
542
|
+
/**
|
|
543
|
+
* Print a formatted summary of the BrightChain member init results.
|
|
544
|
+
* Kept for backward compatibility — delegates to printServerInitResults
|
|
545
|
+
* when a full result is available, otherwise prints minimal info.
|
|
546
|
+
*/
|
|
547
|
+
static printBaseInitResults(input, result, config) {
|
|
548
|
+
const log = (msg) => console.log(msg);
|
|
549
|
+
log('');
|
|
550
|
+
log('=== BrightChain Member Initialization Results ===');
|
|
551
|
+
log('');
|
|
552
|
+
log(` Pool: ${config.memberPoolName}`);
|
|
553
|
+
log(` Block Store: ${config.blockStorePath ?? 'in-memory (ephemeral)'}`);
|
|
554
|
+
log(` Already Init: ${result.alreadyInitialized}`);
|
|
555
|
+
log(` Inserted: ${result.insertedCount}`);
|
|
556
|
+
log(` Skipped: ${result.skippedCount}`);
|
|
557
|
+
log('');
|
|
558
|
+
const entries = [
|
|
559
|
+
{ label: 'System', entry: input.systemUser },
|
|
560
|
+
{ label: 'Admin', entry: input.adminUser },
|
|
561
|
+
{ label: 'Member', entry: input.memberUser },
|
|
562
|
+
];
|
|
563
|
+
for (const { label, entry } of entries) {
|
|
564
|
+
log(` ${label} ID: ${entry.id}`);
|
|
565
|
+
log(` ${label} Type: ${this.memberTypeLabel(entry.type)}`);
|
|
566
|
+
log('');
|
|
567
|
+
}
|
|
568
|
+
log('=== End BrightChain Member Initialization ===');
|
|
569
|
+
log('');
|
|
570
|
+
}
|
|
485
571
|
/**
|
|
486
572
|
* Print a formatted summary of the BrightChain member init results.
|
|
487
573
|
* Kept for backward compatibility — delegates to printServerInitResults
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brightchain-member-init.service.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/brightchain-member-init.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"brightchain-member-init.service.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/brightchain-member-init.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLIOperatorPrompt — Node.js readline-based implementation of IOperatorPrompt.
|
|
3
|
+
*
|
|
4
|
+
* Presents quorum proposals to the node operator via the terminal and collects
|
|
5
|
+
* vote decisions with password authentication on approve votes.
|
|
6
|
+
*
|
|
7
|
+
* Tracks failed authentication attempts per proposal and locks voting after
|
|
8
|
+
* a configurable number of consecutive failures for a cooldown period.
|
|
9
|
+
*
|
|
10
|
+
* This is a Node.js-specific service that lives in brightchain-api-lib.
|
|
11
|
+
*
|
|
12
|
+
* @see Requirements 6
|
|
13
|
+
*/
|
|
14
|
+
import { IOperatorPrompt, OperatorVoteResult, ProposalDisplay } from '@brightchain/brightchain-lib';
|
|
15
|
+
import { ShortHexGuid } from '@digitaldefiance/ecies-lib';
|
|
16
|
+
import * as readline from 'readline';
|
|
17
|
+
import { Writable } from 'stream';
|
|
18
|
+
/**
|
|
19
|
+
* Configuration for the CLI operator prompt lockout behavior.
|
|
20
|
+
*/
|
|
21
|
+
export interface CLIOperatorPromptConfig {
|
|
22
|
+
/** Maximum consecutive failed authentication attempts before lockout. Default: 3 */
|
|
23
|
+
maxAttempts: number;
|
|
24
|
+
/** Cooldown duration in milliseconds after lockout. Default: 300000 (5 minutes) */
|
|
25
|
+
cooldownMs: number;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* CLI-based operator prompt for quorum voting.
|
|
29
|
+
*
|
|
30
|
+
* Uses Node.js readline to interact with the operator via stdin/stdout.
|
|
31
|
+
* Tracks failed authentication attempts per proposal and enforces lockout
|
|
32
|
+
* after the configured maximum failures.
|
|
33
|
+
*/
|
|
34
|
+
export declare class CLIOperatorPrompt implements IOperatorPrompt {
|
|
35
|
+
private readonly config;
|
|
36
|
+
private readonly lockoutMap;
|
|
37
|
+
private readonly rlFactory;
|
|
38
|
+
private readonly output;
|
|
39
|
+
constructor(config?: Partial<CLIOperatorPromptConfig>, rlFactory?: () => readline.Interface, output?: Writable);
|
|
40
|
+
/**
|
|
41
|
+
* Check if the voting interface is locked for a given proposal.
|
|
42
|
+
* Returns true if the operator has exceeded the maximum failed attempts
|
|
43
|
+
* and the cooldown period has not yet elapsed.
|
|
44
|
+
*/
|
|
45
|
+
isLocked(proposalId: ShortHexGuid): boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Present a proposal to the operator and collect their vote.
|
|
48
|
+
* Displays proposal details, collects a vote decision, and on approve
|
|
49
|
+
* requires password authentication.
|
|
50
|
+
*
|
|
51
|
+
* @throws Error if the proposal is currently locked due to failed attempts
|
|
52
|
+
*/
|
|
53
|
+
promptForVote(proposal: ProposalDisplay): Promise<OperatorVoteResult>;
|
|
54
|
+
/**
|
|
55
|
+
* Display proposal details to the operator via the readline output.
|
|
56
|
+
*/
|
|
57
|
+
private displayProposal;
|
|
58
|
+
/**
|
|
59
|
+
* Prompt the operator for their vote decision (approve or reject).
|
|
60
|
+
*/
|
|
61
|
+
private collectDecision;
|
|
62
|
+
/**
|
|
63
|
+
* Prompt the operator for their password to authenticate the approve vote.
|
|
64
|
+
*/
|
|
65
|
+
private collectPassword;
|
|
66
|
+
/**
|
|
67
|
+
* Record a failed authentication attempt for a proposal.
|
|
68
|
+
* If the maximum attempts are reached, trigger lockout.
|
|
69
|
+
*/
|
|
70
|
+
private recordFailedAttempt;
|
|
71
|
+
/**
|
|
72
|
+
* Record a failed attempt externally (for use when authentication
|
|
73
|
+
* is validated outside this class, e.g., by the QuorumStateMachine).
|
|
74
|
+
*/
|
|
75
|
+
recordAuthFailure(proposalId: ShortHexGuid): void;
|
|
76
|
+
/**
|
|
77
|
+
* Reset failed attempts for a proposal (on successful authentication).
|
|
78
|
+
*/
|
|
79
|
+
private resetAttempts;
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=cliOperatorPrompt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cliOperatorPrompt.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/cliOperatorPrompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,eAAe,EAChB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAIlC;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,oFAAoF;IACpF,WAAW,EAAE,MAAM,CAAC;IACpB,mFAAmF;IACnF,UAAU,EAAE,MAAM,CAAC;CACpB;AAqBD;;;;;;GAMG;AACH,qBAAa,iBAAkB,YAAW,eAAe;IACvD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;IACjD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA8C;IACzE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA2B;IACrD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAW;gBAGhC,MAAM,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,EACzC,SAAS,CAAC,EAAE,MAAM,QAAQ,CAAC,SAAS,EACpC,MAAM,CAAC,EAAE,QAAQ;IAanB;;;;OAIG;IACH,QAAQ,CAAC,UAAU,EAAE,YAAY,GAAG,OAAO;IAe3C;;;;;;OAMG;IACG,aAAa,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAqC3E;;OAEG;IACH,OAAO,CAAC,eAAe;IAyBvB;;OAEG;IACH,OAAO,CAAC,eAAe;IAwBvB;;OAEG;IACH,OAAO,CAAC,eAAe;IAWvB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAY3B;;;OAGG;IACH,iBAAiB,CAAC,UAAU,EAAE,YAAY,GAAG,IAAI;IAIjD;;OAEG;IACH,OAAO,CAAC,aAAa;CAGtB"}
|