@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 @@
|
|
|
1
|
+
{"version":3,"file":"email-token.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite-mongo/src/schemas/email-token.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAgDH,wDAqDC;;AAnGD,oEAAyD;AACzD,oEAIyC;AACzC,kEAAkC;AAClC,kDAAgD;AA6BhD;;;;;;;;;GASG;AACH,SAAgB,sBAAsB,CAKpC,UAA2D,EAAE,EAC7D,UAAuB;IAEvB,MAAM,EACJ,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,+BAAc,CAAiB,EAC7D,aAAa,GAAG,4BAAa,CAAC,IAAkB,EAChD,SAAS,GAAG,IAAI,EAChB,iBAAiB,GAAG,CAAC,KAAwB,EAAE,EAAE,CAC/C,IAAA,wCAAuB,EAAC,mCAAkB,CAAC,0BAA0B,EAAE;QACrE,KAAK,EAAE,KAAK,CAAC,KAAK;KACnB,CAAC,EACJ,MAAM,GAAG,uBAAM,CAAC,KAAK,CAAC,QAAQ,GAC/B,GAAG,OAAO,CAAC;IAEZ,MAAM,UAAU,GAAG;QACjB,MAAM,EAAE;YACN,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,IAAI;YACd,GAAG,EAAE,aAAa;YAClB,SAAS,EAAE,IAAI;SAChB;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,aAAa;YACnB,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,IAAI;SAChB;QACD,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;QACtE,KAAK,EAAE;YACL,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE;gBACR,SAAS,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,mBAAS,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC9C,OAAO,EAAE,iBAAiB;aAC3B;SACF;QACD,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;QACzC,SAAS,EAAE;YACT,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,IAAI,CAAC,GAAG;YACjB,KAAK,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE;SAC9B;KACF,CAAC;IAEF,MAAM,MAAM,GAAG,IAAI,uBAAM,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACjE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACU,QAAA,gBAAgB,GAAG,sBAAsB,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite-mongo/src/schemas/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
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("./schema"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./used-direct-login-token"), exports);
|
|
9
|
+
tslib_1.__exportStar(require("./user"), exports);
|
|
10
|
+
tslib_1.__exportStar(require("./user-role"), exports);
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite-mongo/src/schemas/index.ts"],"names":[],"mappings":";;;AAAA,wDAA8B;AAC9B,qDAA2B;AAC3B,iDAAuB;AACvB,mDAAyB;AACzB,oEAA0C;AAC1C,iDAAuB;AACvB,sDAA4B"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Mnemonic schema factory for MongoDB.
|
|
3
|
+
* Creates schema for storing HMAC-protected mnemonic hashes.
|
|
4
|
+
* @module schemas/mnemonic
|
|
5
|
+
*/
|
|
6
|
+
import { Schema } from '@digitaldefiance/mongoose-types';
|
|
7
|
+
import { IConstants } from '@digitaldefiance/node-express-suite';
|
|
8
|
+
/**
|
|
9
|
+
* Creates a mnemonic schema with custom or default constants.
|
|
10
|
+
* @template T - Constants type extending IConstants
|
|
11
|
+
* @param {Function} [validationMessage] - Optional custom validation message function
|
|
12
|
+
* @param {T} constants - Constants for validation (defaults to AppConstants)
|
|
13
|
+
* @returns {Schema} Configured mnemonic schema
|
|
14
|
+
*/
|
|
15
|
+
export declare function createMnemonicSchema<T extends IConstants = IConstants>(validationMessage?: () => string, constants?: T): Schema;
|
|
16
|
+
/**
|
|
17
|
+
* Default mnemonic schema using AppConstants.
|
|
18
|
+
* Pre-configured schema for standard mnemonic storage.
|
|
19
|
+
*/
|
|
20
|
+
export declare const MnemonicSchema: Schema<any, import("mongoose").Model<any, any, any, any, any, any>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, {
|
|
21
|
+
[x: number]: unknown;
|
|
22
|
+
[x: symbol]: unknown;
|
|
23
|
+
[x: string]: unknown;
|
|
24
|
+
}, import("mongoose").Document<unknown, {}, import("mongoose").FlatRecord<{
|
|
25
|
+
[x: number]: unknown;
|
|
26
|
+
[x: symbol]: unknown;
|
|
27
|
+
[x: string]: unknown;
|
|
28
|
+
}>, {}, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & import("mongoose").FlatRecord<{
|
|
29
|
+
[x: number]: unknown;
|
|
30
|
+
[x: symbol]: unknown;
|
|
31
|
+
[x: string]: unknown;
|
|
32
|
+
}> & Required<{
|
|
33
|
+
_id: unknown;
|
|
34
|
+
}> & {
|
|
35
|
+
__v: number;
|
|
36
|
+
}>;
|
|
37
|
+
//# sourceMappingURL=mnemonic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mnemonic.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite-mongo/src/schemas/mnemonic.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAKzD,OAAO,EAEL,UAAU,EACX,MAAM,qCAAqC,CAAC;AAE7C;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,EACpE,iBAAiB,CAAC,EAAE,MAAM,MAAM,EAChC,SAAS,GAAE,CAAqB,GAC/B,MAAM,CAiBR;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;EAAyB,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Mnemonic schema factory for MongoDB.
|
|
4
|
+
* Creates schema for storing HMAC-protected mnemonic hashes.
|
|
5
|
+
* @module schemas/mnemonic
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.MnemonicSchema = void 0;
|
|
9
|
+
exports.createMnemonicSchema = createMnemonicSchema;
|
|
10
|
+
const mongoose_types_1 = require("@digitaldefiance/mongoose-types");
|
|
11
|
+
const suite_core_lib_1 = require("@digitaldefiance/suite-core-lib");
|
|
12
|
+
const node_express_suite_1 = require("@digitaldefiance/node-express-suite");
|
|
13
|
+
/**
|
|
14
|
+
* Creates a mnemonic schema with custom or default constants.
|
|
15
|
+
* @template T - Constants type extending IConstants
|
|
16
|
+
* @param {Function} [validationMessage] - Optional custom validation message function
|
|
17
|
+
* @param {T} constants - Constants for validation (defaults to AppConstants)
|
|
18
|
+
* @returns {Schema} Configured mnemonic schema
|
|
19
|
+
*/
|
|
20
|
+
function createMnemonicSchema(validationMessage, constants = node_express_suite_1.LocalhostConstants) {
|
|
21
|
+
const definition = {
|
|
22
|
+
hmac: {
|
|
23
|
+
type: String,
|
|
24
|
+
required: true,
|
|
25
|
+
unique: true,
|
|
26
|
+
index: true,
|
|
27
|
+
validate: {
|
|
28
|
+
validator: (v) => constants.MnemonicHmacRegex.test(v),
|
|
29
|
+
message: validationMessage ||
|
|
30
|
+
(() => (0, suite_core_lib_1.getSuiteCoreTranslation)(suite_core_lib_1.SuiteCoreStringKey.Validation_HmacRegex)),
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
};
|
|
34
|
+
return new mongoose_types_1.Schema(definition);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Default mnemonic schema using AppConstants.
|
|
38
|
+
* Pre-configured schema for standard mnemonic storage.
|
|
39
|
+
*/
|
|
40
|
+
exports.MnemonicSchema = createMnemonicSchema();
|
|
41
|
+
//# sourceMappingURL=mnemonic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mnemonic.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite-mongo/src/schemas/mnemonic.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAmBH,oDAoBC;AArCD,oEAAyD;AACzD,oEAGyC;AACzC,4EAG6C;AAE7C;;;;;;GAMG;AACH,SAAgB,oBAAoB,CAClC,iBAAgC,EAChC,YAAe,uCAAiB;IAEhC,MAAM,UAAU,GAAG;QACjB,IAAI,EAAE;YACJ,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE;gBACR,SAAS,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC7D,OAAO,EACL,iBAAiB;oBACjB,CAAC,GAAG,EAAE,CACJ,IAAA,wCAAuB,EAAC,mCAAkB,CAAC,oBAAoB,CAAC,CAAC;aACtE;SACF;KACF,CAAC;IACF,OAAO,IAAI,uBAAM,CAAC,UAAU,CAAC,CAAC;AAChC,CAAC;AAED;;;GAGG;AACU,QAAA,cAAc,GAAG,oBAAoB,EAAE,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Role schema factory for MongoDB with RBAC support.
|
|
3
|
+
* Creates schema for role management with validation and immutability.
|
|
4
|
+
* @module schemas/role
|
|
5
|
+
*/
|
|
6
|
+
import { CallbackWithoutResultAndOptionalError, Schema } from '@digitaldefiance/mongoose-types';
|
|
7
|
+
import { Role } from '@digitaldefiance/suite-core-lib';
|
|
8
|
+
import { BaseModelName } from '../enumerations';
|
|
9
|
+
import { IConstants } from '@digitaldefiance/node-express-suite';
|
|
10
|
+
/**
|
|
11
|
+
* Configuration options for creating a role schema.
|
|
12
|
+
* @template TRole - Role enum type (defaults to Role)
|
|
13
|
+
* @template TModelName - Model name type (defaults to BaseModelName)
|
|
14
|
+
*/
|
|
15
|
+
export interface RoleSchemaOptions<TRole extends string = Role, TModelName extends string = BaseModelName> {
|
|
16
|
+
/** Role enum values to use */
|
|
17
|
+
roleEnum?: TRole[];
|
|
18
|
+
/** Model name for user reference */
|
|
19
|
+
userModelName?: TModelName;
|
|
20
|
+
/** Custom pre-save validation function */
|
|
21
|
+
customValidation?: <T = any>(doc: T, next: CallbackWithoutResultAndOptionalError) => void;
|
|
22
|
+
/** ID type for references */
|
|
23
|
+
idType?: any;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Factory function to create an extensible role schema.
|
|
27
|
+
* Includes pre-save validation to prevent invalid role combinations.
|
|
28
|
+
* @template TRole - Role enum type (defaults to Role)
|
|
29
|
+
* @template TModelName - Model name type (defaults to BaseModelName)
|
|
30
|
+
* @template TConstants - Constants type (defaults to IConstants)
|
|
31
|
+
* @param {RoleSchemaOptions<TRole, TModelName>} options - Schema configuration options
|
|
32
|
+
* @param {TConstants} _constants - Optional constants (reserved for future use)
|
|
33
|
+
* @returns {Schema} Configured role schema with validation hooks
|
|
34
|
+
*/
|
|
35
|
+
export declare function createRoleSchema<TRole extends string = Role, TModelName extends string = BaseModelName, TConstants extends IConstants = IConstants>(options?: RoleSchemaOptions<TRole, TModelName>, _constants?: TConstants): Schema;
|
|
36
|
+
/**
|
|
37
|
+
* Default role schema with base configuration.
|
|
38
|
+
* Pre-configured schema with Role enum and validation hooks.
|
|
39
|
+
*/
|
|
40
|
+
export declare const RoleSchema: Schema<any, import("mongoose").Model<any, any, any, any, any, any>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, {
|
|
41
|
+
[x: number]: unknown;
|
|
42
|
+
[x: symbol]: unknown;
|
|
43
|
+
[x: string]: unknown;
|
|
44
|
+
}, import("mongoose").Document<unknown, {}, import("mongoose").FlatRecord<{
|
|
45
|
+
[x: number]: unknown;
|
|
46
|
+
[x: symbol]: unknown;
|
|
47
|
+
[x: string]: unknown;
|
|
48
|
+
}>, {}, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & import("mongoose").FlatRecord<{
|
|
49
|
+
[x: number]: unknown;
|
|
50
|
+
[x: symbol]: unknown;
|
|
51
|
+
[x: string]: unknown;
|
|
52
|
+
}> & Required<{
|
|
53
|
+
_id: unknown;
|
|
54
|
+
}> & {
|
|
55
|
+
__v: number;
|
|
56
|
+
}>;
|
|
57
|
+
//# sourceMappingURL=role.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"role.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite-mongo/src/schemas/role.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,qCAAqC,EACrC,MAAM,EACP,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,IAAI,EAGL,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAEjE;;;;GAIG;AACH,MAAM,WAAW,iBAAiB,CAChC,KAAK,SAAS,MAAM,GAAG,IAAI,EAC3B,UAAU,SAAS,MAAM,GAAG,aAAa;IAEzC,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC;IACnB,oCAAoC;IACpC,aAAa,CAAC,EAAE,UAAU,CAAC;IAC3B,0CAA0C;IAC1C,gBAAgB,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,EACzB,GAAG,EAAE,CAAC,EACN,IAAI,EAAE,qCAAqC,KACxC,IAAI,CAAC;IACV,6BAA6B;IAC7B,MAAM,CAAC,EAAE,GAAG,CAAC;CACd;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,SAAS,MAAM,GAAG,IAAI,EAC3B,UAAU,SAAS,MAAM,GAAG,aAAa,EACzC,UAAU,SAAS,UAAU,GAAG,UAAU,EAE1C,OAAO,GAAE,iBAAiB,CAAC,KAAK,EAAE,UAAU,CAAM,EAClD,UAAU,GAAE,UAA6B,GACxC,MAAM,CAyFR;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;EAAqB,CAAC"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Role schema factory for MongoDB with RBAC support.
|
|
4
|
+
* Creates schema for role management with validation and immutability.
|
|
5
|
+
* @module schemas/role
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.RoleSchema = void 0;
|
|
9
|
+
exports.createRoleSchema = createRoleSchema;
|
|
10
|
+
const mongoose_types_1 = require("@digitaldefiance/mongoose-types");
|
|
11
|
+
const suite_core_lib_1 = require("@digitaldefiance/suite-core-lib");
|
|
12
|
+
const enumerations_1 = require("../enumerations");
|
|
13
|
+
/**
|
|
14
|
+
* Factory function to create an extensible role schema.
|
|
15
|
+
* Includes pre-save validation to prevent invalid role combinations.
|
|
16
|
+
* @template TRole - Role enum type (defaults to Role)
|
|
17
|
+
* @template TModelName - Model name type (defaults to BaseModelName)
|
|
18
|
+
* @template TConstants - Constants type (defaults to IConstants)
|
|
19
|
+
* @param {RoleSchemaOptions<TRole, TModelName>} options - Schema configuration options
|
|
20
|
+
* @param {TConstants} _constants - Optional constants (reserved for future use)
|
|
21
|
+
* @returns {Schema} Configured role schema with validation hooks
|
|
22
|
+
*/
|
|
23
|
+
function createRoleSchema(options = {}, _constants = {}) {
|
|
24
|
+
const { roleEnum = Object.values(suite_core_lib_1.Role), userModelName = enumerations_1.BaseModelName.User, customValidation, idType = mongoose_types_1.Schema.Types.ObjectId, } = options;
|
|
25
|
+
const definition = {
|
|
26
|
+
name: {
|
|
27
|
+
type: String,
|
|
28
|
+
enum: roleEnum,
|
|
29
|
+
required: true,
|
|
30
|
+
immutable: true,
|
|
31
|
+
},
|
|
32
|
+
admin: {
|
|
33
|
+
type: Boolean,
|
|
34
|
+
default: false,
|
|
35
|
+
immutable: true,
|
|
36
|
+
},
|
|
37
|
+
member: {
|
|
38
|
+
type: Boolean,
|
|
39
|
+
default: false,
|
|
40
|
+
immutable: true,
|
|
41
|
+
},
|
|
42
|
+
child: {
|
|
43
|
+
type: Boolean,
|
|
44
|
+
default: false,
|
|
45
|
+
immutable: true,
|
|
46
|
+
},
|
|
47
|
+
system: {
|
|
48
|
+
type: Boolean,
|
|
49
|
+
default: false,
|
|
50
|
+
immutable: true,
|
|
51
|
+
},
|
|
52
|
+
createdBy: {
|
|
53
|
+
type: idType,
|
|
54
|
+
ref: userModelName,
|
|
55
|
+
required: true,
|
|
56
|
+
immutable: true,
|
|
57
|
+
},
|
|
58
|
+
updatedBy: {
|
|
59
|
+
type: idType,
|
|
60
|
+
ref: userModelName,
|
|
61
|
+
required: true,
|
|
62
|
+
},
|
|
63
|
+
deletedAt: {
|
|
64
|
+
type: Date,
|
|
65
|
+
optional: true,
|
|
66
|
+
get: (v) => v,
|
|
67
|
+
set: (v) => new Date(v.toUTCString()),
|
|
68
|
+
},
|
|
69
|
+
deletedBy: {
|
|
70
|
+
type: idType,
|
|
71
|
+
ref: userModelName,
|
|
72
|
+
required: false,
|
|
73
|
+
optional: true,
|
|
74
|
+
},
|
|
75
|
+
};
|
|
76
|
+
const schema = new mongoose_types_1.Schema(definition, { timestamps: true });
|
|
77
|
+
schema.index({ name: 1 }, { unique: true });
|
|
78
|
+
schema.pre('save', function (next) {
|
|
79
|
+
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
80
|
+
const doc = this;
|
|
81
|
+
if (customValidation) {
|
|
82
|
+
customValidation(doc, next);
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
// Default validation
|
|
86
|
+
if (doc.admin && doc.child) {
|
|
87
|
+
return next(new suite_core_lib_1.TranslatableSuiteError(suite_core_lib_1.SuiteCoreStringKey.Error_ChildRoleCannotBeAnAdminRole));
|
|
88
|
+
}
|
|
89
|
+
if (doc.system && doc.child) {
|
|
90
|
+
return next(new suite_core_lib_1.TranslatableSuiteError(suite_core_lib_1.SuiteCoreStringKey.Error_ChildRoleCannotBeASystemRole));
|
|
91
|
+
}
|
|
92
|
+
next();
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
return schema;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Default role schema with base configuration.
|
|
99
|
+
* Pre-configured schema with Role enum and validation hooks.
|
|
100
|
+
*/
|
|
101
|
+
exports.RoleSchema = createRoleSchema();
|
|
102
|
+
//# sourceMappingURL=role.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"role.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite-mongo/src/schemas/role.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Schema map factory and base model document types.
|
|
3
|
+
* Creates Mongoose schema map with models for all base collections.
|
|
4
|
+
* @module schemas/schema
|
|
5
|
+
*/
|
|
6
|
+
import { Connection, Schema } from '@digitaldefiance/mongoose-types';
|
|
7
|
+
import { EmailTokenDocument, MnemonicDocument, RoleDocument, UserDocument, UserRoleDocument } from '../documents';
|
|
8
|
+
import { UsedDirectLoginTokenDocument } from '../documents/used-direct-login-token';
|
|
9
|
+
import type { IConstants } from '@digitaldefiance/node-express-suite';
|
|
10
|
+
import { SchemaMap } from '../types';
|
|
11
|
+
import { PlatformID } from '@digitaldefiance/node-ecies-lib';
|
|
12
|
+
/**
|
|
13
|
+
* Base model document types for all collections.
|
|
14
|
+
* Maps model names to their document interfaces.
|
|
15
|
+
*/
|
|
16
|
+
export interface BaseModelDocs {
|
|
17
|
+
EmailToken: EmailTokenDocument;
|
|
18
|
+
Mnemonic: MnemonicDocument;
|
|
19
|
+
Role: RoleDocument;
|
|
20
|
+
UsedDirectLoginToken: UsedDirectLoginTokenDocument;
|
|
21
|
+
User: UserDocument;
|
|
22
|
+
UserRole: UserRoleDocument;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Options for customizing schema map creation.
|
|
26
|
+
* Allows overriding constants, schemas, model names, and collection names.
|
|
27
|
+
*/
|
|
28
|
+
export interface SchemaMapOptions {
|
|
29
|
+
constants?: IConstants;
|
|
30
|
+
schemas?: {
|
|
31
|
+
EmailToken?: Schema<EmailTokenDocument>;
|
|
32
|
+
Mnemonic?: Schema<MnemonicDocument>;
|
|
33
|
+
Role?: Schema<RoleDocument>;
|
|
34
|
+
UsedDirectLoginToken?: Schema<UsedDirectLoginTokenDocument>;
|
|
35
|
+
User?: Schema<UserDocument>;
|
|
36
|
+
UserRole?: Schema<UserRoleDocument>;
|
|
37
|
+
};
|
|
38
|
+
modelNames?: {
|
|
39
|
+
EmailToken?: string;
|
|
40
|
+
Mnemonic?: string;
|
|
41
|
+
Role?: string;
|
|
42
|
+
UsedDirectLoginToken?: string;
|
|
43
|
+
User?: string;
|
|
44
|
+
UserRole?: string;
|
|
45
|
+
};
|
|
46
|
+
collections?: {
|
|
47
|
+
EmailToken?: string;
|
|
48
|
+
Mnemonic?: string;
|
|
49
|
+
Role?: string;
|
|
50
|
+
UsedDirectLoginToken?: string;
|
|
51
|
+
User?: string;
|
|
52
|
+
UserRole?: string;
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Creates a schema map with all base models.
|
|
57
|
+
* @param {Connection} connection - Mongoose connection instance
|
|
58
|
+
* @param {SchemaMapOptions} options - Optional customization options
|
|
59
|
+
* @returns {SchemaMap<TID, BaseModelDocs>} Complete schema map with models
|
|
60
|
+
*/
|
|
61
|
+
export declare function getSchemaMap<TID extends PlatformID>(connection: Connection, options?: SchemaMapOptions): SchemaMap<TID, BaseModelDocs>;
|
|
62
|
+
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite-mongo/src/schemas/schema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,gBAAgB,EACjB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AAGpF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAgBrC,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAE7D;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,kBAAkB,CAAC;IAC/B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,IAAI,EAAE,YAAY,CAAC;IACnB,oBAAoB,EAAE,4BAA4B,CAAC;IACnD,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,gBAAgB,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,MAAM,CAAC,kBAAkB,CAAC,CAAC;QACxC,QAAQ,CAAC,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACpC,IAAI,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;QAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC,4BAA4B,CAAC,CAAC;QAC5D,IAAI,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;QAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;KACrC,CAAC;IACF,UAAU,CAAC,EAAE;QACX,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,WAAW,CAAC,EAAE;QACZ,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,GAAG,SAAS,UAAU,EACjD,UAAU,EAAE,UAAU,EACtB,OAAO,GAAE,gBAAqB,GAC7B,SAAS,CAAC,GAAG,EAAE,aAAa,CAAC,CA8F/B"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Schema map factory and base model document types.
|
|
4
|
+
* Creates Mongoose schema map with models for all base collections.
|
|
5
|
+
* @module schemas/schema
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.getSchemaMap = getSchemaMap;
|
|
9
|
+
const tslib_1 = require("tslib");
|
|
10
|
+
const enumerations_1 = require("../enumerations");
|
|
11
|
+
const schema_collection_1 = require("../enumerations/schema-collection");
|
|
12
|
+
const email_token_1 = tslib_1.__importDefault(require("../models/email-token"));
|
|
13
|
+
const mnemonic_1 = tslib_1.__importDefault(require("../models/mnemonic"));
|
|
14
|
+
const role_1 = tslib_1.__importDefault(require("../models/role"));
|
|
15
|
+
const used_direct_login_token_1 = tslib_1.__importDefault(require("../models/used-direct-login-token"));
|
|
16
|
+
const user_1 = tslib_1.__importDefault(require("../models/user"));
|
|
17
|
+
const user_role_1 = tslib_1.__importDefault(require("../models/user-role"));
|
|
18
|
+
const email_token_2 = require("./email-token");
|
|
19
|
+
const mnemonic_2 = require("./mnemonic");
|
|
20
|
+
const role_2 = require("./role");
|
|
21
|
+
const used_direct_login_token_2 = require("./used-direct-login-token");
|
|
22
|
+
const user_2 = require("./user");
|
|
23
|
+
const user_role_2 = require("./user-role");
|
|
24
|
+
/**
|
|
25
|
+
* Creates a schema map with all base models.
|
|
26
|
+
* @param {Connection} connection - Mongoose connection instance
|
|
27
|
+
* @param {SchemaMapOptions} options - Optional customization options
|
|
28
|
+
* @returns {SchemaMap<TID, BaseModelDocs>} Complete schema map with models
|
|
29
|
+
*/
|
|
30
|
+
function getSchemaMap(connection, options = {}) {
|
|
31
|
+
const schemas = options.schemas ?? {
|
|
32
|
+
EmailToken: (0, email_token_2.createEmailTokenSchema)(undefined, options?.constants),
|
|
33
|
+
Mnemonic: (0, mnemonic_2.createMnemonicSchema)(undefined, options?.constants),
|
|
34
|
+
Role: (0, role_2.createRoleSchema)(undefined, options?.constants),
|
|
35
|
+
UsedDirectLoginToken: (0, used_direct_login_token_2.createUsedDirectLoginTokenSchema)(undefined, options?.constants),
|
|
36
|
+
User: (0, user_2.createUserSchema)(undefined, undefined, undefined, undefined, undefined, undefined, options?.constants),
|
|
37
|
+
UserRole: (0, user_role_2.createUserRoleSchema)(undefined, options?.constants),
|
|
38
|
+
};
|
|
39
|
+
const { modelNames = {}, collections = {} } = options;
|
|
40
|
+
return {
|
|
41
|
+
EmailToken: {
|
|
42
|
+
collection: collections.EmailToken ?? schema_collection_1.SchemaCollection.EmailToken,
|
|
43
|
+
model: (0, email_token_1.default)(connection, modelNames.EmailToken ?? enumerations_1.BaseModelName.EmailToken, collections.EmailToken ?? schema_collection_1.SchemaCollection.EmailToken, schemas.EmailToken),
|
|
44
|
+
modelName: modelNames.EmailToken ?? enumerations_1.BaseModelName.EmailToken,
|
|
45
|
+
schema: schemas.EmailToken ?? email_token_2.EmailTokenSchema,
|
|
46
|
+
},
|
|
47
|
+
Mnemonic: {
|
|
48
|
+
collection: collections.Mnemonic ?? schema_collection_1.SchemaCollection.Mnemonic,
|
|
49
|
+
model: (0, mnemonic_1.default)(connection, modelNames.Mnemonic ?? enumerations_1.BaseModelName.Mnemonic, collections.Mnemonic ?? schema_collection_1.SchemaCollection.Mnemonic, schemas.Mnemonic),
|
|
50
|
+
modelName: modelNames.Mnemonic ?? enumerations_1.BaseModelName.Mnemonic,
|
|
51
|
+
schema: schemas.Mnemonic ?? mnemonic_2.MnemonicSchema,
|
|
52
|
+
},
|
|
53
|
+
Role: {
|
|
54
|
+
collection: collections.Role ?? schema_collection_1.SchemaCollection.Role,
|
|
55
|
+
model: (0, role_1.default)(connection, modelNames.Role ?? enumerations_1.BaseModelName.Role, collections.Role ?? schema_collection_1.SchemaCollection.Role, schemas.Role),
|
|
56
|
+
modelName: modelNames.Role ?? enumerations_1.BaseModelName.Role,
|
|
57
|
+
schema: schemas.Role ?? role_2.RoleSchema,
|
|
58
|
+
},
|
|
59
|
+
UsedDirectLoginToken: {
|
|
60
|
+
collection: collections.UsedDirectLoginToken ??
|
|
61
|
+
schema_collection_1.SchemaCollection.UsedDirectLoginToken,
|
|
62
|
+
model: (0, used_direct_login_token_1.default)(connection, modelNames.UsedDirectLoginToken ?? enumerations_1.BaseModelName.UsedDirectLoginToken, collections.UsedDirectLoginToken ??
|
|
63
|
+
schema_collection_1.SchemaCollection.UsedDirectLoginToken, schemas.UsedDirectLoginToken),
|
|
64
|
+
modelName: modelNames.UsedDirectLoginToken ?? enumerations_1.BaseModelName.UsedDirectLoginToken,
|
|
65
|
+
schema: schemas.UsedDirectLoginToken ?? used_direct_login_token_2.UsedDirectLoginTokenSchema,
|
|
66
|
+
},
|
|
67
|
+
User: {
|
|
68
|
+
collection: collections.User ?? schema_collection_1.SchemaCollection.User,
|
|
69
|
+
model: (0, user_1.default)(connection, modelNames.User ?? enumerations_1.BaseModelName.User, collections.User ?? schema_collection_1.SchemaCollection.User, schemas.User),
|
|
70
|
+
modelName: modelNames.User ?? enumerations_1.BaseModelName.User,
|
|
71
|
+
schema: schemas.User ?? user_2.UserSchema,
|
|
72
|
+
},
|
|
73
|
+
UserRole: {
|
|
74
|
+
collection: collections.UserRole ?? schema_collection_1.SchemaCollection.UserRole,
|
|
75
|
+
model: (0, user_role_1.default)(connection, modelNames.UserRole ?? enumerations_1.BaseModelName.UserRole, collections.UserRole ?? schema_collection_1.SchemaCollection.UserRole, schemas.UserRole),
|
|
76
|
+
modelName: modelNames.UserRole ?? enumerations_1.BaseModelName.UserRole,
|
|
77
|
+
schema: schemas.UserRole ?? user_role_2.UserRoleSchema,
|
|
78
|
+
},
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite-mongo/src/schemas/schema.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAmFH,oCAiGC;;AAzKD,kDAAgD;AAChD,yEAAqE;AAGrE,gFAAoD;AACpD,0EAA+C;AAC/C,kEAAuC;AACvC,wGAA0E;AAC1E,kEAAuC;AACvC,4EAAgD;AAChD,+CAAyE;AACzE,yCAAkE;AAClE,iCAAsD;AACtD,uEAGmC;AACnC,iCAAsD;AACtD,2CAAmE;AAgDnE;;;;;GAKG;AACH,SAAgB,YAAY,CAC1B,UAAsB,EACtB,UAA4B,EAAE;IAE9B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI;QACjC,UAAU,EAAE,IAAA,oCAAsB,EAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC;QACjE,QAAQ,EAAE,IAAA,+BAAoB,EAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC;QAC7D,IAAI,EAAE,IAAA,uBAAgB,EAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC;QACrD,oBAAoB,EAAE,IAAA,0DAAgC,EACpD,SAAS,EACT,OAAO,EAAE,SAAS,CACnB;QACD,IAAI,EAAE,IAAA,uBAAgB,EACpB,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,OAAO,EAAE,SAAS,CACnB;QACD,QAAQ,EAAE,IAAA,gCAAoB,EAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC;KAC9D,CAAC;IACF,MAAM,EAAE,UAAU,GAAG,EAAE,EAAE,WAAW,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;IAEtD,OAAO;QACL,UAAU,EAAE;YACV,UAAU,EAAE,WAAW,CAAC,UAAU,IAAI,oCAAgB,CAAC,UAAU;YACjE,KAAK,EAAE,IAAA,qBAAe,EACpB,UAAU,EACV,UAAU,CAAC,UAAU,IAAI,4BAAa,CAAC,UAAU,EACjD,WAAW,CAAC,UAAU,IAAI,oCAAgB,CAAC,UAAU,EACrD,OAAO,CAAC,UAAU,CACnB;YACD,SAAS,EAAE,UAAU,CAAC,UAAU,IAAI,4BAAa,CAAC,UAAU;YAC5D,MAAM,EAAE,OAAO,CAAC,UAAU,IAAI,8BAAgB;SAC/C;QACD,QAAQ,EAAE;YACR,UAAU,EAAE,WAAW,CAAC,QAAQ,IAAI,oCAAgB,CAAC,QAAQ;YAC7D,KAAK,EAAE,IAAA,kBAAa,EAClB,UAAU,EACV,UAAU,CAAC,QAAQ,IAAI,4BAAa,CAAC,QAAQ,EAC7C,WAAW,CAAC,QAAQ,IAAI,oCAAgB,CAAC,QAAQ,EACjD,OAAO,CAAC,QAAQ,CACjB;YACD,SAAS,EAAE,UAAU,CAAC,QAAQ,IAAI,4BAAa,CAAC,QAAQ;YACxD,MAAM,EAAE,OAAO,CAAC,QAAQ,IAAI,yBAAc;SAC3C;QACD,IAAI,EAAE;YACJ,UAAU,EAAE,WAAW,CAAC,IAAI,IAAI,oCAAgB,CAAC,IAAI;YACrD,KAAK,EAAE,IAAA,cAAS,EACd,UAAU,EACV,UAAU,CAAC,IAAI,IAAI,4BAAa,CAAC,IAAI,EACrC,WAAW,CAAC,IAAI,IAAI,oCAAgB,CAAC,IAAI,EACzC,OAAO,CAAC,IAAI,CACb;YACD,SAAS,EAAE,UAAU,CAAC,IAAI,IAAI,4BAAa,CAAC,IAAI;YAChD,MAAM,EAAE,OAAO,CAAC,IAAI,IAAI,iBAAU;SACnC;QACD,oBAAoB,EAAE;YACpB,UAAU,EACR,WAAW,CAAC,oBAAoB;gBAChC,oCAAgB,CAAC,oBAAoB;YACvC,KAAK,EAAE,IAAA,iCAAyB,EAC9B,UAAU,EACV,UAAU,CAAC,oBAAoB,IAAI,4BAAa,CAAC,oBAAoB,EACrE,WAAW,CAAC,oBAAoB;gBAC9B,oCAAgB,CAAC,oBAAoB,EACvC,OAAO,CAAC,oBAAoB,CAC7B;YACD,SAAS,EACP,UAAU,CAAC,oBAAoB,IAAI,4BAAa,CAAC,oBAAoB;YACvE,MAAM,EAAE,OAAO,CAAC,oBAAoB,IAAI,oDAA0B;SACnE;QACD,IAAI,EAAE;YACJ,UAAU,EAAE,WAAW,CAAC,IAAI,IAAI,oCAAgB,CAAC,IAAI;YACrD,KAAK,EAAE,IAAA,cAAS,EACd,UAAU,EACV,UAAU,CAAC,IAAI,IAAI,4BAAa,CAAC,IAAI,EACrC,WAAW,CAAC,IAAI,IAAI,oCAAgB,CAAC,IAAI,EACzC,OAAO,CAAC,IAAI,CACb;YACD,SAAS,EAAE,UAAU,CAAC,IAAI,IAAI,4BAAa,CAAC,IAAI;YAChD,MAAM,EAAE,OAAO,CAAC,IAAI,IAAI,iBAAU;SACnC;QACD,QAAQ,EAAE;YACR,UAAU,EAAE,WAAW,CAAC,QAAQ,IAAI,oCAAgB,CAAC,QAAQ;YAC7D,KAAK,EAAE,IAAA,mBAAa,EAClB,UAAU,EACV,UAAU,CAAC,QAAQ,IAAI,4BAAa,CAAC,QAAQ,EAC7C,WAAW,CAAC,QAAQ,IAAI,oCAAgB,CAAC,QAAQ,EACjD,OAAO,CAAC,QAAQ,CACjB;YACD,SAAS,EAAE,UAAU,CAAC,QAAQ,IAAI,4BAAa,CAAC,QAAQ;YACxD,MAAM,EAAE,OAAO,CAAC,QAAQ,IAAI,0BAAc;SAC3C;KAC0C,CAAC;AAChD,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Used direct login token schema factory for MongoDB.
|
|
3
|
+
* Creates schema for tracking consumed direct login tokens.
|
|
4
|
+
* @module schemas/used-direct-login-token
|
|
5
|
+
*/
|
|
6
|
+
import { Schema } from '@digitaldefiance/mongoose-types';
|
|
7
|
+
import { BaseModelName } from '../enumerations';
|
|
8
|
+
import { IConstants } from '@digitaldefiance/node-express-suite';
|
|
9
|
+
/**
|
|
10
|
+
* Configuration options for creating a used direct login token schema.
|
|
11
|
+
* @template TModelName - Model name type (defaults to BaseModelName)
|
|
12
|
+
*/
|
|
13
|
+
export interface UsedDirectLoginTokenSchemaOptions<TModelName extends string = BaseModelName> {
|
|
14
|
+
/** Model name for user reference */
|
|
15
|
+
userModelName?: TModelName;
|
|
16
|
+
/** ID type for references */
|
|
17
|
+
idType?: any;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Factory function to create an extensible used direct login token schema.
|
|
21
|
+
* @template TModelName - Model name type (defaults to BaseModelName)
|
|
22
|
+
* @template TConstants - Constants type (defaults to IConstants)
|
|
23
|
+
* @param {UsedDirectLoginTokenSchemaOptions<TModelName>} options - Schema configuration options
|
|
24
|
+
* @param {TConstants} [_constants] - Optional constants (reserved for future use)
|
|
25
|
+
* @returns {Schema} Configured used direct login token schema with unique index
|
|
26
|
+
*/
|
|
27
|
+
export declare function createUsedDirectLoginTokenSchema<TModelName extends string = BaseModelName, TConstants extends IConstants = IConstants>(options?: UsedDirectLoginTokenSchemaOptions<TModelName>, _constants?: TConstants): Schema;
|
|
28
|
+
/**
|
|
29
|
+
* Default used direct login token schema with base configuration.
|
|
30
|
+
* Pre-configured schema with ObjectId references and unique compound index.
|
|
31
|
+
*/
|
|
32
|
+
export declare const UsedDirectLoginTokenSchema: Schema<any, import("mongoose").Model<any, any, any, any, any, any>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, {
|
|
33
|
+
[x: number]: unknown;
|
|
34
|
+
[x: symbol]: unknown;
|
|
35
|
+
[x: string]: unknown;
|
|
36
|
+
}, import("mongoose").Document<unknown, {}, import("mongoose").FlatRecord<{
|
|
37
|
+
[x: number]: unknown;
|
|
38
|
+
[x: symbol]: unknown;
|
|
39
|
+
[x: string]: unknown;
|
|
40
|
+
}>, {}, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & import("mongoose").FlatRecord<{
|
|
41
|
+
[x: number]: unknown;
|
|
42
|
+
[x: symbol]: unknown;
|
|
43
|
+
[x: string]: unknown;
|
|
44
|
+
}> & Required<{
|
|
45
|
+
_id: unknown;
|
|
46
|
+
}> & {
|
|
47
|
+
__v: number;
|
|
48
|
+
}>;
|
|
49
|
+
//# 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/schemas/used-direct-login-token.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAEjE;;;GAGG;AACH,MAAM,WAAW,iCAAiC,CAChD,UAAU,SAAS,MAAM,GAAG,aAAa;IAEzC,oCAAoC;IACpC,aAAa,CAAC,EAAE,UAAU,CAAC;IAC3B,6BAA6B;IAC7B,MAAM,CAAC,EAAE,GAAG,CAAC;CACd;AAED;;;;;;;GAOG;AACH,wBAAgB,gCAAgC,CAC9C,UAAU,SAAS,MAAM,GAAG,aAAa,EACzC,UAAU,SAAS,UAAU,GAAG,UAAU,EAE1C,OAAO,GAAE,iCAAiC,CAAC,UAAU,CAAM,EAC3D,UAAU,CAAC,EAAE,UAAU,GACtB,MAAM,CAcR;AAED;;;GAGG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;EAAqC,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Used direct login token schema factory for MongoDB.
|
|
4
|
+
* Creates schema for tracking consumed direct login tokens.
|
|
5
|
+
* @module schemas/used-direct-login-token
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.UsedDirectLoginTokenSchema = void 0;
|
|
9
|
+
exports.createUsedDirectLoginTokenSchema = createUsedDirectLoginTokenSchema;
|
|
10
|
+
const mongoose_types_1 = require("@digitaldefiance/mongoose-types");
|
|
11
|
+
const enumerations_1 = require("../enumerations");
|
|
12
|
+
/**
|
|
13
|
+
* Factory function to create an extensible used direct login token schema.
|
|
14
|
+
* @template TModelName - Model name type (defaults to BaseModelName)
|
|
15
|
+
* @template TConstants - Constants type (defaults to IConstants)
|
|
16
|
+
* @param {UsedDirectLoginTokenSchemaOptions<TModelName>} options - Schema configuration options
|
|
17
|
+
* @param {TConstants} [_constants] - Optional constants (reserved for future use)
|
|
18
|
+
* @returns {Schema} Configured used direct login token schema with unique index
|
|
19
|
+
*/
|
|
20
|
+
function createUsedDirectLoginTokenSchema(options = {}, _constants) {
|
|
21
|
+
const { userModelName = enumerations_1.BaseModelName.User, idType = mongoose_types_1.Schema.Types.ObjectId, } = options;
|
|
22
|
+
const definition = {
|
|
23
|
+
userId: { type: idType, required: true, ref: userModelName },
|
|
24
|
+
token: { type: String, required: true },
|
|
25
|
+
};
|
|
26
|
+
const schema = new mongoose_types_1.Schema(definition);
|
|
27
|
+
schema.index({ userId: 1, token: 1 }, { unique: true });
|
|
28
|
+
return schema;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Default used direct login token schema with base configuration.
|
|
32
|
+
* Pre-configured schema with ObjectId references and unique compound index.
|
|
33
|
+
*/
|
|
34
|
+
exports.UsedDirectLoginTokenSchema = createUsedDirectLoginTokenSchema();
|
|
35
|
+
//# 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/schemas/used-direct-login-token.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AA2BH,4EAoBC;AA7CD,oEAAyD;AACzD,kDAAgD;AAgBhD;;;;;;;GAOG;AACH,SAAgB,gCAAgC,CAI9C,UAAyD,EAAE,EAC3D,UAAuB;IAEvB,MAAM,EACJ,aAAa,GAAG,4BAAa,CAAC,IAAkB,EAChD,MAAM,GAAG,uBAAM,CAAC,KAAK,CAAC,QAAQ,GAC/B,GAAG,OAAO,CAAC;IAEZ,MAAM,UAAU,GAAG;QACjB,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,aAAa,EAAE;QAC5D,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;KACxC,CAAC;IAEF,MAAM,MAAM,GAAG,IAAI,uBAAM,CAAC,UAAU,CAAC,CAAC;IACtC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACU,QAAA,0BAA0B,GAAG,gCAAgC,EAAE,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview User-role relationship schema factory for MongoDB.
|
|
3
|
+
* Creates schema for many-to-many user-role associations.
|
|
4
|
+
* @module schemas/user-role
|
|
5
|
+
*/
|
|
6
|
+
import { Schema } from '@digitaldefiance/mongoose-types';
|
|
7
|
+
import { BaseModelName } from '../enumerations';
|
|
8
|
+
import { IConstants } from '@digitaldefiance/node-express-suite';
|
|
9
|
+
/**
|
|
10
|
+
* Configuration options for creating a user-role schema.
|
|
11
|
+
* @template TModelName - Model name type (defaults to BaseModelName)
|
|
12
|
+
*/
|
|
13
|
+
export interface UserRoleSchemaOptions<TModelName extends string = BaseModelName> {
|
|
14
|
+
/** Model name for user reference */
|
|
15
|
+
userModelName?: TModelName;
|
|
16
|
+
/** Model name for role reference */
|
|
17
|
+
roleModelName?: TModelName;
|
|
18
|
+
/** ID type for references */
|
|
19
|
+
idType?: any;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Factory function to create an extensible user-role schema.
|
|
23
|
+
* Includes compound unique index and separate indexes for queries.
|
|
24
|
+
* @template TModelName - Model name type (defaults to BaseModelName)
|
|
25
|
+
* @template TConstants - Constants type (defaults to IConstants)
|
|
26
|
+
* @param {UserRoleSchemaOptions<TModelName>} options - Schema configuration options
|
|
27
|
+
* @param {TConstants} [_constants] - Optional constants (reserved for future use)
|
|
28
|
+
* @returns {Schema} Configured user-role schema with indexes
|
|
29
|
+
*/
|
|
30
|
+
export declare function createUserRoleSchema<TModelName extends string = BaseModelName, TConstants extends IConstants = IConstants>(options?: UserRoleSchemaOptions<TModelName>, _constants?: TConstants): Schema;
|
|
31
|
+
/**
|
|
32
|
+
* Default user-role schema with base configuration.
|
|
33
|
+
* Pre-configured schema with compound unique index on userId and roleId.
|
|
34
|
+
*/
|
|
35
|
+
export declare const UserRoleSchema: Schema<any, import("mongoose").Model<any, any, any, any, any, any>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, {
|
|
36
|
+
[x: number]: unknown;
|
|
37
|
+
[x: symbol]: unknown;
|
|
38
|
+
[x: string]: unknown;
|
|
39
|
+
}, import("mongoose").Document<unknown, {}, import("mongoose").FlatRecord<{
|
|
40
|
+
[x: number]: unknown;
|
|
41
|
+
[x: symbol]: unknown;
|
|
42
|
+
[x: string]: unknown;
|
|
43
|
+
}>, {}, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & import("mongoose").FlatRecord<{
|
|
44
|
+
[x: number]: unknown;
|
|
45
|
+
[x: symbol]: unknown;
|
|
46
|
+
[x: string]: unknown;
|
|
47
|
+
}> & Required<{
|
|
48
|
+
_id: unknown;
|
|
49
|
+
}> & {
|
|
50
|
+
__v: number;
|
|
51
|
+
}>;
|
|
52
|
+
//# 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/schemas/user-role.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAEjE;;;GAGG;AACH,MAAM,WAAW,qBAAqB,CACpC,UAAU,SAAS,MAAM,GAAG,aAAa;IAEzC,oCAAoC;IACpC,aAAa,CAAC,EAAE,UAAU,CAAC;IAC3B,oCAAoC;IACpC,aAAa,CAAC,EAAE,UAAU,CAAC;IAC3B,6BAA6B;IAC7B,MAAM,CAAC,EAAE,GAAG,CAAC;CACd;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,SAAS,MAAM,GAAG,aAAa,EACzC,UAAU,SAAS,UAAU,GAAG,UAAU,EAE1C,OAAO,GAAE,qBAAqB,CAAC,UAAU,CAAM,EAC/C,UAAU,CAAC,EAAE,UAAU,GACtB,MAAM,CA8CR;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;EAAyB,CAAC"}
|