@digitaldefiance/node-express-suite-mongo 4.23.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/README.md +152 -0
- package/package.json +51 -0
- package/src/__tests__/fixtures/index.d.ts +2 -0
- package/src/__tests__/fixtures/index.d.ts.map +1 -0
- package/src/__tests__/fixtures/index.js +5 -0
- package/src/__tests__/fixtures/index.js.map +1 -0
- package/src/__tests__/fixtures/model-mocks.mock.d.ts +12 -0
- package/src/__tests__/fixtures/model-mocks.mock.d.ts.map +1 -0
- package/src/__tests__/fixtures/model-mocks.mock.js +102 -0
- package/src/__tests__/fixtures/model-mocks.mock.js.map +1 -0
- package/src/__tests__/helpers/application.mock.d.ts +4 -0
- package/src/__tests__/helpers/application.mock.d.ts.map +1 -0
- package/src/__tests__/helpers/application.mock.js +35 -0
- package/src/__tests__/helpers/application.mock.js.map +1 -0
- package/src/__tests__/helpers/index.d.ts +5 -0
- package/src/__tests__/helpers/index.d.ts.map +1 -0
- package/src/__tests__/helpers/index.js +8 -0
- package/src/__tests__/helpers/index.js.map +1 -0
- package/src/__tests__/helpers/mongoose-memory.d.ts +14 -0
- package/src/__tests__/helpers/mongoose-memory.d.ts.map +1 -0
- package/src/__tests__/helpers/mongoose-memory.js +49 -0
- package/src/__tests__/helpers/mongoose-memory.js.map +1 -0
- package/src/__tests__/helpers/setup-test-env.d.ts +13 -0
- package/src/__tests__/helpers/setup-test-env.d.ts.map +1 -0
- package/src/__tests__/helpers/setup-test-env.js +131 -0
- package/src/__tests__/helpers/setup-test-env.js.map +1 -0
- package/src/__tests__/index.d.ts +3 -0
- package/src/__tests__/index.d.ts.map +1 -0
- package/src/__tests__/index.js +6 -0
- package/src/__tests__/index.js.map +1 -0
- package/src/builders/application-builder.d.ts +38 -0
- package/src/builders/application-builder.d.ts.map +1 -0
- package/src/builders/application-builder.js +82 -0
- package/src/builders/application-builder.js.map +1 -0
- package/src/builders/index.d.ts +2 -0
- package/src/builders/index.d.ts.map +1 -0
- package/src/builders/index.js +5 -0
- package/src/builders/index.js.map +1 -0
- package/src/controllers/index.d.ts +3 -0
- package/src/controllers/index.d.ts.map +1 -0
- package/src/controllers/index.js +6 -0
- package/src/controllers/index.js.map +1 -0
- package/src/controllers/mongo-base.d.ts +55 -0
- package/src/controllers/mongo-base.d.ts.map +1 -0
- package/src/controllers/mongo-base.js +108 -0
- package/src/controllers/mongo-base.js.map +1 -0
- package/src/controllers/user.d.ts +61 -0
- package/src/controllers/user.d.ts.map +1 -0
- package/src/controllers/user.js +944 -0
- package/src/controllers/user.js.map +1 -0
- package/src/documents/base.d.ts +15 -0
- package/src/documents/base.d.ts.map +1 -0
- package/src/documents/base.js +8 -0
- package/src/documents/base.js.map +1 -0
- package/src/documents/email-token.d.ts +15 -0
- package/src/documents/email-token.d.ts.map +1 -0
- package/src/documents/email-token.js +8 -0
- package/src/documents/email-token.js.map +1 -0
- package/src/documents/index.d.ts +8 -0
- package/src/documents/index.d.ts.map +1 -0
- package/src/documents/index.js +3 -0
- package/src/documents/index.js.map +1 -0
- package/src/documents/mnemonic.d.ts +16 -0
- package/src/documents/mnemonic.d.ts.map +1 -0
- package/src/documents/mnemonic.js +8 -0
- package/src/documents/mnemonic.js.map +1 -0
- package/src/documents/role.d.ts +15 -0
- package/src/documents/role.d.ts.map +1 -0
- package/src/documents/role.js +8 -0
- package/src/documents/role.js.map +1 -0
- package/src/documents/used-direct-login-token.d.ts +16 -0
- package/src/documents/used-direct-login-token.d.ts.map +1 -0
- package/src/documents/used-direct-login-token.js +8 -0
- package/src/documents/used-direct-login-token.js.map +1 -0
- package/src/documents/user-role.d.ts +16 -0
- package/src/documents/user-role.d.ts.map +1 -0
- package/src/documents/user-role.js +8 -0
- package/src/documents/user-role.js.map +1 -0
- package/src/documents/user.d.ts +16 -0
- package/src/documents/user.d.ts.map +1 -0
- package/src/documents/user.js +8 -0
- package/src/documents/user.js.map +1 -0
- package/src/enumerations/base-model-name.d.ts +43 -0
- package/src/enumerations/base-model-name.d.ts.map +1 -0
- package/src/enumerations/base-model-name.js +39 -0
- package/src/enumerations/base-model-name.js.map +1 -0
- package/src/enumerations/index.d.ts +3 -0
- package/src/enumerations/index.d.ts.map +1 -0
- package/src/enumerations/index.js +6 -0
- package/src/enumerations/index.js.map +1 -0
- package/src/enumerations/schema-collection.d.ts +39 -0
- package/src/enumerations/schema-collection.d.ts.map +1 -0
- package/src/enumerations/schema-collection.js +43 -0
- package/src/enumerations/schema-collection.js.map +1 -0
- package/src/errors/index.d.ts +5 -0
- package/src/errors/index.d.ts.map +1 -0
- package/src/errors/index.js +8 -0
- package/src/errors/index.js.map +1 -0
- package/src/errors/invalid-backup-code-version.d.ts +5 -0
- package/src/errors/invalid-backup-code-version.d.ts.map +1 -0
- package/src/errors/invalid-backup-code-version.js +14 -0
- package/src/errors/invalid-backup-code-version.js.map +1 -0
- package/src/errors/invalid-model.d.ts +18 -0
- package/src/errors/invalid-model.d.ts.map +1 -0
- package/src/errors/invalid-model.js +26 -0
- package/src/errors/invalid-model.js.map +1 -0
- package/src/errors/model-not-registered.d.ts +18 -0
- package/src/errors/model-not-registered.d.ts.map +1 -0
- package/src/errors/model-not-registered.js +26 -0
- package/src/errors/model-not-registered.js.map +1 -0
- package/src/errors/mongoose-validation.d.ts +28 -0
- package/src/errors/mongoose-validation.d.ts.map +1 -0
- package/src/errors/mongoose-validation.js +33 -0
- package/src/errors/mongoose-validation.js.map +1 -0
- package/src/index.d.ts +19 -0
- package/src/index.d.ts.map +1 -0
- package/src/index.js +31 -0
- package/src/index.js.map +1 -0
- package/src/interfaces/api-mongo-validation-error-response.d.ts +16 -0
- package/src/interfaces/api-mongo-validation-error-response.d.ts.map +1 -0
- package/src/interfaces/api-mongo-validation-error-response.js +8 -0
- package/src/interfaces/api-mongo-validation-error-response.js.map +1 -0
- package/src/interfaces/database-init-result-tx.d.ts +27 -0
- package/src/interfaces/database-init-result-tx.d.ts.map +1 -0
- package/src/interfaces/database-init-result-tx.js +3 -0
- package/src/interfaces/database-init-result-tx.js.map +1 -0
- package/src/interfaces/db-init-result.d.ts +16 -0
- package/src/interfaces/db-init-result.d.ts.map +1 -0
- package/src/interfaces/db-init-result.js +8 -0
- package/src/interfaces/db-init-result.js.map +1 -0
- package/src/interfaces/discriminator-collections.d.ts +17 -0
- package/src/interfaces/discriminator-collections.d.ts.map +1 -0
- package/src/interfaces/discriminator-collections.js +8 -0
- package/src/interfaces/discriminator-collections.js.map +1 -0
- package/src/interfaces/environment-mongo.d.ts +88 -0
- package/src/interfaces/environment-mongo.d.ts.map +1 -0
- package/src/interfaces/environment-mongo.js +8 -0
- package/src/interfaces/environment-mongo.js.map +1 -0
- package/src/interfaces/index.d.ts +13 -0
- package/src/interfaces/index.d.ts.map +1 -0
- package/src/interfaces/index.js +16 -0
- package/src/interfaces/index.js.map +1 -0
- package/src/interfaces/models/email-token.d.ts +12 -0
- package/src/interfaces/models/email-token.d.ts.map +1 -0
- package/src/interfaces/models/email-token.js +8 -0
- package/src/interfaces/models/email-token.js.map +1 -0
- package/src/interfaces/models/index.d.ts +8 -0
- package/src/interfaces/models/index.d.ts.map +1 -0
- package/src/interfaces/models/index.js +11 -0
- package/src/interfaces/models/index.js.map +1 -0
- package/src/interfaces/models/mnemonic.d.ts +13 -0
- package/src/interfaces/models/mnemonic.d.ts.map +1 -0
- package/src/interfaces/models/mnemonic.js +8 -0
- package/src/interfaces/models/mnemonic.js.map +1 -0
- package/src/interfaces/models/role.d.ts +12 -0
- package/src/interfaces/models/role.d.ts.map +1 -0
- package/src/interfaces/models/role.js +8 -0
- package/src/interfaces/models/role.js.map +1 -0
- package/src/interfaces/models/token-role.d.ts +19 -0
- package/src/interfaces/models/token-role.d.ts.map +1 -0
- package/src/interfaces/models/token-role.js +8 -0
- package/src/interfaces/models/token-role.js.map +1 -0
- package/src/interfaces/models/used-direct-login-token.d.ts +19 -0
- package/src/interfaces/models/used-direct-login-token.d.ts.map +1 -0
- package/src/interfaces/models/used-direct-login-token.js +8 -0
- package/src/interfaces/models/used-direct-login-token.js.map +1 -0
- package/src/interfaces/models/user-role.d.ts +19 -0
- package/src/interfaces/models/user-role.d.ts.map +1 -0
- package/src/interfaces/models/user-role.js +8 -0
- package/src/interfaces/models/user-role.js.map +1 -0
- package/src/interfaces/models/user.d.ts +21 -0
- package/src/interfaces/models/user.d.ts.map +1 -0
- package/src/interfaces/models/user.js +8 -0
- package/src/interfaces/models/user.js.map +1 -0
- package/src/interfaces/mongo-application.d.ts +47 -0
- package/src/interfaces/mongo-application.d.ts.map +1 -0
- package/src/interfaces/mongo-application.js +10 -0
- package/src/interfaces/mongo-application.js.map +1 -0
- package/src/interfaces/mongo-errors.d.ts +13 -0
- package/src/interfaces/mongo-errors.d.ts.map +1 -0
- package/src/interfaces/mongo-errors.js +8 -0
- package/src/interfaces/mongo-errors.js.map +1 -0
- package/src/interfaces/mongoose-document-store.d.ts +42 -0
- package/src/interfaces/mongoose-document-store.d.ts.map +1 -0
- package/src/interfaces/mongoose-document-store.js +10 -0
- package/src/interfaces/mongoose-document-store.js.map +1 -0
- package/src/interfaces/schema.d.ts +37 -0
- package/src/interfaces/schema.d.ts.map +1 -0
- package/src/interfaces/schema.js +8 -0
- package/src/interfaces/schema.js.map +1 -0
- package/src/interfaces/server-init-result.d.ts +45 -0
- package/src/interfaces/server-init-result.d.ts.map +1 -0
- package/src/interfaces/server-init-result.js +8 -0
- package/src/interfaces/server-init-result.js.map +1 -0
- package/src/interfaces/test-environment.d.ts +22 -0
- package/src/interfaces/test-environment.d.ts.map +1 -0
- package/src/interfaces/test-environment.js +8 -0
- package/src/interfaces/test-environment.js.map +1 -0
- package/src/model-registry.d.ts +79 -0
- package/src/model-registry.d.ts.map +1 -0
- package/src/model-registry.js +97 -0
- package/src/model-registry.js.map +1 -0
- package/src/models/email-token.d.ts +24 -0
- package/src/models/email-token.d.ts.map +1 -0
- package/src/models/email-token.js +16 -0
- package/src/models/email-token.js.map +1 -0
- package/src/models/index.d.ts +7 -0
- package/src/models/index.d.ts.map +1 -0
- package/src/models/index.js +10 -0
- package/src/models/index.js.map +1 -0
- package/src/models/mnemonic.d.ts +24 -0
- package/src/models/mnemonic.d.ts.map +1 -0
- package/src/models/mnemonic.js +27 -0
- package/src/models/mnemonic.js.map +1 -0
- package/src/models/role.d.ts +24 -0
- package/src/models/role.d.ts.map +1 -0
- package/src/models/role.js +27 -0
- package/src/models/role.js.map +1 -0
- package/src/models/used-direct-login-token.d.ts +24 -0
- package/src/models/used-direct-login-token.d.ts.map +1 -0
- package/src/models/used-direct-login-token.js +16 -0
- package/src/models/used-direct-login-token.js.map +1 -0
- package/src/models/user-role.d.ts +23 -0
- package/src/models/user-role.d.ts.map +1 -0
- package/src/models/user-role.js +26 -0
- package/src/models/user-role.js.map +1 -0
- package/src/models/user.d.ts +24 -0
- package/src/models/user.d.ts.map +1 -0
- package/src/models/user.js +27 -0
- package/src/models/user.js.map +1 -0
- package/src/mongo-application-concrete.d.ts +30 -0
- package/src/mongo-application-concrete.d.ts.map +1 -0
- package/src/mongo-application-concrete.js +46 -0
- package/src/mongo-application-concrete.js.map +1 -0
- package/src/plugins/index.d.ts +2 -0
- package/src/plugins/index.d.ts.map +1 -0
- package/src/plugins/index.js +5 -0
- package/src/plugins/index.js.map +1 -0
- package/src/plugins/mongo-database-plugin.d.ts +116 -0
- package/src/plugins/mongo-database-plugin.d.ts.map +1 -0
- package/src/plugins/mongo-database-plugin.js +230 -0
- package/src/plugins/mongo-database-plugin.js.map +1 -0
- package/src/routers/api.d.ts +29 -0
- package/src/routers/api.d.ts.map +1 -0
- package/src/routers/api.js +84 -0
- package/src/routers/api.js.map +1 -0
- package/src/routers/index.d.ts +2 -0
- package/src/routers/index.d.ts.map +1 -0
- package/src/routers/index.js +5 -0
- package/src/routers/index.js.map +1 -0
- package/src/schemas/email-token.d.ts +65 -0
- package/src/schemas/email-token.d.ts.map +1 -0
- package/src/schemas/email-token.js +68 -0
- package/src/schemas/email-token.js.map +1 -0
- package/src/schemas/index.d.ts +8 -0
- package/src/schemas/index.d.ts.map +1 -0
- package/src/schemas/index.js +11 -0
- package/src/schemas/index.js.map +1 -0
- package/src/schemas/mnemonic.d.ts +37 -0
- package/src/schemas/mnemonic.d.ts.map +1 -0
- package/src/schemas/mnemonic.js +41 -0
- package/src/schemas/mnemonic.js.map +1 -0
- package/src/schemas/role.d.ts +57 -0
- package/src/schemas/role.d.ts.map +1 -0
- package/src/schemas/role.js +102 -0
- package/src/schemas/role.js.map +1 -0
- package/src/schemas/schema.d.ts +62 -0
- package/src/schemas/schema.d.ts.map +1 -0
- package/src/schemas/schema.js +81 -0
- package/src/schemas/schema.js.map +1 -0
- package/src/schemas/used-direct-login-token.d.ts +49 -0
- package/src/schemas/used-direct-login-token.d.ts.map +1 -0
- package/src/schemas/used-direct-login-token.js +35 -0
- package/src/schemas/used-direct-login-token.js.map +1 -0
- package/src/schemas/user-role.d.ts +52 -0
- package/src/schemas/user-role.d.ts.map +1 -0
- package/src/schemas/user-role.js +67 -0
- package/src/schemas/user-role.js.map +1 -0
- package/src/schemas/user.d.ts +43 -0
- package/src/schemas/user.d.ts.map +1 -0
- package/src/schemas/user.js +214 -0
- package/src/schemas/user.js.map +1 -0
- package/src/services/backup-code.d.ts +118 -0
- package/src/services/backup-code.d.ts.map +1 -0
- package/src/services/backup-code.js +320 -0
- package/src/services/backup-code.js.map +1 -0
- package/src/services/database-initialization.d.ts +137 -0
- package/src/services/database-initialization.d.ts.map +1 -0
- package/src/services/database-initialization.js +911 -0
- package/src/services/database-initialization.js.map +1 -0
- package/src/services/db-init-cache.d.ts +18 -0
- package/src/services/db-init-cache.d.ts.map +1 -0
- package/src/services/db-init-cache.js +7 -0
- package/src/services/db-init-cache.js.map +1 -0
- package/src/services/direct-login-token.d.ts +28 -0
- package/src/services/direct-login-token.d.ts.map +1 -0
- package/src/services/direct-login-token.js +62 -0
- package/src/services/direct-login-token.js.map +1 -0
- package/src/services/index.d.ts +17 -0
- package/src/services/index.d.ts.map +1 -0
- package/src/services/index.js +20 -0
- package/src/services/index.js.map +1 -0
- package/src/services/jwt.d.ts +20 -0
- package/src/services/jwt.d.ts.map +1 -0
- package/src/services/jwt.js +79 -0
- package/src/services/jwt.js.map +1 -0
- package/src/services/mnemonic.d.ts +30 -0
- package/src/services/mnemonic.d.ts.map +1 -0
- package/src/services/mnemonic.js +80 -0
- package/src/services/mnemonic.js.map +1 -0
- package/src/services/mongo-authentication-provider.d.ts +27 -0
- package/src/services/mongo-authentication-provider.d.ts.map +1 -0
- package/src/services/mongo-authentication-provider.js +97 -0
- package/src/services/mongo-authentication-provider.js.map +1 -0
- package/src/services/mongo-backup-code-store.d.ts +40 -0
- package/src/services/mongo-backup-code-store.d.ts.map +1 -0
- package/src/services/mongo-backup-code-store.js +104 -0
- package/src/services/mongo-backup-code-store.js.map +1 -0
- package/src/services/mongo-base.d.ts +24 -0
- package/src/services/mongo-base.d.ts.map +1 -0
- package/src/services/mongo-base.js +28 -0
- package/src/services/mongo-base.js.map +1 -0
- package/src/services/mongoose-collection.d.ts +52 -0
- package/src/services/mongoose-collection.d.ts.map +1 -0
- package/src/services/mongoose-collection.js +326 -0
- package/src/services/mongoose-collection.js.map +1 -0
- package/src/services/mongoose-database.d.ts +64 -0
- package/src/services/mongoose-database.d.ts.map +1 -0
- package/src/services/mongoose-database.js +121 -0
- package/src/services/mongoose-database.js.map +1 -0
- package/src/services/mongoose-document-store.d.ts +108 -0
- package/src/services/mongoose-document-store.d.ts.map +1 -0
- package/src/services/mongoose-document-store.js +265 -0
- package/src/services/mongoose-document-store.js.map +1 -0
- package/src/services/mongoose-session-adapter.d.ts +39 -0
- package/src/services/mongoose-session-adapter.d.ts.map +1 -0
- package/src/services/mongoose-session-adapter.js +63 -0
- package/src/services/mongoose-session-adapter.js.map +1 -0
- package/src/services/request-user.d.ts +22 -0
- package/src/services/request-user.d.ts.map +1 -0
- package/src/services/request-user.js +66 -0
- package/src/services/request-user.js.map +1 -0
- package/src/services/role.d.ts +97 -0
- package/src/services/role.d.ts.map +1 -0
- package/src/services/role.js +288 -0
- package/src/services/role.js.map +1 -0
- package/src/services/user.d.ts +362 -0
- package/src/services/user.d.ts.map +1 -0
- package/src/services/user.js +1504 -0
- package/src/services/user.js.map +1 -0
- package/src/testing.d.ts +9 -0
- package/src/testing.d.ts.map +1 -0
- package/src/testing.js +12 -0
- package/src/testing.js.map +1 -0
- package/src/transactions/index.d.ts +2 -0
- package/src/transactions/index.d.ts.map +1 -0
- package/src/transactions/index.js +5 -0
- package/src/transactions/index.js.map +1 -0
- package/src/transactions/transaction-manager.d.ts +37 -0
- package/src/transactions/transaction-manager.d.ts.map +1 -0
- package/src/transactions/transaction-manager.js +50 -0
- package/src/transactions/transaction-manager.js.map +1 -0
- package/src/types/index.d.ts +26 -0
- package/src/types/index.d.ts.map +1 -0
- package/src/types/index.js +9 -0
- package/src/types/index.js.map +1 -0
- package/src/types/mongoose-helpers.d.ts +16 -0
- package/src/types/mongoose-helpers.d.ts.map +1 -0
- package/src/types/mongoose-helpers.js +8 -0
- package/src/types/mongoose-helpers.js.map +1 -0
- package/src/utils/default-mongo-uri-validator.d.ts +15 -0
- package/src/utils/default-mongo-uri-validator.d.ts.map +1 -0
- package/src/utils/default-mongo-uri-validator.js +46 -0
- package/src/utils/default-mongo-uri-validator.js.map +1 -0
- package/src/utils/index.d.ts +5 -0
- package/src/utils/index.d.ts.map +1 -0
- package/src/utils/index.js +8 -0
- package/src/utils/index.js.map +1 -0
- package/src/utils/mongo-error-response.d.ts +17 -0
- package/src/utils/mongo-error-response.d.ts.map +1 -0
- package/src/utils/mongo-error-response.js +21 -0
- package/src/utils/mongo-error-response.js.map +1 -0
- package/src/utils/mongo-transaction.d.ts +39 -0
- package/src/utils/mongo-transaction.d.ts.map +1 -0
- package/src/utils/mongo-transaction.js +131 -0
- package/src/utils/mongo-transaction.js.map +1 -0
- package/src/utils/object-id.d.ts +11 -0
- package/src/utils/object-id.d.ts.map +1 -0
- package/src/utils/object-id.js +17 -0
- package/src/utils/object-id.js.map +1 -0
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Model registry for dynamic Mongoose model management.
|
|
4
|
+
* Singleton registry for registering and retrieving Mongoose models.
|
|
5
|
+
* @module model-registry
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.ModelRegistry = void 0;
|
|
9
|
+
const errors_1 = require("./errors");
|
|
10
|
+
/**
|
|
11
|
+
* Singleton registry for Mongoose models.
|
|
12
|
+
* Manages model registration and retrieval across the application.
|
|
13
|
+
*/
|
|
14
|
+
class ModelRegistry {
|
|
15
|
+
static _instance;
|
|
16
|
+
_models = new Map();
|
|
17
|
+
constructor() { }
|
|
18
|
+
/**
|
|
19
|
+
* Gets the singleton instance of ModelRegistry.
|
|
20
|
+
* @returns {ModelRegistry} The singleton instance
|
|
21
|
+
*/
|
|
22
|
+
static get instance() {
|
|
23
|
+
if (!ModelRegistry._instance) {
|
|
24
|
+
ModelRegistry._instance = new ModelRegistry();
|
|
25
|
+
}
|
|
26
|
+
return ModelRegistry._instance;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Registers a model with the registry.
|
|
30
|
+
* @template T - Document ID type
|
|
31
|
+
* @template U - Document type extending BaseDocument
|
|
32
|
+
* @param {ModelRegistration<T, U>} registration - Model registration information
|
|
33
|
+
*/
|
|
34
|
+
register(registration) {
|
|
35
|
+
this._models.set(registration.modelName, registration);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Retrieves a model registration by name.
|
|
39
|
+
* @template T - Document ID type
|
|
40
|
+
* @template U - Document type extending BaseDocument
|
|
41
|
+
* @param {string} modelName - Name of the model
|
|
42
|
+
* @returns {ModelRegistration<T, U>} Model registration
|
|
43
|
+
* @throws {InvalidModelError} If model is not registered
|
|
44
|
+
*/
|
|
45
|
+
get(modelName) {
|
|
46
|
+
const result = this._models.get(modelName);
|
|
47
|
+
if (result === undefined) {
|
|
48
|
+
throw new errors_1.InvalidModelError(modelName);
|
|
49
|
+
}
|
|
50
|
+
return result;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Retrieves a typed Mongoose model by name.
|
|
54
|
+
* @template TDoc - Mongoose document type
|
|
55
|
+
* @param {string} modelName - Name of the model
|
|
56
|
+
* @returns {Model<TDoc>} Mongoose model
|
|
57
|
+
* @throws {InvalidModelError} If model is not registered
|
|
58
|
+
*/
|
|
59
|
+
getTypedModel(modelName) {
|
|
60
|
+
const result = this._models.get(modelName);
|
|
61
|
+
if (result === undefined) {
|
|
62
|
+
throw new errors_1.InvalidModelError(modelName);
|
|
63
|
+
}
|
|
64
|
+
return result.model;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Retrieves a typed Mongoose schema by name.
|
|
68
|
+
* @template TDoc - Mongoose document type
|
|
69
|
+
* @param {string} modelName - Name of the model
|
|
70
|
+
* @returns {Schema<TDoc>} Mongoose schema
|
|
71
|
+
* @throws {InvalidModelError} If model is not registered
|
|
72
|
+
*/
|
|
73
|
+
getTypedSchema(modelName) {
|
|
74
|
+
const result = this._models.get(modelName);
|
|
75
|
+
if (result === undefined) {
|
|
76
|
+
throw new errors_1.InvalidModelError(modelName);
|
|
77
|
+
}
|
|
78
|
+
return result.schema;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Checks if a model is registered.
|
|
82
|
+
* @param {string} modelName - Name of the model
|
|
83
|
+
* @returns {boolean} True if model exists
|
|
84
|
+
*/
|
|
85
|
+
has(modelName) {
|
|
86
|
+
return this._models.has(modelName);
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Lists all registered model names.
|
|
90
|
+
* @returns {string[]} Array of model names
|
|
91
|
+
*/
|
|
92
|
+
list() {
|
|
93
|
+
return Array.from(this._models.keys());
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
exports.ModelRegistry = ModelRegistry;
|
|
97
|
+
//# sourceMappingURL=model-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-registry.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite-mongo/src/model-registry.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAQH,qCAA6C;AAoB7C;;;GAGG;AACH,MAAM,aAAa;IACP,MAAM,CAAC,SAAS,CAA4B;IAC5C,OAAO,GAGb,IAAI,GAAG,EAAE,CAAC;IAEd,gBAAuB,CAAC;IAExB;;;OAGG;IACI,MAAM,KAAK,QAAQ;QACxB,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC;YAC7B,aAAa,CAAC,SAAS,GAAG,IAAI,aAAa,EAAE,CAAC;QAChD,CAAC;QACD,OAAO,aAAa,CAAC,SAAS,CAAC;IACjC,CAAC;IAED;;;;;OAKG;IACI,QAAQ,CACb,YAA0C;QAE1C,IAAI,CAAC,OAAO,CAAC,GAAG,CACd,YAAY,CAAC,SAAS,EACtB,YAA4C,CAC7C,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACI,GAAG,CACR,SAAiB;QAEjB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAiC,CAAC;QAC3E,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,0BAAiB,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACI,aAAa,CAClB,SAAiB;QAEjB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,0BAAiB,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,MAAM,CAAC,KAAoB,CAAC;IACrC,CAAC;IAED;;;;;;OAMG;IACI,cAAc,CACnB,SAAiB;QAEjB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,0BAAiB,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,MAAM,CAAC,MAAsB,CAAC;IACvC,CAAC;IAED;;;;OAIG;IACI,GAAG,CAAC,SAAiB;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAED;;;OAGG;IACI,IAAI;QACT,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;CACF;AAEQ,sCAAa"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Email token model factory for MongoDB.
|
|
3
|
+
* Creates Mongoose model for email verification and password reset tokens.
|
|
4
|
+
* @module models/email-token
|
|
5
|
+
*/
|
|
6
|
+
import { Connection, Model, Schema } from '@digitaldefiance/mongoose-types';
|
|
7
|
+
import { EmailTokenDocument } from '../documents/email-token';
|
|
8
|
+
import { BaseModelName } from '../enumerations';
|
|
9
|
+
import { SchemaCollection } from '../enumerations/schema-collection';
|
|
10
|
+
import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
|
|
11
|
+
/**
|
|
12
|
+
* Creates a Mongoose model for email token documents.
|
|
13
|
+
* @template TModelName - Model name type (defaults to BaseModelName)
|
|
14
|
+
* @template TCollection - Collection name type (defaults to SchemaCollection)
|
|
15
|
+
* @template TID - Platform ID type (defaults to Buffer)
|
|
16
|
+
* @param {Connection} connection - Mongoose connection instance
|
|
17
|
+
* @param {TModelName} [modelName] - Model name (defaults to 'EmailToken')
|
|
18
|
+
* @param {TCollection} [collection] - Collection name (defaults to 'emailTokens')
|
|
19
|
+
* @param {Schema} [schema] - Mongoose schema (defaults to EmailTokenSchema)
|
|
20
|
+
* @returns {Model<EmailTokenDocument<TID>>} Configured Mongoose model
|
|
21
|
+
*/
|
|
22
|
+
export declare function EmailTokenModel<TModelName extends string = BaseModelName, TCollection extends string = SchemaCollection, TID extends PlatformID = Buffer>(connection: Connection, modelName?: TModelName, collection?: TCollection, schema?: Schema): Model<EmailTokenDocument<TID>>;
|
|
23
|
+
export default EmailTokenModel;
|
|
24
|
+
//# sourceMappingURL=email-token.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email-token.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite-mongo/src/models/email-token.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAErE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAElE;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAC7B,UAAU,SAAS,MAAM,GAAG,aAAa,EACzC,WAAW,SAAS,MAAM,GAAG,gBAAgB,EAC7C,GAAG,SAAS,UAAU,GAAG,MAAM,EAE/B,UAAU,EAAE,UAAU,EACtB,SAAS,CAAC,EAAE,UAAU,EACtB,UAAU,CAAC,EAAE,WAAW,EACxB,MAAM,CAAC,EAAE,MAAM,GACd,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;AAelC,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Email token model factory for MongoDB.
|
|
4
|
+
* Creates Mongoose model for email verification and password reset tokens.
|
|
5
|
+
* @module models/email-token
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.EmailTokenModel = EmailTokenModel;
|
|
9
|
+
const enumerations_1 = require("../enumerations");
|
|
10
|
+
const schema_collection_1 = require("../enumerations/schema-collection");
|
|
11
|
+
const email_token_1 = require("../schemas/email-token");
|
|
12
|
+
function EmailTokenModel(connection, modelName = enumerations_1.BaseModelName.EmailToken, collection = schema_collection_1.SchemaCollection.EmailToken, schema = email_token_1.EmailTokenSchema) {
|
|
13
|
+
return connection.model(modelName, schema, collection);
|
|
14
|
+
}
|
|
15
|
+
exports.default = EmailTokenModel;
|
|
16
|
+
//# sourceMappingURL=email-token.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email-token.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite-mongo/src/models/email-token.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AA+BH,0CAWC;AAtCD,kDAAgD;AAChD,yEAAqE;AACrE,wDAA0D;AAyB1D,SAAgB,eAAe,CAC7B,UAAsB,EACtB,YAAoB,4BAAa,CAAC,UAAU,EAC5C,aAAqB,oCAAgB,CAAC,UAAU,EAChD,SAAiB,8BAAgB;IAEjC,OAAO,UAAU,CAAC,KAAK,CACrB,SAAS,EACT,MAAM,EACN,UAAU,CACX,CAAC;AACJ,CAAC;AAED,kBAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite-mongo/src/models/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./email-token"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./mnemonic"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./role"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./used-direct-login-token"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./user"), exports);
|
|
9
|
+
tslib_1.__exportStar(require("./user-role"), exports);
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite-mongo/src/models/index.ts"],"names":[],"mappings":";;;AAAA,wDAA8B;AAC9B,qDAA2B;AAC3B,iDAAuB;AACvB,oEAA0C;AAC1C,iDAAuB;AACvB,sDAA4B"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Mnemonic model factory for MongoDB.
|
|
3
|
+
* Creates Mongoose model for mnemonic hash storage.
|
|
4
|
+
* @module models/mnemonic
|
|
5
|
+
*/
|
|
6
|
+
import { Connection, Model, Schema } from '@digitaldefiance/mongoose-types';
|
|
7
|
+
import { MnemonicDocument } from '../documents/mnemonic';
|
|
8
|
+
import { BaseModelName } from '../enumerations';
|
|
9
|
+
import { SchemaCollection } from '../enumerations/schema-collection';
|
|
10
|
+
import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
|
|
11
|
+
/**
|
|
12
|
+
* Creates a Mongoose model for mnemonic documents.
|
|
13
|
+
* @template TModelName - Model name type (defaults to BaseModelName)
|
|
14
|
+
* @template TCollection - Collection name type (defaults to SchemaCollection)
|
|
15
|
+
* @template TID - Platform ID type (defaults to Buffer)
|
|
16
|
+
* @param {Connection} connection - Mongoose connection instance
|
|
17
|
+
* @param {TModelName} modelName - Model name (defaults to 'Mnemonic')
|
|
18
|
+
* @param {TCollection} collection - Collection name (defaults to 'mnemonics')
|
|
19
|
+
* @param {Schema} schema - Mongoose schema (defaults to MnemonicSchema)
|
|
20
|
+
* @returns {Model<MnemonicDocument<TID>>} Configured Mongoose model
|
|
21
|
+
*/
|
|
22
|
+
export declare function MnemonicModel<TModelName extends string = BaseModelName, TCollection extends string = SchemaCollection, TID extends PlatformID = Buffer>(connection: Connection, modelName?: TModelName, collection?: TCollection, schema?: Schema): Model<MnemonicDocument<TID>>;
|
|
23
|
+
export default MnemonicModel;
|
|
24
|
+
//# sourceMappingURL=mnemonic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mnemonic.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite-mongo/src/models/mnemonic.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAErE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAElE;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAC3B,UAAU,SAAS,MAAM,GAAG,aAAa,EACzC,WAAW,SAAS,MAAM,GAAG,gBAAgB,EAC7C,GAAG,SAAS,UAAU,GAAG,MAAM,EAE/B,UAAU,EAAE,UAAU,EACtB,SAAS,GAAE,UAAiD,EAC5D,UAAU,GAAE,WAAsD,EAClE,MAAM,GAAE,MAAuB,GAC9B,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAE9B;AAED,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Mnemonic model factory for MongoDB.
|
|
4
|
+
* Creates Mongoose model for mnemonic hash storage.
|
|
5
|
+
* @module models/mnemonic
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.MnemonicModel = MnemonicModel;
|
|
9
|
+
const enumerations_1 = require("../enumerations");
|
|
10
|
+
const schema_collection_1 = require("../enumerations/schema-collection");
|
|
11
|
+
const mnemonic_1 = require("../schemas/mnemonic");
|
|
12
|
+
/**
|
|
13
|
+
* Creates a Mongoose model for mnemonic documents.
|
|
14
|
+
* @template TModelName - Model name type (defaults to BaseModelName)
|
|
15
|
+
* @template TCollection - Collection name type (defaults to SchemaCollection)
|
|
16
|
+
* @template TID - Platform ID type (defaults to Buffer)
|
|
17
|
+
* @param {Connection} connection - Mongoose connection instance
|
|
18
|
+
* @param {TModelName} modelName - Model name (defaults to 'Mnemonic')
|
|
19
|
+
* @param {TCollection} collection - Collection name (defaults to 'mnemonics')
|
|
20
|
+
* @param {Schema} schema - Mongoose schema (defaults to MnemonicSchema)
|
|
21
|
+
* @returns {Model<MnemonicDocument<TID>>} Configured Mongoose model
|
|
22
|
+
*/
|
|
23
|
+
function MnemonicModel(connection, modelName = enumerations_1.BaseModelName.Mnemonic, collection = schema_collection_1.SchemaCollection.Mnemonic, schema = mnemonic_1.MnemonicSchema) {
|
|
24
|
+
return connection.model(modelName, schema, collection);
|
|
25
|
+
}
|
|
26
|
+
exports.default = MnemonicModel;
|
|
27
|
+
//# sourceMappingURL=mnemonic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mnemonic.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite-mongo/src/models/mnemonic.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAoBH,sCAWC;AA3BD,kDAAgD;AAChD,yEAAqE;AACrE,kDAAqD;AAGrD;;;;;;;;;;GAUG;AACH,SAAgB,aAAa,CAK3B,UAAsB,EACtB,YAAwB,4BAAa,CAAC,QAAsB,EAC5D,aAA0B,oCAAgB,CAAC,QAAuB,EAClE,SAAiB,yBAAc;IAE/B,OAAO,UAAU,CAAC,KAAK,CAAwB,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AAChF,CAAC;AAED,kBAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Role model factory for MongoDB.
|
|
3
|
+
* Creates Mongoose model for role management with RBAC.
|
|
4
|
+
* @module models/role
|
|
5
|
+
*/
|
|
6
|
+
import { Connection, Model, Schema } from '@digitaldefiance/mongoose-types';
|
|
7
|
+
import { RoleDocument } from '../documents/role';
|
|
8
|
+
import { BaseModelName } from '../enumerations';
|
|
9
|
+
import { SchemaCollection } from '../enumerations/schema-collection';
|
|
10
|
+
import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
|
|
11
|
+
/**
|
|
12
|
+
* Creates a Mongoose model for role documents.
|
|
13
|
+
* @template TModelName - Model name type (defaults to BaseModelName)
|
|
14
|
+
* @template TCollection - Collection name type (defaults to SchemaCollection)
|
|
15
|
+
* @template TID - Platform ID type (defaults to Buffer)
|
|
16
|
+
* @param {Connection} connection - Mongoose connection instance
|
|
17
|
+
* @param {TModelName} modelName - Model name (defaults to 'Role')
|
|
18
|
+
* @param {TCollection} collection - Collection name (defaults to 'roles')
|
|
19
|
+
* @param {Schema} schema - Mongoose schema (defaults to RoleSchema)
|
|
20
|
+
* @returns {Model<RoleDocument<TID>>} Configured Mongoose model
|
|
21
|
+
*/
|
|
22
|
+
export declare function RoleModel<TModelName extends string = BaseModelName, TCollection extends string = SchemaCollection, TID extends PlatformID = Buffer>(connection: Connection, modelName?: TModelName, collection?: TCollection, schema?: Schema): Model<RoleDocument<TID>>;
|
|
23
|
+
export default RoleModel;
|
|
24
|
+
//# sourceMappingURL=role.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"role.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite-mongo/src/models/role.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAErE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAElE;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CACvB,UAAU,SAAS,MAAM,GAAG,aAAa,EACzC,WAAW,SAAS,MAAM,GAAG,gBAAgB,EAC7C,GAAG,SAAS,UAAU,GAAG,MAAM,EAE/B,UAAU,EAAE,UAAU,EACtB,SAAS,GAAE,UAA6C,EACxD,UAAU,GAAE,WAAkD,EAC9D,MAAM,GAAE,MAAmB,GAC1B,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAE1B;AAED,eAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Role model factory for MongoDB.
|
|
4
|
+
* Creates Mongoose model for role management with RBAC.
|
|
5
|
+
* @module models/role
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.RoleModel = RoleModel;
|
|
9
|
+
const enumerations_1 = require("../enumerations");
|
|
10
|
+
const schema_collection_1 = require("../enumerations/schema-collection");
|
|
11
|
+
const role_1 = require("../schemas/role");
|
|
12
|
+
/**
|
|
13
|
+
* Creates a Mongoose model for role documents.
|
|
14
|
+
* @template TModelName - Model name type (defaults to BaseModelName)
|
|
15
|
+
* @template TCollection - Collection name type (defaults to SchemaCollection)
|
|
16
|
+
* @template TID - Platform ID type (defaults to Buffer)
|
|
17
|
+
* @param {Connection} connection - Mongoose connection instance
|
|
18
|
+
* @param {TModelName} modelName - Model name (defaults to 'Role')
|
|
19
|
+
* @param {TCollection} collection - Collection name (defaults to 'roles')
|
|
20
|
+
* @param {Schema} schema - Mongoose schema (defaults to RoleSchema)
|
|
21
|
+
* @returns {Model<RoleDocument<TID>>} Configured Mongoose model
|
|
22
|
+
*/
|
|
23
|
+
function RoleModel(connection, modelName = enumerations_1.BaseModelName.Role, collection = schema_collection_1.SchemaCollection.Role, schema = role_1.RoleSchema) {
|
|
24
|
+
return connection.model(modelName, schema, collection);
|
|
25
|
+
}
|
|
26
|
+
exports.default = RoleModel;
|
|
27
|
+
//# sourceMappingURL=role.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"role.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite-mongo/src/models/role.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAoBH,8BAWC;AA3BD,kDAAgD;AAChD,yEAAqE;AACrE,0CAA6C;AAG7C;;;;;;;;;;GAUG;AACH,SAAgB,SAAS,CAKvB,UAAsB,EACtB,YAAwB,4BAAa,CAAC,IAAkB,EACxD,aAA0B,oCAAgB,CAAC,IAAmB,EAC9D,SAAiB,iBAAU;IAE3B,OAAO,UAAU,CAAC,KAAK,CAAoB,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AAC5E,CAAC;AAED,kBAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Used direct login token model factory for MongoDB.
|
|
3
|
+
* Creates Mongoose model for tracking consumed direct login tokens.
|
|
4
|
+
* @module models/used-direct-login-token
|
|
5
|
+
*/
|
|
6
|
+
import { Connection, Model, Schema } from '@digitaldefiance/mongoose-types';
|
|
7
|
+
import { UsedDirectLoginTokenDocument } from '../documents/used-direct-login-token';
|
|
8
|
+
import { BaseModelName } from '../enumerations';
|
|
9
|
+
import { SchemaCollection } from '../enumerations/schema-collection';
|
|
10
|
+
import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
|
|
11
|
+
/**
|
|
12
|
+
* Creates a Mongoose model for used direct login token documents.
|
|
13
|
+
* @template TModelName - Model name type (defaults to BaseModelName)
|
|
14
|
+
* @template TCollection - Collection name type (defaults to SchemaCollection)
|
|
15
|
+
* @template TID - Platform ID type (defaults to Buffer)
|
|
16
|
+
* @param {Connection} connection - Mongoose connection instance
|
|
17
|
+
* @param {TModelName} [modelName] - Model name (defaults to 'UsedDirectLoginToken')
|
|
18
|
+
* @param {TCollection} [collection] - Collection name (defaults to 'usedDirectLoginTokens')
|
|
19
|
+
* @param {Schema} [schema] - Mongoose schema (defaults to UsedDirectLoginTokenSchema)
|
|
20
|
+
* @returns {Model<UsedDirectLoginTokenDocument<TID>>} Configured Mongoose model
|
|
21
|
+
*/
|
|
22
|
+
export declare function UsedDirectLoginTokenModel<TModelName extends string = BaseModelName, TCollection extends string = SchemaCollection, TID extends PlatformID = Buffer>(connection: Connection, modelName?: TModelName, collection?: TCollection, schema?: Schema): Model<UsedDirectLoginTokenDocument<TID>>;
|
|
23
|
+
export default UsedDirectLoginTokenModel;
|
|
24
|
+
//# sourceMappingURL=used-direct-login-token.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"used-direct-login-token.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite-mongo/src/models/used-direct-login-token.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAErE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAElE;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CACvC,UAAU,SAAS,MAAM,GAAG,aAAa,EACzC,WAAW,SAAS,MAAM,GAAG,gBAAgB,EAC7C,GAAG,SAAS,UAAU,GAAG,MAAM,EAE/B,UAAU,EAAE,UAAU,EACtB,SAAS,CAAC,EAAE,UAAU,EACtB,UAAU,CAAC,EAAE,WAAW,EACxB,MAAM,CAAC,EAAE,MAAM,GACd,KAAK,CAAC,4BAA4B,CAAC,GAAG,CAAC,CAAC,CAAC;AAe5C,eAAe,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Used direct login token model factory for MongoDB.
|
|
4
|
+
* Creates Mongoose model for tracking consumed direct login tokens.
|
|
5
|
+
* @module models/used-direct-login-token
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.UsedDirectLoginTokenModel = UsedDirectLoginTokenModel;
|
|
9
|
+
const enumerations_1 = require("../enumerations");
|
|
10
|
+
const schema_collection_1 = require("../enumerations/schema-collection");
|
|
11
|
+
const used_direct_login_token_1 = require("../schemas/used-direct-login-token");
|
|
12
|
+
function UsedDirectLoginTokenModel(connection, modelName, collection, schema) {
|
|
13
|
+
return connection.model(modelName ?? enumerations_1.BaseModelName.UsedDirectLoginToken, schema ?? used_direct_login_token_1.UsedDirectLoginTokenSchema, collection ?? schema_collection_1.SchemaCollection.UsedDirectLoginToken);
|
|
14
|
+
}
|
|
15
|
+
exports.default = UsedDirectLoginTokenModel;
|
|
16
|
+
//# sourceMappingURL=used-direct-login-token.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"used-direct-login-token.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite-mongo/src/models/used-direct-login-token.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AA+BH,8DAWC;AAtCD,kDAAgD;AAChD,yEAAqE;AACrE,gFAAgF;AAyBhF,SAAgB,yBAAyB,CACvC,UAAsB,EACtB,SAAkB,EAClB,UAAmB,EACnB,MAAe;IAEf,OAAO,UAAU,CAAC,KAAK,CACrB,SAAS,IAAI,4BAAa,CAAC,oBAAoB,EAC/C,MAAM,IAAI,oDAA0B,EACpC,UAAU,IAAI,oCAAgB,CAAC,oBAAoB,CACpD,CAAC;AACJ,CAAC;AAED,kBAAe,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview User-role relationship model factory for MongoDB.
|
|
3
|
+
* Creates Mongoose model for many-to-many user-role associations.
|
|
4
|
+
* @module models/user-role
|
|
5
|
+
*/
|
|
6
|
+
import { Connection, Model, Schema } from '@digitaldefiance/mongoose-types';
|
|
7
|
+
import { UserRoleDocument } from '../documents/user-role';
|
|
8
|
+
import { BaseModelName } from '../enumerations';
|
|
9
|
+
import { SchemaCollection } from '../enumerations/schema-collection';
|
|
10
|
+
import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
|
|
11
|
+
/**
|
|
12
|
+
* Creates a Mongoose model for user-role relationship documents.
|
|
13
|
+
* @template TModelName - Model name type (defaults to BaseModelName)
|
|
14
|
+
* @template TCollection - Collection name type (defaults to SchemaCollection)
|
|
15
|
+
* @template TID - Platform ID type (defaults to Buffer)
|
|
16
|
+
* @param {Connection} connection - Mongoose connection instance
|
|
17
|
+
* @param {TModelName} modelName - Model name (defaults to 'UserRole')
|
|
18
|
+
* @param {TCollection} collection - Collection name (defaults to 'userRoles')
|
|
19
|
+
* @param {Schema} schema - Mongoose schema (defaults to UserRoleSchema)
|
|
20
|
+
* @returns {Model<UserRoleDocument<TID>>} Configured Mongoose model
|
|
21
|
+
*/
|
|
22
|
+
export default function UserRoleModel<TModelName extends string = BaseModelName, TCollection extends string = SchemaCollection, TID extends PlatformID = Buffer>(connection: Connection, modelName?: TModelName, collection?: TCollection, schema?: Schema): Model<UserRoleDocument<TID>>;
|
|
23
|
+
//# sourceMappingURL=user-role.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-role.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite-mongo/src/models/user-role.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAErE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAElE;;;;;;;;;;GAUG;AACH,MAAM,CAAC,OAAO,UAAU,aAAa,CACnC,UAAU,SAAS,MAAM,GAAG,aAAa,EACzC,WAAW,SAAS,MAAM,GAAG,gBAAgB,EAC7C,GAAG,SAAS,UAAU,GAAG,MAAM,EAE/B,UAAU,EAAE,UAAU,EACtB,SAAS,GAAE,UAAiD,EAC5D,UAAU,GAAE,WAAsD,EAClE,MAAM,GAAE,MAAuB,GAC9B,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAE9B"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview User-role relationship model factory for MongoDB.
|
|
4
|
+
* Creates Mongoose model for many-to-many user-role associations.
|
|
5
|
+
* @module models/user-role
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.default = UserRoleModel;
|
|
9
|
+
const enumerations_1 = require("../enumerations");
|
|
10
|
+
const schema_collection_1 = require("../enumerations/schema-collection");
|
|
11
|
+
const user_role_1 = require("../schemas/user-role");
|
|
12
|
+
/**
|
|
13
|
+
* Creates a Mongoose model for user-role relationship documents.
|
|
14
|
+
* @template TModelName - Model name type (defaults to BaseModelName)
|
|
15
|
+
* @template TCollection - Collection name type (defaults to SchemaCollection)
|
|
16
|
+
* @template TID - Platform ID type (defaults to Buffer)
|
|
17
|
+
* @param {Connection} connection - Mongoose connection instance
|
|
18
|
+
* @param {TModelName} modelName - Model name (defaults to 'UserRole')
|
|
19
|
+
* @param {TCollection} collection - Collection name (defaults to 'userRoles')
|
|
20
|
+
* @param {Schema} schema - Mongoose schema (defaults to UserRoleSchema)
|
|
21
|
+
* @returns {Model<UserRoleDocument<TID>>} Configured Mongoose model
|
|
22
|
+
*/
|
|
23
|
+
function UserRoleModel(connection, modelName = enumerations_1.BaseModelName.UserRole, collection = schema_collection_1.SchemaCollection.UserRole, schema = user_role_1.UserRoleSchema) {
|
|
24
|
+
return connection.model(modelName, schema, collection);
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=user-role.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-role.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite-mongo/src/models/user-role.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAoBH,gCAWC;AA3BD,kDAAgD;AAChD,yEAAqE;AACrE,oDAAsD;AAGtD;;;;;;;;;;GAUG;AACH,SAAwB,aAAa,CAKnC,UAAsB,EACtB,YAAwB,4BAAa,CAAC,QAAsB,EAC5D,aAA0B,oCAAgB,CAAC,QAAuB,EAClE,SAAiB,0BAAc;IAE/B,OAAO,UAAU,CAAC,KAAK,CAAwB,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AAChF,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview User model factory for MongoDB.
|
|
3
|
+
* Creates Mongoose model for user management with authentication.
|
|
4
|
+
* @module models/user
|
|
5
|
+
*/
|
|
6
|
+
import { Connection, Model, Schema } from '@digitaldefiance/mongoose-types';
|
|
7
|
+
import { UserDocument } from '../documents/user';
|
|
8
|
+
import { BaseModelName } from '../enumerations';
|
|
9
|
+
import { SchemaCollection } from '../enumerations/schema-collection';
|
|
10
|
+
import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
|
|
11
|
+
/**
|
|
12
|
+
* Creates a Mongoose model for user documents.
|
|
13
|
+
* @template TModelName - Model name type (defaults to BaseModelName)
|
|
14
|
+
* @template TCollection - Collection name type (defaults to SchemaCollection)
|
|
15
|
+
* @template TID - Platform ID type (defaults to Buffer)
|
|
16
|
+
* @param {Connection} connection - Mongoose connection instance
|
|
17
|
+
* @param {TModelName} modelName - Model name (defaults to 'User')
|
|
18
|
+
* @param {TCollection} collection - Collection name (defaults to 'users')
|
|
19
|
+
* @param {Schema} schema - Mongoose schema (defaults to UserSchema)
|
|
20
|
+
* @returns {Model<UserDocument<string, TID>>} Configured Mongoose model
|
|
21
|
+
*/
|
|
22
|
+
export declare function UserModel<TModelName extends string = BaseModelName, TCollection extends string = SchemaCollection, TID extends PlatformID = Buffer>(connection: Connection, modelName?: TModelName, collection?: TCollection, schema?: Schema): Model<UserDocument<string, TID>>;
|
|
23
|
+
export default UserModel;
|
|
24
|
+
//# sourceMappingURL=user.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite-mongo/src/models/user.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAErE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAElE;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CACvB,UAAU,SAAS,MAAM,GAAG,aAAa,EACzC,WAAW,SAAS,MAAM,GAAG,gBAAgB,EAC7C,GAAG,SAAS,UAAU,GAAG,MAAM,EAE/B,UAAU,EAAE,UAAU,EACtB,SAAS,GAAE,UAA6C,EACxD,UAAU,GAAE,WAAkD,EAC9D,MAAM,GAAE,MAAmB,GAC1B,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAMlC;AAED,eAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview User model factory for MongoDB.
|
|
4
|
+
* Creates Mongoose model for user management with authentication.
|
|
5
|
+
* @module models/user
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.UserModel = UserModel;
|
|
9
|
+
const enumerations_1 = require("../enumerations");
|
|
10
|
+
const schema_collection_1 = require("../enumerations/schema-collection");
|
|
11
|
+
const user_1 = require("../schemas/user");
|
|
12
|
+
/**
|
|
13
|
+
* Creates a Mongoose model for user documents.
|
|
14
|
+
* @template TModelName - Model name type (defaults to BaseModelName)
|
|
15
|
+
* @template TCollection - Collection name type (defaults to SchemaCollection)
|
|
16
|
+
* @template TID - Platform ID type (defaults to Buffer)
|
|
17
|
+
* @param {Connection} connection - Mongoose connection instance
|
|
18
|
+
* @param {TModelName} modelName - Model name (defaults to 'User')
|
|
19
|
+
* @param {TCollection} collection - Collection name (defaults to 'users')
|
|
20
|
+
* @param {Schema} schema - Mongoose schema (defaults to UserSchema)
|
|
21
|
+
* @returns {Model<UserDocument<string, TID>>} Configured Mongoose model
|
|
22
|
+
*/
|
|
23
|
+
function UserModel(connection, modelName = enumerations_1.BaseModelName.User, collection = schema_collection_1.SchemaCollection.User, schema = user_1.UserSchema) {
|
|
24
|
+
return connection.model(modelName, schema, collection);
|
|
25
|
+
}
|
|
26
|
+
exports.default = UserModel;
|
|
27
|
+
//# sourceMappingURL=user.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite-mongo/src/models/user.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAoBH,8BAeC;AA/BD,kDAAgD;AAChD,yEAAqE;AACrE,0CAA6C;AAG7C;;;;;;;;;;GAUG;AACH,SAAgB,SAAS,CAKvB,UAAsB,EACtB,YAAwB,4BAAa,CAAC,IAAkB,EACxD,aAA0B,oCAAgB,CAAC,IAAmB,EAC9D,SAAiB,iBAAU;IAE3B,OAAO,UAAU,CAAC,KAAK,CACrB,SAAS,EACT,MAAM,EACN,UAAU,CACX,CAAC;AACJ,CAAC;AAED,kBAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Concrete implementation of the Application class for testing and development.
|
|
3
|
+
* Uses the new plugin-based architecture with MongoDatabasePlugin.
|
|
4
|
+
* @module mongo-application-concrete
|
|
5
|
+
*/
|
|
6
|
+
import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
|
|
7
|
+
import { Application, Environment, AppRouter } from '@digitaldefiance/node-express-suite';
|
|
8
|
+
import type { IConstants } from '@digitaldefiance/node-express-suite';
|
|
9
|
+
import { MongoDatabasePlugin } from './plugins/mongo-database-plugin';
|
|
10
|
+
/**
|
|
11
|
+
* Concrete implementation of the Application class for testing and development purposes.
|
|
12
|
+
* Provides a ready-to-use application instance with default configuration,
|
|
13
|
+
* MongoDatabasePlugin, and dummy email service.
|
|
14
|
+
*
|
|
15
|
+
* @template TID - Platform ID type (Buffer, ObjectId, etc.)
|
|
16
|
+
*/
|
|
17
|
+
export declare class MongoApplicationConcrete<TID extends PlatformID = Buffer> extends Application<TID, Environment<TID>, IConstants, AppRouter<TID>> {
|
|
18
|
+
/**
|
|
19
|
+
* The Mongo database plugin for accessing Mongoose-specific features.
|
|
20
|
+
*/
|
|
21
|
+
readonly mongoPlugin: MongoDatabasePlugin<TID, any, any, IConstants>;
|
|
22
|
+
/**
|
|
23
|
+
* Creates a new concrete application instance.
|
|
24
|
+
*
|
|
25
|
+
* @param environment - Application environment configuration
|
|
26
|
+
* @param constants - Application constants (defaults to LocalhostConstants)
|
|
27
|
+
*/
|
|
28
|
+
constructor(environment: Environment<TID>, constants?: IConstants);
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=mongo-application-concrete.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mongo-application-concrete.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite-mongo/src/mongo-application-concrete.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EACL,WAAW,EACX,WAAW,EAEX,SAAS,EAIV,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAKtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAEtE;;;;;;GAMG;AACH,qBAAa,wBAAwB,CACnC,GAAG,SAAS,UAAU,GAAG,MAAM,CAC/B,SAAQ,WAAW,CAAC,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;IACtE;;OAEG;IACH,SAAgB,WAAW,EAAE,mBAAmB,CAC9C,GAAG,EAEH,GAAG,EAEH,GAAG,EACH,UAAU,CACX,CAAC;IAEF;;;;;OAKG;gBAED,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,EAC7B,SAAS,GAAE,UAA+B;CAiC7C"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Concrete implementation of the Application class for testing and development.
|
|
4
|
+
* Uses the new plugin-based architecture with MongoDatabasePlugin.
|
|
5
|
+
* @module mongo-application-concrete
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.MongoApplicationConcrete = void 0;
|
|
9
|
+
const node_express_suite_1 = require("@digitaldefiance/node-express-suite");
|
|
10
|
+
const api_1 = require("./routers/api");
|
|
11
|
+
const schemas_1 = require("./schemas");
|
|
12
|
+
const services_1 = require("./services");
|
|
13
|
+
const mongo_database_plugin_1 = require("./plugins/mongo-database-plugin");
|
|
14
|
+
/**
|
|
15
|
+
* Concrete implementation of the Application class for testing and development purposes.
|
|
16
|
+
* Provides a ready-to-use application instance with default configuration,
|
|
17
|
+
* MongoDatabasePlugin, and dummy email service.
|
|
18
|
+
*
|
|
19
|
+
* @template TID - Platform ID type (Buffer, ObjectId, etc.)
|
|
20
|
+
*/
|
|
21
|
+
class MongoApplicationConcrete extends node_express_suite_1.Application {
|
|
22
|
+
/**
|
|
23
|
+
* The Mongo database plugin for accessing Mongoose-specific features.
|
|
24
|
+
*/
|
|
25
|
+
mongoPlugin;
|
|
26
|
+
/**
|
|
27
|
+
* Creates a new concrete application instance.
|
|
28
|
+
*
|
|
29
|
+
* @param environment - Application environment configuration
|
|
30
|
+
* @param constants - Application constants (defaults to LocalhostConstants)
|
|
31
|
+
*/
|
|
32
|
+
constructor(environment, constants = node_express_suite_1.LocalhostConstants) {
|
|
33
|
+
super(environment, (app) => new api_1.ApiRouter(app), undefined, constants, (apiRouter) => new node_express_suite_1.AppRouter(apiRouter), undefined);
|
|
34
|
+
this.mongoPlugin = new mongo_database_plugin_1.MongoDatabasePlugin({
|
|
35
|
+
schemaMapFactory: schemas_1.getSchemaMap,
|
|
36
|
+
databaseInitFunction: services_1.DatabaseInitializationService.initUserDb.bind(services_1.DatabaseInitializationService),
|
|
37
|
+
initResultHashFunction: services_1.DatabaseInitializationService.serverInitResultHash.bind(services_1.DatabaseInitializationService),
|
|
38
|
+
environment,
|
|
39
|
+
constants,
|
|
40
|
+
});
|
|
41
|
+
this.useDatabasePlugin(this.mongoPlugin);
|
|
42
|
+
node_express_suite_1.emailServiceRegistry.setService(new node_express_suite_1.DummyEmailService(this));
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
exports.MongoApplicationConcrete = MongoApplicationConcrete;
|
|
46
|
+
//# sourceMappingURL=mongo-application-concrete.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mongo-application-concrete.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite-mongo/src/mongo-application-concrete.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAGH,4EAQ6C;AAG7C,uCAA0C;AAC1C,uCAAyC;AACzC,yCAA2D;AAC3D,2EAAsE;AAEtE;;;;;;GAMG;AACH,MAAa,wBAEX,SAAQ,gCAA8D;IACtE;;OAEG;IACa,WAAW,CAOzB;IAEF;;;;;OAKG;IACH,YACE,WAA6B,EAC7B,YAAwB,uCAAkB;QAE1C,KAAK,CACH,WAAW,EACX,CAAC,GAAG,EAAE,EAAE,CACN,IAAI,eAAS,CACX,GAAwC,CACX,EACjC,SAAS,EACT,SAAS,EACT,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,8BAAS,CAAC,SAAS,CAAmB,EACzD,SAAS,CACV,CAAC;QAEF,IAAI,CAAC,WAAW,GAAG,IAAI,2CAAmB,CAAC;YACzC,gBAAgB,EAAE,sBAAY;YAC9B,oBAAoB,EAAE,wCAA6B,CAAC,UAAU,CAAC,IAAI,CACjE,wCAA6B,CAC9B;YACD,sBAAsB,EACpB,wCAA6B,CAAC,oBAAoB,CAAC,IAAI,CACrD,wCAA6B,CAC9B;YACH,WAAW;YACX,SAAS;SACV,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAEzC,yCAAoB,CAAC,UAAU,CAC7B,IAAI,sCAAiB,CAAmB,IAAI,CAAC,CAC9C,CAAC;IACJ,CAAC;CACF;AAxDD,4DAwDC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite-mongo/src/plugins/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite-mongo/src/plugins/index.ts"],"names":[],"mappings":";;;AAAA,kEAAwC"}
|