@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
package/src/services/checksum.js
CHANGED
|
@@ -1,12 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Service for calculating and validating SHA3-512 checksums.
|
|
4
|
+
* Provides checksum operations for buffers, strings, files, and streams.
|
|
5
|
+
* @module services/checksum
|
|
6
|
+
*/
|
|
2
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
8
|
exports.ChecksumService = void 0;
|
|
4
9
|
const crypto_1 = require("crypto");
|
|
5
10
|
const fs_1 = require("fs");
|
|
6
11
|
const constants_1 = require("../constants");
|
|
12
|
+
/**
|
|
13
|
+
* Service for calculating and validating SHA3-512 checksums.
|
|
14
|
+
* Supports multiple input types including buffers, strings, files, and streams.
|
|
15
|
+
*/
|
|
7
16
|
class ChecksumService {
|
|
17
|
+
/** Checksum configuration (algorithm and encoding) */
|
|
8
18
|
config;
|
|
19
|
+
/** Checksum constants (buffer lengths and defaults) */
|
|
9
20
|
constants;
|
|
21
|
+
/**
|
|
22
|
+
* Creates a new checksum service instance.
|
|
23
|
+
* @param config Optional configuration overrides
|
|
24
|
+
* @param constants Checksum constants (defaults to CHECKSUM)
|
|
25
|
+
*/
|
|
10
26
|
constructor(config, constants = constants_1.CHECKSUM) {
|
|
11
27
|
this.config = {
|
|
12
28
|
algorithm: constants.ALGORITHM,
|
|
@@ -16,9 +32,9 @@ class ChecksumService {
|
|
|
16
32
|
this.constants = constants;
|
|
17
33
|
}
|
|
18
34
|
/**
|
|
19
|
-
*
|
|
20
|
-
* @param data
|
|
21
|
-
* @returns
|
|
35
|
+
* Calculates a checksum for a buffer.
|
|
36
|
+
* @param data Buffer to calculate checksum for
|
|
37
|
+
* @returns Checksum as a Buffer
|
|
22
38
|
*/
|
|
23
39
|
calculateChecksum(data) {
|
|
24
40
|
const hash = (0, crypto_1.createHash)(this.config.algorithm);
|
|
@@ -27,9 +43,9 @@ class ChecksumService {
|
|
|
27
43
|
return Buffer.from(digest);
|
|
28
44
|
}
|
|
29
45
|
/**
|
|
30
|
-
*
|
|
31
|
-
* @param buffers
|
|
32
|
-
* @returns
|
|
46
|
+
* Calculates a checksum for multiple buffers.
|
|
47
|
+
* @param buffers Array of buffers to calculate checksum for
|
|
48
|
+
* @returns Checksum as a Buffer
|
|
33
49
|
*/
|
|
34
50
|
calculateChecksumForBuffers(buffers) {
|
|
35
51
|
const hash = (0, crypto_1.createHash)(this.config.algorithm);
|
|
@@ -40,18 +56,18 @@ class ChecksumService {
|
|
|
40
56
|
return Buffer.from(digest);
|
|
41
57
|
}
|
|
42
58
|
/**
|
|
43
|
-
*
|
|
44
|
-
* @param str
|
|
45
|
-
* @returns
|
|
59
|
+
* Calculates a checksum for a UTF-8 string.
|
|
60
|
+
* @param str String to calculate checksum for
|
|
61
|
+
* @returns Checksum as a Buffer
|
|
46
62
|
*/
|
|
47
63
|
calculateChecksumForString(str) {
|
|
48
64
|
return this.calculateChecksum(Buffer.from(str, 'utf8'));
|
|
49
65
|
}
|
|
50
66
|
/**
|
|
51
|
-
*
|
|
52
|
-
* @param checksum1
|
|
53
|
-
* @param checksum2
|
|
54
|
-
* @returns True if
|
|
67
|
+
* Compares two checksums for equality.
|
|
68
|
+
* @param checksum1 First checksum
|
|
69
|
+
* @param checksum2 Second checksum
|
|
70
|
+
* @returns True if checksums are equal, false otherwise
|
|
55
71
|
*/
|
|
56
72
|
compareChecksums(checksum1, checksum2) {
|
|
57
73
|
if (checksum1.length !== this.constants.SHA3_BUFFER_LENGTH ||
|
|
@@ -61,17 +77,18 @@ class ChecksumService {
|
|
|
61
77
|
return checksum1.equals(new Uint8Array(checksum2));
|
|
62
78
|
}
|
|
63
79
|
/**
|
|
64
|
-
*
|
|
65
|
-
* @param checksum
|
|
66
|
-
* @returns
|
|
80
|
+
* Converts a checksum buffer to a hex string.
|
|
81
|
+
* @param checksum Checksum buffer
|
|
82
|
+
* @returns Checksum as a hex string
|
|
67
83
|
*/
|
|
68
84
|
checksumToHexString(checksum) {
|
|
69
85
|
return checksum.toString(this.constants.ENCODING);
|
|
70
86
|
}
|
|
71
87
|
/**
|
|
72
|
-
*
|
|
73
|
-
* @param hexString
|
|
74
|
-
* @returns
|
|
88
|
+
* Converts a hex string to a checksum buffer.
|
|
89
|
+
* @param hexString Hex string to convert
|
|
90
|
+
* @returns Checksum as a Buffer
|
|
91
|
+
* @throws {Error} If hex string length is invalid
|
|
75
92
|
*/
|
|
76
93
|
hexStringToChecksum(hexString) {
|
|
77
94
|
if (hexString.length !== this.constants.SHA3_BUFFER_LENGTH * 2) {
|
|
@@ -80,17 +97,18 @@ class ChecksumService {
|
|
|
80
97
|
return Buffer.from(hexString, this.constants.ENCODING);
|
|
81
98
|
}
|
|
82
99
|
/**
|
|
83
|
-
*
|
|
84
|
-
* @param checksum
|
|
85
|
-
* @returns True if
|
|
100
|
+
* Validates a checksum buffer length.
|
|
101
|
+
* @param checksum Checksum buffer to validate
|
|
102
|
+
* @returns True if checksum length is valid, false otherwise
|
|
86
103
|
*/
|
|
87
104
|
validateChecksum(checksum) {
|
|
88
105
|
return checksum.length === this.constants.SHA3_BUFFER_LENGTH;
|
|
89
106
|
}
|
|
90
107
|
/**
|
|
91
|
-
*
|
|
92
|
-
* @param filePath
|
|
93
|
-
* @returns
|
|
108
|
+
* Calculates a checksum for a file.
|
|
109
|
+
* @param filePath Path to the file
|
|
110
|
+
* @returns Promise resolving to checksum as a Buffer
|
|
111
|
+
* @throws {Error} If file cannot be read
|
|
94
112
|
*/
|
|
95
113
|
async calculateChecksumForFile(filePath) {
|
|
96
114
|
// Removed dynamic import by using the data service to read file data
|
|
@@ -100,7 +118,10 @@ class ChecksumService {
|
|
|
100
118
|
return this.calculateChecksum(buffer);
|
|
101
119
|
}
|
|
102
120
|
/**
|
|
103
|
-
* Internal file reading method
|
|
121
|
+
* Internal file reading method using fs.promises.
|
|
122
|
+
* @param filePath Path to the file
|
|
123
|
+
* @returns Promise resolving to file contents as Buffer
|
|
124
|
+
* @throws {Error} If file cannot be read
|
|
104
125
|
* @private
|
|
105
126
|
*/
|
|
106
127
|
async readFile(filePath) {
|
|
@@ -114,9 +135,9 @@ class ChecksumService {
|
|
|
114
135
|
}
|
|
115
136
|
}
|
|
116
137
|
/**
|
|
117
|
-
*
|
|
118
|
-
* @param stream
|
|
119
|
-
* @returns
|
|
138
|
+
* Calculates a checksum for a readable stream.
|
|
139
|
+
* @param stream Readable stream to calculate checksum for
|
|
140
|
+
* @returns Promise resolving to checksum as a Buffer
|
|
120
141
|
*/
|
|
121
142
|
calculateChecksumForStream(stream) {
|
|
122
143
|
return new Promise((resolve, reject) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checksum.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/checksum.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"checksum.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/checksum.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Service for initializing the database with default users, roles, and relationships.
|
|
3
|
+
* Handles creation of system, admin, and member users with encrypted credentials and backup codes.
|
|
4
|
+
* @module services/database-initialization
|
|
5
|
+
*/
|
|
1
6
|
import { EmailString, MemberType, SecureString } from '@digitaldefiance/ecies-lib';
|
|
2
7
|
import { Connection } from '@digitaldefiance/mongoose-types';
|
|
3
8
|
import { Member as BackendMember, ECIESService, PlatformID } from '@digitaldefiance/node-ecies-lib';
|
|
@@ -10,88 +15,109 @@ import { KeyWrappingService } from '../services/key-wrapping';
|
|
|
10
15
|
import { BackupCodeService } from './backup-code';
|
|
11
16
|
import { MnemonicService } from './mnemonic';
|
|
12
17
|
import { RoleService } from './role';
|
|
18
|
+
/**
|
|
19
|
+
* Service for initializing the database with default users, roles, and relationships.
|
|
20
|
+
* Manages creation of system, admin, and member accounts with encrypted credentials.
|
|
21
|
+
*/
|
|
13
22
|
export declare abstract class DatabaseInitializationService {
|
|
23
|
+
/**
|
|
24
|
+
* Static initialization state management to prevent concurrent initialization.
|
|
25
|
+
* @private
|
|
26
|
+
*/
|
|
14
27
|
protected static initializationPromises: Map<string, Promise<IFailableResult<IServerInitResult<Buffer<ArrayBufferLike>>>>>;
|
|
28
|
+
/** Initialization lock to prevent race conditions */
|
|
15
29
|
protected static initializationLock: Map<string, boolean>;
|
|
30
|
+
/**
|
|
31
|
+
* Default i18n translation function for database initialization messages.
|
|
32
|
+
* @param str String key to translate
|
|
33
|
+
* @param variables Template variables
|
|
34
|
+
* @param language Target language
|
|
35
|
+
* @param application Application instance
|
|
36
|
+
* @returns Translated string
|
|
37
|
+
*/
|
|
16
38
|
protected static defaultI18nTFunc(str: string, variables?: Record<string, unknown>, language?: string, application?: IApplication): string;
|
|
17
39
|
/**
|
|
18
|
-
*
|
|
19
|
-
* @
|
|
20
|
-
* @param
|
|
21
|
-
* @
|
|
40
|
+
* Gets the mnemonic or generates a new one if not present.
|
|
41
|
+
* @template TID Platform-specific ID type
|
|
42
|
+
* @param mnemonic Existing mnemonic or undefined
|
|
43
|
+
* @param eciesService ECIES service to generate a new mnemonic
|
|
44
|
+
* @returns Existing or new mnemonic
|
|
22
45
|
*/
|
|
23
|
-
static mnemonicOrNew<
|
|
46
|
+
static mnemonicOrNew<TID extends PlatformID = Buffer>(mnemonic: SecureString | undefined, eciesService: ECIESService<TID>): SecureString;
|
|
24
47
|
/**
|
|
25
|
-
*
|
|
26
|
-
* @
|
|
27
|
-
* @param
|
|
28
|
-
* @param
|
|
29
|
-
* @param
|
|
30
|
-
* @
|
|
48
|
+
* Generates a cache key for a user based on their details.
|
|
49
|
+
* @template TID Platform-specific ID type
|
|
50
|
+
* @param username Username
|
|
51
|
+
* @param email Email address
|
|
52
|
+
* @param mnemonic Mnemonic
|
|
53
|
+
* @param id User ID
|
|
54
|
+
* @returns Generated cache key as hex string
|
|
31
55
|
*/
|
|
32
|
-
static cacheKey<
|
|
56
|
+
static cacheKey<TID extends PlatformID = Buffer>(username: string, email: EmailString, mnemonic: SecureString, id: TID): string;
|
|
33
57
|
/**
|
|
34
|
-
*
|
|
35
|
-
* @
|
|
36
|
-
* @param
|
|
37
|
-
* @param
|
|
38
|
-
* @param
|
|
39
|
-
* @param
|
|
58
|
+
* Gets a cached BackendMember or creates a new one if not cached.
|
|
59
|
+
* @template TID Platform-specific ID type
|
|
60
|
+
* @param username Username
|
|
61
|
+
* @param email Email address
|
|
62
|
+
* @param mnemonic Mnemonic or undefined to generate a new one
|
|
63
|
+
* @param memberType Type of member (Admin, Member, System)
|
|
64
|
+
* @param eciesService ECIES service to handle key generation
|
|
40
65
|
* @param memberId Optional specific member ID to use
|
|
41
66
|
* @param createdBy Optional ID of the user who created this member
|
|
42
|
-
* @returns
|
|
67
|
+
* @returns Cached or newly created BackendMember and the mnemonic used
|
|
43
68
|
*/
|
|
44
|
-
static cacheOrNew<
|
|
45
|
-
member: BackendMember<
|
|
69
|
+
static cacheOrNew<TID extends PlatformID = Buffer>(username: string, email: EmailString, mnemonic: SecureString | undefined, memberType: MemberType, eciesService: ECIESService<TID>, memberId?: TID, createdBy?: TID): {
|
|
70
|
+
member: BackendMember<TID>;
|
|
46
71
|
mnemonic: SecureString;
|
|
47
72
|
};
|
|
48
73
|
/**
|
|
49
|
-
*
|
|
50
|
-
* @param length
|
|
51
|
-
* @returns
|
|
74
|
+
* Generates a random password meeting security requirements.
|
|
75
|
+
* @param length Length of the password
|
|
76
|
+
* @returns Generated password string
|
|
52
77
|
*/
|
|
53
78
|
static generatePassword(length: number): string;
|
|
54
79
|
/**
|
|
55
|
-
* Drops the database
|
|
56
|
-
* @param connection
|
|
80
|
+
* Drops the database.
|
|
81
|
+
* @param connection Database connection
|
|
57
82
|
* @returns True if the database was dropped, false if not connected
|
|
58
83
|
*/
|
|
59
84
|
static dropDatabase(connection: Connection): Promise<boolean>;
|
|
60
|
-
static getInitOptions<
|
|
61
|
-
adminId?:
|
|
85
|
+
static getInitOptions<TID extends PlatformID = Buffer>(application: IApplication<TID>): {
|
|
86
|
+
adminId?: TID;
|
|
62
87
|
adminMnemonic?: SecureString;
|
|
63
88
|
adminPassword?: SecureString;
|
|
64
|
-
adminRoleId?:
|
|
65
|
-
adminUserRoleId?:
|
|
89
|
+
adminRoleId?: TID;
|
|
90
|
+
adminUserRoleId?: TID;
|
|
66
91
|
adminBackupCodes?: BackupCode[];
|
|
67
|
-
memberId?:
|
|
92
|
+
memberId?: TID;
|
|
68
93
|
memberMnemonic?: SecureString;
|
|
69
94
|
memberPassword?: SecureString;
|
|
70
|
-
memberRoleId?:
|
|
71
|
-
memberUserRoleId?:
|
|
95
|
+
memberRoleId?: TID;
|
|
96
|
+
memberUserRoleId?: TID;
|
|
72
97
|
memberBackupCodes?: BackupCode[];
|
|
73
|
-
systemId?:
|
|
98
|
+
systemId?: TID;
|
|
74
99
|
systemMnemonic?: SecureString;
|
|
75
100
|
systemPassword?: SecureString;
|
|
76
|
-
systemRoleId?:
|
|
77
|
-
systemUserRoleId?:
|
|
101
|
+
systemRoleId?: TID;
|
|
102
|
+
systemUserRoleId?: TID;
|
|
78
103
|
systemBackupCodes?: BackupCode[];
|
|
79
104
|
};
|
|
80
|
-
static serverInitResultHash<
|
|
105
|
+
static serverInitResultHash<TID extends PlatformID = Buffer>(serverInitResult: IServerInitResult<TID>): string;
|
|
81
106
|
/**
|
|
82
|
-
*
|
|
83
|
-
* @
|
|
84
|
-
* @param
|
|
85
|
-
* @param
|
|
86
|
-
* @param
|
|
87
|
-
* @param
|
|
88
|
-
* @param
|
|
89
|
-
* @
|
|
107
|
+
* Initializes the user database with default users and roles using dependency injection.
|
|
108
|
+
* @template TID Platform-specific ID type
|
|
109
|
+
* @param application Application instance
|
|
110
|
+
* @param keyWrappingService Key wrapping service
|
|
111
|
+
* @param mnemonicService Mnemonic service
|
|
112
|
+
* @param eciesService ECIES service
|
|
113
|
+
* @param roleService Role service
|
|
114
|
+
* @param backupCodeService Backup code service
|
|
115
|
+
* @returns Result of the initialization
|
|
90
116
|
*/
|
|
91
|
-
static initUserDbWithServices<
|
|
92
|
-
static serverInitResultsToDotEnv<
|
|
93
|
-
static printServerInitResults<
|
|
94
|
-
static setEnvFromInitResults<
|
|
117
|
+
static initUserDbWithServices<TID extends PlatformID = Buffer>(application: IApplication<TID>, keyWrappingService: KeyWrappingService, mnemonicService: MnemonicService<TID>, eciesService: ECIESService<TID>, roleService: RoleService<TID>, backupCodeService: BackupCodeService<TID>): Promise<IDBInitResult<IServerInitResult<TID>>>;
|
|
118
|
+
static serverInitResultsToDotEnv<TID extends PlatformID = Buffer>(serverInitResult: IServerInitResult<TID>): string;
|
|
119
|
+
static printServerInitResults<TID extends PlatformID = Buffer>(result: IServerInitResult<TID>, printDotEnv?: boolean): void;
|
|
120
|
+
static setEnvFromInitResults<TID extends PlatformID = Buffer>(result: IServerInitResult<TID>): void;
|
|
95
121
|
/**
|
|
96
122
|
* Write initialization results to a .env file
|
|
97
123
|
* Updates or adds the credential variables in the specified .env file
|
|
@@ -99,13 +125,14 @@ export declare abstract class DatabaseInitializationService {
|
|
|
99
125
|
* @param result The initialization results containing credentials
|
|
100
126
|
* @param idToString Function to convert IDs to strings
|
|
101
127
|
*/
|
|
102
|
-
static writeEnvFile<
|
|
128
|
+
static writeEnvFile<TID extends PlatformID = Buffer>(envFilePath: string, result: IServerInitResult<TID>): void;
|
|
103
129
|
/**
|
|
104
|
-
*
|
|
105
|
-
*
|
|
106
|
-
* @
|
|
107
|
-
* @
|
|
130
|
+
* Initializes the user database with default users and roles (convenience method).
|
|
131
|
+
* Creates necessary services and calls initUserDbWithServices.
|
|
132
|
+
* @template TID Platform-specific ID type
|
|
133
|
+
* @param application Application instance
|
|
134
|
+
* @returns Result of the initialization
|
|
108
135
|
*/
|
|
109
|
-
static initUserDb<
|
|
136
|
+
static initUserDb<TID extends PlatformID = Buffer>(application: IApplication<TID>): Promise<IFailableResult<IServerInitResult<TID>>>;
|
|
110
137
|
}
|
|
111
138
|
//# sourceMappingURL=database-initialization.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database-initialization.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/database-initialization.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,EAEX,UAAU,EAEV,YAAY,EAEb,MAAM,4BAA4B,CAAC;AAKpC,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EACL,MAAM,IAAI,aAAa,EACvB,YAAY,EAEZ,UAAU,EACX,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAGL,eAAe,EAKhB,MAAM,iCAAiC,CAAC;AAKzC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAO5C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAErE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAGrC,8BAAsB,6BAA6B;
|
|
1
|
+
{"version":3,"file":"database-initialization.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/database-initialization.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Service for initializing the database with default users, roles, and relationships.
|
|
4
|
+
* Handles creation of system, admin, and member users with encrypted credentials and backup codes.
|
|
5
|
+
* @module services/database-initialization
|
|
6
|
+
*/
|
|
2
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
8
|
exports.DatabaseInitializationService = void 0;
|
|
4
9
|
const tslib_1 = require("tslib");
|
|
@@ -19,19 +24,36 @@ const backup_code_2 = require("./backup-code");
|
|
|
19
24
|
const mnemonic_1 = require("./mnemonic");
|
|
20
25
|
const role_1 = require("./role");
|
|
21
26
|
const system_user_1 = require("./system-user");
|
|
27
|
+
/**
|
|
28
|
+
* Service for initializing the database with default users, roles, and relationships.
|
|
29
|
+
* Manages creation of system, admin, and member accounts with encrypted credentials.
|
|
30
|
+
*/
|
|
22
31
|
class DatabaseInitializationService {
|
|
23
|
-
|
|
32
|
+
/**
|
|
33
|
+
* Static initialization state management to prevent concurrent initialization.
|
|
34
|
+
* @private
|
|
35
|
+
*/
|
|
24
36
|
static initializationPromises = new Map();
|
|
37
|
+
/** Initialization lock to prevent race conditions */
|
|
25
38
|
static initializationLock = new Map();
|
|
39
|
+
/**
|
|
40
|
+
* Default i18n translation function for database initialization messages.
|
|
41
|
+
* @param str String key to translate
|
|
42
|
+
* @param variables Template variables
|
|
43
|
+
* @param language Target language
|
|
44
|
+
* @param application Application instance
|
|
45
|
+
* @returns Translated string
|
|
46
|
+
*/
|
|
26
47
|
static defaultI18nTFunc(str, variables, language, application) {
|
|
27
48
|
// Handles template strings with {{component.key}} syntax
|
|
28
49
|
return (0, suite_core_lib_1.getSuiteCoreI18nEngine)(application ? { constants: application.constants } : undefined).t(str, variables, language);
|
|
29
50
|
}
|
|
30
51
|
/**
|
|
31
|
-
*
|
|
32
|
-
* @
|
|
33
|
-
* @param
|
|
34
|
-
* @
|
|
52
|
+
* Gets the mnemonic or generates a new one if not present.
|
|
53
|
+
* @template TID Platform-specific ID type
|
|
54
|
+
* @param mnemonic Existing mnemonic or undefined
|
|
55
|
+
* @param eciesService ECIES service to generate a new mnemonic
|
|
56
|
+
* @returns Existing or new mnemonic
|
|
35
57
|
*/
|
|
36
58
|
static mnemonicOrNew(mnemonic, eciesService) {
|
|
37
59
|
return mnemonic && mnemonic.hasValue
|
|
@@ -39,12 +61,13 @@ class DatabaseInitializationService {
|
|
|
39
61
|
: eciesService.generateNewMnemonic();
|
|
40
62
|
}
|
|
41
63
|
/**
|
|
42
|
-
*
|
|
43
|
-
* @
|
|
44
|
-
* @param
|
|
45
|
-
* @param
|
|
46
|
-
* @param
|
|
47
|
-
* @
|
|
64
|
+
* Generates a cache key for a user based on their details.
|
|
65
|
+
* @template TID Platform-specific ID type
|
|
66
|
+
* @param username Username
|
|
67
|
+
* @param email Email address
|
|
68
|
+
* @param mnemonic Mnemonic
|
|
69
|
+
* @param id User ID
|
|
70
|
+
* @returns Generated cache key as hex string
|
|
48
71
|
*/
|
|
49
72
|
static cacheKey(username, email, mnemonic, id) {
|
|
50
73
|
const idProvider = (0, node_ecies_lib_1.getEnhancedNodeIdProvider)();
|
|
@@ -54,15 +77,16 @@ class DatabaseInitializationService {
|
|
|
54
77
|
return crcHash.toString(16).padStart(8, '0');
|
|
55
78
|
}
|
|
56
79
|
/**
|
|
57
|
-
*
|
|
58
|
-
* @
|
|
59
|
-
* @param
|
|
60
|
-
* @param
|
|
61
|
-
* @param
|
|
62
|
-
* @param
|
|
80
|
+
* Gets a cached BackendMember or creates a new one if not cached.
|
|
81
|
+
* @template TID Platform-specific ID type
|
|
82
|
+
* @param username Username
|
|
83
|
+
* @param email Email address
|
|
84
|
+
* @param mnemonic Mnemonic or undefined to generate a new one
|
|
85
|
+
* @param memberType Type of member (Admin, Member, System)
|
|
86
|
+
* @param eciesService ECIES service to handle key generation
|
|
63
87
|
* @param memberId Optional specific member ID to use
|
|
64
88
|
* @param createdBy Optional ID of the user who created this member
|
|
65
|
-
* @returns
|
|
89
|
+
* @returns Cached or newly created BackendMember and the mnemonic used
|
|
66
90
|
*/
|
|
67
91
|
static cacheOrNew(username, email, mnemonic, memberType, eciesService, memberId, createdBy) {
|
|
68
92
|
const idProvider = (0, node_ecies_lib_1.getEnhancedNodeIdProvider)();
|
|
@@ -90,9 +114,9 @@ class DatabaseInitializationService {
|
|
|
90
114
|
}
|
|
91
115
|
}
|
|
92
116
|
/**
|
|
93
|
-
*
|
|
94
|
-
* @param length
|
|
95
|
-
* @returns
|
|
117
|
+
* Generates a random password meeting security requirements.
|
|
118
|
+
* @param length Length of the password
|
|
119
|
+
* @returns Generated password string
|
|
96
120
|
*/
|
|
97
121
|
static generatePassword(length) {
|
|
98
122
|
const specialCharacters = "!@#$%^&*()_+-=[]{};':|,.<>/?";
|
|
@@ -125,8 +149,8 @@ class DatabaseInitializationService {
|
|
|
125
149
|
return chars.join('');
|
|
126
150
|
}
|
|
127
151
|
/**
|
|
128
|
-
* Drops the database
|
|
129
|
-
* @param connection
|
|
152
|
+
* Drops the database.
|
|
153
|
+
* @param connection Database connection
|
|
130
154
|
* @returns True if the database was dropped, false if not connected
|
|
131
155
|
*/
|
|
132
156
|
static async dropDatabase(connection) {
|
|
@@ -203,14 +227,15 @@ class DatabaseInitializationService {
|
|
|
203
227
|
return h.digest('hex');
|
|
204
228
|
}
|
|
205
229
|
/**
|
|
206
|
-
*
|
|
207
|
-
* @
|
|
208
|
-
* @param
|
|
209
|
-
* @param
|
|
210
|
-
* @param
|
|
211
|
-
* @param
|
|
212
|
-
* @param
|
|
213
|
-
* @
|
|
230
|
+
* Initializes the user database with default users and roles using dependency injection.
|
|
231
|
+
* @template TID Platform-specific ID type
|
|
232
|
+
* @param application Application instance
|
|
233
|
+
* @param keyWrappingService Key wrapping service
|
|
234
|
+
* @param mnemonicService Mnemonic service
|
|
235
|
+
* @param eciesService ECIES service
|
|
236
|
+
* @param roleService Role service
|
|
237
|
+
* @param backupCodeService Backup code service
|
|
238
|
+
* @returns Result of the initialization
|
|
214
239
|
*/
|
|
215
240
|
static async initUserDbWithServices(application, keyWrappingService, mnemonicService, eciesService, roleService, backupCodeService) {
|
|
216
241
|
const engine = (0, suite_core_lib_1.getSuiteCoreI18nEngine)({ constants: application.constants });
|
|
@@ -851,10 +876,11 @@ SYSTEM_PASSWORD="${serverInitResult.systemPassword}"
|
|
|
851
876
|
}));
|
|
852
877
|
}
|
|
853
878
|
/**
|
|
854
|
-
*
|
|
855
|
-
*
|
|
856
|
-
* @
|
|
857
|
-
* @
|
|
879
|
+
* Initializes the user database with default users and roles (convenience method).
|
|
880
|
+
* Creates necessary services and calls initUserDbWithServices.
|
|
881
|
+
* @template TID Platform-specific ID type
|
|
882
|
+
* @param application Application instance
|
|
883
|
+
* @returns Result of the initialization
|
|
858
884
|
*/
|
|
859
885
|
static async initUserDb(application) {
|
|
860
886
|
const mnemonicModel = model_registry_1.ModelRegistry.instance.getTypedModel(base_model_name_1.BaseModelName.Mnemonic);
|