@digitaldefiance/node-express-suite 3.7.4 → 3.7.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -2
- package/src/__tests__/helpers/setup-test-env.d.ts +1 -1
- package/src/__tests__/helpers/setup-test-env.d.ts.map +1 -1
- package/src/__tests__/helpers/setup-test-env.js.map +1 -1
- package/src/application-base.d.ts +9 -4
- package/src/application-base.d.ts.map +1 -1
- package/src/application-base.js +5 -0
- package/src/application-base.js.map +1 -1
- package/src/application-concrete.d.ts +14 -1
- package/src/application-concrete.d.ts.map +1 -1
- package/src/application-concrete.js +14 -1
- package/src/application-concrete.js.map +1 -1
- package/src/application.d.ts +7 -2
- package/src/application.d.ts.map +1 -1
- package/src/application.js +5 -0
- package/src/application.js.map +1 -1
- package/src/backup-code.d.ts +5 -0
- package/src/backup-code.d.ts.map +1 -1
- package/src/backup-code.js +5 -0
- package/src/backup-code.js.map +1 -1
- package/src/builders/application-builder.d.ts +13 -1
- package/src/builders/application-builder.d.ts.map +1 -1
- package/src/builders/application-builder.js +12 -0
- package/src/builders/application-builder.js.map +1 -1
- package/src/constants.d.ts +5 -0
- package/src/constants.d.ts.map +1 -1
- package/src/constants.js +5 -0
- package/src/constants.js.map +1 -1
- package/src/container/service-container.d.ts +34 -0
- package/src/container/service-container.d.ts.map +1 -1
- package/src/container/service-container.js +30 -0
- package/src/container/service-container.js.map +1 -1
- package/src/container/service-definitions.d.ts +11 -0
- package/src/container/service-definitions.d.ts.map +1 -1
- package/src/container/service-definitions.js +8 -0
- package/src/container/service-definitions.js.map +1 -1
- package/src/controllers/base.d.ts +21 -8
- package/src/controllers/base.d.ts.map +1 -1
- package/src/controllers/base.js +13 -0
- package/src/controllers/base.js.map +1 -1
- package/src/controllers/user.d.ts +25 -8
- package/src/controllers/user.d.ts.map +1 -1
- package/src/controllers/user.js +17 -0
- package/src/controllers/user.js.map +1 -1
- package/src/database/database-initializer.d.ts +5 -0
- package/src/database/database-initializer.d.ts.map +1 -1
- package/src/database/database-initializer.js +5 -0
- package/src/database/database-initializer.js.map +1 -1
- package/src/decorators/base-controller.d.ts +11 -0
- package/src/decorators/base-controller.d.ts.map +1 -1
- package/src/decorators/base-controller.js +11 -0
- package/src/decorators/base-controller.js.map +1 -1
- package/src/decorators/controller.d.ts +5 -0
- package/src/decorators/controller.d.ts.map +1 -1
- package/src/decorators/controller.js +5 -0
- package/src/decorators/controller.js.map +1 -1
- package/src/decorators/zod-validation.d.ts +5 -0
- package/src/decorators/zod-validation.d.ts.map +1 -1
- package/src/decorators/zod-validation.js +5 -0
- package/src/decorators/zod-validation.js.map +1 -1
- package/src/defaults.d.ts +5 -0
- package/src/defaults.d.ts.map +1 -1
- package/src/defaults.js +5 -0
- package/src/defaults.js.map +1 -1
- package/src/documents/base.d.ts +12 -1
- package/src/documents/base.d.ts.map +1 -1
- package/src/documents/base.js +5 -0
- package/src/documents/base.js.map +1 -1
- package/src/documents/email-token.d.ts +9 -2
- package/src/documents/email-token.d.ts.map +1 -1
- package/src/documents/email-token.js +5 -0
- package/src/documents/email-token.js.map +1 -1
- package/src/documents/mnemonic.d.ts +10 -2
- package/src/documents/mnemonic.d.ts.map +1 -1
- package/src/documents/mnemonic.js +5 -0
- package/src/documents/mnemonic.js.map +1 -1
- package/src/documents/role.d.ts +9 -2
- package/src/documents/role.d.ts.map +1 -1
- package/src/documents/role.js +5 -0
- package/src/documents/role.js.map +1 -1
- package/src/documents/used-direct-login-token.d.ts +12 -1
- package/src/documents/used-direct-login-token.d.ts.map +1 -1
- package/src/documents/used-direct-login-token.js +5 -0
- package/src/documents/used-direct-login-token.js.map +1 -1
- package/src/documents/user-role.d.ts +10 -2
- package/src/documents/user-role.d.ts.map +1 -1
- package/src/documents/user-role.js +5 -0
- package/src/documents/user-role.js.map +1 -1
- package/src/documents/user.d.ts +10 -2
- package/src/documents/user.d.ts.map +1 -1
- package/src/documents/user.js +5 -0
- package/src/documents/user.js.map +1 -1
- package/src/enumerations/base-model-name.d.ts +5 -0
- package/src/enumerations/base-model-name.d.ts.map +1 -1
- package/src/enumerations/base-model-name.js +5 -0
- package/src/enumerations/base-model-name.js.map +1 -1
- package/src/enumerations/length-encoding-type.d.ts +9 -0
- package/src/enumerations/length-encoding-type.d.ts.map +1 -1
- package/src/enumerations/length-encoding-type.js +9 -0
- package/src/enumerations/length-encoding-type.js.map +1 -1
- package/src/enumerations/schema-collection.d.ts +5 -0
- package/src/enumerations/schema-collection.d.ts.map +1 -1
- package/src/enumerations/schema-collection.js +5 -0
- package/src/enumerations/schema-collection.js.map +1 -1
- package/src/enumerations/symmetric-error-type.d.ts +8 -0
- package/src/enumerations/symmetric-error-type.d.ts.map +1 -1
- package/src/enumerations/symmetric-error-type.js +8 -0
- package/src/enumerations/symmetric-error-type.js.map +1 -1
- package/src/environment.d.ts +15 -10
- package/src/environment.d.ts.map +1 -1
- package/src/environment.js +5 -0
- package/src/environment.js.map +1 -1
- package/src/errors/express-validation.d.ts +15 -0
- package/src/errors/express-validation.d.ts.map +1 -1
- package/src/errors/express-validation.js +15 -0
- package/src/errors/express-validation.js.map +1 -1
- package/src/errors/invalid-backup-code-version.d.ts +13 -0
- package/src/errors/invalid-backup-code-version.d.ts.map +1 -1
- package/src/errors/invalid-backup-code-version.js +13 -0
- package/src/errors/invalid-backup-code-version.js.map +1 -1
- package/src/errors/invalid-jwt-token.d.ts +12 -0
- package/src/errors/invalid-jwt-token.d.ts.map +1 -1
- package/src/errors/invalid-jwt-token.js +12 -0
- package/src/errors/invalid-jwt-token.js.map +1 -1
- package/src/errors/invalid-model.d.ts +12 -0
- package/src/errors/invalid-model.d.ts.map +1 -1
- package/src/errors/invalid-model.js +12 -0
- package/src/errors/invalid-model.js.map +1 -1
- package/src/errors/invalid-new-password.d.ts +14 -0
- package/src/errors/invalid-new-password.d.ts.map +1 -1
- package/src/errors/invalid-new-password.js +14 -0
- package/src/errors/invalid-new-password.js.map +1 -1
- package/src/errors/invalid-password.d.ts +14 -0
- package/src/errors/invalid-password.d.ts.map +1 -1
- package/src/errors/invalid-password.js +14 -0
- package/src/errors/invalid-password.js.map +1 -1
- package/src/errors/missing-validated-data.d.ts +17 -0
- package/src/errors/missing-validated-data.d.ts.map +1 -1
- package/src/errors/missing-validated-data.js +17 -0
- package/src/errors/missing-validated-data.js.map +1 -1
- package/src/errors/mnemonic-or-password-required.d.ts +12 -0
- package/src/errors/mnemonic-or-password-required.d.ts.map +1 -1
- package/src/errors/mnemonic-or-password-required.js +12 -0
- package/src/errors/mnemonic-or-password-required.js.map +1 -1
- package/src/errors/model-not-registered.d.ts +12 -0
- package/src/errors/model-not-registered.d.ts.map +1 -1
- package/src/errors/model-not-registered.js +12 -0
- package/src/errors/model-not-registered.js.map +1 -1
- package/src/errors/mongoose-validation.d.ts +16 -0
- package/src/errors/mongoose-validation.d.ts.map +1 -1
- package/src/errors/mongoose-validation.js +16 -0
- package/src/errors/mongoose-validation.js.map +1 -1
- package/src/errors/symmetric.d.ts +15 -0
- package/src/errors/symmetric.d.ts.map +1 -1
- package/src/errors/symmetric.js +15 -0
- package/src/errors/symmetric.js.map +1 -1
- package/src/errors/token-expired.d.ts +12 -0
- package/src/errors/token-expired.d.ts.map +1 -1
- package/src/errors/token-expired.js +12 -0
- package/src/errors/token-expired.js.map +1 -1
- package/src/get-language.d.ts +10 -0
- package/src/get-language.d.ts.map +1 -1
- package/src/get-language.js +10 -0
- package/src/get-language.js.map +1 -1
- package/src/get-timezone.d.ts +10 -0
- package/src/get-timezone.d.ts.map +1 -1
- package/src/get-timezone.js +15 -1
- package/src/get-timezone.js.map +1 -1
- package/src/interfaces/api-error-response.d.ts +9 -0
- package/src/interfaces/api-error-response.d.ts.map +1 -1
- package/src/interfaces/api-error-response.js +5 -0
- package/src/interfaces/api-error-response.js.map +1 -1
- package/src/interfaces/api-express-validation-error-response.d.ts +9 -0
- package/src/interfaces/api-express-validation-error-response.d.ts.map +1 -1
- package/src/interfaces/api-express-validation-error-response.js +5 -0
- package/src/interfaces/api-express-validation-error-response.js.map +1 -1
- package/src/interfaces/api-message-response.d.ts +8 -0
- package/src/interfaces/api-message-response.d.ts.map +1 -1
- package/src/interfaces/api-message-response.js +5 -0
- package/src/interfaces/api-message-response.js.map +1 -1
- package/src/interfaces/api-mongo-validation-error-response.d.ts +10 -0
- package/src/interfaces/api-mongo-validation-error-response.d.ts.map +1 -1
- package/src/interfaces/api-mongo-validation-error-response.js +5 -0
- package/src/interfaces/api-mongo-validation-error-response.js.map +1 -1
- package/src/interfaces/api-responses/backup-codes-response.d.ts +9 -0
- package/src/interfaces/api-responses/backup-codes-response.d.ts.map +1 -1
- package/src/interfaces/api-responses/backup-codes-response.js +5 -0
- package/src/interfaces/api-responses/backup-codes-response.js.map +1 -1
- package/src/interfaces/api-responses/challenge-response.d.ts +10 -0
- package/src/interfaces/api-responses/challenge-response.d.ts.map +1 -1
- package/src/interfaces/api-responses/challenge-response.js +4 -0
- package/src/interfaces/api-responses/challenge-response.js.map +1 -1
- package/src/interfaces/api-responses/code-count-response.d.ts +6 -0
- package/src/interfaces/api-responses/code-count-response.d.ts.map +1 -1
- package/src/interfaces/api-responses/code-count-response.js +5 -0
- package/src/interfaces/api-responses/code-count-response.js.map +1 -1
- package/src/interfaces/api-responses/login-response.d.ts +9 -0
- package/src/interfaces/api-responses/login-response.d.ts.map +1 -1
- package/src/interfaces/api-responses/login-response.js +5 -0
- package/src/interfaces/api-responses/login-response.js.map +1 -1
- package/src/interfaces/api-responses/mnemonic-response.d.ts +9 -0
- package/src/interfaces/api-responses/mnemonic-response.d.ts.map +1 -1
- package/src/interfaces/api-responses/mnemonic-response.js +4 -0
- package/src/interfaces/api-responses/mnemonic-response.js.map +1 -1
- package/src/interfaces/api-responses/registration-response.d.ts +10 -0
- package/src/interfaces/api-responses/registration-response.d.ts.map +1 -1
- package/src/interfaces/api-responses/registration-response.js +4 -0
- package/src/interfaces/api-responses/registration-response.js.map +1 -1
- package/src/interfaces/api-responses/request-user-response.d.ts +9 -0
- package/src/interfaces/api-responses/request-user-response.d.ts.map +1 -1
- package/src/interfaces/api-responses/request-user-response.js +5 -0
- package/src/interfaces/api-responses/request-user-response.js.map +1 -1
- package/src/interfaces/api-responses/user-settings-response.d.ts +6 -0
- package/src/interfaces/api-responses/user-settings-response.d.ts.map +1 -1
- package/src/interfaces/api-responses/user-settings-response.js +5 -0
- package/src/interfaces/api-responses/user-settings-response.js.map +1 -1
- package/src/interfaces/application.d.ts +22 -0
- package/src/interfaces/application.d.ts.map +1 -1
- package/src/interfaces/application.js +5 -0
- package/src/interfaces/application.js.map +1 -1
- package/src/interfaces/backend-objects/email-token.d.ts +10 -1
- package/src/interfaces/backend-objects/email-token.d.ts.map +1 -1
- package/src/interfaces/backend-objects/email-token.js +5 -0
- package/src/interfaces/backend-objects/email-token.js.map +1 -1
- package/src/interfaces/backend-objects/request-user.d.ts +11 -1
- package/src/interfaces/backend-objects/request-user.d.ts.map +1 -1
- package/src/interfaces/backend-objects/request-user.js +5 -0
- package/src/interfaces/backend-objects/request-user.js.map +1 -1
- package/src/interfaces/backend-objects/role.d.ts +10 -1
- package/src/interfaces/backend-objects/role.d.ts.map +1 -1
- package/src/interfaces/backend-objects/role.js +5 -0
- package/src/interfaces/backend-objects/role.js.map +1 -1
- package/src/interfaces/backend-objects/user.d.ts +11 -1
- package/src/interfaces/backend-objects/user.d.ts.map +1 -1
- package/src/interfaces/backend-objects/user.js +5 -0
- package/src/interfaces/backend-objects/user.js.map +1 -1
- package/src/interfaces/checksum-config.d.ts +10 -0
- package/src/interfaces/checksum-config.d.ts.map +1 -1
- package/src/interfaces/checksum-config.js +5 -0
- package/src/interfaces/checksum-config.js.map +1 -1
- package/src/interfaces/checksum-consts.d.ts +9 -0
- package/src/interfaces/checksum-consts.d.ts.map +1 -1
- package/src/interfaces/checksum-consts.js +5 -0
- package/src/interfaces/checksum-consts.js.map +1 -1
- package/src/interfaces/constants.d.ts +7 -2
- package/src/interfaces/constants.d.ts.map +1 -1
- package/src/interfaces/constants.js +5 -0
- package/src/interfaces/constants.js.map +1 -1
- package/src/interfaces/controller-config.d.ts +27 -10
- package/src/interfaces/controller-config.d.ts.map +1 -1
- package/src/interfaces/controller-config.js +5 -0
- package/src/interfaces/controller-config.js.map +1 -1
- package/src/interfaces/create-user-basics.d.ts +7 -1
- package/src/interfaces/create-user-basics.d.ts.map +1 -1
- package/src/interfaces/create-user-basics.js +5 -0
- package/src/interfaces/create-user-basics.js.map +1 -1
- package/src/interfaces/csp-config.d.ts +15 -0
- package/src/interfaces/csp-config.d.ts.map +1 -1
- package/src/interfaces/csp-config.js +10 -0
- package/src/interfaces/csp-config.js.map +1 -1
- package/src/interfaces/csp-definition.d.ts +21 -0
- package/src/interfaces/csp-definition.d.ts.map +1 -1
- package/src/interfaces/csp-definition.js +10 -0
- package/src/interfaces/csp-definition.js.map +1 -1
- package/src/interfaces/db-init-result.d.ts +11 -0
- package/src/interfaces/db-init-result.d.ts.map +1 -1
- package/src/interfaces/db-init-result.js +5 -0
- package/src/interfaces/db-init-result.js.map +1 -1
- package/src/interfaces/deep-partial.d.ts +10 -0
- package/src/interfaces/deep-partial.d.ts.map +1 -1
- package/src/interfaces/deep-partial.js +5 -0
- package/src/interfaces/deep-partial.js.map +1 -1
- package/src/interfaces/discriminator-collections.d.ts +11 -1
- package/src/interfaces/discriminator-collections.d.ts.map +1 -1
- package/src/interfaces/discriminator-collections.js +5 -0
- package/src/interfaces/discriminator-collections.js.map +1 -1
- package/src/interfaces/email-service.d.ts +17 -0
- package/src/interfaces/email-service.d.ts.map +1 -1
- package/src/interfaces/email-service.js +5 -0
- package/src/interfaces/email-service.js.map +1 -1
- package/src/interfaces/environment-mongo.d.ts +9 -0
- package/src/interfaces/environment-mongo.d.ts.map +1 -1
- package/src/interfaces/environment-mongo.js +5 -0
- package/src/interfaces/environment-mongo.js.map +1 -1
- package/src/interfaces/environment.d.ts +20 -10
- package/src/interfaces/environment.d.ts.map +1 -1
- package/src/interfaces/environment.js +5 -0
- package/src/interfaces/environment.js.map +1 -1
- package/src/interfaces/failable-result.d.ts +13 -0
- package/src/interfaces/failable-result.d.ts.map +1 -1
- package/src/interfaces/failable-result.js +5 -0
- package/src/interfaces/failable-result.js.map +1 -1
- package/src/interfaces/fec-consts.d.ts +9 -0
- package/src/interfaces/fec-consts.d.ts.map +1 -1
- package/src/interfaces/fec-consts.js +5 -0
- package/src/interfaces/fec-consts.js.map +1 -1
- package/src/interfaces/flexible-csp.d.ts +16 -0
- package/src/interfaces/flexible-csp.d.ts.map +1 -1
- package/src/interfaces/flexible-csp.js +10 -0
- package/src/interfaces/flexible-csp.js.map +1 -1
- package/src/interfaces/handleable-error-options.d.ts +12 -0
- package/src/interfaces/handleable-error-options.d.ts.map +1 -1
- package/src/interfaces/handleable-error-options.js +5 -0
- package/src/interfaces/handleable-error-options.js.map +1 -1
- package/src/interfaces/jwt-consts.d.ts +9 -0
- package/src/interfaces/jwt-consts.d.ts.map +1 -1
- package/src/interfaces/jwt-consts.js +5 -0
- package/src/interfaces/jwt-consts.js.map +1 -1
- package/src/interfaces/jwt-sign-response.d.ts +12 -1
- package/src/interfaces/jwt-sign-response.d.ts.map +1 -1
- package/src/interfaces/jwt-sign-response.js +5 -0
- package/src/interfaces/jwt-sign-response.js.map +1 -1
- package/src/interfaces/models/email-token.d.ts +7 -1
- package/src/interfaces/models/email-token.d.ts.map +1 -1
- package/src/interfaces/models/email-token.js +5 -0
- package/src/interfaces/models/email-token.js.map +1 -1
- package/src/interfaces/models/mnemonic.d.ts +8 -1
- package/src/interfaces/models/mnemonic.d.ts.map +1 -1
- package/src/interfaces/models/mnemonic.js +5 -0
- package/src/interfaces/models/mnemonic.js.map +1 -1
- package/src/interfaces/models/role.d.ts +7 -1
- package/src/interfaces/models/role.d.ts.map +1 -1
- package/src/interfaces/models/role.js +5 -0
- package/src/interfaces/models/role.js.map +1 -1
- package/src/interfaces/models/token-role.d.ts +11 -3
- package/src/interfaces/models/token-role.d.ts.map +1 -1
- package/src/interfaces/models/token-role.js +5 -0
- package/src/interfaces/models/token-role.js.map +1 -1
- package/src/interfaces/models/used-direct-login-token.d.ts +11 -3
- package/src/interfaces/models/used-direct-login-token.d.ts.map +1 -1
- package/src/interfaces/models/used-direct-login-token.js +5 -0
- package/src/interfaces/models/used-direct-login-token.js.map +1 -1
- package/src/interfaces/models/user-role.d.ts +11 -3
- package/src/interfaces/models/user-role.d.ts.map +1 -1
- package/src/interfaces/models/user-role.js +5 -0
- package/src/interfaces/models/user-role.js.map +1 -1
- package/src/interfaces/models/user.d.ts +13 -3
- package/src/interfaces/models/user.d.ts.map +1 -1
- package/src/interfaces/models/user.js +5 -0
- package/src/interfaces/models/user.js.map +1 -1
- package/src/interfaces/mongo-errors.d.ts +8 -0
- package/src/interfaces/mongo-errors.d.ts.map +1 -1
- package/src/interfaces/mongo-errors.js +5 -0
- package/src/interfaces/mongo-errors.js.map +1 -1
- package/src/interfaces/request-user.d.ts +16 -7
- package/src/interfaces/request-user.d.ts.map +1 -1
- package/src/interfaces/request-user.js +5 -0
- package/src/interfaces/request-user.js.map +1 -1
- package/src/interfaces/required-string-keys.d.ts +9 -3
- package/src/interfaces/required-string-keys.d.ts.map +1 -1
- package/src/interfaces/required-string-keys.js +5 -0
- package/src/interfaces/required-string-keys.js.map +1 -1
- package/src/interfaces/schema.d.ts +11 -3
- package/src/interfaces/schema.d.ts.map +1 -1
- package/src/interfaces/schema.js +5 -0
- package/src/interfaces/schema.js.map +1 -1
- package/src/interfaces/server-init-result.d.ts +23 -13
- package/src/interfaces/server-init-result.d.ts.map +1 -1
- package/src/interfaces/server-init-result.js +5 -0
- package/src/interfaces/server-init-result.js.map +1 -1
- package/src/interfaces/status-code-response.d.ts +12 -0
- package/src/interfaces/status-code-response.d.ts.map +1 -1
- package/src/interfaces/status-code-response.js +5 -0
- package/src/interfaces/status-code-response.js.map +1 -1
- package/src/interfaces/symmetric-encryption-results.d.ts +10 -0
- package/src/interfaces/symmetric-encryption-results.d.ts.map +1 -1
- package/src/interfaces/symmetric-encryption-results.js +5 -0
- package/src/interfaces/symmetric-encryption-results.js.map +1 -1
- package/src/interfaces/test-environment.d.ts +10 -0
- package/src/interfaces/test-environment.d.ts.map +1 -1
- package/src/interfaces/test-environment.js +5 -0
- package/src/interfaces/test-environment.js.map +1 -1
- package/src/interfaces/token-response.d.ts +10 -0
- package/src/interfaces/token-response.d.ts.map +1 -1
- package/src/interfaces/token-response.js +5 -0
- package/src/interfaces/token-response.js.map +1 -1
- package/src/middleware-utils.d.ts +23 -0
- package/src/middleware-utils.d.ts.map +1 -1
- package/src/middleware-utils.js +23 -0
- package/src/middleware-utils.js.map +1 -1
- package/src/middlewares/authenticate-crypto.d.ts +20 -3
- package/src/middlewares/authenticate-crypto.d.ts.map +1 -1
- package/src/middlewares/authenticate-crypto.js +19 -2
- package/src/middlewares/authenticate-crypto.js.map +1 -1
- package/src/middlewares/authenticate-token.d.ts +23 -10
- package/src/middlewares/authenticate-token.d.ts.map +1 -1
- package/src/middlewares/authenticate-token.js +22 -9
- package/src/middlewares/authenticate-token.js.map +1 -1
- package/src/middlewares/cleanup-crypto.d.ts +11 -2
- package/src/middlewares/cleanup-crypto.d.ts.map +1 -1
- package/src/middlewares/cleanup-crypto.js +11 -2
- package/src/middlewares/cleanup-crypto.js.map +1 -1
- package/src/middlewares/set-global-context-language.d.ts +13 -0
- package/src/middlewares/set-global-context-language.d.ts.map +1 -1
- package/src/middlewares/set-global-context-language.js +14 -1
- package/src/middlewares/set-global-context-language.js.map +1 -1
- package/src/model-registry.d.ts +63 -7
- package/src/model-registry.d.ts.map +1 -1
- package/src/model-registry.js +50 -0
- package/src/model-registry.js.map +1 -1
- package/src/models/email-token.d.ts +17 -1
- package/src/models/email-token.d.ts.map +1 -1
- package/src/models/email-token.js +5 -0
- package/src/models/email-token.js.map +1 -1
- package/src/models/mnemonic.d.ts +17 -1
- package/src/models/mnemonic.d.ts.map +1 -1
- package/src/models/mnemonic.js +16 -0
- package/src/models/mnemonic.js.map +1 -1
- package/src/models/role.d.ts +17 -1
- package/src/models/role.d.ts.map +1 -1
- package/src/models/role.js +16 -0
- package/src/models/role.js.map +1 -1
- package/src/models/used-direct-login-token.d.ts +17 -1
- package/src/models/used-direct-login-token.d.ts.map +1 -1
- package/src/models/used-direct-login-token.js +5 -0
- package/src/models/used-direct-login-token.js.map +1 -1
- package/src/models/user-role.d.ts +17 -1
- package/src/models/user-role.d.ts.map +1 -1
- package/src/models/user-role.js +16 -0
- package/src/models/user-role.js.map +1 -1
- package/src/models/user.d.ts +17 -1
- package/src/models/user.d.ts.map +1 -1
- package/src/models/user.js +16 -0
- package/src/models/user.js.map +1 -1
- package/src/pipeline/pipeline-builder.d.ts +8 -0
- package/src/pipeline/pipeline-builder.d.ts.map +1 -1
- package/src/pipeline/pipeline-builder.js +8 -0
- package/src/pipeline/pipeline-builder.js.map +1 -1
- package/src/plugins/plugin-interface.d.ts +9 -0
- package/src/plugins/plugin-interface.d.ts.map +1 -1
- package/src/plugins/plugin-interface.js +5 -0
- package/src/plugins/plugin-interface.js.map +1 -1
- package/src/plugins/plugin-manager.d.ts +9 -0
- package/src/plugins/plugin-manager.d.ts.map +1 -1
- package/src/plugins/plugin-manager.js +9 -0
- package/src/plugins/plugin-manager.js.map +1 -1
- package/src/registry/email-service-registry.d.ts +28 -6
- package/src/registry/email-service-registry.d.ts.map +1 -1
- package/src/registry/email-service-registry.js +28 -6
- package/src/registry/email-service-registry.js.map +1 -1
- package/src/responses/response-builder.d.ts +79 -0
- package/src/responses/response-builder.d.ts.map +1 -1
- package/src/responses/response-builder.js +79 -0
- package/src/responses/response-builder.js.map +1 -1
- package/src/routers/api.d.ts +36 -5
- package/src/routers/api.d.ts.map +1 -1
- package/src/routers/api.js +34 -4
- package/src/routers/api.js.map +1 -1
- package/src/routers/app.d.ts +61 -7
- package/src/routers/app.d.ts.map +1 -1
- package/src/routers/app.js +62 -5
- package/src/routers/app.js.map +1 -1
- package/src/routers/base.d.ts +17 -0
- package/src/routers/base.d.ts.map +1 -1
- package/src/routers/base.js +17 -0
- package/src/routers/base.js.map +1 -1
- package/src/routers/router-config.d.ts +17 -0
- package/src/routers/router-config.d.ts.map +1 -1
- package/src/routers/router-config.js +8 -0
- package/src/routers/router-config.js.map +1 -1
- package/src/routing/route-builder.d.ts +85 -0
- package/src/routing/route-builder.d.ts.map +1 -1
- package/src/routing/route-builder.js +81 -0
- package/src/routing/route-builder.js.map +1 -1
- package/src/schemas/email-token.d.ts +19 -3
- package/src/schemas/email-token.d.ts.map +1 -1
- package/src/schemas/email-token.js +15 -2
- package/src/schemas/email-token.js.map +1 -1
- package/src/schemas/mnemonic.d.ts +12 -2
- package/src/schemas/mnemonic.d.ts.map +1 -1
- package/src/schemas/mnemonic.js +12 -2
- package/src/schemas/mnemonic.js.map +1 -1
- package/src/schemas/role.d.ts +18 -3
- package/src/schemas/role.d.ts.map +1 -1
- package/src/schemas/role.js +15 -2
- package/src/schemas/role.js.map +1 -1
- package/src/schemas/schema.d.ts +21 -1
- package/src/schemas/schema.d.ts.map +1 -1
- package/src/schemas/schema.js +11 -0
- package/src/schemas/schema.js.map +1 -1
- package/src/schemas/used-direct-login-token.d.ts +15 -3
- package/src/schemas/used-direct-login-token.d.ts.map +1 -1
- package/src/schemas/used-direct-login-token.js +13 -2
- package/src/schemas/used-direct-login-token.js.map +1 -1
- package/src/schemas/user-role.d.ts +16 -3
- package/src/schemas/user-role.d.ts.map +1 -1
- package/src/schemas/user-role.js +14 -2
- package/src/schemas/user-role.js.map +1 -1
- package/src/schemas/user.d.ts +20 -1
- package/src/schemas/user.d.ts.map +1 -1
- package/src/schemas/user.js +20 -1
- package/src/schemas/user.js.map +1 -1
- package/src/services/backup-code.d.ts +22 -18
- package/src/services/backup-code.d.ts.map +1 -1
- package/src/services/backup-code.js +12 -8
- package/src/services/backup-code.js.map +1 -1
- package/src/services/base.d.ts +11 -0
- package/src/services/base.d.ts.map +1 -1
- package/src/services/base.js +11 -0
- package/src/services/base.js.map +1 -1
- package/src/services/checksum.d.ts +50 -29
- package/src/services/checksum.d.ts.map +1 -1
- package/src/services/checksum.js +50 -29
- package/src/services/checksum.js.map +1 -1
- package/src/services/database-initialization.d.ts +82 -55
- package/src/services/database-initialization.d.ts.map +1 -1
- package/src/services/database-initialization.js +61 -35
- package/src/services/database-initialization.js.map +1 -1
- package/src/services/db-init-cache.d.ts +8 -0
- package/src/services/db-init-cache.d.ts.map +1 -1
- package/src/services/db-init-cache.js +4 -0
- package/src/services/db-init-cache.js.map +1 -1
- package/src/services/direct-login-token.d.ts +22 -1
- package/src/services/direct-login-token.d.ts.map +1 -1
- package/src/services/direct-login-token.js +21 -0
- package/src/services/direct-login-token.js.map +1 -1
- package/src/services/dummy-email-service.d.ts +20 -1
- package/src/services/dummy-email-service.d.ts.map +1 -1
- package/src/services/dummy-email-service.js +20 -1
- package/src/services/dummy-email-service.js.map +1 -1
- package/src/services/fec-usage-example.d.ts +25 -5
- package/src/services/fec-usage-example.d.ts.map +1 -1
- package/src/services/fec-usage-example.js +25 -5
- package/src/services/fec-usage-example.js.map +1 -1
- package/src/services/fec.d.ts +49 -7
- package/src/services/fec.d.ts.map +1 -1
- package/src/services/fec.js +39 -7
- package/src/services/fec.js.map +1 -1
- package/src/services/jwt.d.ts +17 -2
- package/src/services/jwt.d.ts.map +1 -1
- package/src/services/jwt.js +15 -0
- package/src/services/jwt.js.map +1 -1
- package/src/services/key-wrapping.d.ts +86 -8
- package/src/services/key-wrapping.d.ts.map +1 -1
- package/src/services/key-wrapping.js +75 -10
- package/src/services/key-wrapping.js.map +1 -1
- package/src/services/mnemonic.d.ts +14 -8
- package/src/services/mnemonic.d.ts.map +1 -1
- package/src/services/mnemonic.js +8 -2
- package/src/services/mnemonic.js.map +1 -1
- package/src/services/request-user.d.ts +33 -11
- package/src/services/request-user.d.ts.map +1 -1
- package/src/services/request-user.js +28 -6
- package/src/services/request-user.js.map +1 -1
- package/src/services/role.d.ts +28 -18
- package/src/services/role.d.ts.map +1 -1
- package/src/services/role.js +11 -1
- package/src/services/role.js.map +1 -1
- package/src/services/symmetric.d.ts +35 -17
- package/src/services/symmetric.d.ts.map +1 -1
- package/src/services/symmetric.js +41 -17
- package/src/services/symmetric.js.map +1 -1
- package/src/services/system-user.d.ts +7 -1
- package/src/services/system-user.d.ts.map +1 -1
- package/src/services/system-user.js +7 -1
- package/src/services/system-user.js.map +1 -1
- package/src/services/user.d.ts +61 -38
- package/src/services/user.d.ts.map +1 -1
- package/src/services/user.js +23 -0
- package/src/services/user.js.map +1 -1
- package/src/services/xor.d.ts +10 -6
- package/src/services/xor.d.ts.map +1 -1
- package/src/services/xor.js +14 -6
- package/src/services/xor.js.map +1 -1
- package/src/testing.d.ts +5 -0
- package/src/testing.d.ts.map +1 -1
- package/src/testing.js +5 -0
- package/src/testing.js.map +1 -1
- package/src/transactions/transaction-manager.d.ts +25 -0
- package/src/transactions/transaction-manager.d.ts.map +1 -1
- package/src/transactions/transaction-manager.js +20 -0
- package/src/transactions/transaction-manager.js.map +1 -1
- package/src/types/app-config.d.ts +16 -2
- package/src/types/app-config.d.ts.map +1 -1
- package/src/types/app-config.js +5 -0
- package/src/types/app-config.js.map +1 -1
- package/src/types/controller-config.d.ts +14 -2
- package/src/types/controller-config.d.ts.map +1 -1
- package/src/types/controller-config.js +5 -0
- package/src/types/controller-config.js.map +1 -1
- package/src/types/environment-variables.d.ts +5 -0
- package/src/types/environment-variables.d.ts.map +1 -1
- package/src/types/environment-variables.js +3 -1
- package/src/types/environment-variables.js.map +1 -1
- package/src/types/mongoose-helpers.d.ts +5 -0
- package/src/types/mongoose-helpers.d.ts.map +1 -1
- package/src/types/mongoose-helpers.js +3 -1
- package/src/types/mongoose-helpers.js.map +1 -1
- package/src/types.d.ts +17 -3
- package/src/types.d.ts.map +1 -1
- package/src/types.js +14 -0
- package/src/types.js.map +1 -1
- package/src/utils.d.ts +58 -29
- package/src/utils.d.ts.map +1 -1
- package/src/utils.js +56 -31
- package/src/utils.js.map +1 -1
- package/src/validation/validation-builder.d.ts +39 -0
- package/src/validation/validation-builder.d.ts.map +1 -1
- package/src/validation/validation-builder.js +39 -0
- package/src/validation/validation-builder.js.map +1 -1
|
@@ -1,32 +1,52 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Service for symmetric encryption operations using AES-256-GCM.
|
|
4
|
+
* Provides encryption/decryption for buffers and JSON data with automatic key generation.
|
|
5
|
+
* @module services/symmetric
|
|
6
|
+
*/
|
|
2
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
8
|
exports.SymmetricService = void 0;
|
|
4
9
|
const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
|
|
5
10
|
const crypto_1 = require("crypto");
|
|
6
11
|
const symmetric_error_type_1 = require("../enumerations/symmetric-error-type");
|
|
7
12
|
const symmetric_1 = require("../errors/symmetric");
|
|
13
|
+
/**
|
|
14
|
+
* Type guard to check if an object has a toJson method.
|
|
15
|
+
* @template T Object type to check
|
|
16
|
+
* @param obj Object to check
|
|
17
|
+
* @returns True if object has toJson method
|
|
18
|
+
*/
|
|
8
19
|
function hasToJsonMethod(obj) {
|
|
9
20
|
return typeof obj === 'object' && obj !== null && 'toJson' in obj;
|
|
10
21
|
}
|
|
11
22
|
/**
|
|
12
|
-
* Service for handling symmetric encryption operations.
|
|
13
|
-
*
|
|
14
|
-
* - AES encryption/decryption of buffers and JSON data
|
|
15
|
-
* - Key and IV generation
|
|
16
|
-
* - Secure cryptographic operations
|
|
23
|
+
* Service for handling symmetric encryption operations using AES-256-GCM.
|
|
24
|
+
* Provides functionality for encrypting/decrypting buffers and JSON data with automatic key generation.
|
|
17
25
|
*/
|
|
18
26
|
class SymmetricService {
|
|
27
|
+
/**
|
|
28
|
+
* Gets the symmetric key size in bits from ECIES constants.
|
|
29
|
+
* @param eciesConstants ECIES constants (defaults to ECIES)
|
|
30
|
+
* @returns Symmetric key size in bits
|
|
31
|
+
*/
|
|
19
32
|
static symmetricKeyBits(eciesConstants = ecies_lib_1.ECIES) {
|
|
20
33
|
return eciesConstants.SYMMETRIC.KEY_BITS;
|
|
21
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* Gets the symmetric key size in bytes from ECIES constants.
|
|
37
|
+
* @param eciesConstants ECIES constants (defaults to ECIES)
|
|
38
|
+
* @returns Symmetric key size in bytes
|
|
39
|
+
*/
|
|
22
40
|
static symmetricKeyBytes(eciesConstants = ecies_lib_1.ECIES) {
|
|
23
41
|
return eciesConstants.SYMMETRIC.KEY_SIZE;
|
|
24
42
|
}
|
|
25
43
|
/**
|
|
26
|
-
*
|
|
27
|
-
* @param data
|
|
28
|
-
* @param encryptionKey Optional encryption key (
|
|
44
|
+
* Encrypts data with AES-256-GCM.
|
|
45
|
+
* @param data Buffer to encrypt
|
|
46
|
+
* @param encryptionKey Optional encryption key (randomly generated if not provided)
|
|
47
|
+
* @param eciesConstants ECIES constants (defaults to ECIES)
|
|
29
48
|
* @returns Object containing encrypted data and key
|
|
49
|
+
* @throws {SymmetricError} If encryption key length is invalid
|
|
30
50
|
*/
|
|
31
51
|
static encryptBuffer(data, encryptionKey, eciesConstants = ecies_lib_1.ECIES) {
|
|
32
52
|
if (encryptionKey &&
|
|
@@ -53,9 +73,10 @@ class SymmetricService {
|
|
|
53
73
|
};
|
|
54
74
|
}
|
|
55
75
|
/**
|
|
56
|
-
*
|
|
57
|
-
* @param encryptedData
|
|
58
|
-
* @param key
|
|
76
|
+
* Decrypts data with AES-256-GCM.
|
|
77
|
+
* @param encryptedData Encrypted data buffer (includes IV, ciphertext, and auth tag)
|
|
78
|
+
* @param key Decryption key
|
|
79
|
+
* @param eciesConstants ECIES constants (defaults to ECIES)
|
|
59
80
|
* @returns Decrypted data as a Buffer
|
|
60
81
|
*/
|
|
61
82
|
static decryptBuffer(encryptedData, key, eciesConstants = ecies_lib_1.ECIES) {
|
|
@@ -68,10 +89,12 @@ class SymmetricService {
|
|
|
68
89
|
return Buffer.concat([decipher.update(ciphertextBuffer), decipher.final()]);
|
|
69
90
|
}
|
|
70
91
|
/**
|
|
71
|
-
*
|
|
72
|
-
* @
|
|
73
|
-
* @param
|
|
92
|
+
* Encrypts JSON data with AES-256-GCM.
|
|
93
|
+
* @template T Type of data to encrypt
|
|
94
|
+
* @param data Data to encrypt (will be JSON stringified)
|
|
95
|
+
* @param encryptionKey Optional encryption key (randomly generated if not provided)
|
|
74
96
|
* @returns Object containing encrypted data and key
|
|
97
|
+
* @throws {SymmetricError} If data is null or undefined
|
|
75
98
|
*/
|
|
76
99
|
static encryptJson(data, encryptionKey) {
|
|
77
100
|
if (data === null || data === undefined) {
|
|
@@ -88,9 +111,10 @@ class SymmetricService {
|
|
|
88
111
|
return SymmetricService.encryptBuffer(dataBuffer, encryptionKey);
|
|
89
112
|
}
|
|
90
113
|
/**
|
|
91
|
-
*
|
|
92
|
-
* @
|
|
93
|
-
* @param
|
|
114
|
+
* Decrypts data with AES-256-GCM and parses as JSON.
|
|
115
|
+
* @template T Type of data to decrypt
|
|
116
|
+
* @param encryptedData Encrypted data buffer
|
|
117
|
+
* @param key Decryption key
|
|
94
118
|
* @returns Decrypted data parsed as type T
|
|
95
119
|
*/
|
|
96
120
|
static decryptJson(encryptedData, key) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symmetric.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/symmetric.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"symmetric.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/symmetric.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview System user singleton service.
|
|
3
|
+
* Manages the system-level cryptographic member for server operations.
|
|
4
|
+
* @module services/system-user
|
|
5
|
+
*/
|
|
1
6
|
import { Member as BackendMember, PlatformID } from '@digitaldefiance/node-ecies-lib';
|
|
2
7
|
import { Environment } from '../environment';
|
|
3
8
|
import { IConstants } from '../interfaces/constants';
|
|
4
9
|
/**
|
|
5
|
-
* Service
|
|
10
|
+
* Service for managing the system user singleton.
|
|
11
|
+
* Provides access to system-level cryptographic operations and key management.
|
|
6
12
|
*/
|
|
7
13
|
export declare class SystemUserService {
|
|
8
14
|
private static systemUser;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-user.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/system-user.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"system-user.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/system-user.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,OAAO,EACL,MAAM,IAAI,aAAa,EAEvB,UAAU,EACX,MAAM,iCAAiC,CAAC;AAKzC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD;;;GAGG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAC,UAAU,CAA0C;IAEnE;;;OAGG;WACW,aAAa,CAAC,GAAG,SAAS,UAAU,GAAG,MAAM,EACzD,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,EAC7B,SAAS,EAAE,UAAU,GACpB,aAAa,CAAC,GAAG,CAAC;WAqCP,aAAa,CAAC,GAAG,SAAS,UAAU,GAAG,MAAM,EACzD,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC,EACxB,SAAS,EAAE,UAAU,GACpB,IAAI;CAQR"}
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview System user singleton service.
|
|
4
|
+
* Manages the system-level cryptographic member for server operations.
|
|
5
|
+
* @module services/system-user
|
|
6
|
+
*/
|
|
2
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
8
|
exports.SystemUserService = void 0;
|
|
4
9
|
const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
|
|
5
10
|
const node_ecies_lib_1 = require("@digitaldefiance/node-ecies-lib");
|
|
6
11
|
const suite_core_lib_1 = require("@digitaldefiance/suite-core-lib");
|
|
7
12
|
/**
|
|
8
|
-
* Service
|
|
13
|
+
* Service for managing the system user singleton.
|
|
14
|
+
* Provides access to system-level cryptographic operations and key management.
|
|
9
15
|
*/
|
|
10
16
|
class SystemUserService {
|
|
11
17
|
static systemUser = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-user.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/system-user.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"system-user.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/system-user.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,0DAKoC;AACpC,oEAIyC;AACzC,oEAGyC;AAIzC;;;GAGG;AACH,MAAa,iBAAiB;IACpB,MAAM,CAAC,UAAU,GAAqC,IAAI,CAAC;IAEnE;;;OAGG;IACI,MAAM,CAAC,aAAa,CACzB,WAA6B,EAC7B,SAAqB;QAErB,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAC;YAClC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;gBAChC,MAAM,IAAI,uCAAsB,CAC9B,mCAAkB,CAAC,uBAAuB,EAC1C;oBACE,IAAI,EAAE,iBAAiB;iBACxB,CACF,CAAC;YACJ,CAAC;YACD,MAAM,QAAQ,GAAiB,WAAW,CAAC,cAAc,CAAC;YAC1D,MAAM,YAAY,GAAG,IAAI,6BAAY,CAAM,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;YACpE,MAAM,OAAO,GAAG,YAAY,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC;YAEjE,iBAAiB,CAAC,UAAU,GAAG,IAAI,uBAAa,CAC9C,YAAY,EACZ,sBAAU,CAAC,MAAM,EACjB,SAAS,CAAC,UAAU,EACpB,IAAI,uBAAW,CAAC,SAAS,CAAC,WAAW,CAAC,EACtC,OAAO,CAAC,SAAS,EACjB,IAAI,wBAAY,CAAC,OAAO,CAAC,UAAU,CAAC,EACpC,MAAM,CACP,CAAC;YACF,IACE,iBAAiB,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACtD,WAAW,CAAC,kBAAkB,EAC9B,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,uDAAuD,EAAE;oBACpE,OAAO,EAAE,iBAAiB,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;oBAC/D,QAAQ,EAAE,WAAW,CAAC,kBAAkB;iBACzC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,OAAO,iBAAiB,CAAC,UAAgC,CAAC;IAC5D,CAAC;IAEM,MAAM,CAAC,aAAa,CACzB,IAAwB,EACxB,SAAqB;QAErB,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAU,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,UAAU,EAAE,CAAC;YAC1E,MAAM,IAAI,KAAK,CACb,gEAAgE,CACjE,CAAC;QACJ,CAAC;QACD,iBAAiB,CAAC,UAAU,GAAG,IAA0B,CAAC;IAC5D,CAAC;;AAzDH,8CA0DC"}
|
package/src/services/user.d.ts
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Comprehensive user management service.
|
|
3
|
+
* Handles user authentication, registration, password management, email verification,
|
|
4
|
+
* mnemonic recovery, backup codes, and all user-related operations.
|
|
5
|
+
* @module services/user
|
|
6
|
+
*/
|
|
1
7
|
import { SecureBuffer, SecureString } from '@digitaldefiance/ecies-lib';
|
|
2
8
|
import { ClientSession, ProjectionType } from '@digitaldefiance/mongoose-types';
|
|
3
9
|
import { Member as BackendMember, ECIESService, PlatformID } from '@digitaldefiance/node-ecies-lib';
|
|
@@ -18,28 +24,45 @@ import { BaseService } from './base';
|
|
|
18
24
|
import { KeyWrappingService } from './key-wrapping';
|
|
19
25
|
import { MnemonicService } from './mnemonic';
|
|
20
26
|
import { RoleService } from './role';
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
27
|
+
/**
|
|
28
|
+
* Comprehensive service for user management and authentication.
|
|
29
|
+
* Provides methods for user creation, authentication (mnemonic/password/challenge),
|
|
30
|
+
* email verification, password reset, backup code recovery, and settings management.
|
|
31
|
+
* @template T - User document type
|
|
32
|
+
* @template TID - Platform ID type
|
|
33
|
+
* @template TDate - Date type
|
|
34
|
+
* @template TLanguage - String type for site language
|
|
35
|
+
* @template TAccountStatus - String type for account status
|
|
36
|
+
* @template _TEnvironment - Environment type
|
|
37
|
+
* @template _TConstants - Constants type
|
|
38
|
+
* @template _TBaseDocument - Base document type
|
|
39
|
+
* @template TUser - User base interface type
|
|
40
|
+
* @template TTokenRole - Token role interface type
|
|
41
|
+
* @template TApplication - Application interface type
|
|
42
|
+
* @extends {BaseService<TID, TApplication>}
|
|
43
|
+
*/
|
|
44
|
+
export declare class UserService<T, TID extends PlatformID, TDate extends Date, TLanguage extends string, TAccountStatus extends string, _TEnvironment extends Environment<TID> = Environment<TID>, _TConstants extends IConstants = IConstants, _TBaseDocument extends IBaseDocument<T, TID> = IBaseDocument<T, TID>, TUser extends IUserBase<TID, TDate, TLanguage, TAccountStatus> = IUserBase<TID, TDate, TLanguage, TAccountStatus>, TTokenRole extends ITokenRole<TID, TDate> = ITokenRole<TID, TDate>, TApplication extends IApplication<TID> = IApplication<TID>> extends BaseService<TID, TApplication> {
|
|
45
|
+
protected readonly roleService: RoleService<TID, TDate, TTokenRole>;
|
|
46
|
+
protected readonly eciesService: ECIESService<TID>;
|
|
24
47
|
protected readonly keyWrappingService: KeyWrappingService;
|
|
25
48
|
protected readonly mnemonicService: MnemonicService;
|
|
26
49
|
protected readonly emailService: IEmailService;
|
|
27
|
-
protected readonly backupCodeService: BackupCodeService<
|
|
50
|
+
protected readonly backupCodeService: BackupCodeService<TID, TDate, TTokenRole, TApplication>;
|
|
28
51
|
protected readonly serverUrl: string;
|
|
29
52
|
protected readonly disableEmailSend: boolean;
|
|
30
|
-
constructor(application: TApplication, roleService: RoleService<
|
|
53
|
+
constructor(application: TApplication, roleService: RoleService<TID, TDate, TTokenRole>, emailService: IEmailService, keyWrappingService: KeyWrappingService, backupCodeService: BackupCodeService<TID, TDate, TTokenRole, TApplication>);
|
|
31
54
|
/**
|
|
32
55
|
* Given a User Document, make a User DTO
|
|
33
56
|
* @param user a User Document
|
|
34
57
|
* @returns An IUserDTO
|
|
35
58
|
*/
|
|
36
|
-
static userToUserDTO<
|
|
59
|
+
static userToUserDTO<TLanguage extends string, TID extends PlatformID = Buffer>(user: IUserDocument<TLanguage, TID> | Record<string, unknown>): IUserDTO;
|
|
37
60
|
/**
|
|
38
61
|
* Given a User DTO, reconstitute ids and dates
|
|
39
62
|
* @param user a User DTO
|
|
40
63
|
* @returns An IUserBackendObject
|
|
41
64
|
*/
|
|
42
|
-
hydrateUserDTOToBackend(user: IUserDTO): IUserBackendObject<
|
|
65
|
+
hydrateUserDTOToBackend(user: IUserDTO): IUserBackendObject<TLanguage, TID>;
|
|
43
66
|
/**
|
|
44
67
|
* Create a new email token to send to the user for email verification
|
|
45
68
|
* @param userDoc The user to create the email token for
|
|
@@ -47,7 +70,7 @@ export declare class UserService<T, I extends PlatformID, D extends Date, S exte
|
|
|
47
70
|
* @param session The session to use for the query
|
|
48
71
|
* @returns The email token document
|
|
49
72
|
*/
|
|
50
|
-
createEmailToken(userDoc: IUserDocument<
|
|
73
|
+
createEmailToken(userDoc: IUserDocument<TLanguage, TID>, type: EmailTokenType, session?: ClientSession): Promise<IEmailTokenDocument>;
|
|
51
74
|
/**
|
|
52
75
|
* Create and send an email token to the user for email verification
|
|
53
76
|
* @param user The user to send the email token to
|
|
@@ -55,7 +78,7 @@ export declare class UserService<T, I extends PlatformID, D extends Date, S exte
|
|
|
55
78
|
* @param session The session to use for the query
|
|
56
79
|
* @returns The email token document
|
|
57
80
|
*/
|
|
58
|
-
createAndSendEmailToken(user: IUserDocument<
|
|
81
|
+
createAndSendEmailToken(user: IUserDocument<TLanguage, TID> | (Pick<IUserDocument<TLanguage, TID>, keyof IUserDocument<TLanguage, TID>> & {
|
|
59
82
|
_id: any;
|
|
60
83
|
}), type?: EmailTokenType, session?: ClientSession, debug?: boolean): Promise<IEmailTokenDocument>;
|
|
61
84
|
/**
|
|
@@ -66,7 +89,7 @@ export declare class UserService<T, I extends PlatformID, D extends Date, S exte
|
|
|
66
89
|
* @param debug Whether to enable debug logging
|
|
67
90
|
* @returns The email token document
|
|
68
91
|
*/
|
|
69
|
-
createAndSendEmailTokenDirect(user: IUserDocument<
|
|
92
|
+
createAndSendEmailTokenDirect(user: IUserDocument<TLanguage, TID>, type: EmailTokenType | undefined, session: ClientSession, debug?: boolean): Promise<IEmailTokenDocument>;
|
|
70
93
|
/**
|
|
71
94
|
* Send an email token to the user for email verification
|
|
72
95
|
* @param emailToken The email token to send
|
|
@@ -83,7 +106,7 @@ export declare class UserService<T, I extends PlatformID, D extends Date, S exte
|
|
|
83
106
|
* @throws InvalidCredentialsError if not found or deleted
|
|
84
107
|
* @throws AccountLockedError | PendingEmailVerificationError | AccountStatusError per status
|
|
85
108
|
*/
|
|
86
|
-
findUser(email?: string, username?: string, session?: ClientSession): Promise<IUserDocument<
|
|
109
|
+
findUser(email?: string, username?: string, session?: ClientSession): Promise<IUserDocument<TLanguage, TID>>;
|
|
87
110
|
/**
|
|
88
111
|
* Finds a user record by ID
|
|
89
112
|
* @param userId The user ID
|
|
@@ -91,7 +114,7 @@ export declare class UserService<T, I extends PlatformID, D extends Date, S exte
|
|
|
91
114
|
* @param session The active session, if present
|
|
92
115
|
* @returns The user document
|
|
93
116
|
*/
|
|
94
|
-
findUserById(userId:
|
|
117
|
+
findUserById(userId: TID, throwIfNotActive: boolean, session?: ClientSession, select?: ProjectionType<IUserDocument<TLanguage, TID>>): Promise<IUserDocument<TLanguage, TID>>;
|
|
95
118
|
/**
|
|
96
119
|
* Ensure required fields are present in a projection for queries that rely on them.
|
|
97
120
|
* Supports string and object-style projections. For inclusion projections, adds fields.
|
|
@@ -104,13 +127,13 @@ export declare class UserService<T, I extends PlatformID, D extends Date, S exte
|
|
|
104
127
|
* @param createdBy The user ID of the user creating the new user
|
|
105
128
|
* @returns The filled in user
|
|
106
129
|
*/
|
|
107
|
-
fillUserDefaults(newUser: ICreateUserBasics, createdBy:
|
|
130
|
+
fillUserDefaults(newUser: ICreateUserBasics, createdBy: TID, backupCodes: Array<IBackupCode>, encryptedMnemonic: string, userId?: TID): IUserBackendObject<TLanguage, TID>;
|
|
108
131
|
/**
|
|
109
132
|
* Create a new user document from an IUser and unhashed password
|
|
110
133
|
* @param newUser The user object
|
|
111
134
|
* @returns The new user document
|
|
112
135
|
*/
|
|
113
|
-
makeUserDoc(newUser: TUser): Promise<IUserDocument<
|
|
136
|
+
makeUserDoc(newUser: TUser): Promise<IUserDocument<TLanguage, TID>>;
|
|
114
137
|
/**
|
|
115
138
|
* Create a new user.
|
|
116
139
|
* Do not set createdBy to a new (non-existing) ObjectId unless you also set newUserId to it.
|
|
@@ -124,8 +147,8 @@ export declare class UserService<T, I extends PlatformID, D extends Date, S exte
|
|
|
124
147
|
* @param password The password to use for the new user (optional, if not provided, mnemonic will be used)
|
|
125
148
|
* @returns The new user document
|
|
126
149
|
*/
|
|
127
|
-
newUser(systemUser: BackendMember<
|
|
128
|
-
user: IUserDocument<
|
|
150
|
+
newUser(systemUser: BackendMember<TID>, userData: ICreateUserBasics, createdBy?: TID, newUserId?: TID, session?: ClientSession, debug?: boolean, password?: string): Promise<{
|
|
151
|
+
user: IUserDocument<TLanguage, TID>;
|
|
129
152
|
mnemonic: string;
|
|
130
153
|
backupCodes: Array<string>;
|
|
131
154
|
password?: string;
|
|
@@ -134,14 +157,14 @@ export declare class UserService<T, I extends PlatformID, D extends Date, S exte
|
|
|
134
157
|
* Get the backup codes for a user.
|
|
135
158
|
* Requires the user not be deleted or inactive
|
|
136
159
|
*/
|
|
137
|
-
getEncryptedUserBackupCodes(userId:
|
|
160
|
+
getEncryptedUserBackupCodes(userId: TID, session?: ClientSession): Promise<Array<IBackupCode>>;
|
|
138
161
|
/**
|
|
139
162
|
* Resets the given user's backup codes
|
|
140
163
|
* @param backupUser The user to generate codes for
|
|
141
164
|
* @param session The current session, if any
|
|
142
165
|
* @returns A promise of an array of backup codes
|
|
143
166
|
*/
|
|
144
|
-
resetUserBackupCodes(backupUser: BackendMember<
|
|
167
|
+
resetUserBackupCodes(backupUser: BackendMember<TID>, systemUser: BackendMember<TID>, session?: ClientSession): Promise<Array<BackupCode>>;
|
|
145
168
|
/**
|
|
146
169
|
* Recover a user's mnemonic from an encrypted mnemonic
|
|
147
170
|
* @param user The user whose mnemonic to recover
|
|
@@ -157,7 +180,7 @@ export declare class UserService<T, I extends PlatformID, D extends Date, S exte
|
|
|
157
180
|
* @param session The current session, if any
|
|
158
181
|
* @returns A promise containing the created Member
|
|
159
182
|
*/
|
|
160
|
-
makeUserFromUserDoc(userDoc: IUserDocument<
|
|
183
|
+
makeUserFromUserDoc(userDoc: IUserDocument<TLanguage, TID>, privateKey?: SecureBuffer, publicKey?: Buffer, mnemonic?: SecureString, wallet?: Wallet, session?: ClientSession): Promise<BackendMember<TID>>;
|
|
161
184
|
/**
|
|
162
185
|
* Challenges a given userDoc with a given mnemonic, returns a system and user Member
|
|
163
186
|
* @param userDoc The userDoc in question
|
|
@@ -168,9 +191,9 @@ export declare class UserService<T, I extends PlatformID, D extends Date, S exte
|
|
|
168
191
|
* @throws PendingEmailVerificationError if the email is not verified
|
|
169
192
|
* @throws AccountStatusError if the account status is invalid
|
|
170
193
|
*/
|
|
171
|
-
challengeUserWithMnemonic(userDoc: IUserDocument<
|
|
172
|
-
userMember: BackendMember<
|
|
173
|
-
adminMember: BackendMember<
|
|
194
|
+
challengeUserWithMnemonic(userDoc: IUserDocument<TLanguage, TID>, mnemonic: SecureString, session?: ClientSession): Promise<{
|
|
195
|
+
userMember: BackendMember<TID>;
|
|
196
|
+
adminMember: BackendMember<TID>;
|
|
174
197
|
}>;
|
|
175
198
|
/**
|
|
176
199
|
* Validates a login challenge response
|
|
@@ -181,36 +204,36 @@ export declare class UserService<T, I extends PlatformID, D extends Date, S exte
|
|
|
181
204
|
* @returns A promise that resolves to the user document, user member, and system member
|
|
182
205
|
*/
|
|
183
206
|
loginWithChallengeResponse(challengeResponse: string, email?: string, username?: string, session?: ClientSession): Promise<{
|
|
184
|
-
userDoc: IUserDocument<
|
|
185
|
-
userMember: BackendMember<
|
|
186
|
-
adminMember: BackendMember<
|
|
207
|
+
userDoc: IUserDocument<TLanguage, TID>;
|
|
208
|
+
userMember: BackendMember<TID>;
|
|
209
|
+
adminMember: BackendMember<TID>;
|
|
187
210
|
}>;
|
|
188
211
|
/**
|
|
189
212
|
* Authenticate a user with client-verified challenge (skips server-side challenge)
|
|
190
213
|
* @returns The authenticated user document.
|
|
191
214
|
*/
|
|
192
215
|
loginWithClientVerifiedChallenge(usernameOrEmail: string, mnemonic: SecureString, session?: ClientSession): Promise<{
|
|
193
|
-
userDoc: IUserDocument<
|
|
194
|
-
userMember: BackendMember<
|
|
195
|
-
adminMember: BackendMember<
|
|
216
|
+
userDoc: IUserDocument<TLanguage, TID>;
|
|
217
|
+
userMember: BackendMember<TID>;
|
|
218
|
+
adminMember: BackendMember<TID>;
|
|
196
219
|
}>;
|
|
197
220
|
/**
|
|
198
221
|
* Authenticate a user with their mnemonic.
|
|
199
222
|
* @returns The authenticated user document.
|
|
200
223
|
*/
|
|
201
224
|
loginWithMnemonic(usernameOrEmail: string, mnemonic: SecureString, session?: ClientSession): Promise<{
|
|
202
|
-
userDoc: IUserDocument<
|
|
203
|
-
userMember: BackendMember<
|
|
204
|
-
adminMember: BackendMember<
|
|
225
|
+
userDoc: IUserDocument<TLanguage, TID>;
|
|
226
|
+
userMember: BackendMember<TID>;
|
|
227
|
+
adminMember: BackendMember<TID>;
|
|
205
228
|
}>;
|
|
206
229
|
/**
|
|
207
230
|
* Authenticate a user with their password (for key-wrapped accounts).
|
|
208
231
|
* @returns The authenticated user document.
|
|
209
232
|
*/
|
|
210
233
|
loginWithPassword(usernameOrEmail: string, password: string, session?: ClientSession): Promise<{
|
|
211
|
-
userDoc: IUserDocument<
|
|
212
|
-
userMember: BackendMember<
|
|
213
|
-
adminMember: BackendMember<
|
|
234
|
+
userDoc: IUserDocument<TLanguage, TID>;
|
|
235
|
+
userMember: BackendMember<TID>;
|
|
236
|
+
adminMember: BackendMember<TID>;
|
|
214
237
|
}>;
|
|
215
238
|
/**
|
|
216
239
|
* Re-send a previously sent email token
|
|
@@ -316,8 +339,8 @@ export declare class UserService<T, I extends PlatformID, D extends Date, S exte
|
|
|
316
339
|
* @returns A promise with the user document and user member object
|
|
317
340
|
*/
|
|
318
341
|
verifyDirectLoginChallenge(serverSignedRequest: string, signature: string, username?: string, email?: string, session?: ClientSession): Promise<{
|
|
319
|
-
userDoc: IUserDocument<
|
|
320
|
-
userMember: BackendMember<
|
|
342
|
+
userDoc: IUserDocument<TLanguage, TID>;
|
|
343
|
+
userMember: BackendMember<TID>;
|
|
321
344
|
}>;
|
|
322
345
|
/**
|
|
323
346
|
* Request a login link via email
|
|
@@ -334,12 +357,12 @@ export declare class UserService<T, I extends PlatformID, D extends Date, S exte
|
|
|
334
357
|
* @param session The session to use for the query
|
|
335
358
|
* @returns The user document if the challenge is valid
|
|
336
359
|
*/
|
|
337
|
-
validateEmailLoginTokenChallenge(token: string, signature: string, session?: ClientSession): Promise<IUserDocument<
|
|
360
|
+
validateEmailLoginTokenChallenge(token: string, signature: string, session?: ClientSession): Promise<IUserDocument<TLanguage, TID>>;
|
|
338
361
|
/**
|
|
339
362
|
* Updates the user's last login time atomically
|
|
340
363
|
* @param userId - The ID of the user
|
|
341
364
|
* @returns void
|
|
342
365
|
*/
|
|
343
|
-
updateLastLogin(userId:
|
|
366
|
+
updateLastLogin(userId: TID): Promise<void>;
|
|
344
367
|
}
|
|
345
368
|
//# sourceMappingURL=user.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/user.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,YAAY,EACZ,YAAY,EACb,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,aAAa,EAEb,cAAc,EACf,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,MAAM,IAAI,aAAa,EACvB,YAAY,EAEZ,UAAU,EAEX,MAAM,iCAAiC,CAAC;AACzC,OAAO,EASL,cAAc,EAId,WAAW,EAKX,eAAe,EACf,UAAU,EACV,SAAS,EACT,QAAQ,EAYT,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAG5C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAG5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAKrC,qBAAa,WAAW,CACtB,CAAC,EACD,
|
|
1
|
+
{"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/user.ts"],"names":[],"mappings":"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"}
|
package/src/services/user.js
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Comprehensive user management service.
|
|
4
|
+
* Handles user authentication, registration, password management, email verification,
|
|
5
|
+
* mnemonic recovery, backup codes, and all user-related operations.
|
|
6
|
+
* @module services/user
|
|
7
|
+
*/
|
|
2
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
9
|
exports.UserService = void 0;
|
|
4
10
|
const tslib_1 = require("tslib");
|
|
@@ -19,6 +25,23 @@ const direct_login_token_1 = require("./direct-login-token");
|
|
|
19
25
|
const mnemonic_1 = require("./mnemonic");
|
|
20
26
|
const request_user_1 = require("./request-user");
|
|
21
27
|
const system_user_1 = require("./system-user");
|
|
28
|
+
/**
|
|
29
|
+
* Comprehensive service for user management and authentication.
|
|
30
|
+
* Provides methods for user creation, authentication (mnemonic/password/challenge),
|
|
31
|
+
* email verification, password reset, backup code recovery, and settings management.
|
|
32
|
+
* @template T - User document type
|
|
33
|
+
* @template TID - Platform ID type
|
|
34
|
+
* @template TDate - Date type
|
|
35
|
+
* @template TLanguage - String type for site language
|
|
36
|
+
* @template TAccountStatus - String type for account status
|
|
37
|
+
* @template _TEnvironment - Environment type
|
|
38
|
+
* @template _TConstants - Constants type
|
|
39
|
+
* @template _TBaseDocument - Base document type
|
|
40
|
+
* @template TUser - User base interface type
|
|
41
|
+
* @template TTokenRole - Token role interface type
|
|
42
|
+
* @template TApplication - Application interface type
|
|
43
|
+
* @extends {BaseService<TID, TApplication>}
|
|
44
|
+
*/
|
|
22
45
|
class UserService extends base_1.BaseService {
|
|
23
46
|
roleService;
|
|
24
47
|
eciesService;
|