@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
@@ -0,0 +1,252 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview BrightChain database plugin for the express-suite plugin architecture.
4
+ *
5
+ * Implements IDatabasePlugin<TID> to encapsulate the BrightChain database stack
6
+ * lifecycle: block stores, BrightChainDb, member/energy stores, and the
7
+ * authentication provider. The plugin is registered via Application.useDatabasePlugin()
8
+ * and participates in the standard plugin lifecycle (connect → init → stop).
9
+ *
10
+ * BrightChainDb already implements IDatabase from express-suite, so the plugin's
11
+ * `database` property returns the BrightChainDb instance directly — no adapter needed.
12
+ *
13
+ * @module plugins/brightchain-database-plugin
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.BrightChainDatabasePlugin = void 0;
17
+ const brightChainDbDocumentStoreAdapter_1 = require("../adapters/brightChainDbDocumentStoreAdapter");
18
+ const databaseInit_1 = require("../databaseInit");
19
+ const brightchain_authentication_provider_1 = require("../services/brightchain-authentication-provider");
20
+ /**
21
+ * BrightChain database plugin implementing IDatabasePlugin<TID>.
22
+ *
23
+ * Owns the full database lifecycle:
24
+ * - connect() → calls brightchainDatabaseInit() and stores backend references
25
+ * - init(app) → creates BrightChainAuthenticationProvider
26
+ * - stop() → delegates to disconnect()
27
+ * - disconnect() → releases all references (idempotent)
28
+ *
29
+ * Typed accessors (blockStore, memberStore, energyStore, brightChainDb, documentStore)
30
+ * throw descriptive errors when the plugin is not connected.
31
+ */
32
+ class BrightChainDatabasePlugin {
33
+ constructor(environment) {
34
+ this.name = 'brightchain-database';
35
+ this.version = '1.0.0';
36
+ this._connected = false;
37
+ this._blockStore = null;
38
+ this._brightChainDb = null;
39
+ this._documentStore = null;
40
+ this._memberStore = null;
41
+ this._energyStore = null;
42
+ this._authProvider = null;
43
+ this._environment = environment;
44
+ }
45
+ // ── IDatabasePlugin contract ──────────────────────────────────────
46
+ /**
47
+ * The IDatabase instance this plugin manages.
48
+ * BrightChainDb implements IDatabase directly, so no adapter is needed.
49
+ * @throws Error if the plugin is not connected.
50
+ */
51
+ get database() {
52
+ if (!this._brightChainDb) {
53
+ throw new Error('BrightChainDatabasePlugin: cannot access "database" — plugin is not connected. Call connect() first.');
54
+ }
55
+ return this._brightChainDb;
56
+ }
57
+ /**
58
+ * Authentication provider created during init().
59
+ * Returns undefined before init() is called.
60
+ */
61
+ get authenticationProvider() {
62
+ return this._authProvider ?? undefined;
63
+ }
64
+ /**
65
+ * Connect the BrightChain database stack.
66
+ *
67
+ * Calls brightchainDatabaseInit(environment) and stores the resulting
68
+ * backend references (blockStore, db/BrightChainDb, documentStore,
69
+ * memberStore, energyStore).
70
+ *
71
+ * @param _uri - Ignored; BrightChain uses environment-based configuration.
72
+ * @throws Error if brightchainDatabaseInit() returns a failure result.
73
+ */
74
+ async connect(_uri) {
75
+ const initResult = await (0, databaseInit_1.brightchainDatabaseInit)(this._environment);
76
+ if (!initResult.success || !initResult.backend) {
77
+ throw new Error(`BrightChain database initialization failed: ${initResult.error ?? 'unknown error'}`);
78
+ }
79
+ const { blockStore, db, memberStore, energyStore } = initResult.backend;
80
+ this._blockStore = blockStore;
81
+ this._documentStore = db;
82
+ this._memberStore = memberStore;
83
+ this._energyStore = energyStore;
84
+ // BrightChainDb is the underlying database behind the documentStore adapter.
85
+ // brightchainDatabaseInit() creates BrightChainDb and wraps it in
86
+ // BrightChainDbDocumentStoreAdapter. We extract the raw BrightChainDb
87
+ // for the IDatabasePlugin.database property (IDatabase contract).
88
+ this._brightChainDb = this.extractBrightChainDb(db);
89
+ this._connected = true;
90
+ }
91
+ /**
92
+ * Disconnect and release all backend references.
93
+ * Idempotent — calling when already disconnected completes without error.
94
+ */
95
+ async disconnect() {
96
+ if (!this._connected) {
97
+ return;
98
+ }
99
+ if (this._brightChainDb?.isConnected()) {
100
+ await this._brightChainDb.disconnect();
101
+ }
102
+ this._blockStore = null;
103
+ this._brightChainDb = null;
104
+ this._documentStore = null;
105
+ this._memberStore = null;
106
+ this._energyStore = null;
107
+ this._authProvider = null;
108
+ this._connected = false;
109
+ }
110
+ /**
111
+ * Whether the database is currently connected.
112
+ */
113
+ isConnected() {
114
+ return this._connected;
115
+ }
116
+ /**
117
+ * Initialize the plugin after connection.
118
+ * Creates the BrightChainAuthenticationProvider and stores it
119
+ * as the authenticationProvider property.
120
+ *
121
+ * @param app - The application instance (must implement IBrightChainApplication).
122
+ */
123
+ async init(app) {
124
+ this._authProvider = new brightchain_authentication_provider_1.BrightChainAuthenticationProvider(app);
125
+ }
126
+ /**
127
+ * Stop the plugin. Delegates to disconnect() for cleanup.
128
+ */
129
+ async stop() {
130
+ await this.disconnect();
131
+ }
132
+ // ── Dev store lifecycle hooks ─────────────────────────────────────
133
+ // These are the BrightChain equivalents of the Mongo plugin's
134
+ // MongoMemoryReplSet provisioning. When environment.devDatabase is
135
+ // truthy, the upstream Application.start() calls setupDevStore()
136
+ // before connect() and initializeDevStore() after init().
137
+ //
138
+ // For BrightChain, "dev store" means using a MemoryBlockStore with
139
+ // an InMemoryHeadRegistry — brightchainDatabaseInit() already handles
140
+ // this when environment.blockStorePath is not set.
141
+ /**
142
+ * Provision an ephemeral dev/test block store.
143
+ *
144
+ * Called by Application.start() before connect() when
145
+ * environment.devDatabase is truthy. BrightChain doesn't use
146
+ * connection URIs — the memory vs disk decision is driven by
147
+ * environment.blockStorePath (absent → memory). This hook
148
+ * signals that we're in dev mode and returns an empty string
149
+ * (no URI concept for block stores).
150
+ */
151
+ async setupDevStore() {
152
+ console.log('[BrightChain] Dev database mode — using ephemeral MemoryBlockStore + InMemoryHeadRegistry.');
153
+ return '';
154
+ }
155
+ /**
156
+ * Tear down the ephemeral dev/test block store.
157
+ *
158
+ * Called during stop() flow. Our disconnect() already releases
159
+ * all in-memory references, so this is a no-op beyond logging.
160
+ */
161
+ async teardownDevStore() {
162
+ // disconnect() handles all cleanup — nothing extra needed
163
+ }
164
+ /**
165
+ * Seed the dev database after connection.
166
+ *
167
+ * Called by Application.start() after connect() and init() when
168
+ * environment.devDatabase is truthy. Currently a no-op — can be
169
+ * extended to seed test users, blocks, etc. for local development.
170
+ */
171
+ async initializeDevStore() {
172
+ return undefined;
173
+ }
174
+ // ── Typed accessors ───────────────────────────────────────────────
175
+ /**
176
+ * The block store backing the BrightChain database.
177
+ * @throws Error if the plugin is not connected.
178
+ */
179
+ get blockStore() {
180
+ if (!this._blockStore) {
181
+ throw new Error('BrightChainDatabasePlugin: cannot access "blockStore" — plugin is not connected. Call connect() first.');
182
+ }
183
+ return this._blockStore;
184
+ }
185
+ /**
186
+ * The BrightChainDb instance (implements IDatabase).
187
+ * @throws Error if the plugin is not connected.
188
+ */
189
+ get brightChainDb() {
190
+ if (!this._brightChainDb) {
191
+ throw new Error('BrightChainDatabasePlugin: cannot access "brightChainDb" — plugin is not connected. Call connect() first.');
192
+ }
193
+ return this._brightChainDb;
194
+ }
195
+ /**
196
+ * The document store (BrightChainDbDocumentStoreAdapter wrapping BrightChainDb).
197
+ * @throws Error if the plugin is not connected.
198
+ */
199
+ get documentStore() {
200
+ if (!this._documentStore) {
201
+ throw new Error('BrightChainDatabasePlugin: cannot access "documentStore" — plugin is not connected. Call connect() first.');
202
+ }
203
+ return this._documentStore;
204
+ }
205
+ /**
206
+ * The member store for user/member operations.
207
+ * @throws Error if the plugin is not connected.
208
+ */
209
+ get memberStore() {
210
+ if (!this._memberStore) {
211
+ throw new Error('BrightChainDatabasePlugin: cannot access "memberStore" — plugin is not connected. Call connect() first.');
212
+ }
213
+ return this._memberStore;
214
+ }
215
+ /**
216
+ * The energy account store for energy ledger operations.
217
+ * @throws Error if the plugin is not connected.
218
+ */
219
+ get energyStore() {
220
+ if (!this._energyStore) {
221
+ throw new Error('BrightChainDatabasePlugin: cannot access "energyStore" — plugin is not connected. Call connect() first.');
222
+ }
223
+ return this._energyStore;
224
+ }
225
+ // ── Private helpers ───────────────────────────────────────────────
226
+ /**
227
+ * Extract the underlying BrightChainDb from the IDocumentStore adapter.
228
+ *
229
+ * brightchainDatabaseInit() wraps BrightChainDb in a
230
+ * BrightChainDbDocumentStoreAdapter. We need the raw BrightChainDb
231
+ * for the IDatabasePlugin.database property (IDatabase contract).
232
+ *
233
+ * We verify the adapter type via instanceof, then access the runtime
234
+ * `db` property (TypeScript `private` is compile-time only).
235
+ */
236
+ extractBrightChainDb(documentStore) {
237
+ if (!(documentStore instanceof brightChainDbDocumentStoreAdapter_1.BrightChainDbDocumentStoreAdapter)) {
238
+ throw new Error('BrightChainDatabasePlugin: expected BrightChainDbDocumentStoreAdapter from brightchainDatabaseInit().');
239
+ }
240
+ // BrightChainDbDocumentStoreAdapter has a private `db: BrightChainDb` field.
241
+ // TypeScript's `private` keyword is compile-time only — the property exists
242
+ // at runtime. We use a structural interface to access it after the instanceof
243
+ // guard confirms the concrete type.
244
+ const adapterWithDb = documentStore;
245
+ if (!adapterWithDb.db) {
246
+ throw new Error('BrightChainDatabasePlugin: could not extract BrightChainDb from document store adapter.');
247
+ }
248
+ return adapterWithDb.db;
249
+ }
250
+ }
251
+ exports.BrightChainDatabasePlugin = BrightChainDatabasePlugin;
252
+ //# sourceMappingURL=brightchain-database-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brightchain-database-plugin.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/plugins/brightchain-database-plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * @fileoverview Shared BrightChain application setup function.
3
+ *
4
+ * Extracts the GUID provider configuration, constants updates, runtime
5
+ * registration, and database plugin registration into a single reusable
6
+ * function. Both the API server (`App`) and the init-user-db tool consume
7
+ * this instead of duplicating the setup logic.
8
+ *
9
+ * @module plugins/configure-brightchain-app
10
+ */
11
+ import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
12
+ import type { IApplication, IConstants } from '@digitaldefiance/node-express-suite';
13
+ import type { Environment } from '../environment';
14
+ import { BrightChainDatabasePlugin } from './brightchain-database-plugin';
15
+ /**
16
+ * Result returned by {@link configureBrightChainApp}.
17
+ * Exposes the plugin so callers can retrieve store references after start().
18
+ */
19
+ export interface ConfigureBrightChainResult<TID extends PlatformID> {
20
+ plugin: BrightChainDatabasePlugin<TID>;
21
+ }
22
+ /**
23
+ * Configure a BrightChain application with GUID-based IDs, runtime
24
+ * constants, and the BrightChain database plugin.
25
+ *
26
+ * This function:
27
+ * 1. Creates a {@link GuidV4Provider} and updates the constants with
28
+ * GUID byte-length values (`idProvider`, `MEMBER_ID_LENGTH`,
29
+ * `ECIES.MULTIPLE.RECIPIENT_ID_SIZE`, and conditionally
30
+ * `ENCRYPTION.RECIPIENT_ID_SIZE`).
31
+ * 2. Calls `registerNodeRuntimeConfiguration('guid-config', constants)`.
32
+ * 3. Creates a {@link BrightChainDatabasePlugin} and registers it on the
33
+ * application via `useDatabasePlugin()`.
34
+ *
35
+ * @param app - The Application instance (full `App`, plain `Application`, or `BaseApplication`)
36
+ * @param environment - BrightChain environment configuration
37
+ * @param constants - Constants to configure; defaults to {@link AppConstants}
38
+ * @returns The created plugin for callers that need direct access
39
+ */
40
+ export declare function configureBrightChainApp<TID extends PlatformID>(app: IApplication<TID>, environment: Environment<TID>, constants?: IConstants): ConfigureBrightChainResult<TID>;
41
+ //# sourceMappingURL=configure-brightchain-app.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configure-brightchain-app.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/plugins/configure-brightchain-app.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAKlE,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACX,MAAM,qCAAqC,CAAC;AAE7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAE1E;;;GAGG;AACH,MAAM,WAAW,0BAA0B,CAAC,GAAG,SAAS,UAAU;IAChE,MAAM,EAAE,yBAAyB,CAAC,GAAG,CAAC,CAAC;CACxC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,SAAS,UAAU,EAC5D,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC,EACtB,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,EAC7B,SAAS,GAAE,UAAyB,GACnC,0BAA0B,CAAC,GAAG,CAAC,CAwCjC"}
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Shared BrightChain application setup function.
4
+ *
5
+ * Extracts the GUID provider configuration, constants updates, runtime
6
+ * registration, and database plugin registration into a single reusable
7
+ * function. Both the API server (`App`) and the init-user-db tool consume
8
+ * this instead of duplicating the setup logic.
9
+ *
10
+ * @module plugins/configure-brightchain-app
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.configureBrightChainApp = configureBrightChainApp;
14
+ const node_ecies_lib_1 = require("@digitaldefiance/node-ecies-lib");
15
+ const appConstants_1 = require("../appConstants");
16
+ const brightchain_database_plugin_1 = require("./brightchain-database-plugin");
17
+ /**
18
+ * Configure a BrightChain application with GUID-based IDs, runtime
19
+ * constants, and the BrightChain database plugin.
20
+ *
21
+ * This function:
22
+ * 1. Creates a {@link GuidV4Provider} and updates the constants with
23
+ * GUID byte-length values (`idProvider`, `MEMBER_ID_LENGTH`,
24
+ * `ECIES.MULTIPLE.RECIPIENT_ID_SIZE`, and conditionally
25
+ * `ENCRYPTION.RECIPIENT_ID_SIZE`).
26
+ * 2. Calls `registerNodeRuntimeConfiguration('guid-config', constants)`.
27
+ * 3. Creates a {@link BrightChainDatabasePlugin} and registers it on the
28
+ * application via `useDatabasePlugin()`.
29
+ *
30
+ * @param app - The Application instance (full `App`, plain `Application`, or `BaseApplication`)
31
+ * @param environment - BrightChain environment configuration
32
+ * @param constants - Constants to configure; defaults to {@link AppConstants}
33
+ * @returns The created plugin for callers that need direct access
34
+ */
35
+ function configureBrightChainApp(app, environment, constants = appConstants_1.AppConstants) {
36
+ // 1. Configure GUID provider and sync all derived constants
37
+ const guidProvider = new node_ecies_lib_1.GuidV4Provider();
38
+ constants.idProvider = guidProvider;
39
+ constants.MEMBER_ID_LENGTH = guidProvider.byteLength;
40
+ constants.ECIES = {
41
+ ...constants.ECIES,
42
+ MULTIPLE: {
43
+ ...constants.ECIES.MULTIPLE,
44
+ RECIPIENT_ID_SIZE: guidProvider.byteLength,
45
+ },
46
+ };
47
+ // Sync node-ecies-lib ENCRYPTION constants if present
48
+ if ('ENCRYPTION' in constants && constants.ENCRYPTION) {
49
+ constants.ENCRYPTION = {
50
+ ...constants.ENCRYPTION,
51
+ RECIPIENT_ID_SIZE: guidProvider.byteLength,
52
+ };
53
+ }
54
+ // 2. Register node runtime configuration
55
+ (0, node_ecies_lib_1.registerNodeRuntimeConfiguration)('guid-config', constants);
56
+ // 3. Create and register database plugin
57
+ const plugin = new brightchain_database_plugin_1.BrightChainDatabasePlugin(environment);
58
+ // Application (HTTP) exposes useDatabasePlugin() which stores the plugin
59
+ // reference AND registers it with the PluginManager. BaseApplication (CLI)
60
+ // only has the PluginManager, so fall back to plugins.register().
61
+ if ('useDatabasePlugin' in app &&
62
+ typeof app.useDatabasePlugin === 'function') {
63
+ app.useDatabasePlugin(plugin);
64
+ }
65
+ else {
66
+ app.plugins.register(plugin);
67
+ }
68
+ return { plugin };
69
+ }
70
+ //# sourceMappingURL=configure-brightchain-app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configure-brightchain-app.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/plugins/configure-brightchain-app.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;AAyCH,0DA4CC;AAlFD,oEAGyC;AAKzC,kDAA+C;AAE/C,+EAA0E;AAU1E;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAgB,uBAAuB,CACrC,GAAsB,EACtB,WAA6B,EAC7B,YAAwB,2BAAY;IAEpC,4DAA4D;IAC5D,MAAM,YAAY,GAAG,IAAI,+BAAc,EAAE,CAAC;IAC1C,SAAS,CAAC,UAAU,GAAG,YAAY,CAAC;IACpC,SAAS,CAAC,gBAAgB,GAAG,YAAY,CAAC,UAAU,CAAC;IACrD,SAAS,CAAC,KAAK,GAAG;QAChB,GAAG,SAAS,CAAC,KAAK;QAClB,QAAQ,EAAE;YACR,GAAG,SAAS,CAAC,KAAK,CAAC,QAAQ;YAC3B,iBAAiB,EAAE,YAAY,CAAC,UAAU;SAC3C;KACF,CAAC;IAEF,sDAAsD;IACtD,IAAI,YAAY,IAAI,SAAS,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;QACtD,SAAS,CAAC,UAAU,GAAG;YACrB,GAAG,SAAS,CAAC,UAAU;YACvB,iBAAiB,EAAE,YAAY,CAAC,UAAU;SAC3C,CAAC;IACJ,CAAC;IAED,yCAAyC;IACzC,IAAA,iDAAgC,EAAC,aAAa,EAAE,SAAS,CAAC,CAAC;IAE3D,yCAAyC;IACzC,MAAM,MAAM,GAAG,IAAI,uDAAyB,CAAM,WAAW,CAAC,CAAC;IAE/D,yEAAyE;IACzE,2EAA2E;IAC3E,kEAAkE;IAClE,IACE,mBAAmB,IAAI,GAAG;QAC1B,OAAO,GAAG,CAAC,iBAAiB,KAAK,UAAU,EAC3C,CAAC;QACD,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,CAAC;AACpB,CAAC"}
@@ -1,8 +1,4 @@
1
- import { IAvailabilityService, IBlockStore, IDiscoveryProtocol, IReconciliationService } from '@brightchain/brightchain-lib';
2
- import { ChannelService } from '@brightchain/brightchain-lib/lib/services/communication/channelService';
3
- import { ConversationService } from '@brightchain/brightchain-lib/lib/services/communication/conversationService';
4
- import { GroupService } from '@brightchain/brightchain-lib/lib/services/communication/groupService';
5
- import { PermissionService } from '@brightchain/brightchain-lib/lib/services/communication/permissionService';
1
+ import { ChannelService, ConversationService, GroupService, IAvailabilityService, IBlockStore, IDiscoveryProtocol, IReconciliationService, PermissionService } from '@brightchain/brightchain-lib';
6
2
  import { PlatformID } from '@digitaldefiance/node-ecies-lib';
7
3
  import { PoolDiscoveryService } from '../availability/poolDiscoveryService';
8
4
  import { IntrospectionController, IntrospectionControllerConfig } from '../controllers/api/introspection';
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/routers/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/routers/api.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
- import { BlockStoreOptions, BrightenResult, IBlockMetadata, IFecService } from '@brightchain/brightchain-lib';
2
- import { BlockSize } from '@brightchain/brightchain-lib/lib/enumerations/blockSize';
1
+ import { BlockSize, BlockStoreOptions, BrightenResult, IBlockMetadata, IFecService } from '@brightchain/brightchain-lib';
3
2
  import { PlatformID } from '@digitaldefiance/node-ecies-lib';
4
3
  import { IBrightChainApplication } from '../interfaces';
5
4
  import { DefaultBackendIdType } from '../shared-types';
@@ -1 +1 @@
1
- {"version":3,"file":"blockStore.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/blockStore.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,WAAW,EACZ,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,SAAS,EAAE,MAAM,yDAAyD,CAAC;AAEpF,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,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAGrC;;;;;;;;;;;;;GAaG;AACH,qBAAa,iBAAiB,CAC5B,GAAG,SAAS,UAAU,GAAG,oBAAoB,CAC7C,SAAQ,WAAW,CAAC,GAAG,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsB;IAC5C,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,iBAAiB,CAA8B;gBAE3C,WAAW,EAAE,uBAAuB,CAAC,GAAG,CAAC;IAerD;;;;OAIG;YACW,oBAAoB;IA8BlC;;;;OAIG;IACG,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxC;;;OAGG;IACH,QAAQ,IAAI,mBAAmB;IAI/B;;OAEG;IACH,aAAa,IAAI,WAAW,GAAG,IAAI;IAInC,YAAY,IAAI,SAAS;IAInB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAOtE,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK1C,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAIjE,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3C,aAAa,CACjB,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,cAAc,CAAC;CAG3B"}
1
+ {"version":3,"file":"blockStore.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/blockStore.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,cAAc,EAEd,cAAc,EACd,WAAW,EAEZ,MAAM,8BAA8B,CAAC;AACtC,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,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAGrC;;;;;;;;;;;;;GAaG;AACH,qBAAa,iBAAiB,CAC5B,GAAG,SAAS,UAAU,GAAG,oBAAoB,CAC7C,SAAQ,WAAW,CAAC,GAAG,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsB;IAC5C,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,iBAAiB,CAA8B;gBAE3C,WAAW,EAAE,uBAAuB,CAAC,GAAG,CAAC;IAerD;;;;OAIG;YACW,oBAAoB;IA8BlC;;;;OAIG;IACG,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxC;;;OAGG;IACH,QAAQ,IAAI,mBAAmB;IAI/B;;OAEG;IACH,aAAa,IAAI,WAAW,GAAG,IAAI;IAInC,YAAY,IAAI,SAAS;IAInB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAOtE,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK1C,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAIjE,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3C,aAAa,CACjB,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,cAAc,CAAC;CAG3B"}
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BlockStoreService = void 0;
4
- const rawData_1 = require("@brightchain/brightchain-lib/lib/blocks/rawData");
5
- const blockSize_1 = require("@brightchain/brightchain-lib/lib/enumerations/blockSize");
6
- const checksum_1 = require("@brightchain/brightchain-lib/lib/types/checksum");
4
+ const brightchain_lib_1 = require("@brightchain/brightchain-lib");
7
5
  const stores_1 = require("../stores");
8
6
  const base_1 = require("./base");
9
7
  const fecServiceFactory_1 = require("./fecServiceFactory");
@@ -29,7 +27,7 @@ class BlockStoreService extends base_1.BaseService {
29
27
  const storePath = this.application.environment.blockStorePath ?? 'tmp/blockstore';
30
28
  const blockSize = (this.application.environment.blockStoreBlockSize
31
29
  ? this.application.environment.blockStoreBlockSize
32
- : blockSize_1.BlockSize.Medium);
30
+ : brightchain_lib_1.BlockSize.Medium);
33
31
  this.store = new stores_1.DiskBlockAsyncStore({ storePath, blockSize });
34
32
  // Start FEC service initialization in the background
35
33
  this.initializeFecService();
@@ -86,13 +84,13 @@ class BlockStoreService extends base_1.BaseService {
86
84
  return this.store.blockSize;
87
85
  }
88
86
  async storeBlock(data, options) {
89
- const block = new rawData_1.RawDataBlock(this.store.blockSize, data);
87
+ const block = new brightchain_lib_1.RawDataBlock(this.store.blockSize, data);
90
88
  const blockId = block.idChecksum.toHex();
91
89
  await this.store.setData(block, options);
92
90
  return blockId;
93
91
  }
94
92
  async getBlock(blockId) {
95
- const block = await this.store.getData(checksum_1.Checksum.fromHex(blockId));
93
+ const block = await this.store.getData(brightchain_lib_1.Checksum.fromHex(blockId));
96
94
  return Buffer.from(block.data);
97
95
  }
98
96
  async getBlockMetadata(blockId) {
@@ -1 +1 @@
1
- {"version":3,"file":"blockStore.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/blockStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blockStore.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/blockStore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * @fileoverview BrightChain block-store-backed implementation of IAuthenticationProvider.
3
+ * Delegates user lookup to MemberStore, credential verification to bcrypt/mnemonic,
4
+ * and JWT operations to jsonwebtoken — fully decoupled from Mongoose.
5
+ *
6
+ * Follows the same structural pattern as MongoAuthenticationProvider:
7
+ * - findUserById → MemberStore.getMember + getMemberProfile
8
+ * - buildRequestUserDTO → MemberStore + MemberType-based role mapping
9
+ * - verifyToken → jwt.verify (no Mongoose JwtService)
10
+ * - authenticateWith* → MemberStore + bcrypt / Member.fromMnemonic
11
+ *
12
+ * @module services/brightchain-authentication-provider
13
+ */
14
+ import type { SecureString } from '@digitaldefiance/ecies-lib';
15
+ import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
16
+ import type { IAuthenticatedUser, IAuthenticationProvider, ICryptoAuthResult } from '@digitaldefiance/node-express-suite';
17
+ import type { IRequestUserDTO, ITokenUser } from '@digitaldefiance/suite-core-lib';
18
+ import { IBrightChainApplication } from '../interfaces';
19
+ /**
20
+ * BrightChain block-store-backed authentication provider.
21
+ * Uses MemberStore for user lookup, bcrypt for password verification,
22
+ * and jwt.verify for token validation — no Mongoose dependency.
23
+ */
24
+ export declare class BrightChainAuthenticationProvider<TID extends PlatformID = Buffer, TLanguage extends string = string> implements IAuthenticationProvider<TID, TLanguage> {
25
+ private readonly application;
26
+ constructor(application: IBrightChainApplication<TID>);
27
+ /** Resolve MemberStore from the service container. */
28
+ private getMemberStore;
29
+ findUserById(userId: string): Promise<IAuthenticatedUser<TLanguage> | null>;
30
+ buildRequestUserDTO(userId: string): Promise<IRequestUserDTO | null>;
31
+ verifyToken<TTokenUser extends ITokenUser = ITokenUser>(token: string): Promise<TTokenUser | null>;
32
+ authenticateWithMnemonic(email: string, mnemonic: SecureString): Promise<ICryptoAuthResult<TID>>;
33
+ authenticateWithPassword(email: string, password: string): Promise<ICryptoAuthResult<TID>>;
34
+ }
35
+ //# sourceMappingURL=brightchain-authentication-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brightchain-authentication-provider.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/brightchain-authentication-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAElE,OAAO,KAAK,EACV,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,EAClB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAEV,eAAe,EAEf,UAAU,EACX,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAsDxD;;;;GAIG;AACH,qBAAa,iCAAiC,CAC5C,GAAG,SAAS,UAAU,GAAG,MAAM,EAC/B,SAAS,SAAS,MAAM,GAAG,MAAM,CACjC,YAAW,uBAAuB,CAAC,GAAG,EAAE,SAAS,CAAC;IACtC,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAAX,WAAW,EAAE,uBAAuB,CAAC,GAAG,CAAC;IAEtE,sDAAsD;IACtD,OAAO,CAAC,cAAc;IAIhB,YAAY,CAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;IA6B1C,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAqCpE,WAAW,CAAC,UAAU,SAAS,UAAU,GAAG,UAAU,EAC1D,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAiBvB,wBAAwB,CAC5B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,YAAY,GACrB,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;IA4B5B,wBAAwB,CAC5B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;CAgCnC"}