@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.
Files changed (164) hide show
  1. package/package.json +4 -4
  2. package/src/index.d.ts +2 -1
  3. package/src/index.d.ts.map +1 -1
  4. package/src/index.js +3 -1
  5. package/src/index.js.map +1 -1
  6. package/src/lib/application.d.ts +7 -7
  7. package/src/lib/application.d.ts.map +1 -1
  8. package/src/lib/application.js +21 -43
  9. package/src/lib/application.js.map +1 -1
  10. package/src/lib/controllers/api/channels.d.ts +1 -3
  11. package/src/lib/controllers/api/channels.d.ts.map +1 -1
  12. package/src/lib/controllers/api/channels.js +13 -13
  13. package/src/lib/controllers/api/channels.js.map +1 -1
  14. package/src/lib/controllers/api/conversations.d.ts +1 -2
  15. package/src/lib/controllers/api/conversations.d.ts.map +1 -1
  16. package/src/lib/controllers/api/conversations.js +7 -7
  17. package/src/lib/controllers/api/conversations.js.map +1 -1
  18. package/src/lib/controllers/api/emails.d.ts.map +1 -1
  19. package/src/lib/controllers/api/emails.js +12 -14
  20. package/src/lib/controllers/api/emails.js.map +1 -1
  21. package/src/lib/controllers/api/explodingMessages.d.ts +1 -2
  22. package/src/lib/controllers/api/explodingMessages.d.ts.map +1 -1
  23. package/src/lib/controllers/api/explodingMessages.js +11 -11
  24. package/src/lib/controllers/api/explodingMessages.js.map +1 -1
  25. package/src/lib/controllers/api/groups.d.ts +1 -3
  26. package/src/lib/controllers/api/groups.d.ts.map +1 -1
  27. package/src/lib/controllers/api/groups.js +9 -9
  28. package/src/lib/controllers/api/groups.js.map +1 -1
  29. package/src/lib/controllers/crypto/gitController.d.ts +1 -1
  30. package/src/lib/controllers/crypto/gitController.d.ts.map +1 -1
  31. package/src/lib/controllers/crypto/gitController.js +8 -8
  32. package/src/lib/controllers/crypto/gitController.js.map +1 -1
  33. package/src/lib/controllers/crypto/walletController.d.ts +1 -1
  34. package/src/lib/controllers/crypto/walletController.d.ts.map +1 -1
  35. package/src/lib/controllers/crypto/walletController.js +5 -5
  36. package/src/lib/controllers/crypto/walletController.js.map +1 -1
  37. package/src/lib/controllers/identity/deviceController.d.ts +1 -2
  38. package/src/lib/controllers/identity/deviceController.d.ts.map +1 -1
  39. package/src/lib/controllers/identity/deviceController.js +7 -8
  40. package/src/lib/controllers/identity/deviceController.js.map +1 -1
  41. package/src/lib/controllers/identity/directoryController.d.ts +1 -2
  42. package/src/lib/controllers/identity/directoryController.d.ts.map +1 -1
  43. package/src/lib/controllers/identity/directoryController.js +6 -7
  44. package/src/lib/controllers/identity/directoryController.js.map +1 -1
  45. package/src/lib/controllers/identity/identityProofController.d.ts +1 -1
  46. package/src/lib/controllers/identity/identityProofController.d.ts.map +1 -1
  47. package/src/lib/controllers/identity/identityProofController.js +15 -17
  48. package/src/lib/controllers/identity/identityProofController.js.map +1 -1
  49. package/src/lib/enumerations/brightChainApiStrings.d.ts +1 -1
  50. package/src/lib/enumerations/brightChainApiStrings.d.ts.map +1 -1
  51. package/src/lib/enumerations/brightChainApiStrings.js +1 -1
  52. package/src/lib/enumerations/brightChainApiStrings.js.map +1 -1
  53. package/src/lib/environment.d.ts +4 -4
  54. package/src/lib/environment.d.ts.map +1 -1
  55. package/src/lib/environment.js +6 -5
  56. package/src/lib/environment.js.map +1 -1
  57. package/src/lib/interfaces/index.d.ts +1 -0
  58. package/src/lib/interfaces/index.d.ts.map +1 -1
  59. package/src/lib/interfaces/member-init-config.d.ts +20 -0
  60. package/src/lib/interfaces/member-init-config.d.ts.map +1 -0
  61. package/src/lib/{documents/base.js → interfaces/member-init-config.js} +1 -1
  62. package/src/lib/interfaces/member-init-config.js.map +1 -0
  63. package/src/lib/interfaces/schema.d.ts +5 -3
  64. package/src/lib/interfaces/schema.d.ts.map +1 -1
  65. package/src/lib/interfaces/storage/index.d.ts +4 -0
  66. package/src/lib/interfaces/storage/index.d.ts.map +1 -1
  67. package/src/lib/interfaces/storage/index.js +14 -2
  68. package/src/lib/interfaces/storage/index.js.map +1 -1
  69. package/src/lib/interfaces/storage/mnemonicSchema.d.ts +10 -0
  70. package/src/lib/interfaces/storage/mnemonicSchema.d.ts.map +1 -0
  71. package/src/lib/interfaces/storage/mnemonicSchema.js +22 -0
  72. package/src/lib/interfaces/storage/mnemonicSchema.js.map +1 -0
  73. package/src/lib/interfaces/storage/roleSchema.d.ts +10 -0
  74. package/src/lib/interfaces/storage/roleSchema.d.ts.map +1 -0
  75. package/src/lib/interfaces/storage/roleSchema.js +45 -0
  76. package/src/lib/interfaces/storage/roleSchema.js.map +1 -0
  77. package/src/lib/interfaces/storage/userRoleSchema.d.ts +10 -0
  78. package/src/lib/interfaces/storage/userRoleSchema.d.ts.map +1 -0
  79. package/src/lib/interfaces/storage/userRoleSchema.js +35 -0
  80. package/src/lib/interfaces/storage/userRoleSchema.js.map +1 -0
  81. package/src/lib/interfaces/storage/userSchema.d.ts +12 -0
  82. package/src/lib/interfaces/storage/userSchema.d.ts.map +1 -0
  83. package/src/lib/interfaces/storage/userSchema.js +62 -0
  84. package/src/lib/interfaces/storage/userSchema.js.map +1 -0
  85. package/src/lib/plugins/brightchain-database-plugin.d.ts +150 -0
  86. package/src/lib/plugins/brightchain-database-plugin.d.ts.map +1 -0
  87. package/src/lib/plugins/brightchain-database-plugin.js +252 -0
  88. package/src/lib/plugins/brightchain-database-plugin.js.map +1 -0
  89. package/src/lib/plugins/configure-brightchain-app.d.ts +41 -0
  90. package/src/lib/plugins/configure-brightchain-app.d.ts.map +1 -0
  91. package/src/lib/plugins/configure-brightchain-app.js +70 -0
  92. package/src/lib/plugins/configure-brightchain-app.js.map +1 -0
  93. package/src/lib/routers/api.d.ts +1 -5
  94. package/src/lib/routers/api.d.ts.map +1 -1
  95. package/src/lib/services/blockStore.d.ts +1 -2
  96. package/src/lib/services/blockStore.d.ts.map +1 -1
  97. package/src/lib/services/blockStore.js +4 -6
  98. package/src/lib/services/blockStore.js.map +1 -1
  99. package/src/lib/services/brightchain-authentication-provider.d.ts +35 -0
  100. package/src/lib/services/brightchain-authentication-provider.d.ts.map +1 -0
  101. package/src/lib/services/brightchain-authentication-provider.js +196 -0
  102. package/src/lib/services/brightchain-authentication-provider.js.map +1 -0
  103. package/src/lib/services/brightchain-member-init.service.d.ts +103 -20
  104. package/src/lib/services/brightchain-member-init.service.d.ts.map +1 -1
  105. package/src/lib/services/brightchain-member-init.service.js +411 -5
  106. package/src/lib/services/brightchain-member-init.service.js.map +1 -1
  107. package/src/lib/services/expirationScheduler.d.ts +1 -2
  108. package/src/lib/services/expirationScheduler.d.ts.map +1 -1
  109. package/src/lib/services/expirationScheduler.js +3 -3
  110. package/src/lib/services/expirationScheduler.js.map +1 -1
  111. package/src/lib/services/quorum.d.ts.map +1 -1
  112. package/src/lib/services/quorum.js +2 -2
  113. package/src/lib/services/quorum.js.map +1 -1
  114. package/src/lib/services/wireConversationPromotion.d.ts +1 -2
  115. package/src/lib/services/wireConversationPromotion.d.ts.map +1 -1
  116. package/src/lib/services/wireConversationPromotion.js.map +1 -1
  117. package/src/lib/shared-types.d.ts +0 -17
  118. package/src/lib/shared-types.d.ts.map +1 -1
  119. package/src/lib/stores/diskBlockStore.d.ts.map +1 -1
  120. package/src/lib/stores/diskBlockStore.js +4 -1
  121. package/src/lib/stores/diskBlockStore.js.map +1 -1
  122. package/src/lib/utils/type-converters.d.ts +5 -8
  123. package/src/lib/utils/type-converters.d.ts.map +1 -1
  124. package/src/lib/utils/type-converters.js.map +1 -1
  125. package/src/lib/application-base.d.ts +0 -11
  126. package/src/lib/application-base.d.ts.map +0 -1
  127. package/src/lib/application-base.js +0 -12
  128. package/src/lib/application-base.js.map +0 -1
  129. package/src/lib/documents/base.d.ts +0 -6
  130. package/src/lib/documents/base.d.ts.map +0 -1
  131. package/src/lib/documents/base.js.map +0 -1
  132. package/src/lib/documents/email-token.d.ts +0 -8
  133. package/src/lib/documents/email-token.d.ts.map +0 -1
  134. package/src/lib/documents/email-token.js +0 -3
  135. package/src/lib/documents/email-token.js.map +0 -1
  136. package/src/lib/documents/index.d.ts +0 -7
  137. package/src/lib/documents/index.d.ts.map +0 -1
  138. package/src/lib/documents/index.js +0 -3
  139. package/src/lib/documents/index.js.map +0 -1
  140. package/src/lib/documents/mnemonic.d.ts +0 -8
  141. package/src/lib/documents/mnemonic.d.ts.map +0 -1
  142. package/src/lib/documents/mnemonic.js +0 -3
  143. package/src/lib/documents/mnemonic.js.map +0 -1
  144. package/src/lib/documents/role.d.ts +0 -8
  145. package/src/lib/documents/role.d.ts.map +0 -1
  146. package/src/lib/documents/role.js +0 -3
  147. package/src/lib/documents/role.js.map +0 -1
  148. package/src/lib/documents/used-direct-login-token.d.ts +0 -5
  149. package/src/lib/documents/used-direct-login-token.d.ts.map +0 -1
  150. package/src/lib/documents/used-direct-login-token.js +0 -3
  151. package/src/lib/documents/used-direct-login-token.js.map +0 -1
  152. package/src/lib/documents/user-role.d.ts +0 -8
  153. package/src/lib/documents/user-role.d.ts.map +0 -1
  154. package/src/lib/documents/user-role.js +0 -3
  155. package/src/lib/documents/user-role.js.map +0 -1
  156. package/src/lib/documents/user.d.ts +0 -13
  157. package/src/lib/documents/user.d.ts.map +0 -1
  158. package/src/lib/documents/user.js +0 -3
  159. package/src/lib/documents/user.js.map +0 -1
  160. package/src/lib/upstream-stubs.d.ts +0 -36
  161. package/src/lib/upstream-stubs.d.ts.map +0 -1
  162. package/src/lib/upstream-stubs.js +0 -43
  163. package/src/lib/upstream-stubs.js.map +0 -1
  164. /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(brightchain_lib_1.BlockSize.Small);
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.Small) {
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/lib/interfaces/communication';
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,EAAE,qBAAqB,EAAE,MAAM,2DAA2D,CAAC;AAClG,OAAO,EAEL,sBAAsB,EACvB,MAAM,iFAAiF,CAAC;AACzF,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"}
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 explodingMessageService_1 = require("@brightchain/brightchain-lib/lib/services/communication/explodingMessageService");
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 } = explodingMessageService_1.ExplodingMessageService.deleteExpired(messages);
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 = explodingMessageService_1.ExplodingMessageService.explode(message);
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":"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"}
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,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,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
+ {"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 blockSize_1 = require("@brightchain/brightchain-lib/lib/enumerations/blockSize");
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
- : blockSize_1.BlockSize.Medium);
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":";;;AACA,uFAAoF;AAIpF,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,qBAAS,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"}
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/lib/services/communication/conversationService';
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,EAAE,mBAAmB,EAAE,MAAM,6EAA6E,CAAC;AAClH,OAAO,EAAE,YAAY,EAAE,MAAM,sEAAsE,CAAC;AAEpG;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACvC,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE,YAAY,GACzB,IAAI,CAiBN"}
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;;AAeH,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"}
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"}