@digitaldefiance/node-express-suite 4.19.16 → 4.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@digitaldefiance/node-express-suite",
3
- "version": "4.19.16",
3
+ "version": "4.20.0",
4
4
  "homepage": "https://github.com/Digital-Defiance/node-express-suite",
5
5
  "repository": {
6
6
  "type": "git",
@@ -39,12 +39,12 @@
39
39
  },
40
40
  "dependencies": {
41
41
  "@digitaldefiance/branded-interface": "^0.0.5",
42
- "@digitaldefiance/ecies-lib": "4.19.15",
42
+ "@digitaldefiance/ecies-lib": "4.20.2",
43
43
  "@digitaldefiance/i18n-lib": "4.6.4",
44
44
  "@digitaldefiance/mongoose-types": "8.20.9",
45
- "@digitaldefiance/node-ecies-lib": "4.19.15",
45
+ "@digitaldefiance/node-ecies-lib": "4.20.0",
46
46
  "@digitaldefiance/reed-solomon-erasure.wasm": "^1.0.2",
47
- "@digitaldefiance/suite-core-lib": "4.19.16",
47
+ "@digitaldefiance/suite-core-lib": "4.20.0",
48
48
  "@noble/curves": "^1.9.0",
49
49
  "@noble/hashes": "^1.8.0",
50
50
  "argon2": "^0.40.1",
@@ -132,9 +132,7 @@ class BackupCode extends suite_core_lib_1.BackupCodeString {
132
132
  const encryptionKey = await BackupCode.getBackupKeyV1(checksumSalt.toString('hex'), normalized, constants);
133
133
  try {
134
134
  const sealed = symmetric_1.SymmetricService.encryptBuffer(Buffer.from(backupUser.privateKey.value), encryptionKey);
135
- const wrappedEncryptedPrivateKey = systemUser
136
- .encryptData(sealed.encryptedData)
137
- .toString('hex');
135
+ const wrappedEncryptedPrivateKey = (await systemUser.encryptData(sealed.encryptedData)).toString('hex');
138
136
  return {
139
137
  version: BackupCode.BackupCodeVersion,
140
138
  checksumSalt: checksumSalt.toString('hex'),
@@ -1 +1 @@
1
- {"version":3,"file":"backup-code.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/backup-code.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backup-code.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/backup-code.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/controllers/user.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/controllers/user.ts"],"names":[],"mappings":"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"}
@@ -418,9 +418,15 @@ let UserController = class UserController extends base_controller_1.DecoratorBas
418
418
  const { user, userDoc: updatedUserDoc, codeCount, } = await this.backupCodeService.recoverKeyWithBackupCode(userDoc, code, newPassword ? new ecies_lib_1.SecureString(newPassword) : undefined, sess);
419
419
  let mnemonic;
420
420
  if (recoverMnemonic) {
421
+ if (!updatedUserDoc) {
422
+ throw new Error('User document not found after backup code recovery');
423
+ }
421
424
  mnemonic = await this.userService.recoverMnemonic(user, updatedUserDoc.mnemonicRecovery);
422
425
  }
423
426
  const { token, roles } = await this.jwtService.signToken(userDoc, this.application.environment.jwtSecret, i18n_lib_1.LanguageCodes.EN_US);
427
+ if (!updatedUserDoc) {
428
+ throw new Error('User document not found after backup code recovery');
429
+ }
424
430
  this.userService.updateLastLogin(updatedUserDoc._id).catch(() => { });
425
431
  return {
426
432
  statusCode: 200,
@@ -1 +1 @@
1
- {"version":3,"file":"user.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/controllers/user.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/controllers/user.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * @fileoverview Storage adapter interface for backup code operations.
3
+ * Decouples the BackupCodeService from any specific database implementation
4
+ * (Mongoose, BrightDB, etc.) by abstracting the user record read/write operations.
5
+ * @module interfaces/backup-code-store
6
+ */
7
+ import type { MemberType } from '@digitaldefiance/ecies-lib';
8
+ import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
9
+ import type { IBackupCode } from '@digitaldefiance/suite-core-lib';
10
+ /**
11
+ * Minimal user record shape required by the BackupCodeService.
12
+ * Storage adapters must be able to read and return this shape.
13
+ *
14
+ * This is intentionally a plain data interface — no `.save()` or
15
+ * document methods. Persistence is handled by the store itself.
16
+ */
17
+ export interface IBackupCodeUserRecord<TID extends PlatformID = Buffer> {
18
+ /** User's unique identifier */
19
+ _id: TID;
20
+ /** Username */
21
+ username: string;
22
+ /** Email address */
23
+ email: string;
24
+ /** Hex-encoded ECIES public key */
25
+ publicKey: string;
26
+ /** Encrypted backup codes */
27
+ backupCodes: Array<IBackupCode>;
28
+ /** Password-wrapped private key (optional, for password-based accounts) */
29
+ passwordWrappedPrivateKey?: {
30
+ salt: string;
31
+ iv: string;
32
+ authTag: string;
33
+ ciphertext: string;
34
+ iterations: number;
35
+ };
36
+ /** Record creation timestamp */
37
+ createdAt: Date | string;
38
+ /** Record update timestamp */
39
+ updatedAt: Date | string;
40
+ }
41
+ /**
42
+ * Mutable fields that the BackupCodeService may update on a user record
43
+ * during recovery or code regeneration.
44
+ */
45
+ export interface IBackupCodeUserUpdate {
46
+ /** Updated backup codes array (after consumption or regeneration) */
47
+ backupCodes?: Array<IBackupCode>;
48
+ /** Updated password-wrapped private key (after password reset via recovery) */
49
+ passwordWrappedPrivateKey?: {
50
+ salt: string;
51
+ iv: string;
52
+ authTag: string;
53
+ ciphertext: string;
54
+ iterations: number;
55
+ };
56
+ }
57
+ /**
58
+ * Storage-agnostic adapter for backup code persistence.
59
+ *
60
+ * Implementations handle the specifics of reading/writing user records
61
+ * in their respective storage backends (Mongoose, BrightDB, etc.).
62
+ *
63
+ * @template TID - Platform ID type (Buffer, ObjectId, etc.)
64
+ */
65
+ export interface IBackupCodeStore<TID extends PlatformID = Buffer> {
66
+ /**
67
+ * Retrieve the user record needed for backup code operations.
68
+ * @param userId - The user's unique identifier
69
+ * @returns The user record, or null if not found
70
+ */
71
+ getUserRecord(userId: TID): Promise<IBackupCodeUserRecord<TID> | null>;
72
+ /**
73
+ * Persist updated backup code data for a user.
74
+ * Called after code consumption (recovery) or regeneration.
75
+ * The implementation should handle its own transaction semantics.
76
+ *
77
+ * @param userId - The user's unique identifier
78
+ * @param updates - The fields to update
79
+ */
80
+ updateUserRecord(userId: TID, updates: IBackupCodeUserUpdate): Promise<void>;
81
+ /**
82
+ * Resolve the MemberType for a user (e.g. System, Admin, User).
83
+ * Used during key recovery to reconstruct the BackendMember.
84
+ *
85
+ * @param userId - The user's unique identifier
86
+ * @returns The member type
87
+ */
88
+ getMemberType(userId: TID): Promise<MemberType>;
89
+ /**
90
+ * Fetch a batch of user records for bulk operations (e.g. key rotation).
91
+ * Returns records ordered by _id, starting after `afterId`.
92
+ *
93
+ * @param afterId - Cursor: return records with _id > afterId. Omit for first batch.
94
+ * @param limit - Maximum number of records to return
95
+ * @returns Array of user records
96
+ */
97
+ fetchBatch(afterId?: string, limit?: number): Promise<Array<IBackupCodeUserRecord<TID>>>;
98
+ }
99
+ //# sourceMappingURL=backup-code-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backup-code-store.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/backup-code-store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAEnE;;;;;;GAMG;AACH,MAAM,WAAW,qBAAqB,CAAC,GAAG,SAAS,UAAU,GAAG,MAAM;IACpE,+BAA+B;IAC/B,GAAG,EAAE,GAAG,CAAC;IACT,eAAe;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IAChC,2EAA2E;IAC3E,yBAAyB,CAAC,EAAE;QAC1B,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,gCAAgC;IAChC,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;IACzB,8BAA8B;IAC9B,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,qEAAqE;IACrE,WAAW,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IACjC,+EAA+E;IAC/E,yBAAyB,CAAC,EAAE;QAC1B,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB,CAAC,GAAG,SAAS,UAAU,GAAG,MAAM;IAC/D;;;;OAIG;IACH,aAAa,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IAEvE;;;;;;;OAOG;IACH,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7E;;;;;;OAMG;IACH,aAAa,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAEhD;;;;;;;OAOG;IACH,UAAU,CACR,OAAO,CAAC,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAC/C"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Storage adapter interface for backup code operations.
4
+ * Decouples the BackupCodeService from any specific database implementation
5
+ * (Mongoose, BrightDB, etc.) by abstracting the user record read/write operations.
6
+ * @module interfaces/backup-code-store
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ //# sourceMappingURL=backup-code-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backup-code-store.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/backup-code-store.ts"],"names":[],"mappings":";AAAA;;;;;GAKG"}
@@ -7,6 +7,7 @@ export * from './api-mongo-validation-error-response';
7
7
  export * from './api-responses';
8
8
  export * from './application';
9
9
  export * from './authentication-provider';
10
+ export * from './backup-code-store';
10
11
  export * from './mongo-application';
11
12
  export * from './backend-objects';
12
13
  export * from './checksum-config';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AAEjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yCAAyC,CAAC;AACxD,cAAc,wBAAwB,CAAC;AACvC,cAAc,uCAAuC,CAAC;AACtD,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AAEjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yCAAyC,CAAC;AACxD,cAAc,wBAAwB,CAAC;AACvC,cAAc,uCAAuC,CAAC;AACtD,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kBAAkB,CAAC"}
@@ -10,6 +10,7 @@ tslib_1.__exportStar(require("./api-mongo-validation-error-response"), exports);
10
10
  tslib_1.__exportStar(require("./api-responses"), exports);
11
11
  tslib_1.__exportStar(require("./application"), exports);
12
12
  tslib_1.__exportStar(require("./authentication-provider"), exports);
13
+ tslib_1.__exportStar(require("./backup-code-store"), exports);
13
14
  tslib_1.__exportStar(require("./mongo-application"), exports);
14
15
  tslib_1.__exportStar(require("./backend-objects"), exports);
15
16
  tslib_1.__exportStar(require("./checksum-config"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/index.ts"],"names":[],"mappings":";;;AAAA,oEAA0C;AAC1C,2DAAiC;AAEjC,+DAAqC;AACrC,kFAAwD;AACxD,iEAAuC;AACvC,gFAAsD;AACtD,0DAAgC;AAChC,wDAA8B;AAC9B,oEAA0C;AAC1C,8DAAoC;AACpC,4DAAkC;AAClC,4DAAkC;AAClC,4DAAkC;AAClC,sDAA4B;AAC5B,8DAAoC;AACpC,+DAAqC;AACrC,uDAA6B;AAC7B,2DAAiC;AACjC,2DAAiC;AACjC,sEAA4C;AAC5C,0DAAgC;AAChC,wDAA8B;AAC9B,8DAAoC;AACpC,uDAA6B;AAC7B,yDAA+B;AAC/B,qEAA2C;AAC3C,uDAA6B;AAC7B,8DAAoC;AACpC,gEAAsC;AACtC,mDAAyB;AACzB,yDAA+B;AAC/B,oDAA0B;AAC1B,oDAA0B;AAC1B,yDAA+B;AAC/B,iEAAuC;AACvC,mDAAyB;AACzB,+DAAqC;AACrC,iEAAuC;AACvC,yEAA+C;AAC/C,2DAAiC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/index.ts"],"names":[],"mappings":";;;AAAA,oEAA0C;AAC1C,2DAAiC;AAEjC,+DAAqC;AACrC,kFAAwD;AACxD,iEAAuC;AACvC,gFAAsD;AACtD,0DAAgC;AAChC,wDAA8B;AAC9B,oEAA0C;AAC1C,8DAAoC;AACpC,8DAAoC;AACpC,4DAAkC;AAClC,4DAAkC;AAClC,4DAAkC;AAClC,sDAA4B;AAC5B,8DAAoC;AACpC,+DAAqC;AACrC,uDAA6B;AAC7B,2DAAiC;AACjC,2DAAiC;AACjC,sEAA4C;AAC5C,0DAAgC;AAChC,wDAA8B;AAC9B,8DAAoC;AACpC,uDAA6B;AAC7B,yDAA+B;AAC/B,qEAA2C;AAC3C,uDAA6B;AAC7B,8DAAoC;AACpC,gEAAsC;AACtC,mDAAyB;AACzB,yDAA+B;AAC/B,oDAA0B;AAC1B,oDAA0B;AAC1B,yDAA+B;AAC/B,iEAAuC;AACvC,mDAAyB;AACzB,+DAAqC;AACrC,iEAAuC;AACvC,yEAA+C;AAC/C,2DAAiC"}
@@ -1,6 +1,11 @@
1
1
  /**
2
2
  * @fileoverview Backup code service for secure account recovery.
3
3
  * Implements v1.0.0 backup code scheme with Argon2id KDF and HKDF-SHA256 checksums.
4
+ *
5
+ * Storage-agnostic: accepts an optional {@link IBackupCodeStore} for persistence.
6
+ * When no store is provided, falls back to direct UserDocument manipulation
7
+ * (backward-compatible Mongoose path).
8
+ *
4
9
  * @module services/backup-code
5
10
  */
6
11
  import { SecureString } from '@digitaldefiance/ecies-lib';
@@ -9,12 +14,19 @@ import { Member as BackendMember, ECIESService, PlatformID } from '@digitaldefia
9
14
  import { IBackupCode, ITokenRole } from '@digitaldefiance/suite-core-lib';
10
15
  import { UserDocument } from '../documents';
11
16
  import { IApplication } from '../interfaces/application';
17
+ import type { IBackupCodeStore, IBackupCodeUserRecord } from '../interfaces/backup-code-store';
12
18
  import { BaseService } from './base';
13
19
  import { KeyWrappingService } from './index';
14
20
  import { RoleService } from './role';
15
21
  /**
16
22
  * Service for backup code generation, validation, and key recovery.
17
23
  * Implements secure backup code scheme with constant-time validation and key wrapping.
24
+ *
25
+ * Storage is abstracted via {@link IBackupCodeStore}. When a store is provided,
26
+ * all persistence goes through the store interface. When omitted, the service
27
+ * falls back to direct UserDocument manipulation for backward compatibility
28
+ * with existing Mongoose-based consumers.
29
+ *
18
30
  * @template TID - Platform ID type (defaults to Buffer)
19
31
  * @template TDate - Date type (defaults to Date)
20
32
  * @template TTokenRole - Token role interface type
@@ -26,10 +38,18 @@ export declare class BackupCodeService<TID extends PlatformID = Buffer, TDate ex
26
38
  private systemUser?;
27
39
  private readonly keyWrappingService;
28
40
  private readonly roleService;
41
+ private readonly store?;
29
42
  /**
30
43
  * Construct a BackupCodeService.
44
+ * @param application - The application instance
45
+ * @param eciesService - ECIES cryptographic service
46
+ * @param keyWrappingService - Key wrapping service for password-based key protection
47
+ * @param roleService - Role service for member type resolution
48
+ * @param store - Optional storage adapter. When omitted, falls back to direct
49
+ * UserDocument manipulation (Mongoose). Provide an IBackupCodeStore implementation
50
+ * for non-Mongoose backends (e.g. BrightDB).
31
51
  */
32
- constructor(application: TApplication, eciesService: ECIESService<TID>, keyWrappingService: KeyWrappingService, roleService: RoleService<TID, TDate, TTokenRole>);
52
+ constructor(application: TApplication, eciesService: ECIESService<TID>, keyWrappingService: KeyWrappingService, roleService: RoleService<TID, TDate, TTokenRole>, store?: IBackupCodeStore<TID>);
33
53
  /**
34
54
  * Get the lazily-initialized system user for key wrapping/unwrapping.
35
55
  */
@@ -54,27 +74,47 @@ export declare class BackupCodeService<TID extends PlatformID = Buffer, TDate ex
54
74
  code: IBackupCode;
55
75
  };
56
76
  /**
57
- * v1: Recover a user's private key using a backup code.
77
+ * Recover a user's private key using a backup code.
78
+ * Storage-agnostic: uses IBackupCodeStore when available, otherwise
79
+ * falls back to the legacy UserDocument path.
80
+ *
81
+ * @param userOrId - Either a UserDocument (legacy) or a user ID (store-based)
82
+ * @param backupCode - The plaintext backup code
83
+ * @param newPassword - Optional new password to re-wrap the private key
84
+ * @param session - Optional database session for transactional consistency
58
85
  */
59
- recoverKeyWithBackupCodeV1(userDoc: UserDocument<string, TID>, backupCode: string, newPassword?: SecureString, session?: ClientSession): Promise<{
60
- userDoc: UserDocument<string, TID>;
86
+ recoverKeyWithBackupCodeV1(userOrId: UserDocument<string, TID> | TID, backupCode: string, newPassword?: SecureString, session?: ClientSession): Promise<{
87
+ userDoc?: UserDocument<string, TID>;
88
+ userRecord?: IBackupCodeUserRecord<TID>;
61
89
  user: BackendMember<TID>;
62
90
  codeCount: number;
63
91
  }>;
64
92
  /**
65
93
  * Recover a user's private key using a backup code (version-dispatched).
94
+ * Accepts either a UserDocument (legacy) or a user ID (store-based).
66
95
  */
67
- recoverKeyWithBackupCode(userDoc: UserDocument<string, TID>, backupCode: string, newPassword?: SecureString, session?: ClientSession): Promise<{
68
- userDoc: UserDocument<string, TID>;
96
+ recoverKeyWithBackupCode(userOrId: UserDocument<string, TID> | TID, backupCode: string, newPassword?: SecureString, session?: ClientSession): Promise<{
97
+ userDoc?: UserDocument<string, TID>;
98
+ userRecord?: IBackupCodeUserRecord<TID>;
69
99
  user: BackendMember<TID>;
70
100
  codeCount: number;
71
101
  }>;
72
102
  /**
73
- * Rewrap system-wrapped AEAD blobs from old system key to new one without touching inner AEAD.
103
+ * Rewrap system-wrapped AEAD blobs from old system key to new one.
104
+ *
105
+ * When a store is provided, uses the store's fetchBatch/updateUserRecord.
106
+ * Otherwise falls back to the legacy callback-based approach.
74
107
  */
75
- rewrapAllUsersBackupCodes(fetchBatch: (afterId?: string, limit?: number) => Promise<UserDocument<string, TID>[]>, saveUser: (user: UserDocument<string, TID>) => Promise<void>, oldSystem: BackendMember, newSystem: BackendMember, options?: {
108
+ rewrapAllUsersBackupCodes(fetchBatchOrOldSystem: ((afterId?: string, limit?: number) => Promise<UserDocument<string, TID>[]>) | BackendMember, saveUserOrNewSystem: ((user: UserDocument<string, TID>) => Promise<void>) | BackendMember, oldSystemOrOptions?: BackendMember | {
109
+ batchSize?: number;
110
+ onProgress?: (count: number) => void;
111
+ }, newSystemOrUndefined?: BackendMember, options?: {
76
112
  batchSize?: number;
77
113
  onProgress?: (count: number) => void;
78
114
  }): Promise<number>;
115
+ private _recoverViaStore;
116
+ private _recoverViaUserDoc;
117
+ private _rewrapViaStore;
118
+ private _rewrapViaCallbacks;
79
119
  }
80
120
  //# sourceMappingURL=backup-code.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"backup-code.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/backup-code.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backup-code.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/backup-code.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,11 @@
2
2
  /**
3
3
  * @fileoverview Backup code service for secure account recovery.
4
4
  * Implements v1.0.0 backup code scheme with Argon2id KDF and HKDF-SHA256 checksums.
5
+ *
6
+ * Storage-agnostic: accepts an optional {@link IBackupCodeStore} for persistence.
7
+ * When no store is provided, falls back to direct UserDocument manipulation
8
+ * (backward-compatible Mongoose path).
9
+ *
5
10
  * @module services/backup-code
6
11
  */
7
12
  Object.defineProperty(exports, "__esModule", { value: true });
@@ -19,6 +24,12 @@ const system_user_1 = require("./system-user");
19
24
  /**
20
25
  * Service for backup code generation, validation, and key recovery.
21
26
  * Implements secure backup code scheme with constant-time validation and key wrapping.
27
+ *
28
+ * Storage is abstracted via {@link IBackupCodeStore}. When a store is provided,
29
+ * all persistence goes through the store interface. When omitted, the service
30
+ * falls back to direct UserDocument manipulation for backward compatibility
31
+ * with existing Mongoose-based consumers.
32
+ *
22
33
  * @template TID - Platform ID type (defaults to Buffer)
23
34
  * @template TDate - Date type (defaults to Date)
24
35
  * @template TTokenRole - Token role interface type
@@ -30,22 +41,29 @@ class BackupCodeService extends base_1.BaseService {
30
41
  systemUser;
31
42
  keyWrappingService;
32
43
  roleService;
44
+ store;
33
45
  /**
34
46
  * Construct a BackupCodeService.
47
+ * @param application - The application instance
48
+ * @param eciesService - ECIES cryptographic service
49
+ * @param keyWrappingService - Key wrapping service for password-based key protection
50
+ * @param roleService - Role service for member type resolution
51
+ * @param store - Optional storage adapter. When omitted, falls back to direct
52
+ * UserDocument manipulation (Mongoose). Provide an IBackupCodeStore implementation
53
+ * for non-Mongoose backends (e.g. BrightDB).
35
54
  */
36
- constructor(application, eciesService, keyWrappingService, roleService) {
55
+ constructor(application, eciesService, keyWrappingService, roleService, store) {
37
56
  super(application);
38
57
  this.eciesService = eciesService;
39
58
  this.keyWrappingService = keyWrappingService;
40
59
  this.roleService = roleService;
60
+ this.store = store;
41
61
  }
42
62
  /**
43
63
  * Get the lazily-initialized system user for key wrapping/unwrapping.
44
64
  */
45
65
  getSystemUser() {
46
66
  if (!this.systemUser) {
47
- // System user is always created with Buffer IDs, but we need to cast to the generic type I
48
- // This is safe because the system user's ID type is compatible with all ID types
49
67
  this.systemUser = system_user_1.SystemUserService.getSystemUser(this.application.environment, this.application.constants);
50
68
  }
51
69
  return this.systemUser;
@@ -57,6 +75,7 @@ class BackupCodeService extends base_1.BaseService {
57
75
  setSystemUser(user) {
58
76
  this.systemUser = user;
59
77
  }
78
+ // ── Pure crypto operations (no storage dependency) ─────────────────────
60
79
  /**
61
80
  * v1: Consume (validate and remove) a backup code via constant-time checksum match.
62
81
  */
@@ -99,10 +118,102 @@ class BackupCodeService extends base_1.BaseService {
99
118
  throw new invalid_backup_code_version_1.InvalidBackupCodeVersionError(version);
100
119
  }
101
120
  }
121
+ // ── Storage-agnostic recovery ──────────────────────────────────────────
102
122
  /**
103
- * v1: Recover a user's private key using a backup code.
123
+ * Recover a user's private key using a backup code.
124
+ * Storage-agnostic: uses IBackupCodeStore when available, otherwise
125
+ * falls back to the legacy UserDocument path.
126
+ *
127
+ * @param userOrId - Either a UserDocument (legacy) or a user ID (store-based)
128
+ * @param backupCode - The plaintext backup code
129
+ * @param newPassword - Optional new password to re-wrap the private key
130
+ * @param session - Optional database session for transactional consistency
104
131
  */
105
- async recoverKeyWithBackupCodeV1(userDoc, backupCode, newPassword, session) {
132
+ async recoverKeyWithBackupCodeV1(userOrId, backupCode, newPassword, session) {
133
+ // Store-based path
134
+ if (this.store && !userOrId.save) {
135
+ return this._recoverViaStore(userOrId, backupCode, newPassword);
136
+ }
137
+ // Legacy Mongoose path
138
+ return this._recoverViaUserDoc(userOrId, backupCode, newPassword, session);
139
+ }
140
+ /**
141
+ * Recover a user's private key using a backup code (version-dispatched).
142
+ * Accepts either a UserDocument (legacy) or a user ID (store-based).
143
+ */
144
+ async recoverKeyWithBackupCode(userOrId, backupCode, newPassword, session) {
145
+ // Determine backup codes source
146
+ let backupCodes;
147
+ if (this.store && !userOrId.save) {
148
+ const record = await this.store.getUserRecord(userOrId);
149
+ if (!record)
150
+ throw new suite_core_lib_1.InvalidBackupCodeError();
151
+ backupCodes = record.backupCodes;
152
+ }
153
+ else {
154
+ backupCodes = userOrId.backupCodes;
155
+ }
156
+ const version = backup_code_1.BackupCode.detectBackupCodeVersion(backupCodes, backupCode);
157
+ switch (version) {
158
+ case backup_code_1.BackupCode.BackupCodeVersion:
159
+ return this.recoverKeyWithBackupCodeV1(userOrId, backupCode, newPassword, session);
160
+ default:
161
+ throw new invalid_backup_code_version_1.InvalidBackupCodeVersionError(version);
162
+ }
163
+ }
164
+ // ── Rewrap (key rotation) ─────────────────────────────────────────────
165
+ /**
166
+ * Rewrap system-wrapped AEAD blobs from old system key to new one.
167
+ *
168
+ * When a store is provided, uses the store's fetchBatch/updateUserRecord.
169
+ * Otherwise falls back to the legacy callback-based approach.
170
+ */
171
+ async rewrapAllUsersBackupCodes(fetchBatchOrOldSystem, saveUserOrNewSystem, oldSystemOrOptions, newSystemOrUndefined, options) {
172
+ // Detect which overload is being used
173
+ if (this.store && typeof fetchBatchOrOldSystem !== 'function') {
174
+ // Store-based: rewrapAllUsersBackupCodes(oldSystem, newSystem, options?)
175
+ return this._rewrapViaStore(fetchBatchOrOldSystem, saveUserOrNewSystem, oldSystemOrOptions);
176
+ }
177
+ // Legacy callback-based: rewrapAllUsersBackupCodes(fetchBatch, saveUser, oldSystem, newSystem, options?)
178
+ return this._rewrapViaCallbacks(fetchBatchOrOldSystem, saveUserOrNewSystem, oldSystemOrOptions, newSystemOrUndefined, options);
179
+ }
180
+ // ── Private: store-based recovery ─────────────────────────────────────
181
+ async _recoverViaStore(userId, backupCode, newPassword) {
182
+ const store = this.store;
183
+ const record = await store.getUserRecord(userId);
184
+ if (!record)
185
+ throw new suite_core_lib_1.InvalidBackupCodeError();
186
+ const normalizedCode = backup_code_1.BackupCode.normalizeCode(backupCode);
187
+ const { code, newCodesArray } = this.useBackupCodeV1(record.backupCodes, normalizedCode);
188
+ let decryptionKey;
189
+ try {
190
+ const adminMember = this.getSystemUser();
191
+ decryptionKey = await backup_code_1.BackupCode.getBackupKeyV1(code.checksumSalt, normalizedCode, this.application.constants);
192
+ const privateKeyUnwrapped = await adminMember.decryptData(Buffer.from(code.encrypted, 'hex'));
193
+ const decryptedPrivateKey = new ecies_lib_1.SecureBuffer(symmetric_1.SymmetricService.decryptBuffer(privateKeyUnwrapped, decryptionKey));
194
+ const memberType = await store.getMemberType(userId);
195
+ const user = new node_ecies_lib_1.Member(this.eciesService, memberType, record.username, new ecies_lib_1.EmailString(record.email), Buffer.from(record.publicKey, 'hex'), decryptedPrivateKey, undefined, record._id, new Date(record.createdAt), new Date(record.updatedAt));
196
+ const updates = {
197
+ backupCodes: newCodesArray,
198
+ };
199
+ if (newPassword) {
200
+ updates.passwordWrappedPrivateKey = this.keyWrappingService.wrapSecret(decryptedPrivateKey, newPassword, this.application.constants);
201
+ }
202
+ await store.updateUserRecord(userId, updates);
203
+ // Update the record in-place for the caller
204
+ record.backupCodes = newCodesArray;
205
+ if (updates.passwordWrappedPrivateKey) {
206
+ record.passwordWrappedPrivateKey = updates.passwordWrappedPrivateKey;
207
+ }
208
+ return { userRecord: record, user, codeCount: newCodesArray.length };
209
+ }
210
+ finally {
211
+ if (decryptionKey)
212
+ decryptionKey.fill(0);
213
+ }
214
+ }
215
+ // ── Private: legacy Mongoose recovery ─────────────────────────────────
216
+ async _recoverViaUserDoc(userDoc, backupCode, newPassword, session) {
106
217
  const normalizedCode = backup_code_1.BackupCode.normalizeCode(backupCode);
107
218
  return await this.withTransaction(async (sess) => {
108
219
  const { code, newCodesArray } = this.useBackupCodeV1(userDoc.backupCodes, normalizedCode);
@@ -111,7 +222,7 @@ class BackupCodeService extends base_1.BaseService {
111
222
  try {
112
223
  const adminMember = this.getSystemUser();
113
224
  decryptionKey = await backup_code_1.BackupCode.getBackupKeyV1(code.checksumSalt, normalizedCode, this.application.constants);
114
- const privateKeyUnwrapped = adminMember.decryptData(Buffer.from(code.encrypted, 'hex'));
225
+ const privateKeyUnwrapped = await adminMember.decryptData(Buffer.from(code.encrypted, 'hex'));
115
226
  const decryptedPrivateKey = new ecies_lib_1.SecureBuffer(symmetric_1.SymmetricService.decryptBuffer(privateKeyUnwrapped, decryptionKey));
116
227
  const memberType = await this.roleService.getMemberType(userDoc, session);
117
228
  const user = new node_ecies_lib_1.Member(this.eciesService, memberType, userDoc.username, new ecies_lib_1.EmailString(userDoc.email), Buffer.from(userDoc.publicKey, 'hex'), decryptedPrivateKey, undefined, userDoc._id, new Date(userDoc.createdAt), new Date(userDoc.updatedAt));
@@ -136,22 +247,45 @@ class BackupCodeService extends base_1.BaseService {
136
247
  timeoutMs: this.application.environment.mongo.transactionTimeout * 5,
137
248
  });
138
249
  }
139
- /**
140
- * Recover a user's private key using a backup code (version-dispatched).
141
- */
142
- async recoverKeyWithBackupCode(userDoc, backupCode, newPassword, session) {
143
- const version = backup_code_1.BackupCode.detectBackupCodeVersion(userDoc.backupCodes, backupCode);
144
- switch (version) {
145
- case backup_code_1.BackupCode.BackupCodeVersion:
146
- return this.recoverKeyWithBackupCodeV1(userDoc, backupCode, newPassword, session);
147
- default:
148
- throw new invalid_backup_code_version_1.InvalidBackupCodeVersionError(version);
250
+ // ── Private: store-based rewrap ───────────────────────────────────────
251
+ async _rewrapViaStore(oldSystem, newSystem, options) {
252
+ const store = this.store;
253
+ const batchSize = options?.batchSize ?? 500;
254
+ let processed = 0;
255
+ let afterId;
256
+ for (;;) {
257
+ const records = await store.fetchBatch(afterId, batchSize);
258
+ if (!records.length)
259
+ break;
260
+ for (const record of records) {
261
+ let modified = false;
262
+ for (const bc of record.backupCodes ?? []) {
263
+ try {
264
+ const sealed = await oldSystem.decryptData(Buffer.from(bc.encrypted, 'hex'));
265
+ const rewrapped = (await newSystem.encryptData(sealed)).toString('hex');
266
+ if (rewrapped !== bc.encrypted) {
267
+ bc.encrypted = rewrapped;
268
+ modified = true;
269
+ }
270
+ }
271
+ catch (e) {
272
+ throw new Error(`Failed to rewrap backup code for user ${record._id}: ${e.message}`);
273
+ }
274
+ }
275
+ if (modified) {
276
+ await store.updateUserRecord(record._id, {
277
+ backupCodes: record.backupCodes,
278
+ });
279
+ processed++;
280
+ options?.onProgress?.(processed);
281
+ }
282
+ }
283
+ afterId = records[records.length - 1]?._id?.toString() ?? undefined;
149
284
  }
285
+ return processed;
150
286
  }
151
- /**
152
- * Rewrap system-wrapped AEAD blobs from old system key to new one without touching inner AEAD.
153
- */
154
- async rewrapAllUsersBackupCodes(fetchBatch, saveUser, oldSystem, newSystem, options) {
287
+ // ── Private: legacy callback-based rewrap ─────────────────────────────
288
+ async _rewrapViaCallbacks(fetchBatch, saveUser, oldSystem, newSystem, options) {
155
289
  const batchSize = options?.batchSize ?? 500;
156
290
  let processed = 0;
157
291
  let afterId;
@@ -163,8 +297,8 @@ class BackupCodeService extends base_1.BaseService {
163
297
  let modified = false;
164
298
  for (const bc of user.backupCodes ?? []) {
165
299
  try {
166
- const sealed = oldSystem.decryptData(Buffer.from(bc.encrypted, 'hex'));
167
- const rewrapped = newSystem.encryptData(sealed).toString('hex');
300
+ const sealed = await oldSystem.decryptData(Buffer.from(bc.encrypted, 'hex'));
301
+ const rewrapped = (await newSystem.encryptData(sealed)).toString('hex');
168
302
  if (rewrapped !== bc.encrypted) {
169
303
  bc.encrypted = rewrapped;
170
304
  modified = true;
@@ -1 +1 @@
1
- {"version":3,"file":"backup-code.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/backup-code.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backup-code.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/backup-code.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * @fileoverview Mongoose/MongoDB implementation of IBackupCodeStore.
3
+ * Provides backward-compatible storage for the BackupCodeService using
4
+ * Mongoose UserDocument and ModelRegistry.
5
+ * @module services/mongo-backup-code-store
6
+ */
7
+ import type { MemberType } from '@digitaldefiance/ecies-lib';
8
+ import type { ClientSession } from '@digitaldefiance/mongoose-types';
9
+ import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
10
+ import type { ITokenRole } from '@digitaldefiance/suite-core-lib';
11
+ import type { IBackupCodeStore, IBackupCodeUserRecord, IBackupCodeUserUpdate } from '../interfaces/backup-code-store';
12
+ import type { IMongoApplication } from '../interfaces/mongo-application';
13
+ import { RoleService } from './role';
14
+ /**
15
+ * Mongoose-backed implementation of IBackupCodeStore.
16
+ *
17
+ * Delegates all persistence to the Mongoose UserModel and uses
18
+ * RoleService for member type resolution. This is the default store
19
+ * used when no custom store is provided to BackupCodeService.
20
+ *
21
+ * @template TID - Platform ID type
22
+ * @template TDate - Date type
23
+ * @template TTokenRole - Token role interface type
24
+ */
25
+ export declare class MongoBackupCodeStore<TID extends PlatformID = Buffer, TDate extends Date = Date, TTokenRole extends ITokenRole<TID, TDate> = ITokenRole<TID, TDate>> implements IBackupCodeStore<TID> {
26
+ private readonly application;
27
+ private readonly roleService;
28
+ private readonly session?;
29
+ constructor(application: IMongoApplication<TID>, roleService: RoleService<TID, TDate, TTokenRole>, session?: ClientSession);
30
+ /**
31
+ * Create a new MongoBackupCodeStore bound to a specific session.
32
+ * Useful for transactional operations.
33
+ */
34
+ withSession(session: ClientSession): MongoBackupCodeStore<TID, TDate, TTokenRole>;
35
+ getUserRecord(userId: TID): Promise<IBackupCodeUserRecord<TID> | null>;
36
+ updateUserRecord(userId: TID, updates: IBackupCodeUserUpdate): Promise<void>;
37
+ getMemberType(userId: TID): Promise<MemberType>;
38
+ fetchBatch(afterId?: string, limit?: number): Promise<Array<IBackupCodeUserRecord<TID>>>;
39
+ }
40
+ //# sourceMappingURL=mongo-backup-code-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mongo-backup-code-store.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/mongo-backup-code-store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAElE,OAAO,KAAK,EACV,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAGzE,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC;;;;;;;;;;GAUG;AACH,qBAAa,oBAAoB,CAC/B,GAAG,SAAS,UAAU,GAAG,MAAM,EAC/B,KAAK,SAAS,IAAI,GAAG,IAAI,EACzB,UAAU,SAAS,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAClE,YAAW,gBAAgB,CAAC,GAAG,CAAC;IAChC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAyB;IACrD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsC;IAClE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAgB;gBAGvC,WAAW,EAAE,iBAAiB,CAAC,GAAG,CAAC,EACnC,WAAW,EAAE,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,EAChD,OAAO,CAAC,EAAE,aAAa;IAOzB;;;OAGG;IACI,WAAW,CAChB,OAAO,EAAE,aAAa,GACrB,oBAAoB,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC;IAQlC,aAAa,CACxB,MAAM,EAAE,GAAG,GACV,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAqBhC,gBAAgB,CAC3B,MAAM,EAAE,GAAG,EACX,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,IAAI,CAAC;IAsBH,aAAa,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC;IAa/C,UAAU,CACrB,OAAO,CAAC,EAAE,MAAM,EAChB,KAAK,SAAM,GACV,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC;CA2B9C"}
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Mongoose/MongoDB implementation of IBackupCodeStore.
4
+ * Provides backward-compatible storage for the BackupCodeService using
5
+ * Mongoose UserDocument and ModelRegistry.
6
+ * @module services/mongo-backup-code-store
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.MongoBackupCodeStore = void 0;
10
+ const base_model_name_1 = require("../enumerations/base-model-name");
11
+ const model_registry_1 = require("../model-registry");
12
+ /**
13
+ * Mongoose-backed implementation of IBackupCodeStore.
14
+ *
15
+ * Delegates all persistence to the Mongoose UserModel and uses
16
+ * RoleService for member type resolution. This is the default store
17
+ * used when no custom store is provided to BackupCodeService.
18
+ *
19
+ * @template TID - Platform ID type
20
+ * @template TDate - Date type
21
+ * @template TTokenRole - Token role interface type
22
+ */
23
+ class MongoBackupCodeStore {
24
+ application;
25
+ roleService;
26
+ session;
27
+ constructor(application, roleService, session) {
28
+ this.application = application;
29
+ this.roleService = roleService;
30
+ this.session = session;
31
+ }
32
+ /**
33
+ * Create a new MongoBackupCodeStore bound to a specific session.
34
+ * Useful for transactional operations.
35
+ */
36
+ withSession(session) {
37
+ return new MongoBackupCodeStore(this.application, this.roleService, session);
38
+ }
39
+ async getUserRecord(userId) {
40
+ const UserModel = model_registry_1.ModelRegistry.instance.getTypedModel(base_model_name_1.BaseModelName.User);
41
+ const doc = await UserModel.findById(userId)
42
+ .session(this.session ?? null)
43
+ .exec();
44
+ if (!doc)
45
+ return null;
46
+ return {
47
+ _id: doc._id,
48
+ username: doc.username,
49
+ email: doc.email,
50
+ publicKey: doc.publicKey,
51
+ backupCodes: doc.backupCodes ?? [],
52
+ passwordWrappedPrivateKey: doc.passwordWrappedPrivateKey,
53
+ createdAt: doc.createdAt,
54
+ updatedAt: doc.updatedAt,
55
+ };
56
+ }
57
+ async updateUserRecord(userId, updates) {
58
+ const UserModel = model_registry_1.ModelRegistry.instance.getTypedModel(base_model_name_1.BaseModelName.User);
59
+ const $set = {};
60
+ if (updates.backupCodes !== undefined) {
61
+ $set['backupCodes'] = updates.backupCodes;
62
+ }
63
+ if (updates.passwordWrappedPrivateKey !== undefined) {
64
+ $set['passwordWrappedPrivateKey'] = updates.passwordWrappedPrivateKey;
65
+ }
66
+ if (Object.keys($set).length > 0) {
67
+ await UserModel.updateOne({ _id: userId }, { $set }, { session: this.session });
68
+ }
69
+ }
70
+ async getMemberType(userId) {
71
+ const UserModel = model_registry_1.ModelRegistry.instance.getTypedModel(base_model_name_1.BaseModelName.User);
72
+ const doc = await UserModel.findById(userId)
73
+ .session(this.session ?? null)
74
+ .exec();
75
+ if (!doc) {
76
+ throw new Error(`User not found: ${userId}`);
77
+ }
78
+ return await this.roleService.getMemberType(doc, this.session);
79
+ }
80
+ async fetchBatch(afterId, limit = 500) {
81
+ const UserModel = model_registry_1.ModelRegistry.instance.getTypedModel(base_model_name_1.BaseModelName.User);
82
+ const query = {};
83
+ if (afterId) {
84
+ query['_id'] = { $gt: afterId };
85
+ }
86
+ const docs = await UserModel.find(query)
87
+ .sort({ _id: 1 })
88
+ .limit(limit)
89
+ .session(this.session ?? null)
90
+ .exec();
91
+ return docs.map((doc) => ({
92
+ _id: doc._id,
93
+ username: doc.username,
94
+ email: doc.email,
95
+ publicKey: doc.publicKey,
96
+ backupCodes: doc.backupCodes ?? [],
97
+ passwordWrappedPrivateKey: doc.passwordWrappedPrivateKey,
98
+ createdAt: doc.createdAt,
99
+ updatedAt: doc.updatedAt,
100
+ }));
101
+ }
102
+ }
103
+ exports.MongoBackupCodeStore = MongoBackupCodeStore;
104
+ //# sourceMappingURL=mongo-backup-code-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mongo-backup-code-store.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/mongo-backup-code-store.ts"],"names":[],"mappings":"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"}