@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,3 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Required string keys interface for i18n.
|
|
4
|
+
* Defines minimum required translation keys for the library.
|
|
5
|
+
* @module interfaces/required-string-keys
|
|
6
|
+
*/
|
|
2
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
8
|
//# sourceMappingURL=required-string-keys.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"required-string-keys.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/required-string-keys.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"required-string-keys.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/required-string-keys.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
|
|
@@ -1,10 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Schema interface for Mongoose model registration.
|
|
3
|
+
* Defines structure for schema map entries with models and discriminators.
|
|
4
|
+
* @module interfaces/schema
|
|
5
|
+
*/
|
|
1
6
|
import { Model, Schema } from '@digitaldefiance/mongoose-types';
|
|
2
7
|
import { IBaseDocument } from '../documents/base';
|
|
3
8
|
import { IDiscriminatorCollections } from '../interfaces/discriminator-collections';
|
|
9
|
+
import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
|
|
4
10
|
/**
|
|
5
|
-
* Interface for each schema in the schema map
|
|
11
|
+
* Interface for each schema in the schema map.
|
|
12
|
+
* Combines Mongoose schema, model, and collection metadata with optional discriminators.
|
|
13
|
+
* @template T - Document type extending IBaseDocument
|
|
6
14
|
*/
|
|
7
|
-
export interface ISchema<T extends IBaseDocument<any>> {
|
|
15
|
+
export interface ISchema<TID extends PlatformID, T extends IBaseDocument<any, TID>> {
|
|
8
16
|
/**
|
|
9
17
|
* The name of the collection, eg 'models'
|
|
10
18
|
*/
|
|
@@ -24,6 +32,6 @@ export interface ISchema<T extends IBaseDocument<any>> {
|
|
|
24
32
|
/**
|
|
25
33
|
* Discriminators for the model
|
|
26
34
|
*/
|
|
27
|
-
discriminators?: IDiscriminatorCollections<T>;
|
|
35
|
+
discriminators?: IDiscriminatorCollections<TID, T>;
|
|
28
36
|
}
|
|
29
37
|
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/schema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AACpF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAElE;;;;GAIG;AAEH,MAAM,WAAW,OAAO,CACtB,GAAG,SAAS,UAAU,EACtB,CAAC,SAAS,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC;IAEjC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IAEH,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAChB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,cAAc,CAAC,EAAE,yBAAyB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;CACpD"}
|
package/src/interfaces/schema.js
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Schema interface for Mongoose model registration.
|
|
4
|
+
* Defines structure for schema map entries with models and discriminators.
|
|
5
|
+
* @module interfaces/schema
|
|
6
|
+
*/
|
|
2
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
8
|
//# sourceMappingURL=schema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/schema.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/schema.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
|
|
@@ -1,35 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Server initialization result interface.
|
|
3
|
+
* Defines structure for test server initialization with admin, member, and system users.
|
|
4
|
+
* @module interfaces/server-init-result
|
|
5
|
+
*/
|
|
1
6
|
import { Member, PlatformID } from '@digitaldefiance/node-ecies-lib';
|
|
2
7
|
import { IRoleDocument } from '../documents/role';
|
|
3
8
|
import { IUserDocument } from '../documents/user';
|
|
4
9
|
import { IUserRoleDocument } from '../documents/user-role';
|
|
5
10
|
export type { IRoleDocument, IUserDocument, IUserRoleDocument };
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
11
|
+
/**
|
|
12
|
+
* Result of server initialization for testing.
|
|
13
|
+
* Contains admin, member, and system user accounts with credentials and roles.
|
|
14
|
+
* @template TID - Platform ID type (defaults to Buffer)
|
|
15
|
+
*/
|
|
16
|
+
export interface IServerInitResult<TID extends PlatformID = Buffer> {
|
|
17
|
+
adminRole: IRoleDocument<TID>;
|
|
18
|
+
adminUser: IUserDocument<string, TID>;
|
|
9
19
|
adminUsername: string;
|
|
10
20
|
adminEmail: string;
|
|
11
21
|
adminMnemonic: string;
|
|
12
22
|
adminPassword: string;
|
|
13
23
|
adminBackupCodes: Array<string>;
|
|
14
|
-
adminMember: Member<
|
|
15
|
-
adminUserRole: IUserRoleDocument<
|
|
16
|
-
memberRole: IRoleDocument<
|
|
17
|
-
memberUser: IUserDocument<string,
|
|
24
|
+
adminMember: Member<TID>;
|
|
25
|
+
adminUserRole: IUserRoleDocument<TID>;
|
|
26
|
+
memberRole: IRoleDocument<TID>;
|
|
27
|
+
memberUser: IUserDocument<string, TID>;
|
|
18
28
|
memberUsername: string;
|
|
19
29
|
memberEmail: string;
|
|
20
30
|
memberMnemonic: string;
|
|
21
31
|
memberPassword: string;
|
|
22
32
|
memberBackupCodes: Array<string>;
|
|
23
|
-
memberMember: Member<
|
|
24
|
-
memberUserRole: IUserRoleDocument<
|
|
25
|
-
systemRole: IRoleDocument<
|
|
26
|
-
systemUser: IUserDocument<string,
|
|
33
|
+
memberMember: Member<TID>;
|
|
34
|
+
memberUserRole: IUserRoleDocument<TID>;
|
|
35
|
+
systemRole: IRoleDocument<TID>;
|
|
36
|
+
systemUser: IUserDocument<string, TID>;
|
|
27
37
|
systemUsername: string;
|
|
28
38
|
systemEmail: string;
|
|
29
39
|
systemMnemonic: string;
|
|
30
40
|
systemPassword: string;
|
|
31
41
|
systemBackupCodes: Array<string>;
|
|
32
|
-
systemMember: Member<
|
|
33
|
-
systemUserRole: IUserRoleDocument<
|
|
42
|
+
systemMember: Member<TID>;
|
|
43
|
+
systemUserRole: IUserRoleDocument<TID>;
|
|
34
44
|
}
|
|
35
45
|
//# sourceMappingURL=server-init-result.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-init-result.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/server-init-result.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAG3D,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,CAAC;AAEhE,MAAM,WAAW,iBAAiB,CAAC,
|
|
1
|
+
{"version":3,"file":"server-init-result.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/server-init-result.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAG3D,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,CAAC;AAEhE;;;;GAIG;AACH,MAAM,WAAW,iBAAiB,CAAC,GAAG,SAAS,UAAU,GAAG,MAAM;IAChE,SAAS,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;IAC9B,SAAS,EAAE,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACtC,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IACzB,aAAa,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACtC,UAAU,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;IAC/B,UAAU,EAAE,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACvC,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACjC,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,cAAc,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACvC,UAAU,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;IAC/B,UAAU,EAAE,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACvC,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACjC,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,cAAc,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC;CACxC"}
|
|
@@ -1,3 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Server initialization result interface.
|
|
4
|
+
* Defines structure for test server initialization with admin, member, and system users.
|
|
5
|
+
* @module interfaces/server-init-result
|
|
6
|
+
*/
|
|
2
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
8
|
//# sourceMappingURL=server-init-result.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-init-result.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/server-init-result.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"server-init-result.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/server-init-result.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
|
|
@@ -1,4 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Status code response wrapper interface.
|
|
3
|
+
* Wraps API responses with HTTP status codes and optional headers.
|
|
4
|
+
* @module interfaces/status-code-response
|
|
5
|
+
*/
|
|
1
6
|
import { ApiResponse } from '../types';
|
|
7
|
+
/**
|
|
8
|
+
* HTTP response wrapper with status code and headers.
|
|
9
|
+
* @template T - API response type
|
|
10
|
+
* @property {number} statusCode - HTTP status code
|
|
11
|
+
* @property {T} response - Response payload
|
|
12
|
+
* @property {Record<string, string>} [headers] - Optional HTTP headers
|
|
13
|
+
*/
|
|
2
14
|
export interface IStatusCodeResponse<T extends ApiResponse> {
|
|
3
15
|
statusCode: number;
|
|
4
16
|
response: T;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status-code-response.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/status-code-response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,MAAM,WAAW,mBAAmB,CAAC,CAAC,SAAS,WAAW;IACxD,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,CAAC,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC"}
|
|
1
|
+
{"version":3,"file":"status-code-response.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/status-code-response.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB,CAAC,CAAC,SAAS,WAAW;IACxD,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,CAAC,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC"}
|
|
@@ -1,3 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Status code response wrapper interface.
|
|
4
|
+
* Wraps API responses with HTTP status codes and optional headers.
|
|
5
|
+
* @module interfaces/status-code-response
|
|
6
|
+
*/
|
|
2
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
8
|
//# sourceMappingURL=status-code-response.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status-code-response.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/status-code-response.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"status-code-response.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/status-code-response.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
|
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Symmetric encryption results interface.
|
|
3
|
+
* Defines structure for symmetric encryption operation results.
|
|
4
|
+
* @module interfaces/symmetric-encryption-results
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Results of symmetric encryption operation.
|
|
8
|
+
* @property {Buffer} encryptedData - Encrypted data buffer
|
|
9
|
+
* @property {Buffer} key - Encryption key used
|
|
10
|
+
*/
|
|
1
11
|
export interface ISymmetricEncryptionResults {
|
|
2
12
|
encryptedData: Buffer;
|
|
3
13
|
key: Buffer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symmetric-encryption-results.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/symmetric-encryption-results.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,2BAA2B;IAC1C,aAAa,EAAE,MAAM,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;CACb"}
|
|
1
|
+
{"version":3,"file":"symmetric-encryption-results.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/symmetric-encryption-results.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;GAIG;AACH,MAAM,WAAW,2BAA2B;IAC1C,aAAa,EAAE,MAAM,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;CACb"}
|
|
@@ -1,3 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Symmetric encryption results interface.
|
|
4
|
+
* Defines structure for symmetric encryption operation results.
|
|
5
|
+
* @module interfaces/symmetric-encryption-results
|
|
6
|
+
*/
|
|
2
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
8
|
//# sourceMappingURL=symmetric-encryption-results.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symmetric-encryption-results.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/symmetric-encryption-results.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"symmetric-encryption-results.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/symmetric-encryption-results.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
|
|
@@ -1,7 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Test environment interface.
|
|
3
|
+
* Defines structure for test environment with in-memory MongoDB and initialized accounts.
|
|
4
|
+
* @module interfaces/test-environment
|
|
5
|
+
*/
|
|
1
6
|
import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
|
|
2
7
|
import { MongoMemoryReplSet } from 'mongodb-memory-server';
|
|
3
8
|
import { IApplication } from './application';
|
|
4
9
|
import { IServerInitResult } from './server-init-result';
|
|
10
|
+
/**
|
|
11
|
+
* Test environment configuration.
|
|
12
|
+
* Contains application instance, in-memory MongoDB, and test account data.
|
|
13
|
+
* @template TID - Platform ID type (defaults to Buffer)
|
|
14
|
+
*/
|
|
5
15
|
export interface ITestEnvironment<TID extends PlatformID = Buffer> {
|
|
6
16
|
application: IApplication<TID>;
|
|
7
17
|
mongoServer: MongoMemoryReplSet;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-environment.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/test-environment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,WAAW,gBAAgB,CAAC,GAAG,SAAS,UAAU,GAAG,MAAM;IAC/D,WAAW,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;IAC/B,WAAW,EAAE,kBAAkB,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,EAAE,MAAM,CAAC;CAChB"}
|
|
1
|
+
{"version":3,"file":"test-environment.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/test-environment.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD;;;;GAIG;AACH,MAAM,WAAW,gBAAgB,CAAC,GAAG,SAAS,UAAU,GAAG,MAAM;IAC/D,WAAW,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;IAC/B,WAAW,EAAE,kBAAkB,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,EAAE,MAAM,CAAC;CAChB"}
|
|
@@ -1,3 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Test environment interface.
|
|
4
|
+
* Defines structure for test environment with in-memory MongoDB and initialized accounts.
|
|
5
|
+
* @module interfaces/test-environment
|
|
6
|
+
*/
|
|
2
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
8
|
//# sourceMappingURL=test-environment.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-environment.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/test-environment.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"test-environment.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/test-environment.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
|
|
@@ -1,4 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Token response interface for authentication.
|
|
3
|
+
* Extends API message response with JWT token.
|
|
4
|
+
* @module interfaces/token-response
|
|
5
|
+
*/
|
|
1
6
|
import { IApiMessageResponse } from './api-message-response';
|
|
7
|
+
/**
|
|
8
|
+
* API response containing authentication token.
|
|
9
|
+
* @extends IApiMessageResponse
|
|
10
|
+
* @property {string} token - JWT authentication token
|
|
11
|
+
*/
|
|
2
12
|
export interface IApiTokenResponse extends IApiMessageResponse {
|
|
3
13
|
token: string;
|
|
4
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-response.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/token-response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,MAAM,WAAW,iBAAkB,SAAQ,mBAAmB;IAC5D,KAAK,EAAE,MAAM,CAAC;CACf"}
|
|
1
|
+
{"version":3,"file":"token-response.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/token-response.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D;;;;GAIG;AACH,MAAM,WAAW,iBAAkB,SAAQ,mBAAmB;IAC5D,KAAK,EAAE,MAAM,CAAC;CACf"}
|
|
@@ -1,3 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Token response interface for authentication.
|
|
4
|
+
* Extends API message response with JWT token.
|
|
5
|
+
* @module interfaces/token-response
|
|
6
|
+
*/
|
|
2
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
8
|
//# sourceMappingURL=token-response.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-response.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/token-response.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"token-response.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/token-response.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
|
|
@@ -1,8 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Middleware initialization utilities.
|
|
3
|
+
* Configures Express middleware including Helmet, CORS, and body parsers.
|
|
4
|
+
* @module middleware-utils
|
|
5
|
+
*/
|
|
1
6
|
import cors from 'cors';
|
|
2
7
|
import { Application } from 'express';
|
|
3
8
|
import { HelmetOptions } from 'helmet';
|
|
4
9
|
import { ISimpleCSPDef } from './interfaces/csp-definition';
|
|
10
|
+
/**
|
|
11
|
+
* Creates a CORS options delegate function.
|
|
12
|
+
* @param {string[]} corsWhitelist - Array of allowed origins
|
|
13
|
+
* @returns {Function} CORS options delegate
|
|
14
|
+
*/
|
|
5
15
|
export declare const corsOptionsDelegate: (corsWhitelist: string[]) => (req: cors.CorsRequest, callback: (error: Error | null, options: cors.CorsOptions | undefined) => void) => void;
|
|
16
|
+
/**
|
|
17
|
+
* Type guard to check if object is HelmetOptions.
|
|
18
|
+
* @param {unknown} obj - Object to check
|
|
19
|
+
* @returns {boolean} True if object is HelmetOptions
|
|
20
|
+
*/
|
|
6
21
|
export declare const isHelmetOptions: (obj: unknown) => obj is HelmetOptions;
|
|
22
|
+
/**
|
|
23
|
+
* Initializes Express middleware stack.
|
|
24
|
+
* Configures Helmet for security headers, CORS, and body parsers.
|
|
25
|
+
* @param {Application} app - Express application instance
|
|
26
|
+
* @param {string[]} corsWhitelist - Array of allowed CORS origins
|
|
27
|
+
* @param {ISimpleCSPDef | HelmetOptions} csp - CSP configuration or Helmet options
|
|
28
|
+
* @throws {TranslatableSuiteError} If invalid CSP configuration provided
|
|
29
|
+
*/
|
|
7
30
|
export declare const initMiddleware: (app: Application, corsWhitelist: string[], csp: ISimpleCSPDef | HelmetOptions) => void;
|
|
8
31
|
//# sourceMappingURL=middleware-utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware-utils.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/middleware-utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"middleware-utils.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/middleware-utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EACL,WAAW,EAMZ,MAAM,SAAS,CAAC;AACjB,OAAe,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAkB,MAAM,6BAA6B,CAAC;AAE5E;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAI,eAAe,MAAM,EAAE,MAEvD,KAAK,IAAI,CAAC,WAAW,EACrB,UAAU,CACR,KAAK,EAAE,KAAK,GAAG,IAAI,EACnB,OAAO,EAAE,IAAI,CAAC,WAAW,GAAG,SAAS,KAClC,IAAI,SAoBZ,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,KAAK,OAAO,KAAG,GAAG,IAAI,aAYrD,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,GACzB,KAAK,WAAW,EAChB,eAAe,MAAM,EAAE,EACvB,KAAK,aAAa,GAAG,aAAa,KACjC,IAiDF,CAAC"}
|
package/src/middleware-utils.js
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Middleware initialization utilities.
|
|
4
|
+
* Configures Express middleware including Helmet, CORS, and body parsers.
|
|
5
|
+
* @module middleware-utils
|
|
6
|
+
*/
|
|
2
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
8
|
exports.initMiddleware = exports.isHelmetOptions = exports.corsOptionsDelegate = void 0;
|
|
4
9
|
const tslib_1 = require("tslib");
|
|
@@ -8,6 +13,11 @@ const crypto_1 = require("crypto");
|
|
|
8
13
|
const express_1 = require("express");
|
|
9
14
|
const helmet_1 = tslib_1.__importDefault(require("helmet"));
|
|
10
15
|
const csp_definition_1 = require("./interfaces/csp-definition");
|
|
16
|
+
/**
|
|
17
|
+
* Creates a CORS options delegate function.
|
|
18
|
+
* @param {string[]} corsWhitelist - Array of allowed origins
|
|
19
|
+
* @returns {Function} CORS options delegate
|
|
20
|
+
*/
|
|
11
21
|
const corsOptionsDelegate = (corsWhitelist) => {
|
|
12
22
|
return (req, callback) => {
|
|
13
23
|
let corsOptions;
|
|
@@ -30,6 +40,11 @@ const corsOptionsDelegate = (corsWhitelist) => {
|
|
|
30
40
|
};
|
|
31
41
|
};
|
|
32
42
|
exports.corsOptionsDelegate = corsOptionsDelegate;
|
|
43
|
+
/**
|
|
44
|
+
* Type guard to check if object is HelmetOptions.
|
|
45
|
+
* @param {unknown} obj - Object to check
|
|
46
|
+
* @returns {boolean} True if object is HelmetOptions
|
|
47
|
+
*/
|
|
33
48
|
const isHelmetOptions = (obj) => {
|
|
34
49
|
// A very basic check; in real scenarios, you might want to be more thorough
|
|
35
50
|
return !!(obj &&
|
|
@@ -42,6 +57,14 @@ const isHelmetOptions = (obj) => {
|
|
|
42
57
|
'referrerPolicy' in obj));
|
|
43
58
|
};
|
|
44
59
|
exports.isHelmetOptions = isHelmetOptions;
|
|
60
|
+
/**
|
|
61
|
+
* Initializes Express middleware stack.
|
|
62
|
+
* Configures Helmet for security headers, CORS, and body parsers.
|
|
63
|
+
* @param {Application} app - Express application instance
|
|
64
|
+
* @param {string[]} corsWhitelist - Array of allowed CORS origins
|
|
65
|
+
* @param {ISimpleCSPDef | HelmetOptions} csp - CSP configuration or Helmet options
|
|
66
|
+
* @throws {TranslatableSuiteError} If invalid CSP configuration provided
|
|
67
|
+
*/
|
|
45
68
|
const initMiddleware = (app, corsWhitelist, csp) => {
|
|
46
69
|
// Helmet helps you secure your Express apps by setting various HTTP headers
|
|
47
70
|
// CSP nonce
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware-utils.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/middleware-utils.ts"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"middleware-utils.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/middleware-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Cryptographic authentication middleware for operations requiring private keys.
|
|
3
|
+
* Validates mnemonic or password to unlock user's private key for sensitive operations.
|
|
4
|
+
* @module middlewares/authenticate-crypto
|
|
5
|
+
*/
|
|
1
6
|
import { PlatformID } from '@digitaldefiance/node-ecies-lib';
|
|
2
7
|
import { AccountStatus } from '@digitaldefiance/suite-core-lib';
|
|
3
8
|
import { NextFunction, Request, Response } from 'express';
|
|
4
9
|
import { IApplication } from '../interfaces/application';
|
|
5
10
|
/**
|
|
6
|
-
*
|
|
7
|
-
*
|
|
11
|
+
* Express middleware for cryptographic authentication.
|
|
12
|
+
* Requires mnemonic or password in request body to unlock user's private key.
|
|
13
|
+
* Attaches authenticated BackendMember with private key to req.eciesUser.
|
|
14
|
+
* Used for operations requiring cryptographic signing or decryption.
|
|
15
|
+
* @template TID - Platform ID type (defaults to Buffer)
|
|
16
|
+
* @template TAccountStatus - Account status type (defaults to AccountStatus)
|
|
17
|
+
* @param {IApplication<TID>} application - Application instance
|
|
18
|
+
* @param {Request} req - Express request object
|
|
19
|
+
* @param {Response} res - Express response object
|
|
20
|
+
* @param {NextFunction} next - Express next function
|
|
21
|
+
* @param {TAccountStatus} [activeStatusValue] - Expected active account status
|
|
22
|
+
* @returns {Promise<Response | void>} Response or void if successful
|
|
23
|
+
* @throws {InvalidCredentialsError} When credentials are invalid
|
|
24
|
+
* @throws {InvalidPasswordError} When password is incorrect
|
|
8
25
|
*/
|
|
9
|
-
export declare function authenticateCrypto<
|
|
26
|
+
export declare function authenticateCrypto<TID extends PlatformID = Buffer, TAccountStatus extends string = AccountStatus>(application: IApplication<TID>, req: Request, res: Response, next: NextFunction, activeStatusValue?: TAccountStatus): Promise<Response | void>;
|
|
10
27
|
//# sourceMappingURL=authenticate-crypto.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authenticate-crypto.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/middlewares/authenticate-crypto.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"authenticate-crypto.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/middlewares/authenticate-crypto.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAEL,UAAU,EACX,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,aAAa,EAId,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAK1D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,SAAS,UAAU,GAAG,MAAM,EAC/B,cAAc,SAAS,MAAM,GAAG,aAAa,EAE7C,WAAW,EAAE,YAAY,CAAC,GAAG,CAAC,EAC9B,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,YAAY,EAClB,iBAAiB,GAAE,cAAuD,GACzE,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAyL1B"}
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Cryptographic authentication middleware for operations requiring private keys.
|
|
4
|
+
* Validates mnemonic or password to unlock user's private key for sensitive operations.
|
|
5
|
+
* @module middlewares/authenticate-crypto
|
|
6
|
+
*/
|
|
2
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
8
|
exports.authenticateCrypto = authenticateCrypto;
|
|
4
9
|
const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
|
|
@@ -8,8 +13,20 @@ const enumerations_1 = require("../enumerations");
|
|
|
8
13
|
const errors_1 = require("../errors");
|
|
9
14
|
const utils_1 = require("../utils");
|
|
10
15
|
/**
|
|
11
|
-
*
|
|
12
|
-
*
|
|
16
|
+
* Express middleware for cryptographic authentication.
|
|
17
|
+
* Requires mnemonic or password in request body to unlock user's private key.
|
|
18
|
+
* Attaches authenticated BackendMember with private key to req.eciesUser.
|
|
19
|
+
* Used for operations requiring cryptographic signing or decryption.
|
|
20
|
+
* @template TID - Platform ID type (defaults to Buffer)
|
|
21
|
+
* @template TAccountStatus - Account status type (defaults to AccountStatus)
|
|
22
|
+
* @param {IApplication<TID>} application - Application instance
|
|
23
|
+
* @param {Request} req - Express request object
|
|
24
|
+
* @param {Response} res - Express response object
|
|
25
|
+
* @param {NextFunction} next - Express next function
|
|
26
|
+
* @param {TAccountStatus} [activeStatusValue] - Expected active account status
|
|
27
|
+
* @returns {Promise<Response | void>} Response or void if successful
|
|
28
|
+
* @throws {InvalidCredentialsError} When credentials are invalid
|
|
29
|
+
* @throws {InvalidPasswordError} When password is incorrect
|
|
13
30
|
*/
|
|
14
31
|
async function authenticateCrypto(application, req, res, next, activeStatusValue = suite_core_lib_1.AccountStatus.Active) {
|
|
15
32
|
if (!req.user) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authenticate-crypto.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/middlewares/authenticate-crypto.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"authenticate-crypto.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/middlewares/authenticate-crypto.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview JWT token authentication middleware.
|
|
3
|
+
* Validates bearer tokens, loads user data, and sets up request context.
|
|
4
|
+
* @module middlewares/authenticate-token
|
|
5
|
+
*/
|
|
1
6
|
import { ITokenRole, ITokenUser } from '@digitaldefiance/suite-core-lib';
|
|
2
7
|
import { NextFunction, Request, Response } from 'express';
|
|
3
8
|
import { IncomingHttpHeaders } from 'http';
|
|
4
9
|
import { IApplication } from '../interfaces/application';
|
|
5
10
|
import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
|
|
6
11
|
/**
|
|
7
|
-
*
|
|
8
|
-
* @param headers
|
|
9
|
-
* @returns
|
|
12
|
+
* Extracts bearer token from HTTP request headers.
|
|
13
|
+
* @param {IncomingHttpHeaders} headers - HTTP request headers
|
|
14
|
+
* @returns {string | null} Bearer token if found, null otherwise
|
|
10
15
|
*/
|
|
11
16
|
export declare function findAuthToken(headers: IncomingHttpHeaders): string | null;
|
|
12
17
|
/**
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* @
|
|
17
|
-
* @
|
|
18
|
-
* @
|
|
18
|
+
* Express middleware for JWT token authentication.
|
|
19
|
+
* Validates token, loads user from database, checks account status,
|
|
20
|
+
* and populates req.user with authenticated user data.
|
|
21
|
+
* @template TID - Platform ID type (defaults to Buffer)
|
|
22
|
+
* @template D - Date type (defaults to Date)
|
|
23
|
+
* @template TTokenRole - Token role interface type
|
|
24
|
+
* @template TTokenUser - Token user interface type
|
|
25
|
+
* @template TApplication - Application interface type
|
|
26
|
+
* @param {TApplication} application - Application instance
|
|
27
|
+
* @param {Request} req - Express request object
|
|
28
|
+
* @param {Response} res - Express response object
|
|
29
|
+
* @param {NextFunction} next - Express next function
|
|
30
|
+
* @returns {Promise<Response>} Response object
|
|
31
|
+
* @throws {TokenExpiredError} When token has expired
|
|
19
32
|
*/
|
|
20
|
-
export declare function authenticateToken<
|
|
33
|
+
export declare function authenticateToken<TID extends PlatformID = Buffer, D extends Date = Date, TTokenRole extends ITokenRole<TID, D> = ITokenRole<TID, D>, TTokenUser extends ITokenUser = ITokenUser, TApplication extends IApplication<TID> = IApplication<TID>>(application: TApplication, req: Request, res: Response, next: NextFunction): Promise<Response>;
|
|
21
34
|
//# sourceMappingURL=authenticate-token.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authenticate-token.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/middlewares/authenticate-token.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"authenticate-token.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/middlewares/authenticate-token.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAGL,UAAU,EACV,UAAU,EAEX,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,MAAM,CAAC;AAI3C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAKzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAalE;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,GAAG,IAAI,CASzE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,SAAS,UAAU,GAAG,MAAM,EAC/B,CAAC,SAAS,IAAI,GAAG,IAAI,EACrB,UAAU,SAAS,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,EAC1D,UAAU,SAAS,UAAU,GAAG,UAAU,EAC1C,YAAY,SAAS,YAAY,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,EAE1D,WAAW,EAAE,YAAY,EACzB,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,QAAQ,CAAC,CAkFnB"}
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview JWT token authentication middleware.
|
|
4
|
+
* Validates bearer tokens, loads user data, and sets up request context.
|
|
5
|
+
* @module middlewares/authenticate-token
|
|
6
|
+
*/
|
|
2
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
8
|
exports.findAuthToken = findAuthToken;
|
|
4
9
|
exports.authenticateToken = authenticateToken;
|
|
@@ -18,9 +23,9 @@ function createTimezone(tz) {
|
|
|
18
23
|
return new TimezoneConstructor(tz);
|
|
19
24
|
}
|
|
20
25
|
/**
|
|
21
|
-
*
|
|
22
|
-
* @param headers
|
|
23
|
-
* @returns
|
|
26
|
+
* Extracts bearer token from HTTP request headers.
|
|
27
|
+
* @param {IncomingHttpHeaders} headers - HTTP request headers
|
|
28
|
+
* @returns {string | null} Bearer token if found, null otherwise
|
|
24
29
|
*/
|
|
25
30
|
function findAuthToken(headers) {
|
|
26
31
|
const authHeader = headers['Authorization'] || headers['authorization'];
|
|
@@ -33,12 +38,20 @@ function findAuthToken(headers) {
|
|
|
33
38
|
return null;
|
|
34
39
|
}
|
|
35
40
|
/**
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
* @
|
|
40
|
-
* @
|
|
41
|
-
* @
|
|
41
|
+
* Express middleware for JWT token authentication.
|
|
42
|
+
* Validates token, loads user from database, checks account status,
|
|
43
|
+
* and populates req.user with authenticated user data.
|
|
44
|
+
* @template TID - Platform ID type (defaults to Buffer)
|
|
45
|
+
* @template D - Date type (defaults to Date)
|
|
46
|
+
* @template TTokenRole - Token role interface type
|
|
47
|
+
* @template TTokenUser - Token user interface type
|
|
48
|
+
* @template TApplication - Application interface type
|
|
49
|
+
* @param {TApplication} application - Application instance
|
|
50
|
+
* @param {Request} req - Express request object
|
|
51
|
+
* @param {Response} res - Express response object
|
|
52
|
+
* @param {NextFunction} next - Express next function
|
|
53
|
+
* @returns {Promise<Response>} Response object
|
|
54
|
+
* @throws {TokenExpiredError} When token has expired
|
|
42
55
|
*/
|
|
43
56
|
async function authenticateToken(application, req, res, next) {
|
|
44
57
|
const UserModel = application.getModel(base_model_name_1.BaseModelName.User);
|