@digitaldefiance/node-express-suite 3.12.16 → 3.13.1

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 (77) hide show
  1. package/package.json +1 -1
  2. package/src/application-base.d.ts +50 -47
  3. package/src/application-base.d.ts.map +1 -1
  4. package/src/application-base.js +180 -229
  5. package/src/application-base.js.map +1 -1
  6. package/src/application.d.ts +2 -1
  7. package/src/application.d.ts.map +1 -1
  8. package/src/application.js +8 -4
  9. package/src/application.js.map +1 -1
  10. package/src/index.d.ts +1 -0
  11. package/src/index.d.ts.map +1 -1
  12. package/src/index.js +3 -1
  13. package/src/index.js.map +1 -1
  14. package/src/interfaces/document-store.d.ts +38 -0
  15. package/src/interfaces/document-store.d.ts.map +1 -0
  16. package/src/interfaces/document-store.js +8 -0
  17. package/src/interfaces/document-store.js.map +1 -0
  18. package/src/interfaces/failable-result.d.ts +1 -6
  19. package/src/interfaces/failable-result.d.ts.map +1 -1
  20. package/src/interfaces/failable-result.js +0 -5
  21. package/src/interfaces/failable-result.js.map +1 -1
  22. package/src/interfaces/index.d.ts +2 -0
  23. package/src/interfaces/index.d.ts.map +1 -1
  24. package/src/interfaces/index.js +2 -0
  25. package/src/interfaces/index.js.map +1 -1
  26. package/src/interfaces/storage/client-session.d.ts +22 -0
  27. package/src/interfaces/storage/client-session.d.ts.map +1 -0
  28. package/src/interfaces/storage/client-session.js +3 -0
  29. package/src/interfaces/storage/client-session.js.map +1 -0
  30. package/src/interfaces/storage/collection.d.ts +80 -0
  31. package/src/interfaces/storage/collection.d.ts.map +1 -0
  32. package/src/interfaces/storage/collection.js +3 -0
  33. package/src/interfaces/storage/collection.js.map +1 -0
  34. package/src/interfaces/storage/database-lifecycle-hooks.d.ts +43 -0
  35. package/src/interfaces/storage/database-lifecycle-hooks.d.ts.map +1 -0
  36. package/src/interfaces/storage/database-lifecycle-hooks.js +3 -0
  37. package/src/interfaces/storage/database-lifecycle-hooks.js.map +1 -0
  38. package/src/interfaces/storage/database.d.ts +30 -0
  39. package/src/interfaces/storage/database.d.ts.map +1 -0
  40. package/src/interfaces/storage/database.js +3 -0
  41. package/src/interfaces/storage/database.js.map +1 -0
  42. package/src/interfaces/storage/document-types.d.ts +413 -0
  43. package/src/interfaces/storage/document-types.d.ts.map +1 -0
  44. package/src/interfaces/storage/document-types.js +8 -0
  45. package/src/interfaces/storage/document-types.js.map +1 -0
  46. package/src/interfaces/storage/index.d.ts +6 -0
  47. package/src/interfaces/storage/index.d.ts.map +1 -0
  48. package/src/interfaces/storage/index.js +9 -0
  49. package/src/interfaces/storage/index.js.map +1 -0
  50. package/src/services/index.d.ts +4 -0
  51. package/src/services/index.d.ts.map +1 -1
  52. package/src/services/index.js +4 -0
  53. package/src/services/index.js.map +1 -1
  54. package/src/services/mongoose-collection.d.ts +52 -0
  55. package/src/services/mongoose-collection.d.ts.map +1 -0
  56. package/src/services/mongoose-collection.js +326 -0
  57. package/src/services/mongoose-collection.js.map +1 -0
  58. package/src/services/mongoose-database.d.ts +64 -0
  59. package/src/services/mongoose-database.d.ts.map +1 -0
  60. package/src/services/mongoose-database.js +121 -0
  61. package/src/services/mongoose-database.js.map +1 -0
  62. package/src/services/mongoose-document-store.d.ts +109 -0
  63. package/src/services/mongoose-document-store.d.ts.map +1 -0
  64. package/src/services/mongoose-document-store.js +264 -0
  65. package/src/services/mongoose-document-store.js.map +1 -0
  66. package/src/services/mongoose-session-adapter.d.ts +39 -0
  67. package/src/services/mongoose-session-adapter.d.ts.map +1 -0
  68. package/src/services/mongoose-session-adapter.js +63 -0
  69. package/src/services/mongoose-session-adapter.js.map +1 -0
  70. package/src/utils/default-mongo-uri-validator.d.ts +15 -0
  71. package/src/utils/default-mongo-uri-validator.d.ts.map +1 -0
  72. package/src/utils/default-mongo-uri-validator.js +46 -0
  73. package/src/utils/default-mongo-uri-validator.js.map +1 -0
  74. package/src/utils.d.ts +21 -2
  75. package/src/utils.d.ts.map +1 -1
  76. package/src/utils.js +124 -49
  77. package/src/utils.js.map +1 -1
@@ -1,50 +1,65 @@
1
1
  "use strict";
2
2
  /**
3
3
  * @fileoverview Base application class with core functionality.
4
- * Provides database connection, schema management, and plugin support.
4
+ * Delegates database operations to an IDatabase instance (or legacy IDocumentStore).
5
5
  * @module application-base
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.BaseApplication = void 0;
9
- const tslib_1 = require("tslib");
10
- // Avoid importing from the barrel (../index) here to prevent circular deps
11
- const mongoose_types_1 = tslib_1.__importDefault(require("@digitaldefiance/mongoose-types"));
12
9
  const suite_core_lib_1 = require("@digitaldefiance/suite-core-lib");
13
- const mongodb_memory_server_1 = require("mongodb-memory-server");
14
10
  const path_1 = require("path");
15
11
  const container_1 = require("./container");
16
12
  const environment_1 = require("./environment");
17
- const model_registry_1 = require("./model-registry");
18
13
  const plugins_1 = require("./plugins");
14
+ const mongoose_document_store_1 = require("./services/mongoose-document-store");
15
+ const default_mongo_uri_validator_1 = require("./utils/default-mongo-uri-validator");
19
16
  const utils_1 = require("./utils");
20
17
  /**
21
- * Base Application class with core functionality
18
+ * Duck-typing check to determine if a value conforms to the IDatabase interface.
19
+ * Checks for the key methods that distinguish IDatabase from IDocumentStore.
20
+ */
21
+ function isIDatabase(value) {
22
+ return (typeof value === 'object' &&
23
+ value !== null &&
24
+ 'collection' in value &&
25
+ 'startSession' in value &&
26
+ typeof value['collection'] === 'function' &&
27
+ typeof value['startSession'] === 'function');
28
+ }
29
+ /**
30
+ * Base Application class with core functionality.
31
+ * Accepts an IDatabase (preferred) or legacy IDocumentStore for backward compatibility.
32
+ * When an IDatabase is provided, database lifecycle is managed through the IDatabase contract.
33
+ * When a legacy IDocumentStore is provided, it is used directly for backward compatibility.
22
34
  */
23
35
  class BaseApplication {
24
36
  /**
25
37
  * Application environment
26
38
  */
27
39
  _environment;
28
- /**
29
- * In-memory MongoDB instance for development
30
- */
31
- _devDatabase;
32
40
  /**
33
41
  * Constants for the application
34
42
  */
35
43
  _constants;
36
44
  /**
37
- * Function to create the schema map given a Mongoose connection
45
+ * The IDatabase instance for storage-agnostic database operations.
46
+ * Set when an IDatabase is passed to the constructor.
38
47
  */
39
- _schemaMapFactory;
48
+ _database;
40
49
  /**
41
- * Function to initialize the database with default data
50
+ * The injected document store handling all database operations.
51
+ * Set when a legacy IDocumentStore is passed to the constructor.
52
+ * @deprecated Prefer _database (IDatabase) for new code.
42
53
  */
43
- _databaseInitFunction;
54
+ _documentStore;
44
55
  /**
45
- * Function to create a hash from the database initialization results (for logging purposes)
56
+ * Optional lifecycle hooks for database initialization on the IDatabase path.
46
57
  */
47
- _initResultHashFunction;
58
+ _lifecycleHooks;
59
+ /**
60
+ * Whether setupDevStore was invoked during start() (for teardown on stop).
61
+ */
62
+ _devStoreProvisioned = false;
48
63
  /**
49
64
  * Get the application environment
50
65
  */
@@ -69,18 +84,18 @@ class BaseApplication {
69
84
  return distPath;
70
85
  }
71
86
  /**
72
- * Mongoose database instance
73
- */
74
- _db;
75
- /**
76
- * Schema map for all models
87
+ * Schema map for all models, delegated to the document store.
88
+ * Only available when a legacy IDocumentStore is used.
77
89
  */
78
- _schemaMap;
79
90
  get schemaMap() {
80
- if (!this._schemaMap) {
91
+ if (!this._documentStore) {
92
+ throw new suite_core_lib_1.TranslatableSuiteError(suite_core_lib_1.SuiteCoreStringKey.Admin_Error_SchemaMapIsNotLoadedYet);
93
+ }
94
+ const map = this._documentStore.schemaMap;
95
+ if (!map) {
81
96
  throw new suite_core_lib_1.TranslatableSuiteError(suite_core_lib_1.SuiteCoreStringKey.Admin_Error_SchemaMapIsNotLoadedYet);
82
97
  }
83
- return this._schemaMap;
98
+ return map;
84
99
  }
85
100
  /**
86
101
  * Flag indicating whether the application is ready to handle requests
@@ -95,215 +110,63 @@ class BaseApplication {
95
110
  */
96
111
  plugins;
97
112
  /**
98
- * Get the connected MongoDB database instance
113
+ * Get the connected MongoDB database instance.
114
+ * @deprecated Use database (IDatabase) or documentStore instead for storage-agnostic access.
99
115
  */
100
116
  get db() {
101
- if (!this._db) {
102
- throw new suite_core_lib_1.TranslatableSuiteError(suite_core_lib_1.SuiteCoreStringKey.Admin_Error_DatabaseNotConnectedYet);
117
+ if (this._documentStore instanceof mongoose_document_store_1.MongooseDocumentStore) {
118
+ return this._documentStore.db;
103
119
  }
104
- return this._db;
120
+ throw new suite_core_lib_1.TranslatableSuiteError(suite_core_lib_1.SuiteCoreStringKey.Admin_Error_DatabaseNotConnectedYet);
105
121
  }
106
122
  /**
107
- * Get whether the application is ready to handle requests
123
+ * Get the IDatabase instance, if one was provided.
108
124
  */
109
- get ready() {
110
- return this._ready;
111
- }
112
- constructor(environment, schemaMapFactory, databaseInitFunction, initResultHashFunction, constants = suite_core_lib_1.Constants) {
113
- this._ready = false;
114
- this._environment = environment;
115
- this._constants = constants;
116
- this._schemaMapFactory = schemaMapFactory;
117
- this._databaseInitFunction = databaseInitFunction;
118
- this._initResultHashFunction = initResultHashFunction;
119
- this.services = new container_1.ServiceContainer();
120
- this.plugins = new plugins_1.PluginManager();
125
+ get database() {
126
+ return this._database;
121
127
  }
122
128
  /**
123
- * Validate MongoDB URI to prevent SSRF attacks
129
+ * Get the injected document store.
130
+ * @deprecated Prefer database (IDatabase) for new code.
124
131
  */
125
- validateMongoUri(uri) {
126
- // Validate protocol
127
- if (!uri.startsWith('mongodb://') && !uri.startsWith('mongodb+srv://')) {
128
- throw new suite_core_lib_1.TranslatableSuiteError(suite_core_lib_1.SuiteCoreStringKey.Admin_Error_InvalidMongoUri);
129
- }
130
- // In production, block private IPs and localhost
131
- if (this._environment.production) {
132
- // Updated regex to handle IPv6 addresses with brackets
133
- const urlMatch = uri.match(/^mongodb(?:\+srv)?:\/\/(?:[^@]+@)?(\[[^\]]+\]|[^:/]+)/);
134
- if (urlMatch) {
135
- // Remove brackets from hostname for IPv6 addresses
136
- const hostname = urlMatch[1].replace(/[[\]]/g, '');
137
- // Block localhost and private IP ranges
138
- if (hostname === 'localhost' ||
139
- hostname === '127.0.0.1' ||
140
- hostname.startsWith('10.') ||
141
- hostname.startsWith('192.168.') ||
142
- /^172\.(1[6-9]|2[0-9]|3[0-1])\./.test(hostname) ||
143
- hostname.startsWith('169.254.') || // Link-local
144
- hostname === '::1' || // IPv6 localhost
145
- hostname.startsWith('fc00:') || // IPv6 private
146
- hostname.startsWith('fd00:') // IPv6 private
147
- ) {
148
- throw new suite_core_lib_1.TranslatableSuiteError(suite_core_lib_1.SuiteCoreStringKey.Admin_Error_InvalidMongoUri);
149
- }
150
- }
151
- }
152
- }
153
- /**
154
- * Connect to MongoDB and initialize schemas
155
- */
156
- async connectDatabase(mongoUri, debug = false) {
157
- this.validateMongoUri(mongoUri);
158
- (0, utils_1.debugLog)(debug, 'log', `[ ${(0, suite_core_lib_1.getSuiteCoreTranslation)(suite_core_lib_1.SuiteCoreStringKey.Common_Connecting, undefined, undefined, { constants: this.constants })} ] ${(0, suite_core_lib_1.getSuiteCoreTranslation)(suite_core_lib_1.SuiteCoreStringKey.Common_MongoDB, undefined, undefined, { constants: this.constants })}: ${mongoUri}`);
159
- // Always disconnect first to ensure clean state
160
- if (mongoose_types_1.default.connection.readyState !== 0) {
161
- await mongoose_types_1.default.disconnect();
162
- }
163
- // amazonq-ignore-next-line solved above with validateMongoUri call
164
- await mongoose_types_1.default.connect(mongoUri, {
165
- maxPoolSize: this._environment.mongo.maxPoolSize,
166
- minPoolSize: this._environment.mongo.minPoolSize,
167
- maxIdleTimeMS: this._environment.mongo.maxIdleTimeMS,
168
- serverSelectionTimeoutMS: this._environment.mongo.serverSelectionTimeoutMS,
169
- socketTimeoutMS: this._environment.mongo.socketTimeoutMS,
170
- retryWrites: this._environment.mongo.retryWrites,
171
- retryReads: this._environment.mongo.retryReads,
172
- readConcern: this._environment.mongo.readConcern,
173
- writeConcern: this._environment.mongo.writeConcern,
174
- });
175
- this._db = mongoose_types_1.default;
176
- await new Promise((resolve) => {
177
- if (mongoose_types_1.default.connection.readyState === 1) {
178
- resolve();
179
- }
180
- else {
181
- mongoose_types_1.default.connection.once('connected', resolve);
182
- }
183
- });
184
- const engine = (0, suite_core_lib_1.getSuiteCoreI18nEngine)({ constants: this.constants });
185
- (0, utils_1.debugLog)(debug, 'log', engine.t('[ {{SuiteCoreStringKey.Common_Connected}} ] {{SuiteCoreStringKey.Common_MongoDB}}'));
186
- (0, utils_1.debugLog)(debug, 'log', engine.t('[ {{SuiteCoreStringKey.Common_Loading}} ] {{SuiteCoreStringKey.Common_Schemas}}'));
187
- this._schemaMap = this._schemaMapFactory(this.db.connection);
188
- // Register all base models in ModelRegistry for extensibility
189
- if (this._schemaMap) {
190
- Object.values(this._schemaMap).forEach((schema) => {
191
- model_registry_1.ModelRegistry.instance.register({
192
- modelName: schema.modelName,
193
- schema: schema.schema,
194
- model: schema.model,
195
- collection: schema.collection,
196
- discriminators: schema.discriminators,
197
- });
198
- });
199
- }
200
- if (debug) {
201
- Object.values(this._schemaMap).forEach((schema) => {
202
- console.log(engine.t(`[ {{SuiteCoreStringKey.Common_Loaded}} ] {{SuiteCoreStringKey.Common_Schema}} '${schema.modelName.replace(/[\r\n]/g, '')}'`));
203
- });
204
- }
205
- if (!this._db.connection.db) {
206
- console.error(engine.translateStringKey(suite_core_lib_1.SuiteCoreStringKey.Admin_Error_FailedToSetTransactionTimeout));
207
- }
208
- else {
209
- const command = {
210
- ...(this._environment.mongo.setParameterSupported
211
- ? { setParameter: 1 }
212
- : {}),
213
- ...(this._environment.mongo.useTransactions &&
214
- this._environment.mongo.transactionLifetimeLimitSecondsSupported
215
- ? {
216
- transactionLifetimeLimitSeconds: this._environment.mongo.transactionTimeout,
217
- }
218
- : {}),
219
- ...(this._environment.mongo.useTransactions &&
220
- this._environment.mongo.maxTransactionLockRequestTimeoutMillisSupported
221
- ? {
222
- maxTransactionLockRequestTimeoutMillis: this._environment.mongo.transactionLockRequestTimeout,
223
- }
224
- : {}),
225
- };
226
- if (Object.keys(command).length > 0) {
227
- await this._db.connection.db
228
- .admin()
229
- .command(command)
230
- .catch(() => undefined);
231
- }
232
- (0, utils_1.debugLog)(debug, 'log', engine.translateStringKey(suite_core_lib_1.SuiteCoreStringKey.Admin_SetTransactionTimeoutSuccessfully));
233
- }
132
+ get documentStore() {
133
+ return this._documentStore;
234
134
  }
235
135
  /**
236
- * Disconnect from database
136
+ * Get the in-memory MongoDB instance (if any), delegated to the document store.
137
+ * Only available when a legacy IDocumentStore is used.
237
138
  */
238
- async disconnectDatabase(debug = false) {
239
- if (this._db && mongoose_types_1.default.connection.readyState !== 0) {
240
- await this._db.disconnect();
241
- }
242
- const engine = (0, suite_core_lib_1.getSuiteCoreI18nEngine)({ constants: this.constants });
243
- this._db = undefined;
244
- (0, utils_1.debugLog)(debug, 'log', `[ ${engine.translateStringKey(suite_core_lib_1.SuiteCoreStringKey.Common_Disconnected)} ] ${engine.translateStringKey(suite_core_lib_1.SuiteCoreStringKey.Common_MongoDB)}`);
139
+ get devDatabase() {
140
+ return this._documentStore?.devDatabase;
245
141
  }
246
142
  /**
247
- * Set up an in-memory MongoDB instance for development
248
- * @returns The MongoDB connection URI
143
+ * Get whether the application is ready to handle requests
249
144
  */
250
- async setupDevDatabase() {
251
- this._devDatabase = await mongodb_memory_server_1.MongoMemoryReplSet.create({
252
- replSet: { count: 1, storageEngine: 'wiredTiger' },
253
- });
254
- await this._devDatabase.waitUntilRunning();
255
- const mongoUri = this._devDatabase.getUri(this._environment.devDatabase) +
256
- '&maxPoolSize=20&minPoolSize=4';
257
- this._environment.setEnvironment('mongo.uri', mongoUri);
258
- (0, utils_1.debugLog)(this._environment.debug, 'log', `MongoDB Memory Server with transactions: ${mongoUri}`);
259
- return mongoUri;
145
+ get ready() {
146
+ return this._ready;
260
147
  }
261
- /**
262
- * Initialize the development database with default data
263
- */
264
- async initializeDevDatabase() {
265
- const engine = (0, suite_core_lib_1.getSuiteCoreI18nEngine)({ constants: this.constants });
266
- (0, utils_1.debugLog)(this._environment.debug, 'log', `${engine.translateStringKey(suite_core_lib_1.SuiteCoreStringKey.Admin_StartingDatabaseInitialization)}: ${engine.translateStringKey(suite_core_lib_1.SuiteCoreStringKey.Admin_TransactionsEnabledDisabledTemplate, {
267
- STATE: this._environment.mongo.useTransactions
268
- ? engine.translateStringKey(suite_core_lib_1.SuiteCoreStringKey.Common_Enabled)
269
- : engine.translateStringKey(suite_core_lib_1.SuiteCoreStringKey.Common_Disabled),
270
- })}`);
271
- let initTimeout;
272
- const initTimeoutMs = 300000;
273
- const accountDataResult = await Promise.race([
274
- this._databaseInitFunction(this),
275
- new Promise((_, reject) => {
276
- initTimeout = setTimeout(() => {
277
- const logMsg = engine.translateStringKey(suite_core_lib_1.SuiteCoreStringKey.Admin_Error_FailedToInitializeUserDatabaseTimeoutTemplate, { timeMs: initTimeoutMs.toString() });
278
- console.error(logMsg);
279
- reject(new Error(logMsg));
280
- }, initTimeoutMs);
281
- }),
282
- ]);
283
- if (initTimeout)
284
- clearTimeout(initTimeout);
285
- if (accountDataResult.success && accountDataResult.data) {
286
- if (this._environment.detailedDebug) {
287
- const initHash = this._initResultHashFunction(accountDataResult.data);
288
- (0, utils_1.debugLog)(true, 'log', engine.translateStringKey(suite_core_lib_1.SuiteCoreStringKey.Admin_DatabaseInitializedWithOptionsHashTemplate, { hash: initHash }));
289
- }
290
- return accountDataResult.data;
148
+ constructor(environment, databaseOrStore, constants = suite_core_lib_1.Constants, lifecycleHooks) {
149
+ this._ready = false;
150
+ this._environment = environment;
151
+ this._constants = constants;
152
+ // Duck-typing detection: IDatabase has 'collection' and 'startSession' methods
153
+ if (isIDatabase(databaseOrStore)) {
154
+ this._database = databaseOrStore;
155
+ this._documentStore = undefined;
156
+ this._lifecycleHooks = lifecycleHooks;
291
157
  }
292
158
  else {
293
- if (this._environment.detailedDebug && accountDataResult.error) {
294
- (0, utils_1.debugLog)(true, 'log', accountDataResult.error);
295
- }
296
- throw new suite_core_lib_1.TranslatableSuiteError(suite_core_lib_1.SuiteCoreStringKey.Admin_Error_FailedToInitializeUserDatabase);
159
+ this._database = undefined;
160
+ this._documentStore = databaseOrStore;
161
+ // Lifecycle hooks are only used on the IDatabase path
162
+ this._lifecycleHooks = undefined;
297
163
  }
164
+ this.services = new container_1.ServiceContainer();
165
+ this.plugins = new plugins_1.PluginManager();
298
166
  }
299
167
  /**
300
- * Get the in-memory MongoDB instance (if any)
301
- */
302
- get devDatabase() {
303
- return this._devDatabase;
304
- }
305
- /**
306
- * Start the application and connect to the database
168
+ * Start the application and connect to the database.
169
+ * Delegates connection to IDatabase or legacy IDocumentStore.
307
170
  */
308
171
  async start(mongoUri, delayReady) {
309
172
  if (this._ready) {
@@ -314,14 +177,72 @@ class BaseApplication {
314
177
  }
315
178
  process.exit(1);
316
179
  }
317
- if (this._environment.devDatabase && !this._devDatabase) {
318
- mongoUri = await this.setupDevDatabase();
180
+ // Legacy IDocumentStore path: handle dev database setup
181
+ if (this._documentStore) {
182
+ if (this._environment.devDatabase && !this._documentStore.devDatabase) {
183
+ if (this._documentStore.setupDevStore) {
184
+ mongoUri = (await this._documentStore.setupDevStore());
185
+ }
186
+ }
187
+ }
188
+ // IDatabase path: handle dev store setup via lifecycle hooks
189
+ if (this._database &&
190
+ this._lifecycleHooks?.setupDevStore &&
191
+ this._environment.devDatabase) {
192
+ mongoUri = await this._lifecycleHooks.setupDevStore();
193
+ this._devStoreProvisioned = true;
319
194
  }
320
195
  try {
321
- await this.connectDatabase(mongoUri ?? this.environment.mongo.uri, this.environment.debug);
196
+ const uri = mongoUri ?? this.environment.mongo.uri;
197
+ if (this._database) {
198
+ // IDatabase path: validate URI before connecting
199
+ if (this._lifecycleHooks?.validateUri) {
200
+ this._lifecycleHooks.validateUri(uri);
201
+ }
202
+ else {
203
+ (0, default_mongo_uri_validator_1.defaultMongoUriValidator)(uri, this._environment.production);
204
+ }
205
+ await this._database.connect(uri);
206
+ }
207
+ else if (this._documentStore) {
208
+ // Legacy IDocumentStore path
209
+ await this._documentStore.connect(uri);
210
+ }
322
211
  // Initialize plugins
323
212
  await this.plugins.initAll(this);
324
- // Database initialization should be handled by the consuming application
213
+ // IDatabase path: run database initialization hook in dev mode
214
+ if (this._database &&
215
+ this._lifecycleHooks?.initializeDatabase &&
216
+ this._environment.devDatabase) {
217
+ const initTimeoutMs = 300000; // 5 minutes
218
+ const engine = (0, suite_core_lib_1.getSuiteCoreI18nEngine)({ constants: this._constants });
219
+ let initTimeout;
220
+ const initResult = await Promise.race([
221
+ this._lifecycleHooks.initializeDatabase(this),
222
+ new Promise((_, reject) => {
223
+ initTimeout = setTimeout(() => {
224
+ const logMsg = engine.translateStringKey(suite_core_lib_1.SuiteCoreStringKey.Admin_Error_FailedToInitializeUserDatabaseTimeoutTemplate, { timeMs: initTimeoutMs.toString() });
225
+ console.error(logMsg);
226
+ reject(new Error(logMsg));
227
+ }, initTimeoutMs);
228
+ }),
229
+ ]);
230
+ if (initTimeout)
231
+ clearTimeout(initTimeout);
232
+ if (initResult.success && initResult.data !== undefined) {
233
+ if (this._environment.detailedDebug &&
234
+ this._lifecycleHooks.hashInitResults) {
235
+ const initHash = this._lifecycleHooks.hashInitResults(initResult.data);
236
+ (0, utils_1.debugLog)(true, 'log', engine.translateStringKey(suite_core_lib_1.SuiteCoreStringKey.Admin_DatabaseInitializedWithOptionsHashTemplate, { hash: initHash }));
237
+ }
238
+ }
239
+ else {
240
+ if (this._environment.detailedDebug && initResult.error) {
241
+ (0, utils_1.debugLog)(true, 'log', initResult.error);
242
+ }
243
+ throw new suite_core_lib_1.TranslatableSuiteError(suite_core_lib_1.SuiteCoreStringKey.Admin_Error_FailedToInitializeUserDatabase);
244
+ }
245
+ }
325
246
  }
326
247
  catch (err) {
327
248
  const sanitizedErr = err instanceof Error
@@ -336,28 +257,58 @@ class BaseApplication {
336
257
  this._ready = delayReady ? false : true;
337
258
  }
338
259
  /**
339
- * Stop the application
260
+ * Stop the application.
261
+ * Delegates disconnection to IDatabase or legacy IDocumentStore.
340
262
  */
341
263
  async stop() {
342
264
  await this.plugins.stopAll();
343
- await this.disconnectDatabase();
344
- if (this._devDatabase) {
345
- await this._devDatabase.stop();
346
- this._devDatabase = undefined;
265
+ if (this._database) {
266
+ // IDatabase path
267
+ await this._database.disconnect();
268
+ // Teardown dev store if it was provisioned via lifecycle hooks
269
+ if (this._devStoreProvisioned && this._lifecycleHooks?.teardownDevStore) {
270
+ try {
271
+ await this._lifecycleHooks.teardownDevStore();
272
+ }
273
+ catch (teardownErr) {
274
+ console.error('Failed to teardown dev store:', teardownErr instanceof Error
275
+ ? teardownErr.message
276
+ : String(teardownErr));
277
+ }
278
+ }
279
+ }
280
+ else if (this._documentStore) {
281
+ // Legacy IDocumentStore path
282
+ await this._documentStore.disconnect();
283
+ if (this._documentStore.devDatabase) {
284
+ await this._documentStore.devDatabase.stop();
285
+ }
347
286
  }
348
287
  this._ready = false;
349
288
  }
350
289
  /**
351
- * Get a Mongoose model by name
290
+ * Get a collection by name via the IDatabase interface.
291
+ * @param name Name of the collection
292
+ * @returns ICollection<T> for the named collection
293
+ * @throws if no IDatabase was provided
294
+ */
295
+ getCollection(name) {
296
+ if (!this._database) {
297
+ throw new suite_core_lib_1.TranslatableSuiteError(suite_core_lib_1.SuiteCoreStringKey.Admin_Error_DatabaseNotConnectedYet);
298
+ }
299
+ return this._database.collection(name);
300
+ }
301
+ /**
302
+ * Get a model by name, delegated to the legacy document store.
303
+ * @deprecated Use getCollection<T>(name) with IDatabase instead.
352
304
  * @param modelName Name of the model
353
- * @returns
354
305
  */
306
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
355
307
  getModel(modelName) {
356
- // if (!this.db) {
357
- // throw new TranslatableError('Admin_Error_DatabaseNotConnectedYet');
358
- // }
359
- return model_registry_1.ModelRegistry.instance.get(modelName).model;
360
- //return this.db.connection.model<T>(modelName);
308
+ if (!this._documentStore) {
309
+ throw new suite_core_lib_1.TranslatableSuiteError(suite_core_lib_1.SuiteCoreStringKey.Admin_Error_DatabaseNotConnectedYet);
310
+ }
311
+ return this._documentStore.getModel(modelName);
361
312
  }
362
313
  }
363
314
  exports.BaseApplication = BaseApplication;
@@ -1 +1 @@
1
- {"version":3,"file":"application-base.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/application-base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"application-base.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/application-base.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ import { IBaseDocument } from './documents/base';
11
11
  import { Environment } from './environment';
12
12
  import { IApplication, ICSPConfig, IFailableResult, IServerInitResult } from './interfaces';
13
13
  import { IConstants } from './interfaces/constants';
14
+ import { IDocumentStore } from './interfaces/document-store';
14
15
  import { IFlexibleCSP } from './interfaces/flexible-csp';
15
16
  import { initMiddleware } from './middleware-utils';
16
17
  import { AppRouter } from './routers/app';
@@ -28,7 +29,7 @@ export declare class Application<TInitResults extends IServerInitResult<TID>, TM
28
29
  private greenlockManager;
29
30
  get environment(): TEnvironment;
30
31
  protected registerServices(): void;
31
- constructor(environment: TEnvironment, apiRouterFactory: (app: IApplication<TID>) => BaseRouter<TID>, schemaMapFactory: (connection: mongoose.Connection) => SchemaMap<TID, TModelDocs>, databaseInitFunction: (application: BaseApplication<TID, TModelDocs, TInitResults>) => Promise<IFailableResult<TInitResults>>, initResultHashFunction: (initResults: TInitResults) => string, cspConfig?: ICSPConfig | HelmetOptions | IFlexibleCSP, constants?: TConstants, appRouterFactory?: (apiRouter: BaseRouter<TID>) => TAppRouter, customInitMiddleware?: typeof initMiddleware);
32
+ constructor(environment: TEnvironment, apiRouterFactory: (app: IApplication<TID>) => BaseRouter<TID>, schemaMapFactory: (connection: mongoose.Connection) => SchemaMap<TID, TModelDocs>, databaseInitFunction: (application: BaseApplication<TID, TModelDocs, TInitResults>) => Promise<IFailableResult<TInitResults>>, initResultHashFunction: (initResults: TInitResults) => string, cspConfig?: ICSPConfig | HelmetOptions | IFlexibleCSP, constants?: TConstants, appRouterFactory?: (apiRouter: BaseRouter<TID>) => TAppRouter, customInitMiddleware?: typeof initMiddleware, documentStore?: IDocumentStore<TID, TModelDocs>);
32
33
  start(mongoUri?: string): Promise<void>;
33
34
  stop(): Promise<void>;
34
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/application.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,QAAQ,MAAM,iCAAiC,CAAC;AAOvD,OAAgB,EACd,WAAW,IAAI,kBAAkB,EAIlC,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAIvC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EACL,YAAY,EACZ,UAAU,EACV,eAAe,EAEf,iBAAiB,EAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAiB,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,cAAc,EAAmB,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAGpC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAOlE,qBAAa,WAAW,CACtB,YAAY,SAAS,iBAAiB,CAAC,GAAG,CAAC,EAC3C,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAC1D,GAAG,SAAS,UAAU,GAAG,MAAM,EAC/B,YAAY,SAAS,WAAW,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,EACxD,UAAU,SAAS,UAAU,GAAG,UAAU,EAC1C,UAAU,SAAS,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAElD,SAAQ,eAAe,CAAC,GAAG,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,CACjE,YAAW,YAAY,CAAC,GAAG,CAAC;IAE5B,SAAgB,UAAU,EAAE,kBAAkB,CAAC;IAC/C,OAAO,CAAC,MAAM,CAAwC;IACtD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA4C;IACvE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAEb;IACrB,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAElB;IAChB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAwB;IACxD,OAAO,CAAC,UAAU,CAAC,CAAkB;IACrC,OAAO,CAAC,gBAAgB,CAAiC;IAEzD,IAAoB,WAAW,IAAI,YAAY,CAE9C;IAED,SAAS,CAAC,gBAAgB,IAAI,IAAI;gBAMhC,WAAW,EAAE,YAAY,EACzB,gBAAgB,EAAE,CAAC,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC,KAAK,UAAU,CAAC,GAAG,CAAC,EAC7D,gBAAgB,EAAE,CAChB,UAAU,EAAE,QAAQ,CAAC,UAAU,KAC5B,SAAS,CAAC,GAAG,EAAE,UAAU,CAAC,EAC/B,oBAAoB,EAAE,CACpB,WAAW,EAAE,eAAe,CAAC,GAAG,EAAE,UAAU,EAAE,YAAY,CAAC,KACxD,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,EAC3C,sBAAsB,EAAE,CAAC,WAAW,EAAE,YAAY,KAAK,MAAM,EAC7D,SAAS,GAAE,UAAU,GAAG,aAAa,GAAG,YAWvC,EACD,SAAS,GAAE,UAAoC,EAC/C,gBAAgB,GAAE,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,CAAC,KAAK,UAEP,EAC3C,oBAAoB,GAAE,OAAO,cAA+B;IAkBxC,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkKvC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CA0C5C"}
1
+ {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/application.ts"],"names":[],"mappings":"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"}
@@ -48,8 +48,10 @@ class Application extends application_base_1.BaseApplication {
48
48
  fontSrc: [],
49
49
  frameSrc: [],
50
50
  },
51
- }, constants = suite_core_lib_1.Constants, appRouterFactory = (apiRouter) => new app_1.AppRouter(apiRouter), customInitMiddleware = middleware_utils_1.initMiddleware) {
52
- super(environment, schemaMapFactory, databaseInitFunction, initResultHashFunction, constants);
51
+ }, constants = suite_core_lib_1.Constants, appRouterFactory = (apiRouter) => new app_1.AppRouter(apiRouter), customInitMiddleware = middleware_utils_1.initMiddleware, documentStore) {
52
+ const store = documentStore ??
53
+ new services_1.MongooseDocumentStore(schemaMapFactory, databaseInitFunction, initResultHashFunction, environment, constants);
54
+ super(environment, store, constants);
53
55
  this._apiRouterFactory = apiRouterFactory;
54
56
  this._appRouterFactory = appRouterFactory;
55
57
  this._initMiddleware = customInitMiddleware;
@@ -62,8 +64,10 @@ class Application extends application_base_1.BaseApplication {
62
64
  const engine = (0, suite_core_lib_1.getSuiteCoreI18nEngine)({ constants: this.constants });
63
65
  await super.start(mongoUri, true);
64
66
  if (this.devDatabase) {
65
- const result = await this.initializeDevDatabase();
66
- services_1.DatabaseInitializationService.printServerInitResults(result, false);
67
+ if (this._documentStore?.initializeDevStore) {
68
+ const result = await this._documentStore.initializeDevStore(this);
69
+ services_1.DatabaseInitializationService.printServerInitResults(result, false);
70
+ }
67
71
  }
68
72
  try {
69
73
  this._apiRouter = this._apiRouterFactory(this);
@@ -1 +1 @@
1
- {"version":3,"file":"application.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/application.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"application.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/application.ts"],"names":[],"mappings":"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"}