@brightchain/brightchain-api-lib 0.17.2 → 0.18.2
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 +4 -4
- package/src/index.d.ts +2 -1
- package/src/index.d.ts.map +1 -1
- package/src/index.js +3 -1
- package/src/index.js.map +1 -1
- package/src/lib/application.d.ts +7 -7
- package/src/lib/application.d.ts.map +1 -1
- package/src/lib/application.js +21 -43
- package/src/lib/application.js.map +1 -1
- package/src/lib/controllers/api/channels.d.ts +1 -3
- package/src/lib/controllers/api/channels.d.ts.map +1 -1
- package/src/lib/controllers/api/channels.js +13 -13
- package/src/lib/controllers/api/channels.js.map +1 -1
- package/src/lib/controllers/api/conversations.d.ts +1 -2
- package/src/lib/controllers/api/conversations.d.ts.map +1 -1
- package/src/lib/controllers/api/conversations.js +7 -7
- package/src/lib/controllers/api/conversations.js.map +1 -1
- package/src/lib/controllers/api/emails.d.ts.map +1 -1
- package/src/lib/controllers/api/emails.js +12 -14
- package/src/lib/controllers/api/emails.js.map +1 -1
- package/src/lib/controllers/api/explodingMessages.d.ts +1 -2
- package/src/lib/controllers/api/explodingMessages.d.ts.map +1 -1
- package/src/lib/controllers/api/explodingMessages.js +11 -11
- package/src/lib/controllers/api/explodingMessages.js.map +1 -1
- package/src/lib/controllers/api/groups.d.ts +1 -3
- package/src/lib/controllers/api/groups.d.ts.map +1 -1
- package/src/lib/controllers/api/groups.js +9 -9
- package/src/lib/controllers/api/groups.js.map +1 -1
- package/src/lib/controllers/crypto/gitController.d.ts +1 -1
- package/src/lib/controllers/crypto/gitController.d.ts.map +1 -1
- package/src/lib/controllers/crypto/gitController.js +8 -8
- package/src/lib/controllers/crypto/gitController.js.map +1 -1
- package/src/lib/controllers/crypto/walletController.d.ts +1 -1
- package/src/lib/controllers/crypto/walletController.d.ts.map +1 -1
- package/src/lib/controllers/crypto/walletController.js +5 -5
- package/src/lib/controllers/crypto/walletController.js.map +1 -1
- package/src/lib/controllers/identity/deviceController.d.ts +1 -2
- package/src/lib/controllers/identity/deviceController.d.ts.map +1 -1
- package/src/lib/controllers/identity/deviceController.js +7 -8
- package/src/lib/controllers/identity/deviceController.js.map +1 -1
- package/src/lib/controllers/identity/directoryController.d.ts +1 -2
- package/src/lib/controllers/identity/directoryController.d.ts.map +1 -1
- package/src/lib/controllers/identity/directoryController.js +6 -7
- package/src/lib/controllers/identity/directoryController.js.map +1 -1
- package/src/lib/controllers/identity/identityProofController.d.ts +1 -1
- package/src/lib/controllers/identity/identityProofController.d.ts.map +1 -1
- package/src/lib/controllers/identity/identityProofController.js +15 -17
- package/src/lib/controllers/identity/identityProofController.js.map +1 -1
- package/src/lib/enumerations/brightChainApiStrings.d.ts +1 -1
- package/src/lib/enumerations/brightChainApiStrings.d.ts.map +1 -1
- package/src/lib/enumerations/brightChainApiStrings.js +1 -1
- package/src/lib/enumerations/brightChainApiStrings.js.map +1 -1
- package/src/lib/environment.d.ts +4 -4
- package/src/lib/environment.d.ts.map +1 -1
- package/src/lib/environment.js +6 -5
- package/src/lib/environment.js.map +1 -1
- package/src/lib/interfaces/index.d.ts +1 -0
- package/src/lib/interfaces/index.d.ts.map +1 -1
- package/src/lib/interfaces/member-init-config.d.ts +20 -0
- package/src/lib/interfaces/member-init-config.d.ts.map +1 -0
- package/src/lib/{documents/base.js → interfaces/member-init-config.js} +1 -1
- package/src/lib/interfaces/member-init-config.js.map +1 -0
- package/src/lib/interfaces/schema.d.ts +5 -3
- package/src/lib/interfaces/schema.d.ts.map +1 -1
- package/src/lib/interfaces/storage/index.d.ts +4 -0
- package/src/lib/interfaces/storage/index.d.ts.map +1 -1
- package/src/lib/interfaces/storage/index.js +14 -2
- package/src/lib/interfaces/storage/index.js.map +1 -1
- package/src/lib/interfaces/storage/mnemonicSchema.d.ts +10 -0
- package/src/lib/interfaces/storage/mnemonicSchema.d.ts.map +1 -0
- package/src/lib/interfaces/storage/mnemonicSchema.js +22 -0
- package/src/lib/interfaces/storage/mnemonicSchema.js.map +1 -0
- package/src/lib/interfaces/storage/roleSchema.d.ts +10 -0
- package/src/lib/interfaces/storage/roleSchema.d.ts.map +1 -0
- package/src/lib/interfaces/storage/roleSchema.js +45 -0
- package/src/lib/interfaces/storage/roleSchema.js.map +1 -0
- package/src/lib/interfaces/storage/userRoleSchema.d.ts +10 -0
- package/src/lib/interfaces/storage/userRoleSchema.d.ts.map +1 -0
- package/src/lib/interfaces/storage/userRoleSchema.js +35 -0
- package/src/lib/interfaces/storage/userRoleSchema.js.map +1 -0
- package/src/lib/interfaces/storage/userSchema.d.ts +12 -0
- package/src/lib/interfaces/storage/userSchema.d.ts.map +1 -0
- package/src/lib/interfaces/storage/userSchema.js +62 -0
- package/src/lib/interfaces/storage/userSchema.js.map +1 -0
- package/src/lib/plugins/brightchain-database-plugin.d.ts +150 -0
- package/src/lib/plugins/brightchain-database-plugin.d.ts.map +1 -0
- package/src/lib/plugins/brightchain-database-plugin.js +252 -0
- package/src/lib/plugins/brightchain-database-plugin.js.map +1 -0
- package/src/lib/plugins/configure-brightchain-app.d.ts +41 -0
- package/src/lib/plugins/configure-brightchain-app.d.ts.map +1 -0
- package/src/lib/plugins/configure-brightchain-app.js +70 -0
- package/src/lib/plugins/configure-brightchain-app.js.map +1 -0
- package/src/lib/routers/api.d.ts +1 -5
- package/src/lib/routers/api.d.ts.map +1 -1
- package/src/lib/services/blockStore.d.ts +1 -2
- package/src/lib/services/blockStore.d.ts.map +1 -1
- package/src/lib/services/blockStore.js +4 -6
- package/src/lib/services/blockStore.js.map +1 -1
- package/src/lib/services/brightchain-authentication-provider.d.ts +35 -0
- package/src/lib/services/brightchain-authentication-provider.d.ts.map +1 -0
- package/src/lib/services/brightchain-authentication-provider.js +196 -0
- package/src/lib/services/brightchain-authentication-provider.js.map +1 -0
- package/src/lib/services/brightchain-member-init.service.d.ts +103 -20
- package/src/lib/services/brightchain-member-init.service.d.ts.map +1 -1
- package/src/lib/services/brightchain-member-init.service.js +411 -5
- package/src/lib/services/brightchain-member-init.service.js.map +1 -1
- package/src/lib/services/expirationScheduler.d.ts +1 -2
- package/src/lib/services/expirationScheduler.d.ts.map +1 -1
- package/src/lib/services/expirationScheduler.js +3 -3
- package/src/lib/services/expirationScheduler.js.map +1 -1
- package/src/lib/services/quorum.d.ts.map +1 -1
- package/src/lib/services/quorum.js +2 -2
- package/src/lib/services/quorum.js.map +1 -1
- package/src/lib/services/wireConversationPromotion.d.ts +1 -2
- package/src/lib/services/wireConversationPromotion.d.ts.map +1 -1
- package/src/lib/services/wireConversationPromotion.js.map +1 -1
- package/src/lib/shared-types.d.ts +0 -17
- package/src/lib/shared-types.d.ts.map +1 -1
- package/src/lib/stores/diskBlockStore.d.ts.map +1 -1
- package/src/lib/stores/diskBlockStore.js +4 -1
- package/src/lib/stores/diskBlockStore.js.map +1 -1
- package/src/lib/utils/type-converters.d.ts +5 -8
- package/src/lib/utils/type-converters.d.ts.map +1 -1
- package/src/lib/utils/type-converters.js.map +1 -1
- package/src/lib/application-base.d.ts +0 -11
- package/src/lib/application-base.d.ts.map +0 -1
- package/src/lib/application-base.js +0 -12
- package/src/lib/application-base.js.map +0 -1
- package/src/lib/documents/base.d.ts +0 -6
- package/src/lib/documents/base.d.ts.map +0 -1
- package/src/lib/documents/base.js.map +0 -1
- package/src/lib/documents/email-token.d.ts +0 -8
- package/src/lib/documents/email-token.d.ts.map +0 -1
- package/src/lib/documents/email-token.js +0 -3
- package/src/lib/documents/email-token.js.map +0 -1
- package/src/lib/documents/index.d.ts +0 -7
- package/src/lib/documents/index.d.ts.map +0 -1
- package/src/lib/documents/index.js +0 -3
- package/src/lib/documents/index.js.map +0 -1
- package/src/lib/documents/mnemonic.d.ts +0 -8
- package/src/lib/documents/mnemonic.d.ts.map +0 -1
- package/src/lib/documents/mnemonic.js +0 -3
- package/src/lib/documents/mnemonic.js.map +0 -1
- package/src/lib/documents/role.d.ts +0 -8
- package/src/lib/documents/role.d.ts.map +0 -1
- package/src/lib/documents/role.js +0 -3
- package/src/lib/documents/role.js.map +0 -1
- package/src/lib/documents/used-direct-login-token.d.ts +0 -5
- package/src/lib/documents/used-direct-login-token.d.ts.map +0 -1
- package/src/lib/documents/used-direct-login-token.js +0 -3
- package/src/lib/documents/used-direct-login-token.js.map +0 -1
- package/src/lib/documents/user-role.d.ts +0 -8
- package/src/lib/documents/user-role.d.ts.map +0 -1
- package/src/lib/documents/user-role.js +0 -3
- package/src/lib/documents/user-role.js.map +0 -1
- package/src/lib/documents/user.d.ts +0 -13
- package/src/lib/documents/user.d.ts.map +0 -1
- package/src/lib/documents/user.js +0 -3
- package/src/lib/documents/user.js.map +0 -1
- package/src/lib/upstream-stubs.d.ts +0 -36
- package/src/lib/upstream-stubs.d.ts.map +0 -1
- package/src/lib/upstream-stubs.js +0 -43
- package/src/lib/upstream-stubs.js.map +0 -1
- /package/{README.md → brightchain-api-lib/README.md} +0 -0
|
@@ -13,17 +13,24 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
13
13
|
exports.BrightChainMemberInitService = void 0;
|
|
14
14
|
const brightchain_lib_1 = require("@brightchain/brightchain-lib");
|
|
15
15
|
const db_1 = require("@brightchain/db");
|
|
16
|
+
const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
|
|
17
|
+
const i18n_lib_1 = require("@digitaldefiance/i18n-lib");
|
|
18
|
+
const suite_core_lib_1 = require("@digitaldefiance/suite-core-lib");
|
|
16
19
|
const brightChainApiStrings_1 = require("../enumerations/brightChainApiStrings");
|
|
17
20
|
const memberIndexSchemaValidationError_1 = require("../errors/memberIndexSchemaValidationError");
|
|
18
21
|
const memberIndexSchema_1 = require("../interfaces/storage/memberIndexSchema");
|
|
22
|
+
const mnemonicSchema_1 = require("../interfaces/storage/mnemonicSchema");
|
|
23
|
+
const roleSchema_1 = require("../interfaces/storage/roleSchema");
|
|
24
|
+
const userRoleSchema_1 = require("../interfaces/storage/userRoleSchema");
|
|
25
|
+
const userSchema_1 = require("../interfaces/storage/userSchema");
|
|
19
26
|
const diskBlockStore_1 = require("../stores/diskBlockStore");
|
|
20
27
|
/** Well-known collection name for the member index. */
|
|
21
28
|
const MEMBER_INDEX_COLLECTION = 'member_index';
|
|
22
29
|
// ─── Block store helpers (not exported) ──────────────────────────────────────
|
|
23
|
-
function buildMemoryBlockStore() {
|
|
24
|
-
return new brightchain_lib_1.MemoryBlockStore(
|
|
30
|
+
function buildMemoryBlockStore(blockSize = brightchain_lib_1.BlockSize.Medium) {
|
|
31
|
+
return new brightchain_lib_1.MemoryBlockStore(blockSize);
|
|
25
32
|
}
|
|
26
|
-
function buildDiskBlockStore(storePath, blockSize = brightchain_lib_1.BlockSize.
|
|
33
|
+
function buildDiskBlockStore(storePath, blockSize = brightchain_lib_1.BlockSize.Medium) {
|
|
27
34
|
return new diskBlockStore_1.DiskBlockStore({ storePath, blockSize });
|
|
28
35
|
}
|
|
29
36
|
// ─── Validation helper (not exported) ────────────────────────────────────────
|
|
@@ -43,7 +50,7 @@ function validateDocumentSafe(doc) {
|
|
|
43
50
|
function buildCandidateEntries(input, poolId) {
|
|
44
51
|
const now = new Date().toISOString();
|
|
45
52
|
return [input.systemUser, input.adminUser, input.memberUser].map((user) => ({
|
|
46
|
-
id: user.id,
|
|
53
|
+
id: user.id.toString('hex'),
|
|
47
54
|
// Zero-filled sentinel — replaced when the member's actual CBL blocks are written
|
|
48
55
|
publicCBL: '0'.repeat(64),
|
|
49
56
|
privateCBL: '0'.repeat(64),
|
|
@@ -102,7 +109,7 @@ class BrightChainMemberInitService {
|
|
|
102
109
|
if (!this._db) {
|
|
103
110
|
const blockStore = useDisk
|
|
104
111
|
? buildDiskBlockStore(config.blockStorePath, config.blockSize)
|
|
105
|
-
: buildMemoryBlockStore();
|
|
112
|
+
: buildMemoryBlockStore(config.blockSize);
|
|
106
113
|
const db = new db_1.BrightChainDb(blockStore, {
|
|
107
114
|
name: config.memberPoolName,
|
|
108
115
|
poolId: config.memberPoolName,
|
|
@@ -147,6 +154,405 @@ class BrightChainMemberInitService {
|
|
|
147
154
|
db,
|
|
148
155
|
};
|
|
149
156
|
}
|
|
157
|
+
// ── RBAC initialization ─────────────────────────────────────────────────
|
|
158
|
+
/**
|
|
159
|
+
* Build a role document for insertion into the roles collection.
|
|
160
|
+
* Returns a plain data object satisfying IRoleBase — no Document wrapper needed.
|
|
161
|
+
*/
|
|
162
|
+
static buildRoleDocument(user, systemUserId, now) {
|
|
163
|
+
return {
|
|
164
|
+
_id: user.roleId,
|
|
165
|
+
name: user.roleName,
|
|
166
|
+
admin: user.roleAdmin,
|
|
167
|
+
member: user.roleMember,
|
|
168
|
+
child: false,
|
|
169
|
+
system: user.roleSystem,
|
|
170
|
+
createdBy: systemUserId,
|
|
171
|
+
updatedBy: systemUserId,
|
|
172
|
+
createdAt: now,
|
|
173
|
+
updatedAt: now,
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Build a user document for insertion into the users collection.
|
|
178
|
+
* Returns a plain data object satisfying IUserBase — no Document wrapper needed.
|
|
179
|
+
*/
|
|
180
|
+
static buildUserDocument(user, systemUserId, now) {
|
|
181
|
+
return {
|
|
182
|
+
_id: user.fullId,
|
|
183
|
+
username: user.username,
|
|
184
|
+
email: user.email,
|
|
185
|
+
publicKey: user.publicKeyHex,
|
|
186
|
+
passwordWrappedPrivateKey: user.passwordWrappedPrivateKey,
|
|
187
|
+
mnemonicRecovery: user.mnemonicRecovery,
|
|
188
|
+
mnemonicId: user.mnemonicDocId,
|
|
189
|
+
backupCodes: user.backupCodes,
|
|
190
|
+
accountStatus: suite_core_lib_1.AccountStatus.Active,
|
|
191
|
+
emailVerified: true,
|
|
192
|
+
directChallenge: true,
|
|
193
|
+
timezone: 'UTC',
|
|
194
|
+
siteLanguage: i18n_lib_1.LanguageCodes.EN_US,
|
|
195
|
+
currency: 'USD',
|
|
196
|
+
darkMode: false,
|
|
197
|
+
createdBy: systemUserId,
|
|
198
|
+
updatedBy: systemUserId,
|
|
199
|
+
createdAt: now,
|
|
200
|
+
updatedAt: now,
|
|
201
|
+
};
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Build a user-role junction document for insertion into the user-roles collection.
|
|
205
|
+
* Returns a plain data object satisfying IUserRoleBase — no Document wrapper needed.
|
|
206
|
+
*/
|
|
207
|
+
static buildUserRoleDocument(user, systemUserId, now) {
|
|
208
|
+
return {
|
|
209
|
+
_id: user.userRoleId,
|
|
210
|
+
userId: user.fullId,
|
|
211
|
+
roleId: user.roleId,
|
|
212
|
+
createdBy: systemUserId,
|
|
213
|
+
updatedBy: systemUserId,
|
|
214
|
+
createdAt: now,
|
|
215
|
+
updatedAt: now,
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Build a mnemonic document for insertion into the mnemonics collection.
|
|
220
|
+
* Returns a plain data object satisfying IMnemonicBase — no Document wrapper needed.
|
|
221
|
+
*/
|
|
222
|
+
static buildMnemonicDocument(user) {
|
|
223
|
+
return {
|
|
224
|
+
_id: user.mnemonicDocId,
|
|
225
|
+
hmac: user.mnemonicHmac,
|
|
226
|
+
};
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Serialize a typed RBAC document for storage/validation.
|
|
230
|
+
* Converts GuidV4Buffer values to their canonical string form and
|
|
231
|
+
* Date values to ISO strings so the document satisfies the all-string
|
|
232
|
+
* collection schemas.
|
|
233
|
+
*/
|
|
234
|
+
static serializeForStorage(doc) {
|
|
235
|
+
const result = {};
|
|
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;
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Validate a document against a schema, returning field errors (if any).
|
|
254
|
+
*
|
|
255
|
+
* Uses a generic parameter so callers can pass any typed RBAC document
|
|
256
|
+
* (IRoleBase, IUserBase, etc.) without needing an index signature.
|
|
257
|
+
* Serializes the document before validation so GuidV4Buffer and Date
|
|
258
|
+
* values are converted to the string types the schemas expect.
|
|
259
|
+
*/
|
|
260
|
+
static validateRbacDocument(doc, schema, collectionName) {
|
|
261
|
+
try {
|
|
262
|
+
(0, db_1.validateDocument)(BrightChainMemberInitService.serializeForStorage(doc), schema, collectionName);
|
|
263
|
+
return [];
|
|
264
|
+
}
|
|
265
|
+
catch (err) {
|
|
266
|
+
if (err instanceof db_1.ValidationError) {
|
|
267
|
+
return err.validationErrors;
|
|
268
|
+
}
|
|
269
|
+
throw err;
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* Initialise the block store and BrightChainDb, then persist member index
|
|
274
|
+
* entries AND full RBAC documents (roles, users, user-roles, mnemonics).
|
|
275
|
+
*
|
|
276
|
+
* This is the full-featured init that mirrors the Mongoose
|
|
277
|
+
* DatabaseInitializationService.initUserDbWithServices() flow.
|
|
278
|
+
*
|
|
279
|
+
* Steps:
|
|
280
|
+
* 1-3. Same as initialize() — build store, create DB, create CBLIndex
|
|
281
|
+
* 4. Build candidate member index entries
|
|
282
|
+
* 5. Validate member index candidates
|
|
283
|
+
* 6. Idempotency check for member index
|
|
284
|
+
* 7. Insert missing member index entries
|
|
285
|
+
* 8. Build and validate RBAC documents (roles, users, user-roles, mnemonics)
|
|
286
|
+
* 9. Idempotency check for RBAC collections
|
|
287
|
+
* 10. Insert missing RBAC documents in a single transaction
|
|
288
|
+
*/
|
|
289
|
+
async initializeWithRbac(config, input) {
|
|
290
|
+
// Steps 1-7: delegate to the base initialize() for member_index entries
|
|
291
|
+
const memberInitInput = {
|
|
292
|
+
systemUser: { id: input.systemUser.id, type: input.systemUser.type },
|
|
293
|
+
adminUser: { id: input.adminUser.id, type: input.adminUser.type },
|
|
294
|
+
memberUser: { id: input.memberUser.id, type: input.memberUser.type },
|
|
295
|
+
};
|
|
296
|
+
const baseResult = await this.initialize(config, memberInitInput);
|
|
297
|
+
const db = this.db;
|
|
298
|
+
const now = new Date();
|
|
299
|
+
const systemUserId = input.systemUser.fullId;
|
|
300
|
+
const users = [input.systemUser, input.adminUser, input.memberUser];
|
|
301
|
+
// Step 8: Build RBAC documents
|
|
302
|
+
const roleDocuments = users.map((u) => BrightChainMemberInitService.buildRoleDocument(u, systemUserId, now));
|
|
303
|
+
const userDocuments = users.map((u) => BrightChainMemberInitService.buildUserDocument(u, systemUserId, now));
|
|
304
|
+
const userRoleDocuments = users.map((u) => BrightChainMemberInitService.buildUserRoleDocument(u, systemUserId, now));
|
|
305
|
+
const mnemonicDocuments = users.map((u) => BrightChainMemberInitService.buildMnemonicDocument(u));
|
|
306
|
+
// Validate all RBAC documents before touching the DB
|
|
307
|
+
for (const doc of roleDocuments) {
|
|
308
|
+
const errors = BrightChainMemberInitService.validateRbacDocument(doc, roleSchema_1.ROLE_SCHEMA, roleSchema_1.ROLES_COLLECTION);
|
|
309
|
+
if (errors.length > 0) {
|
|
310
|
+
throw new memberIndexSchemaValidationError_1.MemberIndexSchemaValidationError(errors);
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
for (const doc of userDocuments) {
|
|
314
|
+
const errors = BrightChainMemberInitService.validateRbacDocument(doc, userSchema_1.USER_SCHEMA, userSchema_1.USERS_COLLECTION);
|
|
315
|
+
if (errors.length > 0) {
|
|
316
|
+
throw new memberIndexSchemaValidationError_1.MemberIndexSchemaValidationError(errors);
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
for (const doc of userRoleDocuments) {
|
|
320
|
+
const errors = BrightChainMemberInitService.validateRbacDocument(doc, userRoleSchema_1.USER_ROLE_SCHEMA, userRoleSchema_1.USER_ROLES_COLLECTION);
|
|
321
|
+
if (errors.length > 0) {
|
|
322
|
+
throw new memberIndexSchemaValidationError_1.MemberIndexSchemaValidationError(errors);
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
for (const doc of mnemonicDocuments) {
|
|
326
|
+
const errors = BrightChainMemberInitService.validateRbacDocument(doc, mnemonicSchema_1.MNEMONIC_SCHEMA, mnemonicSchema_1.MNEMONICS_COLLECTION);
|
|
327
|
+
if (errors.length > 0) {
|
|
328
|
+
throw new memberIndexSchemaValidationError_1.MemberIndexSchemaValidationError(errors);
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
// Step 9: Idempotency check for each RBAC collection
|
|
332
|
+
const rolesCollection = db.collection(roleSchema_1.ROLES_COLLECTION);
|
|
333
|
+
const usersCollection = db.collection(userSchema_1.USERS_COLLECTION);
|
|
334
|
+
const userRolesCollection = db.collection(userRoleSchema_1.USER_ROLES_COLLECTION);
|
|
335
|
+
const mnemonicsCollection = db.collection(mnemonicSchema_1.MNEMONICS_COLLECTION);
|
|
336
|
+
const existingRoles = await rolesCollection.find({}).toArray();
|
|
337
|
+
const existingUsers = await usersCollection.find({}).toArray();
|
|
338
|
+
const existingUserRoles = await userRolesCollection.find({}).toArray();
|
|
339
|
+
const existingMnemonics = await mnemonicsCollection.find({}).toArray();
|
|
340
|
+
const existingRoleIds = new Set(existingRoles.map((r) => String(r['_id'])));
|
|
341
|
+
const existingUserIds = new Set(existingUsers.map((u) => String(u['_id'])));
|
|
342
|
+
const existingUserRoleIds = new Set(existingUserRoles.map((ur) => String(ur['_id'])));
|
|
343
|
+
const existingMnemonicIds = new Set(existingMnemonics.map((m) => String(m['_id'])));
|
|
344
|
+
const rolesToInsert = roleDocuments.filter((d) => !existingRoleIds.has(d._id.asFullHexGuid));
|
|
345
|
+
const usersToInsert = userDocuments.filter((d) => !existingUserIds.has(d._id.asFullHexGuid));
|
|
346
|
+
const userRolesToInsert = userRoleDocuments.filter((d) => !existingUserRoleIds.has(d._id.asFullHexGuid));
|
|
347
|
+
const mnemonicsToInsert = mnemonicDocuments.filter((d) => !existingMnemonicIds.has(d._id.asFullHexGuid));
|
|
348
|
+
const totalToInsert = rolesToInsert.length +
|
|
349
|
+
usersToInsert.length +
|
|
350
|
+
userRolesToInsert.length +
|
|
351
|
+
mnemonicsToInsert.length;
|
|
352
|
+
// Step 10: Insert missing RBAC documents in a single transaction
|
|
353
|
+
if (totalToInsert > 0) {
|
|
354
|
+
await db.withTransaction(async (session) => {
|
|
355
|
+
for (const doc of rolesToInsert) {
|
|
356
|
+
await rolesCollection.insertOne(BrightChainMemberInitService.serializeForStorage(doc), { session });
|
|
357
|
+
}
|
|
358
|
+
for (const doc of mnemonicsToInsert) {
|
|
359
|
+
await mnemonicsCollection.insertOne(BrightChainMemberInitService.serializeForStorage(doc), { session });
|
|
360
|
+
}
|
|
361
|
+
for (const doc of usersToInsert) {
|
|
362
|
+
await usersCollection.insertOne(BrightChainMemberInitService.serializeForStorage(doc), { session });
|
|
363
|
+
}
|
|
364
|
+
for (const doc of userRolesToInsert) {
|
|
365
|
+
await userRolesCollection.insertOne(BrightChainMemberInitService.serializeForStorage(doc), { session });
|
|
366
|
+
}
|
|
367
|
+
});
|
|
368
|
+
}
|
|
369
|
+
return {
|
|
370
|
+
alreadyInitialized: baseResult.alreadyInitialized && totalToInsert === 0,
|
|
371
|
+
insertedCount: baseResult.insertedCount + totalToInsert,
|
|
372
|
+
skippedCount: baseResult.skippedCount,
|
|
373
|
+
db,
|
|
374
|
+
// System user flat fields
|
|
375
|
+
systemRole: roleDocuments[0],
|
|
376
|
+
systemUser: userDocuments[0],
|
|
377
|
+
systemUserRole: userRoleDocuments[0],
|
|
378
|
+
systemUsername: input.systemUser.username,
|
|
379
|
+
systemEmail: input.systemUser.email,
|
|
380
|
+
systemMnemonic: input.systemUser.plaintextMnemonic ?? '',
|
|
381
|
+
systemPassword: input.systemUser.plaintextPassword ?? '',
|
|
382
|
+
systemBackupCodes: input.systemUser.plaintextBackupCodes ?? [],
|
|
383
|
+
systemMember: {}, // placeholder — caller creates Member
|
|
384
|
+
// Admin user flat fields
|
|
385
|
+
adminRole: roleDocuments[1],
|
|
386
|
+
adminUser: userDocuments[1],
|
|
387
|
+
adminUserRole: userRoleDocuments[1],
|
|
388
|
+
adminUsername: input.adminUser.username,
|
|
389
|
+
adminEmail: input.adminUser.email,
|
|
390
|
+
adminMnemonic: input.adminUser.plaintextMnemonic ?? '',
|
|
391
|
+
adminPassword: input.adminUser.plaintextPassword ?? '',
|
|
392
|
+
adminBackupCodes: input.adminUser.plaintextBackupCodes ?? [],
|
|
393
|
+
adminMember: {}, // placeholder
|
|
394
|
+
// Member user flat fields
|
|
395
|
+
memberRole: roleDocuments[2],
|
|
396
|
+
memberUser: userDocuments[2],
|
|
397
|
+
memberUserRole: userRoleDocuments[2],
|
|
398
|
+
memberUsername: input.memberUser.username,
|
|
399
|
+
memberEmail: input.memberUser.email,
|
|
400
|
+
memberMnemonic: input.memberUser.plaintextMnemonic ?? '',
|
|
401
|
+
memberPassword: input.memberUser.plaintextPassword ?? '',
|
|
402
|
+
memberBackupCodes: input.memberUser.plaintextBackupCodes ?? [],
|
|
403
|
+
memberMember: {}, // placeholder
|
|
404
|
+
};
|
|
405
|
+
}
|
|
406
|
+
// ── Credential helpers ────────────────────────────────────────────────
|
|
407
|
+
/**
|
|
408
|
+
* Map an IBrightChainUserInitEntry to an IBrightChainUserCredentials bundle.
|
|
409
|
+
* Plaintext fields default to empty string / empty array when absent.
|
|
410
|
+
*/
|
|
411
|
+
static buildUserCredentials(entry) {
|
|
412
|
+
return {
|
|
413
|
+
id: entry.id,
|
|
414
|
+
fullId: entry.fullId,
|
|
415
|
+
type: entry.type,
|
|
416
|
+
username: entry.username,
|
|
417
|
+
email: entry.email,
|
|
418
|
+
mnemonic: entry.plaintextMnemonic ?? '',
|
|
419
|
+
password: entry.plaintextPassword ?? '',
|
|
420
|
+
backupCodes: entry.plaintextBackupCodes ?? [],
|
|
421
|
+
publicKeyHex: entry.publicKeyHex,
|
|
422
|
+
roleId: entry.roleId,
|
|
423
|
+
userRoleId: entry.userRoleId,
|
|
424
|
+
};
|
|
425
|
+
}
|
|
426
|
+
// ── Credential printing ─────────────────────────────────────────────────
|
|
427
|
+
/**
|
|
428
|
+
* Helper to resolve a display label for a MemberType.
|
|
429
|
+
*/
|
|
430
|
+
static memberTypeLabel(type) {
|
|
431
|
+
switch (type) {
|
|
432
|
+
case ecies_lib_1.MemberType.System:
|
|
433
|
+
return 'System';
|
|
434
|
+
case ecies_lib_1.MemberType.User:
|
|
435
|
+
return 'User';
|
|
436
|
+
default:
|
|
437
|
+
return 'Unknown';
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
/**
|
|
441
|
+
* Print a single user's credentials block.
|
|
442
|
+
*/
|
|
443
|
+
static printUserCredentials(label, creds) {
|
|
444
|
+
const log = (msg) => console.log(msg);
|
|
445
|
+
log(` ${label} ID: ${creds.id}`);
|
|
446
|
+
log(` ${label} Full ID: ${creds.fullId}`);
|
|
447
|
+
log(` ${label} Type: ${this.memberTypeLabel(creds.type)}`);
|
|
448
|
+
log(` ${label} Username: ${creds.username}`);
|
|
449
|
+
log(` ${label} Email: ${creds.email}`);
|
|
450
|
+
log(` ${label} Password: ${creds.password}`);
|
|
451
|
+
log(` ${label} Mnemonic: ${creds.mnemonic}`);
|
|
452
|
+
if (creds.publicKeyHex) {
|
|
453
|
+
log(` ${label} Public Key: ${creds.publicKeyHex}`);
|
|
454
|
+
}
|
|
455
|
+
if (creds.roleId) {
|
|
456
|
+
log(` ${label} Role ID: ${creds.roleId}`);
|
|
457
|
+
}
|
|
458
|
+
if (creds.userRoleId) {
|
|
459
|
+
log(` ${label} User Role ID: ${creds.userRoleId}`);
|
|
460
|
+
}
|
|
461
|
+
log(` ${label} Backup Codes: ${creds.backupCodes.join(', ')}`);
|
|
462
|
+
log('');
|
|
463
|
+
}
|
|
464
|
+
/**
|
|
465
|
+
* Print a formatted summary of the BrightChain server init results,
|
|
466
|
+
* including full credentials for each user.
|
|
467
|
+
*/
|
|
468
|
+
static printServerInitResults(result, config) {
|
|
469
|
+
const log = (msg) => console.log(msg);
|
|
470
|
+
log('');
|
|
471
|
+
log('=== BrightChain Account Credentials ===');
|
|
472
|
+
log('');
|
|
473
|
+
log(` Pool: ${config.memberPoolName}`);
|
|
474
|
+
log(` Block Store: ${config.blockStorePath ?? 'in-memory (ephemeral)'}`);
|
|
475
|
+
log(` Already Init: ${result.alreadyInitialized}`);
|
|
476
|
+
log(` Inserted: ${result.insertedCount}`);
|
|
477
|
+
log(` Skipped: ${result.skippedCount}`);
|
|
478
|
+
log('');
|
|
479
|
+
this.printUserCredentials('System', result.system);
|
|
480
|
+
this.printUserCredentials('Admin', result.admin);
|
|
481
|
+
this.printUserCredentials('Member', result.member);
|
|
482
|
+
log('=== End BrightChain Account Credentials ===');
|
|
483
|
+
log('');
|
|
484
|
+
}
|
|
485
|
+
/**
|
|
486
|
+
* Print a formatted summary of the BrightChain member init results.
|
|
487
|
+
* Kept for backward compatibility — delegates to printServerInitResults
|
|
488
|
+
* when a full result is available, otherwise prints minimal info.
|
|
489
|
+
*/
|
|
490
|
+
static printInitResults(input, result, config) {
|
|
491
|
+
const log = (msg) => console.log(msg);
|
|
492
|
+
log('');
|
|
493
|
+
log('=== BrightChain Member Initialization Results ===');
|
|
494
|
+
log('');
|
|
495
|
+
log(` Pool: ${config.memberPoolName}`);
|
|
496
|
+
log(` Block Store: ${config.blockStorePath ?? 'in-memory (ephemeral)'}`);
|
|
497
|
+
log(` Already Init: ${result.alreadyInitialized}`);
|
|
498
|
+
log(` Inserted: ${result.insertedCount}`);
|
|
499
|
+
log(` Skipped: ${result.skippedCount}`);
|
|
500
|
+
log('');
|
|
501
|
+
const entries = [
|
|
502
|
+
{ label: 'System', entry: input.systemUser },
|
|
503
|
+
{ label: 'Admin', entry: input.adminUser },
|
|
504
|
+
{ label: 'Member', entry: input.memberUser },
|
|
505
|
+
];
|
|
506
|
+
for (const { label, entry } of entries) {
|
|
507
|
+
log(` ${label} ID: ${entry.id}`);
|
|
508
|
+
log(` ${label} Type: ${this.memberTypeLabel(entry.type)}`);
|
|
509
|
+
log('');
|
|
510
|
+
}
|
|
511
|
+
log('=== End BrightChain Member Initialization ===');
|
|
512
|
+
log('');
|
|
513
|
+
}
|
|
514
|
+
/**
|
|
515
|
+
* Combine a basic init result with user credentials to produce the full
|
|
516
|
+
* IBrightChainServerInitResult. This keeps the initialize() method lean
|
|
517
|
+
* while allowing callers to enrich the result with environment credentials.
|
|
518
|
+
*/
|
|
519
|
+
static buildServerInitResult(baseResult, credentials) {
|
|
520
|
+
return {
|
|
521
|
+
...baseResult,
|
|
522
|
+
system: credentials.system,
|
|
523
|
+
admin: credentials.admin,
|
|
524
|
+
member: credentials.member,
|
|
525
|
+
};
|
|
526
|
+
}
|
|
527
|
+
/**
|
|
528
|
+
* Format the full server init result as .env variable lines.
|
|
529
|
+
* Outputs all credential fields matching the .env.example layout.
|
|
530
|
+
*/
|
|
531
|
+
static formatDotEnv(credentials) {
|
|
532
|
+
const { admin, member, system } = credentials;
|
|
533
|
+
const lines = [
|
|
534
|
+
`ADMIN_ID="${admin.fullId}"`,
|
|
535
|
+
`ADMIN_MNEMONIC="${admin.mnemonic}"`,
|
|
536
|
+
`ADMIN_ROLE_ID="${admin.roleId ?? ''}"`,
|
|
537
|
+
`ADMIN_USER_ROLE_ID="${admin.userRoleId ?? ''}"`,
|
|
538
|
+
`ADMIN_PASSWORD="${admin.password}"`,
|
|
539
|
+
'',
|
|
540
|
+
`MEMBER_ID="${member.fullId}"`,
|
|
541
|
+
`MEMBER_MNEMONIC="${member.mnemonic}"`,
|
|
542
|
+
`MEMBER_ROLE_ID="${member.roleId ?? ''}"`,
|
|
543
|
+
`MEMBER_PASSWORD="${member.password}"`,
|
|
544
|
+
`MEMBER_USER_ROLE_ID="${member.userRoleId ?? ''}"`,
|
|
545
|
+
'',
|
|
546
|
+
'# System credentials used to sign system messages',
|
|
547
|
+
`SYSTEM_ID="${system.fullId}"`,
|
|
548
|
+
`SYSTEM_MNEMONIC="${system.mnemonic}"`,
|
|
549
|
+
`SYSTEM_PUBLIC_KEY="${system.publicKeyHex ?? ''}"`,
|
|
550
|
+
`SYSTEM_ROLE_ID="${system.roleId ?? ''}"`,
|
|
551
|
+
`SYSTEM_PASSWORD="${system.password}"`,
|
|
552
|
+
`SYSTEM_USER_ROLE_ID="${system.userRoleId ?? ''}"`,
|
|
553
|
+
];
|
|
554
|
+
return lines.join('\n');
|
|
555
|
+
}
|
|
150
556
|
}
|
|
151
557
|
exports.BrightChainMemberInitService = BrightChainMemberInitService;
|
|
152
558
|
//# sourceMappingURL=brightchain-member-init.service.js.map
|
|
@@ -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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"}
|
|
@@ -9,8 +9,7 @@
|
|
|
9
9
|
*
|
|
10
10
|
* Requirements: 8.4, 8.6, 8.9
|
|
11
11
|
*/
|
|
12
|
-
import { ICommunicationMessage } from '@brightchain/brightchain-lib
|
|
13
|
-
import { IExplodingMessageEvent } from '@brightchain/brightchain-lib/lib/services/communication/explodingMessageService';
|
|
12
|
+
import { ICommunicationMessage, IExplodingMessageEvent } from '@brightchain/brightchain-lib';
|
|
14
13
|
import { EventEmitter } from 'events';
|
|
15
14
|
/**
|
|
16
15
|
* Function that returns all messages that may have expiration settings.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expirationScheduler.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/expirationScheduler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"expirationScheduler.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/expirationScheduler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAEL,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAItC;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,MAC1B,qBAAqB,EAAE,GACvB,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;AAErC;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,2EAA2E;IAC3E,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAID,oBAAY,wBAAwB;IAClC,0DAA0D;IAC1D,gBAAgB,+BAA+B;IAE/C,wDAAwD;IACxD,aAAa,4BAA4B;IAEzC,qDAAqD;IACrD,KAAK,oBAAoB;IAEzB,wCAAwC;IACxC,OAAO,sBAAsB;IAE7B,uCAAuC;IACvC,OAAO,sBAAsB;CAC9B;AAID;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,mBAAoB,SAAQ,YAAY;IACnD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAU;IACtC,OAAO,CAAC,KAAK,CAA+C;IAC5D,OAAO,CAAC,OAAO,CAAS;gBAGtB,eAAe,EAAE,eAAe,EAChC,MAAM,GAAE,0BAA+B;IAQzC;;;;OAIG;IACH,KAAK,IAAI,IAAI;IAab;;OAEG;IACH,IAAI,IAAI,IAAI;IASZ;;OAEG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;;;;OAKG;IACG,IAAI,IAAI,OAAO,CAAC,sBAAsB,EAAE,CAAC;CAkChD"}
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
*/
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
14
|
exports.ExpirationScheduler = exports.ExpirationSchedulerEvent = void 0;
|
|
15
|
-
const
|
|
15
|
+
const brightchain_lib_1 = require("@brightchain/brightchain-lib");
|
|
16
16
|
const events_1 = require("events");
|
|
17
17
|
// ─── Events ─────────────────────────────────────────────────────────────────
|
|
18
18
|
var ExpirationSchedulerEvent;
|
|
@@ -99,7 +99,7 @@ class ExpirationScheduler extends events_1.EventEmitter {
|
|
|
99
99
|
async tick() {
|
|
100
100
|
try {
|
|
101
101
|
const messages = await this.messageProvider();
|
|
102
|
-
const { expired, events } =
|
|
102
|
+
const { expired, events } = brightchain_lib_1.ExplodingMessageService.deleteExpired(messages);
|
|
103
103
|
if (expired.length === 0) {
|
|
104
104
|
return [];
|
|
105
105
|
}
|
|
@@ -108,7 +108,7 @@ class ExpirationScheduler extends events_1.EventEmitter {
|
|
|
108
108
|
if (this.autoExplode) {
|
|
109
109
|
for (const message of expired) {
|
|
110
110
|
if (!message.exploded) {
|
|
111
|
-
const event =
|
|
111
|
+
const event = brightchain_lib_1.ExplodingMessageService.explode(message);
|
|
112
112
|
explodedEvents.push(event);
|
|
113
113
|
this.emit(ExpirationSchedulerEvent.MESSAGE_EXPLODED, event);
|
|
114
114
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expirationScheduler.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/expirationScheduler.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;
|
|
1
|
+
{"version":3,"file":"expirationScheduler.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/expirationScheduler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quorum.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/quorum.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"quorum.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/quorum.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,WAAW,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD;;;;;;;;;GASG;AACH,qBAAa,oBAAoB,CAC/B,GAAG,SAAS,UAAU,GAAG,oBAAoB,CAC7C,SAAQ,WAAW,CAAC,GAAG,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;IAClD,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,iBAAiB,CAA8B;gBAE3C,WAAW,EAAE,uBAAuB,CAAC,GAAG,CAAC;IAmBrD;;;;OAIG;YACW,oBAAoB;IAgClC;;;;OAIG;IACG,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxC;;;OAGG;IACH,UAAU,IAAI,iBAAiB;IAI/B;;OAEG;IACH,aAAa,IAAI,WAAW,GAAG,IAAI;CAGpC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.QuorumServiceWrapper = void 0;
|
|
4
|
-
const
|
|
4
|
+
const brightchain_lib_1 = require("@brightchain/brightchain-lib");
|
|
5
5
|
const base_1 = require("./base");
|
|
6
6
|
const diskQuorumService_1 = require("./diskQuorumService");
|
|
7
7
|
const fecServiceFactory_1 = require("./fecServiceFactory");
|
|
@@ -24,7 +24,7 @@ class QuorumServiceWrapper extends base_1.BaseService {
|
|
|
24
24
|
const storePath = this.application.environment.blockStorePath ?? 'tmp/blockstore';
|
|
25
25
|
const blockSize = (this.application.environment.blockStoreBlockSize
|
|
26
26
|
? this.application.environment.blockStoreBlockSize
|
|
27
|
-
:
|
|
27
|
+
: brightchain_lib_1.BlockSize.Medium);
|
|
28
28
|
// Initialize the DiskQuorumService with storage path and block size
|
|
29
29
|
this.quorumService = new diskQuorumService_1.DiskQuorumService(storePath, blockSize);
|
|
30
30
|
// Start FEC service initialization in the background
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quorum.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/quorum.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"quorum.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/quorum.ts"],"names":[],"mappings":";;;AAAA,kEAAsE;AAItE,iCAAqC;AACrC,2DAAwD;AACxD,2DAAwD;AAExD;;;;;;;;;GASG;AACH,MAAa,oBAEX,SAAQ,kBAAgB;IAKxB,YAAY,WAAyC;QACnD,KAAK,CAAC,WAAW,CAAC,CAAC;QAJb,0BAAqB,GAAG,KAAK,CAAC;QAC9B,sBAAiB,GAAyB,IAAI,CAAC;QAKrD,8CAA8C;QAC9C,MAAM,SAAS,GACb,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,cAAc,IAAI,gBAAgB,CAAC;QAClE,MAAM,SAAS,GAAG,CAChB,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,mBAAmB;YAC9C,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,mBAAmB;YAClD,CAAC,CAAC,2BAAS,CAAC,MAAM,CACR,CAAC;QAEf,oEAAoE;QACpE,IAAI,CAAC,aAAa,GAAG,IAAI,qCAAiB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAEjE,qDAAqD;QACrD,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,oBAAoB;QAChC,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,iBAAiB,CAAC;QAChC,CAAC;QAED,IAAI,CAAC,iBAAiB,GAAG,CAAC,KAAK,IAAI,EAAE;YACnC,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,MAAM,qCAAiB,CAAC,gBAAgB,EAAE,CAAC;gBAC9D,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;gBAC7C,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;gBAClC,OAAO,CAAC,GAAG,CACT,6DAA6D,CAC9D,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,uDAAuD;gBACvD,OAAO,CAAC,IAAI,CACV,mDAAmD,EACnD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACvD,CAAC;gBACF,OAAO,CAAC,IAAI,CACV,+EAA+E,CAChF,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QAEL,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,iBAAiB;QACrB,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;IACpC,CAAC;IAED;;;OAGG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC,aAAa,EAAE,CAAC;IAC5D,CAAC;CACF;AAtFD,oDAsFC"}
|
|
@@ -7,8 +7,7 @@
|
|
|
7
7
|
*
|
|
8
8
|
* Requirements: 2.1, 2.2, 2.3
|
|
9
9
|
*/
|
|
10
|
-
import { ConversationService } from '@brightchain/brightchain-lib
|
|
11
|
-
import { GroupService } from '@brightchain/brightchain-lib/lib/services/communication/groupService';
|
|
10
|
+
import { ConversationService, GroupService } from '@brightchain/brightchain-lib';
|
|
12
11
|
/**
|
|
13
12
|
* Connects the ConversationService's group promotion handler to the
|
|
14
13
|
* GroupService's createGroupFromConversation method.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wireConversationPromotion.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/wireConversationPromotion.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"wireConversationPromotion.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/wireConversationPromotion.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,mBAAmB,EACnB,YAAY,EACb,MAAM,8BAA8B,CAAC;AAEtC;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACvC,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE,YAAY,GACzB,IAAI,CAiBN"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wireConversationPromotion.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/wireConversationPromotion.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;
|
|
1
|
+
{"version":3,"file":"wireConversationPromotion.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/wireConversationPromotion.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;AAiBH,8DAoBC;AA9BD;;;;;;;;;GASG;AACH,SAAgB,yBAAyB,CACvC,mBAAwC,EACxC,YAA0B;IAE1B,mBAAmB,CAAC,wBAAwB,CAC1C,CACE,cAAc,EACd,oBAAoB,EACpB,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,EAAE,CACF,YAAY,CAAC,2BAA2B,CACtC,cAAc,EACd,oBAAoB,EACpB,YAAY,EACZ,QAAQ,EACR,WAAW,CACZ,CACJ,CAAC;AACJ,CAAC"}
|