@digitaldefiance/node-express-suite 3.6.49 → 3.7.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 (176) hide show
  1. package/package.json +4 -4
  2. package/src/__tests__/helpers/setup-test-env.d.ts +2 -2
  3. package/src/__tests__/helpers/setup-test-env.d.ts.map +1 -1
  4. package/src/__tests__/helpers/setup-test-env.js.map +1 -1
  5. package/src/application-base.d.ts +5 -4
  6. package/src/application-base.d.ts.map +1 -1
  7. package/src/application-base.js.map +1 -1
  8. package/src/application-concrete.d.ts +3 -2
  9. package/src/application-concrete.d.ts.map +1 -1
  10. package/src/application-concrete.js.map +1 -1
  11. package/src/application.d.ts +3 -2
  12. package/src/application.d.ts.map +1 -1
  13. package/src/application.js +1 -1
  14. package/src/application.js.map +1 -1
  15. package/src/backup-code.d.ts +4 -5
  16. package/src/backup-code.d.ts.map +1 -1
  17. package/src/backup-code.js.map +1 -1
  18. package/src/builders/application-builder.d.ts +7 -6
  19. package/src/builders/application-builder.d.ts.map +1 -1
  20. package/src/builders/application-builder.js.map +1 -1
  21. package/src/controllers/base.d.ts +6 -5
  22. package/src/controllers/base.d.ts.map +1 -1
  23. package/src/controllers/base.js +1 -1
  24. package/src/controllers/base.js.map +1 -1
  25. package/src/controllers/user.d.ts +5 -6
  26. package/src/controllers/user.d.ts.map +1 -1
  27. package/src/controllers/user.js +2 -1
  28. package/src/controllers/user.js.map +1 -1
  29. package/src/decorators/base-controller.d.ts +3 -2
  30. package/src/decorators/base-controller.d.ts.map +1 -1
  31. package/src/decorators/base-controller.js.map +1 -1
  32. package/src/documents/base.d.ts +3 -3
  33. package/src/documents/base.d.ts.map +1 -1
  34. package/src/documents/email-token.d.ts +2 -2
  35. package/src/documents/email-token.d.ts.map +1 -1
  36. package/src/documents/mnemonic.d.ts +2 -2
  37. package/src/documents/mnemonic.d.ts.map +1 -1
  38. package/src/documents/role.d.ts +2 -2
  39. package/src/documents/role.d.ts.map +1 -1
  40. package/src/documents/used-direct-login-token.d.ts +2 -2
  41. package/src/documents/used-direct-login-token.d.ts.map +1 -1
  42. package/src/documents/user-role.d.ts +2 -2
  43. package/src/documents/user-role.d.ts.map +1 -1
  44. package/src/documents/user.d.ts +2 -2
  45. package/src/documents/user.d.ts.map +1 -1
  46. package/src/environment.d.ts +3 -4
  47. package/src/environment.d.ts.map +1 -1
  48. package/src/environment.js +13 -18
  49. package/src/environment.js.map +1 -1
  50. package/src/index.d.ts +1 -1
  51. package/src/index.d.ts.map +1 -1
  52. package/src/index.js +1 -3
  53. package/src/index.js.map +1 -1
  54. package/src/interfaces/application.d.ts +5 -4
  55. package/src/interfaces/application.d.ts.map +1 -1
  56. package/src/interfaces/backend-objects/email-token.d.ts +2 -2
  57. package/src/interfaces/backend-objects/email-token.d.ts.map +1 -1
  58. package/src/interfaces/backend-objects/request-user.d.ts +2 -2
  59. package/src/interfaces/backend-objects/request-user.d.ts.map +1 -1
  60. package/src/interfaces/backend-objects/role.d.ts +2 -2
  61. package/src/interfaces/backend-objects/role.d.ts.map +1 -1
  62. package/src/interfaces/backend-objects/user.d.ts +2 -2
  63. package/src/interfaces/backend-objects/user.d.ts.map +1 -1
  64. package/src/interfaces/controller-config.d.ts +4 -4
  65. package/src/interfaces/controller-config.d.ts.map +1 -1
  66. package/src/interfaces/environment.d.ts +2 -6
  67. package/src/interfaces/environment.d.ts.map +1 -1
  68. package/src/interfaces/jwt-sign-response.d.ts +2 -2
  69. package/src/interfaces/jwt-sign-response.d.ts.map +1 -1
  70. package/src/interfaces/models/token-role.d.ts +2 -2
  71. package/src/interfaces/models/token-role.d.ts.map +1 -1
  72. package/src/interfaces/models/used-direct-login-token.d.ts +2 -2
  73. package/src/interfaces/models/used-direct-login-token.d.ts.map +1 -1
  74. package/src/interfaces/models/user-role.d.ts +2 -2
  75. package/src/interfaces/models/user-role.d.ts.map +1 -1
  76. package/src/interfaces/models/user.d.ts +2 -2
  77. package/src/interfaces/models/user.d.ts.map +1 -1
  78. package/src/interfaces/request-user.d.ts +2 -2
  79. package/src/interfaces/request-user.d.ts.map +1 -1
  80. package/src/interfaces/server-init-result.d.ts +2 -3
  81. package/src/interfaces/server-init-result.d.ts.map +1 -1
  82. package/src/interfaces/test-environment.d.ts +4 -3
  83. package/src/interfaces/test-environment.d.ts.map +1 -1
  84. package/src/middlewares/authenticate-crypto.d.ts +2 -2
  85. package/src/middlewares/authenticate-crypto.d.ts.map +1 -1
  86. package/src/middlewares/authenticate-crypto.js.map +1 -1
  87. package/src/middlewares/authenticate-token.d.ts +2 -2
  88. package/src/middlewares/authenticate-token.d.ts.map +1 -1
  89. package/src/middlewares/authenticate-token.js.map +1 -1
  90. package/src/models/email-token.d.ts +6 -34
  91. package/src/models/email-token.d.ts.map +1 -1
  92. package/src/models/email-token.js.map +1 -1
  93. package/src/models/mnemonic.d.ts +6 -34
  94. package/src/models/mnemonic.d.ts.map +1 -1
  95. package/src/models/mnemonic.js.map +1 -1
  96. package/src/models/role.d.ts +6 -34
  97. package/src/models/role.d.ts.map +1 -1
  98. package/src/models/role.js.map +1 -1
  99. package/src/models/used-direct-login-token.d.ts +6 -34
  100. package/src/models/used-direct-login-token.d.ts.map +1 -1
  101. package/src/models/used-direct-login-token.js +2 -2
  102. package/src/models/used-direct-login-token.js.map +1 -1
  103. package/src/models/user-role.d.ts +5 -1
  104. package/src/models/user-role.d.ts.map +1 -1
  105. package/src/models/user-role.js.map +1 -1
  106. package/src/models/user.d.ts +5 -1
  107. package/src/models/user.d.ts.map +1 -1
  108. package/src/models/user.js.map +1 -1
  109. package/src/plugins/plugin-interface.d.ts +3 -2
  110. package/src/plugins/plugin-interface.d.ts.map +1 -1
  111. package/src/plugins/plugin-manager.d.ts +5 -4
  112. package/src/plugins/plugin-manager.d.ts.map +1 -1
  113. package/src/plugins/plugin-manager.js.map +1 -1
  114. package/src/routers/api.d.ts +2 -2
  115. package/src/routers/api.d.ts.map +1 -1
  116. package/src/routers/api.js.map +1 -1
  117. package/src/routers/app.d.ts +4 -3
  118. package/src/routers/app.d.ts.map +1 -1
  119. package/src/routers/app.js.map +1 -1
  120. package/src/routers/base.d.ts +2 -1
  121. package/src/routers/base.d.ts.map +1 -1
  122. package/src/routers/base.js.map +1 -1
  123. package/src/services/backup-code.d.ts +4 -4
  124. package/src/services/backup-code.d.ts.map +1 -1
  125. package/src/services/backup-code.js.map +1 -1
  126. package/src/services/base.d.ts +3 -2
  127. package/src/services/base.d.ts.map +1 -1
  128. package/src/services/base.js.map +1 -1
  129. package/src/services/database-initialization.d.ts +14 -14
  130. package/src/services/database-initialization.d.ts.map +1 -1
  131. package/src/services/database-initialization.js +71 -72
  132. package/src/services/database-initialization.js.map +1 -1
  133. package/src/services/db-init-cache.d.ts +2 -3
  134. package/src/services/db-init-cache.d.ts.map +1 -1
  135. package/src/services/direct-login-token.d.ts +3 -2
  136. package/src/services/direct-login-token.d.ts.map +1 -1
  137. package/src/services/direct-login-token.js.map +1 -1
  138. package/src/services/dummy-email-service.d.ts +2 -1
  139. package/src/services/dummy-email-service.d.ts.map +1 -1
  140. package/src/services/dummy-email-service.js.map +1 -1
  141. package/src/services/jwt.d.ts +2 -2
  142. package/src/services/jwt.d.ts.map +1 -1
  143. package/src/services/jwt.js.map +1 -1
  144. package/src/services/mnemonic.d.ts +3 -2
  145. package/src/services/mnemonic.d.ts.map +1 -1
  146. package/src/services/mnemonic.js.map +1 -1
  147. package/src/services/request-user.d.ts +6 -6
  148. package/src/services/request-user.d.ts.map +1 -1
  149. package/src/services/request-user.js +7 -5
  150. package/src/services/request-user.js.map +1 -1
  151. package/src/services/role.d.ts +6 -5
  152. package/src/services/role.d.ts.map +1 -1
  153. package/src/services/role.js +9 -15
  154. package/src/services/role.js.map +1 -1
  155. package/src/services/system-user.d.ts +3 -4
  156. package/src/services/system-user.d.ts.map +1 -1
  157. package/src/services/system-user.js.map +1 -1
  158. package/src/services/user.d.ts +21 -25
  159. package/src/services/user.d.ts.map +1 -1
  160. package/src/services/user.js +42 -37
  161. package/src/services/user.js.map +1 -1
  162. package/src/types/app-config.d.ts +4 -4
  163. package/src/types/app-config.d.ts.map +1 -1
  164. package/src/types/controller-config.d.ts +4 -4
  165. package/src/types/controller-config.d.ts.map +1 -1
  166. package/src/types.d.ts +32 -0
  167. package/src/types.d.ts.map +1 -1
  168. package/src/types.js.map +1 -1
  169. package/src/utils.d.ts +5 -4
  170. package/src/utils.d.ts.map +1 -1
  171. package/src/utils.js +2 -2
  172. package/src/utils.js.map +1 -1
  173. package/src/types/id-converters.d.ts +0 -28
  174. package/src/types/id-converters.d.ts.map +0 -1
  175. package/src/types/id-converters.js +0 -45
  176. package/src/types/id-converters.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  import { EmailString, MemberType, SecureString } from '@digitaldefiance/ecies-lib';
2
- import { Connection, Types } from '@digitaldefiance/mongoose-types';
3
- import { Member as BackendMember, ECIESService } from '@digitaldefiance/node-ecies-lib';
2
+ import { Connection } from '@digitaldefiance/mongoose-types';
3
+ import { Member as BackendMember, ECIESService, PlatformID } from '@digitaldefiance/node-ecies-lib';
4
4
  import { IFailableResult } from '@digitaldefiance/suite-core-lib';
5
5
  import { BackupCode } from '../backup-code';
6
6
  import { IDBInitResult } from '../interfaces';
@@ -11,7 +11,7 @@ import { BackupCodeService } from './backup-code';
11
11
  import { MnemonicService } from './mnemonic';
12
12
  import { RoleService } from './role';
13
13
  export declare abstract class DatabaseInitializationService {
14
- protected static initializationPromises: Map<string, Promise<IFailableResult<IServerInitResult<Types.ObjectId>>>>;
14
+ protected static initializationPromises: Map<string, Promise<IFailableResult<IServerInitResult<Buffer<ArrayBufferLike>>>>>;
15
15
  protected static initializationLock: Map<string, boolean>;
16
16
  protected static defaultI18nTFunc(str: string, variables?: Record<string, unknown>, language?: string, application?: IApplication): string;
17
17
  /**
@@ -20,7 +20,7 @@ export declare abstract class DatabaseInitializationService {
20
20
  * @param eciesService The ECIES service to generate a new mnemonic
21
21
  * @returns The existing or new mnemonic
22
22
  */
23
- static mnemonicOrNew(mnemonic: SecureString | undefined, eciesService: ECIESService): SecureString;
23
+ static mnemonicOrNew<I extends PlatformID = Buffer>(mnemonic: SecureString | undefined, eciesService: ECIESService<I>): SecureString;
24
24
  /**
25
25
  * Generate a cache key for a user based on their details
26
26
  * @param username The username
@@ -29,7 +29,7 @@ export declare abstract class DatabaseInitializationService {
29
29
  * @param id The user ID
30
30
  * @returns The generated cache key
31
31
  */
32
- static cacheKey<I extends Types.ObjectId | string = Types.ObjectId>(username: string, email: EmailString, mnemonic: SecureString, id: I, idToString?: (id: I) => string): string;
32
+ static cacheKey<I extends PlatformID = Buffer>(username: string, email: EmailString, mnemonic: SecureString, id: I): string;
33
33
  /**
34
34
  * Get a cached BackendMember or create a new one if not cached
35
35
  * @param username The username
@@ -41,7 +41,7 @@ export declare abstract class DatabaseInitializationService {
41
41
  * @param createdBy Optional ID of the user who created this member
42
42
  * @returns The cached or newly created BackendMember and the mnemonic used
43
43
  */
44
- static cacheOrNew<I extends Types.ObjectId | string = Types.ObjectId>(username: string, email: EmailString, mnemonic: SecureString | undefined, memberType: MemberType, eciesService: ECIESService, memberId?: I, createdBy?: I, idGenerator?: () => I, idToString?: (id: I) => string): {
44
+ static cacheOrNew<I extends PlatformID = Buffer>(username: string, email: EmailString, mnemonic: SecureString | undefined, memberType: MemberType, eciesService: ECIESService<I>, memberId?: I, createdBy?: I): {
45
45
  member: BackendMember<I>;
46
46
  mnemonic: SecureString;
47
47
  };
@@ -57,7 +57,7 @@ export declare abstract class DatabaseInitializationService {
57
57
  * @returns True if the database was dropped, false if not connected
58
58
  */
59
59
  static dropDatabase(connection: Connection): Promise<boolean>;
60
- static getInitOptions<I extends Types.ObjectId | string = Types.ObjectId>(application: IApplication): {
60
+ static getInitOptions<I extends PlatformID = Buffer>(application: IApplication<I>): {
61
61
  adminId?: I;
62
62
  adminMnemonic?: SecureString;
63
63
  adminPassword?: SecureString;
@@ -77,7 +77,7 @@ export declare abstract class DatabaseInitializationService {
77
77
  systemUserRoleId?: I;
78
78
  systemBackupCodes?: BackupCode[];
79
79
  };
80
- static serverInitResultHash<I extends Types.ObjectId | string = Types.ObjectId>(serverInitResult: IServerInitResult<I>, idToString?: (id: I) => string): string;
80
+ static serverInitResultHash<I extends PlatformID = Buffer>(serverInitResult: IServerInitResult<I>): string;
81
81
  /**
82
82
  * Initialize the user database with default users and roles (with dependency injection)
83
83
  * @param application The application
@@ -88,10 +88,10 @@ export declare abstract class DatabaseInitializationService {
88
88
  * @param backupCodeService The backup code service
89
89
  * @returns The result of the initialization
90
90
  */
91
- static initUserDbWithServices<I extends Types.ObjectId | string = Types.ObjectId>(application: IApplication, keyWrappingService: KeyWrappingService, mnemonicService: MnemonicService<I>, eciesService: ECIESService, roleService: RoleService<I>, backupCodeService: BackupCodeService<I>, idGenerator?: () => I, idToString?: (id: I) => string): Promise<IDBInitResult<IServerInitResult<I>>>;
92
- static serverInitResultsToDotEnv<I extends Types.ObjectId | string = Types.ObjectId>(serverInitResult: IServerInitResult<I>, idToString?: (id: I) => string): string;
93
- static printServerInitResults<I extends Types.ObjectId | string = Types.ObjectId>(result: IServerInitResult<I>, printDotEnv?: boolean, idToString?: (id: I) => string): void;
94
- static setEnvFromInitResults<I extends Types.ObjectId | string = Types.ObjectId>(result: IServerInitResult<I>, idToString?: (id: I) => string): void;
91
+ static initUserDbWithServices<I extends PlatformID = Buffer>(application: IApplication<I>, keyWrappingService: KeyWrappingService, mnemonicService: MnemonicService<I>, eciesService: ECIESService<I>, roleService: RoleService<I>, backupCodeService: BackupCodeService<I>): Promise<IDBInitResult<IServerInitResult<I>>>;
92
+ static serverInitResultsToDotEnv<I extends PlatformID = Buffer>(serverInitResult: IServerInitResult<I>): string;
93
+ static printServerInitResults<I extends PlatformID = Buffer>(result: IServerInitResult<I>, printDotEnv?: boolean): void;
94
+ static setEnvFromInitResults<I extends PlatformID = Buffer>(result: IServerInitResult<I>): void;
95
95
  /**
96
96
  * Write initialization results to a .env file
97
97
  * Updates or adds the credential variables in the specified .env file
@@ -99,13 +99,13 @@ export declare abstract class DatabaseInitializationService {
99
99
  * @param result The initialization results containing credentials
100
100
  * @param idToString Function to convert IDs to strings
101
101
  */
102
- static writeEnvFile<I extends Types.ObjectId | string = Types.ObjectId>(envFilePath: string, result: IServerInitResult<I>, idToString?: (id: I) => string): void;
102
+ static writeEnvFile<I extends PlatformID = Buffer>(envFilePath: string, result: IServerInitResult<I>): void;
103
103
  /**
104
104
  * Initialize the user database with default users and roles (convenience method)
105
105
  * This method creates the necessary services and calls initUserDbWithServices
106
106
  * @param application The application
107
107
  * @returns The result of the initialization
108
108
  */
109
- static initUserDb<I extends Types.ObjectId | string = Types.ObjectId>(application: IApplication, idGenerator?: () => I, idToString?: (id: I) => string): Promise<IFailableResult<IServerInitResult<I>>>;
109
+ static initUserDb<I extends PlatformID = Buffer>(application: IApplication<I>): Promise<IFailableResult<IServerInitResult<I>>>;
110
110
  }
111
111
  //# sourceMappingURL=database-initialization.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"database-initialization.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/database-initialization.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,EAEX,UAAU,EAEV,YAAY,EACb,MAAM,4BAA4B,CAAC;AAKpC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EACL,MAAM,IAAI,aAAa,EACvB,YAAY,EACb,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAGL,eAAe,EAKhB,MAAM,iCAAiC,CAAC;AAMzC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAO5C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAErE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAG9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAGrC,8BAAsB,6BAA6B;IAEjD,SAAS,CAAC,MAAM,CAAC,sBAAsB,2EAGnC;IACJ,SAAS,CAAC,MAAM,CAAC,kBAAkB,uBAA8B;IACjE,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAC/B,GAAG,EAAE,MAAM,EACX,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,QAAQ,CAAC,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,YAAY,GACzB,MAAM;IAOT;;;;;OAKG;WACW,aAAa,CACzB,QAAQ,EAAE,YAAY,GAAG,SAAS,EAClC,YAAY,EAAE,YAAY,GACzB,YAAY;IAKf;;;;;;;OAOG;WACW,QAAQ,CAAC,CAAC,SAAS,KAAK,CAAC,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC,QAAQ,EACvE,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,YAAY,EACtB,EAAE,EAAE,CAAC,EACL,UAAU,GAAE,CAAC,EAAE,EAAE,CAAC,KAAK,MAA2B,GACjD,MAAM;IAQT;;;;;;;;;;OAUG;WACW,UAAU,CAAC,CAAC,SAAS,KAAK,CAAC,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC,QAAQ,EACzE,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,YAAY,GAAG,SAAS,EAClC,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY,EAC1B,QAAQ,CAAC,EAAE,CAAC,EACZ,SAAS,CAAC,EAAE,CAAC,EACb,WAAW,CAAC,EAAE,MAAM,CAAC,EACrB,UAAU,GAAE,CAAC,EAAE,EAAE,CAAC,KAAK,MAA2B,GACjD;QACD,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;QACzB,QAAQ,EAAE,YAAY,CAAC;KACxB;IA4DD;;;;OAIG;WACW,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAmCtD;;;;OAIG;WACiB,YAAY,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;WAU5D,cAAc,CAC1B,CAAC,SAAS,KAAK,CAAC,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC,QAAQ,EAElD,WAAW,EAAE,YAAY,GACxB;QACD,OAAO,CAAC,EAAE,CAAC,CAAC;QACZ,aAAa,CAAC,EAAE,YAAY,CAAC;QAC7B,aAAa,CAAC,EAAE,YAAY,CAAC;QAC7B,WAAW,CAAC,EAAE,CAAC,CAAC;QAChB,eAAe,CAAC,EAAE,CAAC,CAAC;QACpB,gBAAgB,CAAC,EAAE,UAAU,EAAE,CAAC;QAChC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACb,cAAc,CAAC,EAAE,YAAY,CAAC;QAC9B,cAAc,CAAC,EAAE,YAAY,CAAC;QAC9B,YAAY,CAAC,EAAE,CAAC,CAAC;QACjB,gBAAgB,CAAC,EAAE,CAAC,CAAC;QACrB,iBAAiB,CAAC,EAAE,UAAU,EAAE,CAAC;QACjC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACb,cAAc,CAAC,EAAE,YAAY,CAAC;QAC9B,cAAc,CAAC,EAAE,YAAY,CAAC;QAC9B,YAAY,CAAC,EAAE,CAAC,CAAC;QACjB,gBAAgB,CAAC,EAAE,CAAC,CAAC;QACrB,iBAAiB,CAAC,EAAE,UAAU,EAAE,CAAC;KAClC;WAoCa,oBAAoB,CAChC,CAAC,SAAS,KAAK,CAAC,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC,QAAQ,EAElD,gBAAgB,EAAE,iBAAiB,CAAC,CAAC,CAAC,EACtC,UAAU,GAAE,CAAC,EAAE,EAAE,CAAC,KAAK,MAA2B,GACjD,MAAM;IAgCT;;;;;;;;;OASG;WACiB,sBAAsB,CACxC,CAAC,SAAS,KAAK,CAAC,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC,QAAQ,EAElD,WAAW,EAAE,YAAY,EACzB,kBAAkB,EAAE,kBAAkB,EACtC,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,EACnC,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,EAC3B,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,CAAC,EACvC,WAAW,CAAC,EAAE,MAAM,CAAC,EACrB,UAAU,GAAE,CAAC,EAAE,EAAE,CAAC,KAAK,MAGpB,GACF,OAAO,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;WAuvBjC,yBAAyB,CACrC,CAAC,SAAS,KAAK,CAAC,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC,QAAQ,EAElD,gBAAgB,EAAE,iBAAiB,CAAC,CAAC,CAAC,EACtC,UAAU,GAAE,CAAC,EAAE,EAAE,CAAC,KAAK,MAA2B,GACjD,MAAM;WAoBK,sBAAsB,CAClC,CAAC,SAAS,KAAK,CAAC,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC,QAAQ,EAElD,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC5B,WAAW,GAAE,OAAc,EAC3B,UAAU,GAAE,CAAC,EAAE,EAAE,CAAC,KAAK,MAA2B,GACjD,IAAI;WA6UO,qBAAqB,CACjC,CAAC,SAAS,KAAK,CAAC,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC,QAAQ,EAElD,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC5B,UAAU,GAAE,CAAC,EAAE,EAAE,CAAC,KAAK,MAA2B,GACjD,IAAI;IA6BP;;;;;;OAMG;WACW,YAAY,CACxB,CAAC,SAAS,KAAK,CAAC,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC,QAAQ,EAElD,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC5B,UAAU,GAAE,CAAC,EAAE,EAAE,CAAC,KAAK,MAA2B,GACjD,IAAI;IAgEP;;;;;OAKG;WACiB,UAAU,CAC5B,CAAC,SAAS,KAAK,CAAC,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC,QAAQ,EAElD,WAAW,EAAE,YAAY,EACzB,WAAW,CAAC,EAAE,MAAM,CAAC,EACrB,UAAU,GAAE,CAAC,EAAE,EAAE,CAAC,KAAK,MAGpB,GACF,OAAO,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;CAsClD"}
1
+ {"version":3,"file":"database-initialization.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/database-initialization.ts"],"names":[],"mappings":"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"}
@@ -9,13 +9,11 @@ const suite_core_lib_1 = require("@digitaldefiance/suite-core-lib");
9
9
  const crc_1 = require("crc");
10
10
  const crypto_1 = require("crypto");
11
11
  const fs = tslib_1.__importStar(require("fs"));
12
- const mongodb_1 = require("mongodb");
13
12
  const path = tslib_1.__importStar(require("path"));
14
13
  const backup_code_1 = require("../backup-code");
15
14
  const base_model_name_1 = require("../enumerations/base-model-name");
16
15
  const model_registry_1 = require("../model-registry");
17
16
  const key_wrapping_1 = require("../services/key-wrapping");
18
- const id_converters_1 = require("../types/id-converters");
19
17
  const utils_1 = require("../utils");
20
18
  const backup_code_2 = require("./backup-code");
21
19
  const mnemonic_1 = require("./mnemonic");
@@ -48,10 +46,11 @@ class DatabaseInitializationService {
48
46
  * @param id The user ID
49
47
  * @returns The generated cache key
50
48
  */
51
- static cacheKey(username, email, mnemonic, id, idToString = (id) => String(id)) {
52
- const combined = `${username}|${email.email}|${mnemonic.value}|${idToString(id)}`;
53
- const buffer = Buffer.from(combined, 'utf-8');
54
- const crcHash = (0, crc_1.crc32)(buffer);
49
+ static cacheKey(username, email, mnemonic, id) {
50
+ const idProvider = (0, node_ecies_lib_1.getEnhancedNodeIdProvider)();
51
+ const combined = `${username}|${email.email}|${mnemonic.value}|${idProvider.idToString(id)}`;
52
+ const buffer = (0, ecies_lib_1.stringToUint8Array)(combined);
53
+ const crcHash = (0, crc_1.crc32)(Buffer.from(buffer));
55
54
  return crcHash.toString(16).padStart(8, '0');
56
55
  }
57
56
  /**
@@ -65,14 +64,11 @@ class DatabaseInitializationService {
65
64
  * @param createdBy Optional ID of the user who created this member
66
65
  * @returns The cached or newly created BackendMember and the mnemonic used
67
66
  */
68
- static cacheOrNew(username, email, mnemonic, memberType, eciesService, memberId, createdBy, idGenerator, idToString = (id) => String(id)) {
67
+ static cacheOrNew(username, email, mnemonic, memberType, eciesService, memberId, createdBy) {
68
+ const idProvider = (0, node_ecies_lib_1.getEnhancedNodeIdProvider)();
69
69
  const m = this.mnemonicOrNew(mnemonic, eciesService);
70
- const newId = memberId
71
- ? memberId
72
- : idGenerator
73
- ? idGenerator()
74
- : (0, id_converters_1.convertObjectIdToGenericId)(new mongodb_1.ObjectId());
75
- const key = DatabaseInitializationService.cacheKey(username, email, m, newId, idToString);
70
+ const newId = memberId ? memberId : idProvider.generateTyped();
71
+ const key = DatabaseInitializationService.cacheKey(username, email, m, newId);
76
72
  if (!global.__MEMBER_CACHE__) {
77
73
  global.__MEMBER_CACHE__ = new Map();
78
74
  }
@@ -174,29 +170,30 @@ class DatabaseInitializationService {
174
170
  systemBackupCodes: env.systemBackupCodes,
175
171
  };
176
172
  }
177
- static serverInitResultHash(serverInitResult, idToString = (id) => String(id)) {
173
+ static serverInitResultHash(serverInitResult) {
178
174
  const h = (0, crypto_1.createHash)('sha256');
179
- h.update(idToString(serverInitResult.adminUser._id));
180
- h.update(idToString(serverInitResult.adminRole._id));
181
- h.update(idToString(serverInitResult.adminUserRole._id));
175
+ const idProvider = (0, node_ecies_lib_1.getEnhancedNodeIdProvider)();
176
+ h.update(idProvider.idToString(serverInitResult.adminUser._id));
177
+ h.update(idProvider.idToString(serverInitResult.adminRole._id));
178
+ h.update(idProvider.idToString(serverInitResult.adminUserRole._id));
182
179
  h.update(serverInitResult.adminUsername);
183
180
  h.update(serverInitResult.adminEmail);
184
181
  h.update(serverInitResult.adminMnemonic);
185
182
  h.update(serverInitResult.adminPassword);
186
183
  h.update(serverInitResult.adminUser.publicKey);
187
184
  serverInitResult.adminBackupCodes.map((bc) => h.update(bc));
188
- h.update(idToString(serverInitResult.memberUser._id));
189
- h.update(idToString(serverInitResult.memberRole._id));
190
- h.update(idToString(serverInitResult.memberUserRole._id));
185
+ h.update(idProvider.idToString(serverInitResult.memberUser._id));
186
+ h.update(idProvider.idToString(serverInitResult.memberRole._id));
187
+ h.update(idProvider.idToString(serverInitResult.memberUserRole._id));
191
188
  h.update(serverInitResult.memberUsername);
192
189
  h.update(serverInitResult.memberEmail);
193
190
  h.update(serverInitResult.memberMnemonic);
194
191
  h.update(serverInitResult.memberPassword);
195
192
  h.update(serverInitResult.memberUser.publicKey);
196
193
  serverInitResult.memberBackupCodes.map((bc) => h.update(bc));
197
- h.update(idToString(serverInitResult.systemUser._id));
198
- h.update(idToString(serverInitResult.systemRole._id));
199
- h.update(idToString(serverInitResult.systemUserRole._id));
194
+ h.update(idProvider.idToString(serverInitResult.systemUser._id));
195
+ h.update(idProvider.idToString(serverInitResult.systemRole._id));
196
+ h.update(idProvider.idToString(serverInitResult.systemUserRole._id));
200
197
  h.update(serverInitResult.systemUsername);
201
198
  h.update(serverInitResult.systemEmail);
202
199
  h.update(serverInitResult.systemMnemonic);
@@ -215,12 +212,11 @@ class DatabaseInitializationService {
215
212
  * @param backupCodeService The backup code service
216
213
  * @returns The result of the initialization
217
214
  */
218
- static async initUserDbWithServices(application, keyWrappingService, mnemonicService, eciesService, roleService, backupCodeService, idGenerator, idToString = (id) => application.constants.idProvider.serialize(application.constants.idProvider.toBytes(id))) {
215
+ static async initUserDbWithServices(application, keyWrappingService, mnemonicService, eciesService, roleService, backupCodeService) {
219
216
  const engine = (0, suite_core_lib_1.getSuiteCoreI18nEngine)({ constants: application.constants });
220
217
  const isTestEnvironment = process.env['NODE_ENV'] === 'test';
221
218
  const options = DatabaseInitializationService.getInitOptions(application);
222
- const effectiveIdGenerator = (idGenerator ??
223
- (() => application.environment.idAdapter(application.constants.idProvider.generate())));
219
+ const effectiveIdGenerator = (() => application.constants.idProvider.fromBytes(application.constants.idProvider.generate()));
224
220
  const UserModel = model_registry_1.ModelRegistry.instance.getTypedModel(base_model_name_1.BaseModelName.User);
225
221
  const RoleModel = model_registry_1.ModelRegistry.instance.getTypedModel(base_model_name_1.BaseModelName.Role);
226
222
  const adminUserId = options.adminId ?? effectiveIdGenerator();
@@ -415,7 +411,7 @@ class DatabaseInitializationService {
415
411
  }
416
412
  systemRole = systemRoleDocs[0];
417
413
  }
418
- const systemUser = DatabaseInitializationService.cacheOrNew(application.constants.SystemUser, new ecies_lib_1.EmailString(application.constants.SystemEmail), options.systemMnemonic, ecies_lib_1.MemberType.System, eciesService, systemUserId, systemUserId, effectiveIdGenerator, idToString);
414
+ const systemUser = DatabaseInitializationService.cacheOrNew(application.constants.SystemUser, new ecies_lib_1.EmailString(application.constants.SystemEmail), options.systemMnemonic, ecies_lib_1.MemberType.System, eciesService, systemUserId, systemUserId);
419
415
  backupCodeService.setSystemUser(systemUser.member);
420
416
  system_user_1.SystemUserService.setSystemUser(systemUser.member, application.constants);
421
417
  // Encrypt mnemonic for recovery
@@ -470,7 +466,7 @@ class DatabaseInitializationService {
470
466
  NAME: suite_core_lib_1.SuiteCoreStringKey.Common_System,
471
467
  }));
472
468
  }
473
- const adminUser = DatabaseInitializationService.cacheOrNew(application.constants.AdministratorUser, new ecies_lib_1.EmailString(application.constants.AdministratorEmail), options.adminMnemonic, ecies_lib_1.MemberType.User, eciesService, adminUserId, systemDoc._id, effectiveIdGenerator, idToString);
469
+ const adminUser = DatabaseInitializationService.cacheOrNew(application.constants.AdministratorUser, new ecies_lib_1.EmailString(application.constants.AdministratorEmail), options.adminMnemonic, ecies_lib_1.MemberType.User, eciesService, adminUserId, systemDoc._id);
474
470
  // Encrypt mnemonic for recovery
475
471
  const adminEncryptedMnemonic = adminUser.member
476
472
  .encryptData(Buffer.from(adminUser.mnemonic.value ?? '', 'utf-8'))
@@ -522,7 +518,7 @@ class DatabaseInitializationService {
522
518
  NAME: engine.translate(suite_core_lib_1.SuiteCoreComponentId, suite_core_lib_1.SuiteCoreStringKey.Common_Admin),
523
519
  }));
524
520
  }
525
- const memberUser = DatabaseInitializationService.cacheOrNew(application.constants.MemberUser, new ecies_lib_1.EmailString(application.constants.MemberEmail), options.memberMnemonic, ecies_lib_1.MemberType.User, eciesService, memberUserId, systemDoc._id, effectiveIdGenerator, idToString);
521
+ const memberUser = DatabaseInitializationService.cacheOrNew(application.constants.MemberUser, new ecies_lib_1.EmailString(application.constants.MemberEmail), options.memberMnemonic, ecies_lib_1.MemberType.User, eciesService, memberUserId, systemDoc._id);
526
522
  const memberPasswordSecure = options.memberPassword
527
523
  ? options.memberPassword
528
524
  : new ecies_lib_1.SecureString(this.generatePassword(16));
@@ -655,38 +651,40 @@ class DatabaseInitializationService {
655
651
  };
656
652
  }
657
653
  }
658
- static serverInitResultsToDotEnv(serverInitResult, idToString = (id) => String(id)) {
659
- return `ADMIN_ID="${idToString(serverInitResult.adminUser._id)}"
654
+ static serverInitResultsToDotEnv(serverInitResult) {
655
+ const idProvider = (0, node_ecies_lib_1.getEnhancedNodeIdProvider)();
656
+ return `ADMIN_ID="${idProvider.idToString(serverInitResult.adminUser._id)}"
660
657
  ADMIN_MNEMONIC="${serverInitResult.adminMnemonic}"
661
- ADMIN_ROLE_ID="${idToString(serverInitResult.adminRole._id)}"
662
- ADMIN_USER_ROLE_ID="${idToString(serverInitResult.adminUserRole._id)}"
658
+ ADMIN_ROLE_ID="${idProvider.idToString(serverInitResult.adminRole._id)}"
659
+ ADMIN_USER_ROLE_ID="${idProvider.idToString(serverInitResult.adminUserRole._id)}"
663
660
  ADMIN_PASSWORD="${serverInitResult.adminPassword}"
664
- MEMBER_ID="${idToString(serverInitResult.memberUser._id)}"
661
+ MEMBER_ID="${idProvider.idToString(serverInitResult.memberUser._id)}"
665
662
  MEMBER_MNEMONIC="${serverInitResult.memberMnemonic}"
666
- MEMBER_ROLE_ID="${idToString(serverInitResult.memberRole._id)}"
667
- MEMBER_USER_ROLE_ID="${idToString(serverInitResult.memberUserRole._id)}"
663
+ MEMBER_ROLE_ID="${idProvider.idToString(serverInitResult.memberRole._id)}"
664
+ MEMBER_USER_ROLE_ID="${idProvider.idToString(serverInitResult.memberUserRole._id)}"
668
665
  MEMBER_PASSWORD="${serverInitResult.memberPassword}"
669
- SYSTEM_ID="${idToString(serverInitResult.systemUser._id)}"
666
+ SYSTEM_ID="${idProvider.idToString(serverInitResult.systemUser._id)}"
670
667
  SYSTEM_MNEMONIC="${serverInitResult.systemMnemonic}"
671
668
  SYSTEM_PUBLIC_KEY="${serverInitResult.systemUser.publicKey}"
672
- SYSTEM_ROLE_ID="${idToString(serverInitResult.systemRole._id)}"
673
- SYSTEM_USER_ROLE_ID="${idToString(serverInitResult.systemUserRole._id)}"
669
+ SYSTEM_ROLE_ID="${idProvider.idToString(serverInitResult.systemRole._id)}"
670
+ SYSTEM_USER_ROLE_ID="${idProvider.idToString(serverInitResult.systemUserRole._id)}"
674
671
  SYSTEM_PASSWORD="${serverInitResult.systemPassword}"
675
672
  `;
676
673
  }
677
- static printServerInitResults(result, printDotEnv = true, idToString = (id) => String(id)) {
674
+ static printServerInitResults(result, printDotEnv = true) {
675
+ const idProvider = (0, node_ecies_lib_1.getEnhancedNodeIdProvider)();
678
676
  (0, utils_1.debugLog)(true, 'log', this.defaultI18nTFunc('\n=== {{SuiteCoreStringKey.Admin_AccountCredentials}} ==='));
679
677
  (0, utils_1.directLog)(true, 'log', this.defaultI18nTFunc('{{SuiteCoreStringKey.Common_System}} {{SuiteCoreStringKey.Common_ID}}: {id}', {
680
- id: idToString(result.systemUser._id),
678
+ id: idProvider.idToString(result.systemUser._id),
681
679
  }));
682
680
  (0, utils_1.directLog)(true, 'log', this.defaultI18nTFunc('{{SuiteCoreStringKey.Common_System}} {{SuiteCoreStringKey.Common_Role}}: {roleName}', {
683
681
  roleName: result.systemRole.name,
684
682
  }));
685
683
  (0, utils_1.directLog)(true, 'log', this.defaultI18nTFunc('{{SuiteCoreStringKey.Common_System}} {{SuiteCoreStringKey.Common_Role}} {{SuiteCoreStringKey.Common_ID}}: {roleId}', {
686
- roleId: idToString(result.systemRole._id),
684
+ roleId: idProvider.idToString(result.systemRole._id),
687
685
  }));
688
686
  (0, utils_1.directLog)(true, 'log', this.defaultI18nTFunc('{{SuiteCoreStringKey.Common_System}} {{SuiteCoreStringKey.Common_User}} {{SuiteCoreStringKey.Common_Role}} {{SuiteCoreStringKey.Common_ID}}: {userRoleId}', {
689
- userRoleId: idToString(result.systemUserRole._id),
687
+ userRoleId: idProvider.idToString(result.systemUserRole._id),
690
688
  }));
691
689
  (0, utils_1.directLog)(true, 'log', this.defaultI18nTFunc('{{SuiteCoreStringKey.Common_System}} {{SuiteCoreStringKey.Common_Username}}: {username}', {
692
690
  username: result.systemUsername,
@@ -706,16 +704,16 @@ SYSTEM_PASSWORD="${serverInitResult.systemPassword}"
706
704
  (0, utils_1.directLog)(true, 'log', `${this.defaultI18nTFunc('{{SuiteCoreStringKey.Common_System}} {{SuiteCoreStringKey.Common_BackupCodes}}')}: ${result.systemBackupCodes.join(', ')}`);
707
705
  (0, utils_1.directLog)(true, 'log', '');
708
706
  (0, utils_1.directLog)(true, 'log', this.defaultI18nTFunc('{{SuiteCoreStringKey.Common_Admin}} {{SuiteCoreStringKey.Common_ID}}: {id}', {
709
- id: idToString(result.adminUser._id),
707
+ id: idProvider.idToString(result.adminUser._id),
710
708
  }));
711
709
  (0, utils_1.directLog)(true, 'log', this.defaultI18nTFunc('{{SuiteCoreStringKey.Common_Admin}} {{SuiteCoreStringKey.Common_Role}}: {roleName}', {
712
710
  roleName: result.adminRole.name,
713
711
  }));
714
712
  (0, utils_1.directLog)(true, 'log', this.defaultI18nTFunc('{{SuiteCoreStringKey.Common_Admin}} {{SuiteCoreStringKey.Common_Role}} {{SuiteCoreStringKey.Common_ID}}: {roleId}', {
715
- roleId: idToString(result.adminRole._id),
713
+ roleId: idProvider.idToString(result.adminRole._id),
716
714
  }));
717
715
  (0, utils_1.directLog)(true, 'log', this.defaultI18nTFunc('{{SuiteCoreStringKey.Common_Admin}} {{SuiteCoreStringKey.Common_User}} {{SuiteCoreStringKey.Common_Role}} {{SuiteCoreStringKey.Common_ID}}: {userRoleId}', {
718
- userRoleId: idToString(result.adminUserRole._id),
716
+ userRoleId: idProvider.idToString(result.adminUserRole._id),
719
717
  }));
720
718
  (0, utils_1.directLog)(true, 'log', this.defaultI18nTFunc('{{SuiteCoreStringKey.Common_Admin}} {{SuiteCoreStringKey.Common_Username}}: {username}', {
721
719
  username: result.adminUsername,
@@ -735,16 +733,16 @@ SYSTEM_PASSWORD="${serverInitResult.systemPassword}"
735
733
  (0, utils_1.directLog)(true, 'log', `${this.defaultI18nTFunc('{{SuiteCoreStringKey.Common_Admin}} {{SuiteCoreStringKey.Common_BackupCodes}}')}: ${result.adminBackupCodes.join(', ')}`);
736
734
  (0, utils_1.directLog)(true, 'log', '');
737
735
  (0, utils_1.directLog)(true, 'log', this.defaultI18nTFunc('{{SuiteCoreStringKey.Common_Member}} {{SuiteCoreStringKey.Common_ID}}: {id}', {
738
- id: idToString(result.memberUser._id),
736
+ id: idProvider.idToString(result.memberUser._id),
739
737
  }));
740
738
  (0, utils_1.directLog)(true, 'log', this.defaultI18nTFunc('{{SuiteCoreStringKey.Common_Member}} {{SuiteCoreStringKey.Common_Role}}: {roleName}', {
741
739
  roleName: result.memberRole.name,
742
740
  }));
743
741
  (0, utils_1.directLog)(true, 'log', this.defaultI18nTFunc('{{SuiteCoreStringKey.Common_Member}} {{SuiteCoreStringKey.Common_Role}} {{SuiteCoreStringKey.Common_ID}}: {roleId}', {
744
- roleId: idToString(result.memberRole._id),
742
+ roleId: idProvider.idToString(result.memberRole._id),
745
743
  }));
746
744
  (0, utils_1.directLog)(true, 'log', this.defaultI18nTFunc('{{SuiteCoreStringKey.Common_Member}} {{SuiteCoreStringKey.Common_User}} {{SuiteCoreStringKey.Common_Role}} {{SuiteCoreStringKey.Common_ID}}: {userRoleId}', {
747
- userRoleId: idToString(result.memberUserRole._id),
745
+ userRoleId: idProvider.idToString(result.memberUserRole._id),
748
746
  }));
749
747
  (0, utils_1.directLog)(true, 'log', this.defaultI18nTFunc('{{SuiteCoreStringKey.Common_Member}} {{SuiteCoreStringKey.Common_Username}}: {username}', {
750
748
  username: result.memberUsername,
@@ -766,31 +764,31 @@ SYSTEM_PASSWORD="${serverInitResult.systemPassword}"
766
764
  if (printDotEnv) {
767
765
  (0, utils_1.directLog)(true, 'log', '');
768
766
  (0, utils_1.debugLog)(true, 'log', this.defaultI18nTFunc('=== {{SuiteCoreStringKey.Admin_DotEnvFormat}} ==='));
769
- (0, utils_1.directLog)(true, 'log', this.serverInitResultsToDotEnv(result, idToString));
770
767
  (0, utils_1.debugLog)(true, 'log', this.defaultI18nTFunc('=== {{SuiteCoreStringKey.Admin_EndDotEnvFormat}} ==='));
771
768
  }
772
769
  }
773
- static setEnvFromInitResults(result, idToString = (id) => String(id)) {
774
- process.env['ADMIN_ID'] = idToString(result.adminUser._id);
770
+ static setEnvFromInitResults(result) {
771
+ const idProvider = (0, node_ecies_lib_1.getEnhancedNodeIdProvider)();
772
+ process.env['ADMIN_ID'] = idProvider.idToString(result.adminUser._id);
775
773
  process.env['ADMIN_PUBLIC_KEY'] = result.adminUser.publicKey;
776
774
  process.env['ADMIN_MNEMONIC'] = result.adminMnemonic;
777
775
  process.env['ADMIN_PASSWORD'] = result.adminPassword;
778
- process.env['ADMIN_ROLE_ID'] = idToString(result.adminRole._id);
779
- process.env['ADMIN_USER_ROLE_ID'] = idToString(result.adminUserRole._id);
776
+ process.env['ADMIN_ROLE_ID'] = idProvider.idToString(result.adminRole._id);
777
+ process.env['ADMIN_USER_ROLE_ID'] = idProvider.idToString(result.adminUserRole._id);
780
778
  //
781
- process.env['MEMBER_ID'] = idToString(result.memberUser._id);
779
+ process.env['MEMBER_ID'] = idProvider.idToString(result.memberUser._id);
782
780
  process.env['MEMBER_PUBLIC_KEY'] = result.memberUser.publicKey;
783
781
  process.env['MEMBER_MNEMONIC'] = result.memberMnemonic;
784
782
  process.env['MEMBER_PASSWORD'] = result.memberPassword;
785
- process.env['MEMBER_ROLE_ID'] = idToString(result.memberRole._id);
786
- process.env['MEMBER_USER_ROLE_ID'] = idToString(result.memberUserRole._id);
783
+ process.env['MEMBER_ROLE_ID'] = idProvider.idToString(result.memberRole._id);
784
+ process.env['MEMBER_USER_ROLE_ID'] = idProvider.idToString(result.memberUserRole._id);
787
785
  //
788
- process.env['SYSTEM_ID'] = idToString(result.systemUser._id);
786
+ process.env['SYSTEM_ID'] = idProvider.idToString(result.systemUser._id);
789
787
  process.env['SYSTEM_PUBLIC_KEY'] = result.systemUser.publicKey;
790
788
  process.env['SYSTEM_MNEMONIC'] = result.systemMnemonic;
791
789
  process.env['SYSTEM_PASSWORD'] = result.systemPassword;
792
- process.env['SYSTEM_ROLE_ID'] = idToString(result.systemRole._id);
793
- process.env['SYSTEM_USER_ROLE_ID'] = idToString(result.systemUserRole._id);
790
+ process.env['SYSTEM_ROLE_ID'] = idProvider.idToString(result.systemRole._id);
791
+ process.env['SYSTEM_USER_ROLE_ID'] = idProvider.idToString(result.systemUserRole._id);
794
792
  }
795
793
  /**
796
794
  * Write initialization results to a .env file
@@ -799,7 +797,8 @@ SYSTEM_PASSWORD="${serverInitResult.systemPassword}"
799
797
  * @param result The initialization results containing credentials
800
798
  * @param idToString Function to convert IDs to strings
801
799
  */
802
- static writeEnvFile(envFilePath, result, idToString = (id) => String(id)) {
800
+ static writeEnvFile(envFilePath, result) {
801
+ const idProvider = (0, node_ecies_lib_1.getEnhancedNodeIdProvider)();
803
802
  // Ensure the directory exists
804
803
  const dir = path.dirname(envFilePath);
805
804
  if (!fs.existsSync(dir)) {
@@ -812,21 +811,21 @@ SYSTEM_PASSWORD="${serverInitResult.systemPassword}"
812
811
  }
813
812
  // Define the credentials to update
814
813
  const credentials = {
815
- ADMIN_ID: idToString(result.adminUser._id),
814
+ ADMIN_ID: idProvider.idToString(result.adminUser._id),
816
815
  ADMIN_MNEMONIC: result.adminMnemonic,
817
- ADMIN_ROLE_ID: idToString(result.adminRole._id),
818
- ADMIN_USER_ROLE_ID: idToString(result.adminUserRole._id),
816
+ ADMIN_ROLE_ID: idProvider.idToString(result.adminRole._id),
817
+ ADMIN_USER_ROLE_ID: idProvider.idToString(result.adminUserRole._id),
819
818
  ADMIN_PASSWORD: result.adminPassword,
820
- MEMBER_ID: idToString(result.memberUser._id),
819
+ MEMBER_ID: idProvider.idToString(result.memberUser._id),
821
820
  MEMBER_MNEMONIC: result.memberMnemonic,
822
- MEMBER_ROLE_ID: idToString(result.memberRole._id),
823
- MEMBER_USER_ROLE_ID: idToString(result.memberUserRole._id),
821
+ MEMBER_ROLE_ID: idProvider.idToString(result.memberRole._id),
822
+ MEMBER_USER_ROLE_ID: idProvider.idToString(result.memberUserRole._id),
824
823
  MEMBER_PASSWORD: result.memberPassword,
825
- SYSTEM_ID: idToString(result.systemUser._id),
824
+ SYSTEM_ID: idProvider.idToString(result.systemUser._id),
826
825
  SYSTEM_MNEMONIC: result.systemMnemonic,
827
826
  SYSTEM_PUBLIC_KEY: result.systemUser.publicKey,
828
- SYSTEM_ROLE_ID: idToString(result.systemRole._id),
829
- SYSTEM_USER_ROLE_ID: idToString(result.systemUserRole._id),
827
+ SYSTEM_ROLE_ID: idProvider.idToString(result.systemRole._id),
828
+ SYSTEM_USER_ROLE_ID: idProvider.idToString(result.systemUserRole._id),
830
829
  SYSTEM_PASSWORD: result.systemPassword,
831
830
  };
832
831
  // Update or add each credential
@@ -857,7 +856,7 @@ SYSTEM_PASSWORD="${serverInitResult.systemPassword}"
857
856
  * @param application The application
858
857
  * @returns The result of the initialization
859
858
  */
860
- static async initUserDb(application, idGenerator, idToString = (id) => application.constants.idProvider.serialize(application.constants.idProvider.toBytes(id))) {
859
+ static async initUserDb(application) {
861
860
  const mnemonicModel = model_registry_1.ModelRegistry.instance.getTypedModel(base_model_name_1.BaseModelName.Mnemonic);
862
861
  const mnemonicService = new mnemonic_1.MnemonicService(mnemonicModel, application.environment.mnemonicHmacSecret, application.constants);
863
862
  const config = {
@@ -872,7 +871,7 @@ SYSTEM_PASSWORD="${serverInitResult.systemPassword}"
872
871
  const roleService = new role_1.RoleService(application);
873
872
  const keyWrappingService = new key_wrapping_1.KeyWrappingService();
874
873
  const backupCodeService = new backup_code_2.BackupCodeService(application, eciesService, keyWrappingService, roleService);
875
- return this.initUserDbWithServices(application, keyWrappingService, mnemonicService, eciesService, roleService, backupCodeService, idGenerator, idToString);
874
+ return this.initUserDbWithServices(application, keyWrappingService, mnemonicService, eciesService, roleService, backupCodeService);
876
875
  }
877
876
  }
878
877
  exports.DatabaseInitializationService = DatabaseInitializationService;
@@ -1 +1 @@
1
- {"version":3,"file":"database-initialization.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/database-initialization.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database-initialization.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/database-initialization.ts"],"names":[],"mappings":"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"}