@brightchain/brightchain-api-lib 0.18.2 → 0.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. package/package.json +8 -3
  2. package/src/index.d.ts +0 -1
  3. package/src/index.d.ts.map +1 -1
  4. package/src/index.js +0 -1
  5. package/src/index.js.map +1 -1
  6. package/src/lib/application.d.ts +12 -3
  7. package/src/lib/application.d.ts.map +1 -1
  8. package/src/lib/application.js +153 -7
  9. package/src/lib/application.js.map +1 -1
  10. package/src/lib/availability/gossipService.d.ts +59 -1
  11. package/src/lib/availability/gossipService.d.ts.map +1 -1
  12. package/src/lib/availability/gossipService.js +125 -1
  13. package/src/lib/availability/gossipService.js.map +1 -1
  14. package/src/lib/availability/index.d.ts +1 -0
  15. package/src/lib/availability/index.d.ts.map +1 -1
  16. package/src/lib/availability/index.js +1 -0
  17. package/src/lib/availability/index.js.map +1 -1
  18. package/src/lib/availability/quorumGossipHandler.d.ts +126 -0
  19. package/src/lib/availability/quorumGossipHandler.d.ts.map +1 -0
  20. package/src/lib/availability/quorumGossipHandler.js +246 -0
  21. package/src/lib/availability/quorumGossipHandler.js.map +1 -0
  22. package/src/lib/constants.d.ts.map +1 -1
  23. package/src/lib/constants.js +4 -0
  24. package/src/lib/constants.js.map +1 -1
  25. package/src/lib/controllers/api/quorum.d.ts +110 -2
  26. package/src/lib/controllers/api/quorum.d.ts.map +1 -1
  27. package/src/lib/controllers/api/quorum.js +389 -0
  28. package/src/lib/controllers/api/quorum.js.map +1 -1
  29. package/src/lib/controllers/api/user.d.ts +12 -15
  30. package/src/lib/controllers/api/user.d.ts.map +1 -1
  31. package/src/lib/controllers/api/user.js +312 -94
  32. package/src/lib/controllers/api/user.js.map +1 -1
  33. package/src/lib/databaseInit.d.ts +3 -2
  34. package/src/lib/databaseInit.d.ts.map +1 -1
  35. package/src/lib/databaseInit.js +24 -12
  36. package/src/lib/databaseInit.js.map +1 -1
  37. package/src/lib/datastore/index.d.ts +0 -1
  38. package/src/lib/datastore/index.d.ts.map +1 -1
  39. package/src/lib/datastore/index.js +0 -1
  40. package/src/lib/datastore/index.js.map +1 -1
  41. package/src/lib/environment.d.ts +6 -0
  42. package/src/lib/environment.d.ts.map +1 -1
  43. package/src/lib/environment.js +14 -0
  44. package/src/lib/environment.js.map +1 -1
  45. package/src/lib/hydration/energyAccountHydration.d.ts +17 -0
  46. package/src/lib/hydration/energyAccountHydration.d.ts.map +1 -0
  47. package/src/lib/hydration/energyAccountHydration.js +24 -0
  48. package/src/lib/hydration/energyAccountHydration.js.map +1 -0
  49. package/src/lib/hydration/index.d.ts +13 -0
  50. package/src/lib/hydration/index.d.ts.map +1 -0
  51. package/src/lib/hydration/index.js +21 -0
  52. package/src/lib/hydration/index.js.map +1 -0
  53. package/src/lib/hydration/rbacHydration.d.ts +28 -0
  54. package/src/lib/hydration/rbacHydration.d.ts.map +1 -0
  55. package/src/lib/hydration/rbacHydration.js +56 -0
  56. package/src/lib/hydration/rbacHydration.js.map +1 -0
  57. package/src/lib/interfaces/environment.d.ts +7 -1
  58. package/src/lib/interfaces/environment.d.ts.map +1 -1
  59. package/src/lib/interfaces/responses/api-backup-codes-response.d.ts +1 -1
  60. package/src/lib/interfaces/responses/api-code-count-response.d.ts +1 -1
  61. package/src/lib/interfaces/responses/api-password-change-response.d.ts +9 -0
  62. package/src/lib/interfaces/responses/api-password-change-response.d.ts.map +1 -0
  63. package/src/lib/interfaces/responses/api-password-change-response.js +3 -0
  64. package/src/lib/interfaces/responses/api-password-change-response.js.map +1 -0
  65. package/src/lib/interfaces/responses/api-recovery-response.d.ts +9 -0
  66. package/src/lib/interfaces/responses/api-recovery-response.d.ts.map +1 -0
  67. package/src/lib/interfaces/responses/api-recovery-response.js +3 -0
  68. package/src/lib/interfaces/responses/api-recovery-response.js.map +1 -0
  69. package/src/lib/interfaces/responses/index.d.ts +2 -0
  70. package/src/lib/interfaces/responses/index.d.ts.map +1 -1
  71. package/src/lib/interfaces/storage/client-session.d.ts +1 -1
  72. package/src/lib/interfaces/storage/client-session.d.ts.map +1 -1
  73. package/src/lib/interfaces/storage/collection.d.ts +1 -1
  74. package/src/lib/interfaces/storage/collection.d.ts.map +1 -1
  75. package/src/lib/interfaces/storage/database-lifecycle-hooks.d.ts +1 -1
  76. package/src/lib/interfaces/storage/database-lifecycle-hooks.d.ts.map +1 -1
  77. package/src/lib/interfaces/storage/database.d.ts +1 -1
  78. package/src/lib/interfaces/storage/database.d.ts.map +1 -1
  79. package/src/lib/interfaces/storage/document-types.d.ts +1 -1
  80. package/src/lib/interfaces/storage/document-types.d.ts.map +1 -1
  81. package/src/lib/interfaces/storage/index.d.ts +1 -0
  82. package/src/lib/interfaces/storage/index.d.ts.map +1 -1
  83. package/src/lib/interfaces/storage/index.js.map +1 -1
  84. package/src/lib/interfaces/storage/storedDocumentTypes.d.ts +73 -0
  85. package/src/lib/interfaces/storage/storedDocumentTypes.d.ts.map +1 -0
  86. package/src/lib/interfaces/storage/storedDocumentTypes.js +15 -0
  87. package/src/lib/interfaces/storage/storedDocumentTypes.js.map +1 -0
  88. package/src/lib/plugins/brightchain-database-plugin.d.ts +31 -21
  89. package/src/lib/plugins/brightchain-database-plugin.d.ts.map +1 -1
  90. package/src/lib/plugins/brightchain-database-plugin.js +103 -53
  91. package/src/lib/plugins/brightchain-database-plugin.js.map +1 -1
  92. package/src/lib/plugins/configure-brightchain-app.d.ts.map +1 -1
  93. package/src/lib/plugins/configure-brightchain-app.js +5 -0
  94. package/src/lib/plugins/configure-brightchain-app.js.map +1 -1
  95. package/src/lib/services/auth.d.ts +6 -2
  96. package/src/lib/services/auth.d.ts.map +1 -1
  97. package/src/lib/services/auth.js +43 -7
  98. package/src/lib/services/auth.js.map +1 -1
  99. package/src/lib/services/backupCodeService.d.ts +35 -0
  100. package/src/lib/services/backupCodeService.d.ts.map +1 -0
  101. package/src/lib/services/backupCodeService.js +109 -0
  102. package/src/lib/services/backupCodeService.js.map +1 -0
  103. package/src/lib/services/brightchain-authentication-provider.d.ts.map +1 -1
  104. package/src/lib/services/brightchain-authentication-provider.js +28 -9
  105. package/src/lib/services/brightchain-authentication-provider.js.map +1 -1
  106. package/src/lib/services/brightchain-member-init.service.d.ts +39 -20
  107. package/src/lib/services/brightchain-member-init.service.d.ts.map +1 -1
  108. package/src/lib/services/brightchain-member-init.service.js +139 -53
  109. package/src/lib/services/brightchain-member-init.service.js.map +1 -1
  110. package/src/lib/services/cliOperatorPrompt.d.ts +81 -0
  111. package/src/lib/services/cliOperatorPrompt.d.ts.map +1 -0
  112. package/src/lib/services/cliOperatorPrompt.js +177 -0
  113. package/src/lib/services/cliOperatorPrompt.js.map +1 -0
  114. package/src/lib/services/contentAwareBlocksService.d.ts +92 -0
  115. package/src/lib/services/contentAwareBlocksService.d.ts.map +1 -0
  116. package/src/lib/services/contentAwareBlocksService.js +102 -0
  117. package/src/lib/services/contentAwareBlocksService.js.map +1 -0
  118. package/src/lib/services/contentIngestionService.d.ts +68 -0
  119. package/src/lib/services/contentIngestionService.d.ts.map +1 -0
  120. package/src/lib/services/contentIngestionService.js +139 -0
  121. package/src/lib/services/contentIngestionService.js.map +1 -0
  122. package/src/lib/services/identityExpirationScheduler.d.ts +77 -0
  123. package/src/lib/services/identityExpirationScheduler.d.ts.map +1 -0
  124. package/src/lib/services/identityExpirationScheduler.js +157 -0
  125. package/src/lib/services/identityExpirationScheduler.js.map +1 -0
  126. package/src/lib/services/index.d.ts +7 -0
  127. package/src/lib/services/index.d.ts.map +1 -1
  128. package/src/lib/services/index.js +7 -0
  129. package/src/lib/services/index.js.map +1 -1
  130. package/src/lib/services/quorumDatabaseAdapter.d.ts +60 -0
  131. package/src/lib/services/quorumDatabaseAdapter.d.ts.map +1 -0
  132. package/src/lib/services/quorumDatabaseAdapter.js +652 -0
  133. package/src/lib/services/quorumDatabaseAdapter.js.map +1 -0
  134. package/src/lib/services/secureKeyStorage.js +3 -3
  135. package/src/lib/services/secureKeyStorage.js.map +1 -1
  136. package/src/lib/services/sessionAdapter.d.ts +62 -0
  137. package/src/lib/services/sessionAdapter.d.ts.map +1 -0
  138. package/src/lib/services/sessionAdapter.js +105 -0
  139. package/src/lib/services/sessionAdapter.js.map +1 -0
  140. package/src/lib/utils/rehydration.d.ts +31 -0
  141. package/src/lib/utils/rehydration.d.ts.map +1 -0
  142. package/src/lib/utils/rehydration.js +111 -0
  143. package/src/lib/utils/rehydration.js.map +1 -0
  144. package/src/lib/utils/serialization.d.ts +21 -0
  145. package/src/lib/utils/serialization.d.ts.map +1 -0
  146. package/src/lib/utils/serialization.js +41 -0
  147. package/src/lib/utils/serialization.js.map +1 -0
  148. package/src/lib/validation/userValidation.d.ts +17 -0
  149. package/src/lib/validation/userValidation.d.ts.map +1 -1
  150. package/src/lib/validation/userValidation.js +77 -0
  151. package/src/lib/validation/userValidation.js.map +1 -1
  152. package/src/lib/adapters/brightChainDbDocumentStoreAdapter.d.ts +0 -24
  153. package/src/lib/adapters/brightChainDbDocumentStoreAdapter.d.ts.map +0 -1
  154. package/src/lib/adapters/brightChainDbDocumentStoreAdapter.js +0 -53
  155. package/src/lib/adapters/brightChainDbDocumentStoreAdapter.js.map +0 -1
  156. package/src/lib/datastore/document-model-adapter.d.ts +0 -48
  157. package/src/lib/datastore/document-model-adapter.d.ts.map +0 -1
  158. package/src/lib/datastore/document-model-adapter.js +0 -178
  159. package/src/lib/datastore/document-model-adapter.js.map +0 -1
  160. /package/{brightchain-api-lib/README.md → README.md} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quorumDatabaseAdapter.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/quorumDatabaseAdapter.ts"],"names":[],"mappings":"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"}
@@ -18,13 +18,13 @@ class SecureKeyStorage {
18
18
  return SecureKeyStorage.instance;
19
19
  }
20
20
  async initializeFromEnvironment() {
21
- const mnemonic = process.env['NODE_MNEMONIC'];
21
+ const mnemonic = process.env['SYSTEM_MNEMONIC'];
22
22
  if (!mnemonic) {
23
- throw new Error('NODE_MNEMONIC environment variable not set');
23
+ throw new Error('SYSTEM_MNEMONIC environment variable not set');
24
24
  }
25
25
  await this.storeMnemonic(mnemonic);
26
26
  // Immediately clear from process.env
27
- delete process.env['NODE_MNEMONIC'];
27
+ delete process.env['SYSTEM_MNEMONIC'];
28
28
  }
29
29
  async storeMnemonic(mnemonic) {
30
30
  // Store in secure heap with auto-wiping
@@ -1 +1 @@
1
- {"version":3,"file":"secureKeyStorage.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/secureKeyStorage.ts"],"names":[],"mappings":";;;AAAA,kEAAgF;AAEhF;;;GAGG;AACH,MAAa,gBAAgB;IAK3B;QACE,IAAI,CAAC,UAAU,GAAG,IAAI,mCAAiB,EAAE,CAAC;QAC1C,IAAI,CAAC,aAAa,GAAG,+BAAa,CAAC,WAAW,EAAE,CAAC;IACnD,CAAC;IAEM,MAAM,CAAC,WAAW;QACvB,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YAC/B,gBAAgB,CAAC,QAAQ,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACrD,CAAC;QACD,OAAO,gBAAgB,CAAC,QAAQ,CAAC;IACnC,CAAC;IAEM,KAAK,CAAC,yBAAyB;QACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACnC,qCAAqC;QACrC,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACtC,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,QAAgB;QAC1C,wCAAwC;QACxC,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;IACzD,CAAC;IAEM,KAAK,CAAC,YAAY,CACvB,SAA2C;QAE3C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YACjE,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;YACzC,OAAO,MAAM,CAAC;QAChB,CAAC;gBAAS,CAAC;YACT,mCAAmC;YACnC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;CACF;AA7CD,4CA6CC"}
1
+ {"version":3,"file":"secureKeyStorage.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/secureKeyStorage.ts"],"names":[],"mappings":";;;AAAA,kEAAgF;AAEhF;;;GAGG;AACH,MAAa,gBAAgB;IAK3B;QACE,IAAI,CAAC,UAAU,GAAG,IAAI,mCAAiB,EAAE,CAAC;QAC1C,IAAI,CAAC,aAAa,GAAG,+BAAa,CAAC,WAAW,EAAE,CAAC;IACnD,CAAC;IAEM,MAAM,CAAC,WAAW;QACvB,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YAC/B,gBAAgB,CAAC,QAAQ,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACrD,CAAC;QACD,OAAO,gBAAgB,CAAC,QAAQ,CAAC;IACnC,CAAC;IAEM,KAAK,CAAC,yBAAyB;QACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACnC,qCAAqC;QACrC,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACxC,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,QAAgB;QAC1C,wCAAwC;QACxC,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;IACzD,CAAC;IAEM,KAAK,CAAC,YAAY,CACvB,SAA2C;QAE3C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YACjE,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;YACzC,OAAO,MAAM,CAAC;QAChB,CAAC;gBAAS,CAAC;YACT,mCAAmC;YACnC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;CACF;AA7CD,4CA6CC"}
@@ -0,0 +1,62 @@
1
+ import type { BrightChainDb } from '@brightchain/db';
2
+ /**
3
+ * Shape of a session document stored in BrightChainDb.
4
+ * Exported so consumers (tests, controllers) can reference the type.
5
+ */
6
+ export interface ISessionDocument {
7
+ /** UUID v4 identifying this session. */
8
+ sessionId: string;
9
+ /** Hex-encoded member ID. */
10
+ memberId: string;
11
+ /** SHA-256 hex digest of the JWT token. */
12
+ tokenHash: string;
13
+ /** Epoch-ms when the session was created. */
14
+ createdAt: number;
15
+ /** Epoch-ms when the session expires. */
16
+ expiresAt: number;
17
+ }
18
+ /**
19
+ * Manages user sessions backed by a BrightChainDb `sessions` collection.
20
+ *
21
+ * Token hashes use SHA-256 (not bcrypt) so that `validateToken` can
22
+ * query by hash without a per-row compare.
23
+ */
24
+ export declare class BrightChainSessionAdapter {
25
+ private readonly db;
26
+ constructor(db: BrightChainDb);
27
+ /**
28
+ * Create a new session for the given member.
29
+ *
30
+ * @param memberId Hex string of the member's ID.
31
+ * @param token The raw JWT token (will be SHA-256 hashed for storage).
32
+ * @param ttlMs Time-to-live in milliseconds.
33
+ * @returns The generated UUID session ID.
34
+ */
35
+ createSession(memberId: string, token: string, ttlMs: number): Promise<string>;
36
+ /**
37
+ * Retrieve a session by its ID.
38
+ *
39
+ * @returns The session document, or `null` if not found or expired.
40
+ */
41
+ getSession(sessionId: string): Promise<ISessionDocument | null>;
42
+ /**
43
+ * Validate a raw JWT token against stored sessions.
44
+ *
45
+ * Hashes the token with SHA-256, looks up the matching session,
46
+ * and checks expiration.
47
+ *
48
+ * @returns The session document, or `null` if invalid / expired / missing.
49
+ */
50
+ validateToken(token: string): Promise<ISessionDocument | null>;
51
+ /**
52
+ * Delete a session by its ID.
53
+ */
54
+ deleteSession(sessionId: string): Promise<void>;
55
+ /**
56
+ * Remove all expired sessions.
57
+ *
58
+ * @returns The number of sessions removed.
59
+ */
60
+ cleanExpired(): Promise<number>;
61
+ }
62
+ //# sourceMappingURL=sessionAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionAdapter.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/sessionAdapter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAgB,MAAM,iBAAiB,CAAC;AAInE;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;CACnB;AAmBD;;;;;GAKG;AACH,qBAAa,yBAAyB;IACpC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAgB;gBAEvB,EAAE,EAAE,aAAa;IAI7B;;;;;;;OAOG;IACG,aAAa,CACjB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,CAAC;IAkBlB;;;;OAIG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAQrE;;;;;;;OAOG;IACG,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IASpE;;OAEG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrD;;;;OAIG;IACG,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;CAQtC"}
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BrightChainSessionAdapter = void 0;
4
+ const crypto_1 = require("crypto");
5
+ const COLLECTION_SESSIONS = 'sessions';
6
+ /** Compute the SHA-256 hex digest of a string. */
7
+ function sha256Hex(value) {
8
+ return (0, crypto_1.createHash)('sha256').update(value).digest('hex');
9
+ }
10
+ /**
11
+ * Manages user sessions backed by a BrightChainDb `sessions` collection.
12
+ *
13
+ * Token hashes use SHA-256 (not bcrypt) so that `validateToken` can
14
+ * query by hash without a per-row compare.
15
+ */
16
+ class BrightChainSessionAdapter {
17
+ constructor(db) {
18
+ this.db = db;
19
+ }
20
+ /**
21
+ * Create a new session for the given member.
22
+ *
23
+ * @param memberId Hex string of the member's ID.
24
+ * @param token The raw JWT token (will be SHA-256 hashed for storage).
25
+ * @param ttlMs Time-to-live in milliseconds.
26
+ * @returns The generated UUID session ID.
27
+ */
28
+ async createSession(memberId, token, ttlMs) {
29
+ const sessionId = (0, crypto_1.randomUUID)();
30
+ const now = Date.now();
31
+ const doc = {
32
+ sessionId,
33
+ memberId,
34
+ tokenHash: sha256Hex(token),
35
+ createdAt: now,
36
+ expiresAt: now + ttlMs,
37
+ };
38
+ const col = this.db.collection(COLLECTION_SESSIONS);
39
+ await col.insertOne(doc);
40
+ return sessionId;
41
+ }
42
+ /**
43
+ * Retrieve a session by its ID.
44
+ *
45
+ * @returns The session document, or `null` if not found or expired.
46
+ */
47
+ async getSession(sessionId) {
48
+ const col = this.db.collection(COLLECTION_SESSIONS);
49
+ const doc = await col.findOne({ sessionId });
50
+ if (!doc)
51
+ return null;
52
+ if (doc.expiresAt < Date.now())
53
+ return null;
54
+ return toSessionDocument(doc);
55
+ }
56
+ /**
57
+ * Validate a raw JWT token against stored sessions.
58
+ *
59
+ * Hashes the token with SHA-256, looks up the matching session,
60
+ * and checks expiration.
61
+ *
62
+ * @returns The session document, or `null` if invalid / expired / missing.
63
+ */
64
+ async validateToken(token) {
65
+ const tokenHash = sha256Hex(token);
66
+ const col = this.db.collection(COLLECTION_SESSIONS);
67
+ const doc = await col.findOne({ tokenHash });
68
+ if (!doc)
69
+ return null;
70
+ if (doc.expiresAt < Date.now())
71
+ return null;
72
+ return toSessionDocument(doc);
73
+ }
74
+ /**
75
+ * Delete a session by its ID.
76
+ */
77
+ async deleteSession(sessionId) {
78
+ const col = this.db.collection(COLLECTION_SESSIONS);
79
+ await col.deleteOne({ sessionId });
80
+ }
81
+ /**
82
+ * Remove all expired sessions.
83
+ *
84
+ * @returns The number of sessions removed.
85
+ */
86
+ async cleanExpired() {
87
+ const col = this.db.collection(COLLECTION_SESSIONS);
88
+ const now = Date.now();
89
+ // BrightChainDb's filter engine supports $lt on numeric fields.
90
+ const result = await col.deleteMany({ expiresAt: { $lt: now } });
91
+ return result.deletedCount;
92
+ }
93
+ }
94
+ exports.BrightChainSessionAdapter = BrightChainSessionAdapter;
95
+ /** Map a stored SessionDoc to the public ISessionDocument shape. */
96
+ function toSessionDocument(doc) {
97
+ return {
98
+ sessionId: doc.sessionId,
99
+ memberId: doc.memberId,
100
+ tokenHash: doc.tokenHash,
101
+ createdAt: doc.createdAt,
102
+ expiresAt: doc.expiresAt,
103
+ };
104
+ }
105
+ //# sourceMappingURL=sessionAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionAdapter.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/sessionAdapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * @fileoverview Rehydration utilities for converting stored (serialized)
3
+ * BrightChainDb documents back into their typed in-memory representations.
4
+ *
5
+ * Each stored document has all IDs as hex strings and all dates as ISO-8601
6
+ * strings. Rehydration converts these back to TID (via IIdProvider.idFromString)
7
+ * and Date objects respectively.
8
+ *
9
+ * The inverse operation (typed → stored) is handled by
10
+ * BrightChainMemberInitService.serializeForStorage().
11
+ */
12
+ import type { IIdProvider, PlatformID } from '@digitaldefiance/ecies-lib';
13
+ import { AccountStatus, type IMnemonicBase, type IRoleBase, type IUserBase, type IUserRoleBase } from '@digitaldefiance/suite-core-lib';
14
+ import type { IStoredMnemonic, IStoredRole, IStoredUser, IStoredUserRole } from '../interfaces/storage/storedDocumentTypes';
15
+ /**
16
+ * Rehydrate a stored role document into a typed IRoleBase.
17
+ */
18
+ export declare function rehydrateRole<TID extends PlatformID>(stored: IStoredRole, idProvider: IIdProvider<TID>): IRoleBase<TID, Date, string>;
19
+ /**
20
+ * Rehydrate a stored user document into a typed IUserBase.
21
+ */
22
+ export declare function rehydrateUser<TID extends PlatformID>(stored: IStoredUser, idProvider: IIdProvider<TID>): IUserBase<TID, Date, string, AccountStatus>;
23
+ /**
24
+ * Rehydrate a stored user-role junction document into a typed IUserRoleBase.
25
+ */
26
+ export declare function rehydrateUserRole<TID extends PlatformID>(stored: IStoredUserRole, idProvider: IIdProvider<TID>): IUserRoleBase<TID, Date>;
27
+ /**
28
+ * Rehydrate a stored mnemonic document into a typed IMnemonicBase.
29
+ */
30
+ export declare function rehydrateMnemonic<TID extends PlatformID>(stored: IStoredMnemonic, idProvider: IIdProvider<TID>): IMnemonicBase<TID>;
31
+ //# sourceMappingURL=rehydration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rehydration.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/utils/rehydration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EACL,aAAa,EACb,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,aAAa,EACnB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EACX,WAAW,EACX,eAAe,EAChB,MAAM,2CAA2C,CAAC;AAInD;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,SAAS,UAAU,EAClD,MAAM,EAAE,WAAW,EACnB,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,GAC3B,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAmB9B;AAID;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,SAAS,UAAU,EAClD,MAAM,EAAE,WAAW,EACnB,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,GAC3B,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,CAiC7C;AAID;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,SAAS,UAAU,EACtD,MAAM,EAAE,eAAe,EACvB,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,GAC3B,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAgB1B;AAID;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,SAAS,UAAU,EACtD,MAAM,EAAE,eAAe,EACvB,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,GAC3B,aAAa,CAAC,GAAG,CAAC,CAKpB"}
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Rehydration utilities for converting stored (serialized)
4
+ * BrightChainDb documents back into their typed in-memory representations.
5
+ *
6
+ * Each stored document has all IDs as hex strings and all dates as ISO-8601
7
+ * strings. Rehydration converts these back to TID (via IIdProvider.idFromString)
8
+ * and Date objects respectively.
9
+ *
10
+ * The inverse operation (typed → stored) is handled by
11
+ * BrightChainMemberInitService.serializeForStorage().
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.rehydrateRole = rehydrateRole;
15
+ exports.rehydrateUser = rehydrateUser;
16
+ exports.rehydrateUserRole = rehydrateUserRole;
17
+ exports.rehydrateMnemonic = rehydrateMnemonic;
18
+ // ─── Roles ───────────────────────────────────────────────────────────────────
19
+ /**
20
+ * Rehydrate a stored role document into a typed IRoleBase.
21
+ */
22
+ function rehydrateRole(stored, idProvider) {
23
+ return {
24
+ _id: idProvider.idFromString(stored._id),
25
+ name: stored.name,
26
+ admin: stored.admin,
27
+ member: stored.member,
28
+ child: stored.child,
29
+ system: stored.system,
30
+ createdBy: idProvider.idFromString(stored.createdBy),
31
+ updatedBy: idProvider.idFromString(stored.updatedBy),
32
+ createdAt: new Date(stored.createdAt),
33
+ updatedAt: new Date(stored.updatedAt),
34
+ ...(stored.deletedAt !== undefined && {
35
+ deletedAt: new Date(stored.deletedAt),
36
+ }),
37
+ ...(stored.deletedBy !== undefined && {
38
+ deletedBy: idProvider.idFromString(stored.deletedBy),
39
+ }),
40
+ };
41
+ }
42
+ // ─── Users ───────────────────────────────────────────────────────────────────
43
+ /**
44
+ * Rehydrate a stored user document into a typed IUserBase.
45
+ */
46
+ function rehydrateUser(stored, idProvider) {
47
+ return {
48
+ _id: idProvider.idFromString(stored._id),
49
+ username: stored.username,
50
+ email: stored.email,
51
+ publicKey: stored.publicKey,
52
+ passwordWrappedPrivateKey: stored.passwordWrappedPrivateKey,
53
+ mnemonicRecovery: stored.mnemonicRecovery,
54
+ ...(stored.mnemonicId !== undefined && {
55
+ mnemonicId: idProvider.idFromString(stored.mnemonicId),
56
+ }),
57
+ backupCodes: stored.backupCodes,
58
+ accountStatus: stored.accountStatus,
59
+ emailVerified: stored.emailVerified,
60
+ directChallenge: stored.directChallenge,
61
+ timezone: stored.timezone,
62
+ siteLanguage: stored.siteLanguage,
63
+ currency: stored.currency,
64
+ darkMode: stored.darkMode,
65
+ ...(stored.lastLogin !== undefined && {
66
+ lastLogin: new Date(stored.lastLogin),
67
+ }),
68
+ createdBy: idProvider.idFromString(stored.createdBy),
69
+ updatedBy: idProvider.idFromString(stored.updatedBy),
70
+ createdAt: new Date(stored.createdAt),
71
+ updatedAt: new Date(stored.updatedAt),
72
+ ...(stored.deletedAt !== undefined && {
73
+ deletedAt: new Date(stored.deletedAt),
74
+ }),
75
+ ...(stored.deletedBy !== undefined && {
76
+ deletedBy: idProvider.idFromString(stored.deletedBy),
77
+ }),
78
+ };
79
+ }
80
+ // ─── User Roles ──────────────────────────────────────────────────────────────
81
+ /**
82
+ * Rehydrate a stored user-role junction document into a typed IUserRoleBase.
83
+ */
84
+ function rehydrateUserRole(stored, idProvider) {
85
+ return {
86
+ _id: idProvider.idFromString(stored._id),
87
+ userId: idProvider.idFromString(stored.userId),
88
+ roleId: idProvider.idFromString(stored.roleId),
89
+ createdBy: idProvider.idFromString(stored.createdBy),
90
+ updatedBy: idProvider.idFromString(stored.updatedBy),
91
+ createdAt: new Date(stored.createdAt),
92
+ updatedAt: new Date(stored.updatedAt),
93
+ ...(stored.deletedAt !== undefined && {
94
+ deletedAt: new Date(stored.deletedAt),
95
+ }),
96
+ ...(stored.deletedBy !== undefined && {
97
+ deletedBy: idProvider.idFromString(stored.deletedBy),
98
+ }),
99
+ };
100
+ }
101
+ // ─── Mnemonics ───────────────────────────────────────────────────────────────
102
+ /**
103
+ * Rehydrate a stored mnemonic document into a typed IMnemonicBase.
104
+ */
105
+ function rehydrateMnemonic(stored, idProvider) {
106
+ return {
107
+ _id: idProvider.idFromString(stored._id),
108
+ hmac: stored.hmac,
109
+ };
110
+ }
111
+ //# sourceMappingURL=rehydration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rehydration.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/utils/rehydration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @fileoverview Serialization utility for converting typed RBAC documents
3
+ * to their stored (all-string) representation for BrightChainDb.
4
+ *
5
+ * Converts GuidV4Buffer values to hex strings and Date values to ISO strings.
6
+ * This is the inverse of the rehydration functions in ./rehydration.ts.
7
+ */
8
+ /**
9
+ * Serialize a typed document for storage.
10
+ *
11
+ * Converts:
12
+ * - Date → ISO-8601 string
13
+ * - GuidV4Buffer → full hex GUID string
14
+ * - Buffer → hex string
15
+ * - Everything else passes through unchanged
16
+ *
17
+ * @template T - The input typed document
18
+ * @template TStored - The expected stored output type (defaults to generic Record)
19
+ */
20
+ export declare function serializeForStorage<T extends object, TStored extends Record<string, unknown> = Record<string, unknown>>(doc: T): TStored;
21
+ //# sourceMappingURL=serialization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serialization.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/utils/serialization.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CACjC,CAAC,SAAS,MAAM,EAChB,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjE,GAAG,EAAE,CAAC,GAAG,OAAO,CAcjB"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Serialization utility for converting typed RBAC documents
4
+ * to their stored (all-string) representation for BrightChainDb.
5
+ *
6
+ * Converts GuidV4Buffer values to hex strings and Date values to ISO strings.
7
+ * This is the inverse of the rehydration functions in ./rehydration.ts.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.serializeForStorage = serializeForStorage;
11
+ /**
12
+ * Serialize a typed document for storage.
13
+ *
14
+ * Converts:
15
+ * - Date → ISO-8601 string
16
+ * - GuidV4Buffer → full hex GUID string
17
+ * - Buffer → hex string
18
+ * - Everything else passes through unchanged
19
+ *
20
+ * @template T - The input typed document
21
+ * @template TStored - The expected stored output type (defaults to generic Record)
22
+ */
23
+ function serializeForStorage(doc) {
24
+ const result = {};
25
+ for (const [key, value] of Object.entries(doc)) {
26
+ if (value instanceof Date) {
27
+ result[key] = value.toISOString();
28
+ }
29
+ else if (Buffer.isBuffer(value) && 'asFullHexGuid' in value) {
30
+ result[key] = value.asFullHexGuid;
31
+ }
32
+ else if (Buffer.isBuffer(value)) {
33
+ result[key] = value.toString('hex');
34
+ }
35
+ else {
36
+ result[key] = value;
37
+ }
38
+ }
39
+ return result;
40
+ }
41
+ //# sourceMappingURL=serialization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serialization.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/utils/serialization.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAgBH,kDAiBC;AA7BD;;;;;;;;;;;GAWG;AACH,SAAgB,mBAAmB,CAGjC,GAAM;IACN,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;YAC1B,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QACpC,CAAC;aAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,eAAe,IAAI,KAAK,EAAE,CAAC;YAC9D,MAAM,CAAC,GAAG,CAAC,GAAI,KAAsB,CAAC,aAAa,CAAC;QACtD,CAAC;aAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAClC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;IACH,CAAC;IACD,OAAO,MAAiB,CAAC;AAC3B,CAAC"}
@@ -24,4 +24,21 @@ export declare function validateRegistration(body: unknown): IValidationResult;
24
24
  * - password: non-empty
25
25
  */
26
26
  export declare function validateLogin(body: unknown): IValidationResult;
27
+ /**
28
+ * Validates a password change request body.
29
+ * - currentPassword: non-empty string
30
+ * - newPassword: minimum 8 characters
31
+ *
32
+ * Requirements: 1.3, 5.7
33
+ */
34
+ export declare function validatePasswordChange(body: unknown): IValidationResult;
35
+ /**
36
+ * Validates a mnemonic recovery request body.
37
+ * - email: valid email format
38
+ * - mnemonic: non-empty string
39
+ * - newPassword (optional): if present, minimum 8 characters
40
+ *
41
+ * Requirements: 5.7
42
+ */
43
+ export declare function validateRecovery(body: unknown): IValidationResult;
27
44
  //# sourceMappingURL=userValidation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"userValidation.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/validation/userValidation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,gBAAgB,EAAE,CAAC;CAC5B;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,GAAG,iBAAiB,CAsCrE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,iBAAiB,CAoB9D"}
1
+ {"version":3,"file":"userValidation.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/validation/userValidation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,gBAAgB,EAAE,CAAC;CAC5B;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,GAAG,iBAAiB,CAsCrE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,iBAAiB,CAoB9D;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,OAAO,GAAG,iBAAiB,CA+BvE;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,iBAAiB,CAqCjE"}
@@ -7,6 +7,8 @@
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.validateRegistration = validateRegistration;
9
9
  exports.validateLogin = validateLogin;
10
+ exports.validatePasswordChange = validatePasswordChange;
11
+ exports.validateRecovery = validateRecovery;
10
12
  /**
11
13
  * Validates a registration request body.
12
14
  * - username: non-empty, alphanumeric/hyphens/underscores only
@@ -67,4 +69,79 @@ function validateLogin(body) {
67
69
  }
68
70
  return { valid: errors.length === 0, errors };
69
71
  }
72
+ /**
73
+ * Validates a password change request body.
74
+ * - currentPassword: non-empty string
75
+ * - newPassword: minimum 8 characters
76
+ *
77
+ * Requirements: 1.3, 5.7
78
+ */
79
+ function validatePasswordChange(body) {
80
+ const errors = [];
81
+ const data = body;
82
+ const currentPassword = data['currentPassword'];
83
+ const newPassword = data['newPassword'];
84
+ if (!currentPassword ||
85
+ typeof currentPassword !== 'string' ||
86
+ currentPassword.trim().length === 0) {
87
+ errors.push({
88
+ field: 'currentPassword',
89
+ message: 'Current password is required',
90
+ });
91
+ }
92
+ if (!newPassword || typeof newPassword !== 'string') {
93
+ errors.push({
94
+ field: 'newPassword',
95
+ message: 'New password is required',
96
+ });
97
+ }
98
+ else if (newPassword.length < 8) {
99
+ errors.push({
100
+ field: 'newPassword',
101
+ message: 'New password must be at least 8 characters',
102
+ });
103
+ }
104
+ return { valid: errors.length === 0, errors };
105
+ }
106
+ /**
107
+ * Validates a mnemonic recovery request body.
108
+ * - email: valid email format
109
+ * - mnemonic: non-empty string
110
+ * - newPassword (optional): if present, minimum 8 characters
111
+ *
112
+ * Requirements: 5.7
113
+ */
114
+ function validateRecovery(body) {
115
+ const errors = [];
116
+ const data = body;
117
+ const email = data['email'];
118
+ const mnemonic = data['mnemonic'];
119
+ const newPassword = data['newPassword'];
120
+ if (!email || typeof email !== 'string') {
121
+ errors.push({ field: 'email', message: 'Email is required' });
122
+ }
123
+ else if (!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email)) {
124
+ errors.push({ field: 'email', message: 'Email format is invalid' });
125
+ }
126
+ if (!mnemonic ||
127
+ typeof mnemonic !== 'string' ||
128
+ mnemonic.trim().length === 0) {
129
+ errors.push({ field: 'mnemonic', message: 'Mnemonic is required' });
130
+ }
131
+ if (newPassword !== undefined && newPassword !== null) {
132
+ if (typeof newPassword !== 'string') {
133
+ errors.push({
134
+ field: 'newPassword',
135
+ message: 'New password must be a string',
136
+ });
137
+ }
138
+ else if (newPassword.length < 8) {
139
+ errors.push({
140
+ field: 'newPassword',
141
+ message: 'New password must be at least 8 characters',
142
+ });
143
+ }
144
+ }
145
+ return { valid: errors.length === 0, errors };
146
+ }
70
147
  //# sourceMappingURL=userValidation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"userValidation.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/validation/userValidation.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAkBH,oDAsCC;AAOD,sCAoBC;AAvED;;;;;GAKG;AACH,SAAgB,oBAAoB,CAAC,IAAa;IAChD,MAAM,MAAM,GAAuB,EAAE,CAAC;IACtC,MAAM,IAAI,GAAG,IAA+B,CAAC;IAE7C,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;IAElC,IACE,CAAC,QAAQ;QACT,OAAO,QAAQ,KAAK,QAAQ;QAC5B,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAC5B,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC,CAAC;IACtE,CAAC;SAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC;YACV,KAAK,EAAE,UAAU;YACjB,OAAO,EACL,8EAA8E;SACjF,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC,CAAC;IAChE,CAAC;SAAM,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC,CAAC;IACtE,CAAC;SAAM,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC;YACV,KAAK,EAAE,UAAU;YACjB,OAAO,EAAE,wCAAwC;SAClD,CAAC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;AAChD,CAAC;AAED;;;;GAIG;AACH,SAAgB,aAAa,CAAC,IAAa;IACzC,MAAM,MAAM,GAAuB,EAAE,CAAC;IACtC,MAAM,IAAI,GAAG,IAA+B,CAAC;IAE7C,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;IAElC,IACE,CAAC,QAAQ;QACT,OAAO,QAAQ,KAAK,QAAQ;QAC5B,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAC5B,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"userValidation.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/validation/userValidation.ts"],"names":[],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- /**
2
- * @fileoverview Adapter that wraps BrightChainDb as an IDocumentStore.
3
- *
4
- * BrightChainDb's Collection.find() returns a Cursor synchronously, while
5
- * IDocumentStore expects find() to return Promise<IDocumentCursor<T>>.
6
- * This thin adapter bridges the structural mismatch so that
7
- * EnergyAccountStore (in brightchain-lib) can use BrightChainDb for
8
- * persistence without depending on brightchain-db directly.
9
- *
10
- * @module adapters/brightChainDbDocumentStoreAdapter
11
- */
12
- import type { IDocumentCollection, IDocumentStore } from '@brightchain/brightchain-lib';
13
- import type { BrightChainDb } from '@brightchain/db';
14
- /**
15
- * Wraps a BrightChainDb instance to satisfy the IDocumentStore interface.
16
- */
17
- export declare class BrightChainDbDocumentStoreAdapter implements IDocumentStore {
18
- private readonly db;
19
- constructor(db: BrightChainDb);
20
- collection<T>(name: string): IDocumentCollection<T>;
21
- connect(uri?: string): Promise<void>;
22
- isConnected(): boolean;
23
- }
24
- //# sourceMappingURL=brightChainDbDocumentStoreAdapter.d.ts.map