@digitaldefiance/node-express-suite 3.6.14 → 3.6.16
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 +9 -8
- package/src/__tests__/fixtures/index.d.ts +2 -0
- package/src/__tests__/fixtures/index.d.ts.map +1 -0
- package/src/__tests__/fixtures/index.js +5 -0
- package/src/__tests__/fixtures/index.js.map +1 -0
- package/src/__tests__/fixtures/model-mocks.mock.d.ts +6 -0
- package/src/__tests__/fixtures/model-mocks.mock.d.ts.map +1 -0
- package/src/__tests__/fixtures/model-mocks.mock.js +94 -0
- package/src/__tests__/fixtures/model-mocks.mock.js.map +1 -0
- package/src/__tests__/helpers/application.mock.d.ts +8 -0
- package/src/__tests__/helpers/application.mock.d.ts.map +1 -0
- package/src/__tests__/helpers/application.mock.js +77 -0
- package/src/__tests__/helpers/application.mock.js.map +1 -0
- package/src/__tests__/helpers/{index.ts → index.d.ts} +2 -1
- package/src/__tests__/helpers/index.d.ts.map +1 -0
- package/src/__tests__/helpers/index.js +7 -0
- package/src/__tests__/helpers/index.js.map +1 -0
- package/src/__tests__/helpers/setup-test-env.d.ts +12 -0
- package/src/__tests__/helpers/setup-test-env.d.ts.map +1 -0
- package/src/__tests__/helpers/setup-test-env.js +119 -0
- package/src/__tests__/helpers/setup-test-env.js.map +1 -0
- package/src/__tests__/index.d.ts +3 -0
- package/src/__tests__/index.d.ts.map +1 -0
- package/src/__tests__/index.js +6 -0
- package/src/__tests__/index.js.map +1 -0
- package/src/application-base.d.ts +122 -0
- package/src/application-base.d.ts.map +1 -0
- package/src/application-base.js +355 -0
- package/src/application-base.js.map +1 -0
- package/src/application-concrete.d.ts +12 -0
- package/src/application-concrete.d.ts.map +1 -0
- package/src/application-concrete.js +21 -0
- package/src/application-concrete.js.map +1 -0
- package/src/application.d.ts +28 -0
- package/src/application.d.ts.map +1 -0
- package/src/application.js +167 -0
- package/src/application.js.map +1 -0
- package/src/backup-code.d.ts +68 -0
- package/src/backup-code.d.ts.map +1 -0
- package/src/backup-code.js +238 -0
- package/src/backup-code.js.map +1 -0
- package/src/builders/application-builder.d.ts +34 -0
- package/src/builders/application-builder.d.ts.map +1 -0
- package/src/builders/application-builder.js +64 -0
- package/src/builders/application-builder.js.map +1 -0
- package/src/builders/{index.ts → index.d.ts} +1 -0
- package/src/builders/index.d.ts.map +1 -0
- package/src/builders/index.js +5 -0
- package/src/builders/index.js.map +1 -0
- package/src/constants.d.ts +16 -0
- package/src/constants.d.ts.map +1 -0
- package/src/constants.js +58 -0
- package/src/constants.js.map +1 -0
- package/src/container/{index.ts → index.d.ts} +1 -0
- package/src/container/index.d.ts.map +1 -0
- package/src/container/index.js +6 -0
- package/src/container/index.js.map +1 -0
- package/src/container/service-container.d.ts +11 -0
- package/src/container/service-container.d.ts.map +1 -0
- package/src/container/service-container.js +38 -0
- package/src/container/service-container.js.map +1 -0
- package/src/container/service-definitions.d.ts +11 -0
- package/src/container/service-definitions.d.ts.map +1 -0
- package/src/container/service-definitions.js +13 -0
- package/src/container/service-definitions.js.map +1 -0
- package/src/controllers/base.d.ts +66 -0
- package/src/controllers/base.d.ts.map +1 -0
- package/src/controllers/base.js +305 -0
- package/src/controllers/base.js.map +1 -0
- package/src/controllers/{index.ts → index.d.ts} +1 -0
- package/src/controllers/index.d.ts.map +1 -0
- package/src/controllers/index.js +6 -0
- package/src/controllers/index.js.map +1 -0
- package/src/controllers/user.d.ts +46 -0
- package/src/controllers/user.d.ts.map +1 -0
- package/src/controllers/user.js +918 -0
- package/src/controllers/user.js.map +1 -0
- package/src/database/{database-initializer.ts → database-initializer.d.ts} +3 -3
- package/src/database/database-initializer.d.ts.map +1 -0
- package/src/database/database-initializer.js +3 -0
- package/src/database/database-initializer.js.map +1 -0
- package/src/database/{index.ts → index.d.ts} +1 -0
- package/src/database/index.d.ts.map +1 -0
- package/src/database/index.js +5 -0
- package/src/database/index.js.map +1 -0
- package/src/decorators/base-controller.d.ts +10 -0
- package/src/decorators/base-controller.d.ts.map +1 -0
- package/src/decorators/base-controller.js +60 -0
- package/src/decorators/base-controller.js.map +1 -0
- package/src/decorators/controller.d.ts +38 -0
- package/src/decorators/controller.d.ts.map +1 -0
- package/src/decorators/controller.js +67 -0
- package/src/decorators/controller.js.map +1 -0
- package/src/decorators/{index.ts → index.d.ts} +1 -0
- package/src/decorators/index.d.ts.map +1 -0
- package/src/decorators/index.js +7 -0
- package/src/decorators/index.js.map +1 -0
- package/src/decorators/zod-validation.d.ts +5 -0
- package/src/decorators/zod-validation.d.ts.map +1 -0
- package/src/decorators/zod-validation.js +47 -0
- package/src/decorators/zod-validation.js.map +1 -0
- package/src/defaults.d.ts +7 -0
- package/src/defaults.d.ts.map +1 -0
- package/src/defaults.js +204 -0
- package/src/defaults.js.map +1 -0
- package/src/documents/base.d.ts +4 -0
- package/src/documents/base.d.ts.map +1 -0
- package/src/documents/base.js +3 -0
- package/src/documents/base.js.map +1 -0
- package/src/documents/{email-token.ts → email-token.d.ts} +3 -9
- package/src/documents/email-token.d.ts.map +1 -0
- package/src/documents/email-token.js +3 -0
- package/src/documents/email-token.js.map +1 -0
- package/src/documents/{index.ts → index.d.ts} +1 -0
- package/src/documents/index.d.ts.map +1 -0
- package/src/documents/index.js +3 -0
- package/src/documents/index.js.map +1 -0
- package/src/documents/{mnemonic.ts → mnemonic.d.ts} +2 -5
- package/src/documents/mnemonic.d.ts.map +1 -0
- package/src/documents/mnemonic.js +3 -0
- package/src/documents/mnemonic.js.map +1 -0
- package/src/documents/{role.ts → role.d.ts} +2 -5
- package/src/documents/role.d.ts.map +1 -0
- package/src/documents/role.js +3 -0
- package/src/documents/role.js.map +1 -0
- package/src/documents/{used-direct-login-token.ts → used-direct-login-token.d.ts} +2 -5
- package/src/documents/used-direct-login-token.d.ts.map +1 -0
- package/src/documents/used-direct-login-token.js +3 -0
- package/src/documents/used-direct-login-token.js.map +1 -0
- package/src/documents/{user-role.ts → user-role.d.ts} +2 -5
- package/src/documents/user-role.d.ts.map +1 -0
- package/src/documents/user-role.js +3 -0
- package/src/documents/user-role.js.map +1 -0
- package/src/documents/{user.ts → user.d.ts} +2 -5
- package/src/documents/user.d.ts.map +1 -0
- package/src/documents/user.js +3 -0
- package/src/documents/user.js.map +1 -0
- package/src/enumerations/base-model-name.d.ts +38 -0
- package/src/enumerations/base-model-name.d.ts.map +1 -0
- package/src/enumerations/base-model-name.js +34 -0
- package/src/enumerations/base-model-name.js.map +1 -0
- package/src/enumerations/{index.ts → index.d.ts} +1 -0
- package/src/enumerations/index.d.ts.map +1 -0
- package/src/enumerations/index.js +8 -0
- package/src/enumerations/index.js.map +1 -0
- package/src/enumerations/length-encoding-type.d.ts +7 -0
- package/src/enumerations/length-encoding-type.d.ts.map +1 -0
- package/src/enumerations/length-encoding-type.js +11 -0
- package/src/enumerations/length-encoding-type.js.map +1 -0
- package/src/enumerations/schema-collection.d.ts +34 -0
- package/src/enumerations/schema-collection.d.ts.map +1 -0
- package/src/enumerations/schema-collection.js +38 -0
- package/src/enumerations/schema-collection.js.map +1 -0
- package/src/enumerations/symmetric-error-type.d.ts +5 -0
- package/src/enumerations/symmetric-error-type.d.ts.map +1 -0
- package/src/enumerations/symmetric-error-type.js +9 -0
- package/src/enumerations/symmetric-error-type.js.map +1 -0
- package/src/environment.d.ts +190 -0
- package/src/environment.d.ts.map +1 -0
- package/src/environment.js +646 -0
- package/src/environment.js.map +1 -0
- package/src/errors/express-validation.d.ts +9 -0
- package/src/errors/express-validation.d.ts.map +1 -0
- package/src/errors/express-validation.js +18 -0
- package/src/errors/express-validation.js.map +1 -0
- package/src/errors/{index.ts → index.d.ts} +1 -0
- package/src/errors/index.d.ts.map +1 -0
- package/src/errors/index.js +16 -0
- package/src/errors/index.js.map +1 -0
- package/src/errors/invalid-backup-code-version.d.ts +6 -0
- package/src/errors/invalid-backup-code-version.d.ts.map +1 -0
- package/src/errors/invalid-backup-code-version.js +16 -0
- package/src/errors/invalid-backup-code-version.js.map +1 -0
- package/src/errors/invalid-jwt-token.d.ts +5 -0
- package/src/errors/invalid-jwt-token.d.ts.map +1 -0
- package/src/errors/invalid-jwt-token.js +12 -0
- package/src/errors/invalid-jwt-token.js.map +1 -0
- package/src/errors/invalid-model.d.ts +6 -0
- package/src/errors/invalid-model.d.ts.map +1 -0
- package/src/errors/invalid-model.js +14 -0
- package/src/errors/invalid-model.js.map +1 -0
- package/src/errors/invalid-new-password.d.ts +5 -0
- package/src/errors/invalid-new-password.d.ts.map +1 -0
- package/src/errors/invalid-new-password.js +14 -0
- package/src/errors/invalid-new-password.js.map +1 -0
- package/src/errors/invalid-password.d.ts +5 -0
- package/src/errors/invalid-password.d.ts.map +1 -0
- package/src/errors/invalid-password.js +14 -0
- package/src/errors/invalid-password.js.map +1 -0
- package/src/errors/missing-validated-data.d.ts +7 -0
- package/src/errors/missing-validated-data.d.ts.map +1 -0
- package/src/errors/missing-validated-data.js +36 -0
- package/src/errors/missing-validated-data.js.map +1 -0
- package/src/errors/mnemonic-or-password-required.d.ts +5 -0
- package/src/errors/mnemonic-or-password-required.d.ts.map +1 -0
- package/src/errors/mnemonic-or-password-required.js +14 -0
- package/src/errors/mnemonic-or-password-required.js.map +1 -0
- package/src/errors/model-not-registered.d.ts +6 -0
- package/src/errors/model-not-registered.d.ts.map +1 -0
- package/src/errors/model-not-registered.js +14 -0
- package/src/errors/model-not-registered.js.map +1 -0
- package/src/errors/mongoose-validation.d.ts +12 -0
- package/src/errors/mongoose-validation.d.ts.map +1 -0
- package/src/errors/mongoose-validation.js +17 -0
- package/src/errors/mongoose-validation.js.map +1 -0
- package/src/errors/symmetric.d.ts +8 -0
- package/src/errors/symmetric.d.ts.map +1 -0
- package/src/errors/symmetric.js +22 -0
- package/src/errors/symmetric.js.map +1 -0
- package/src/errors/token-expired.d.ts +5 -0
- package/src/errors/token-expired.d.ts.map +1 -0
- package/src/errors/token-expired.js +12 -0
- package/src/errors/token-expired.js.map +1 -0
- package/src/get-language.d.ts +2 -0
- package/src/get-language.d.ts.map +1 -0
- package/src/get-language.js +30 -0
- package/src/get-language.js.map +1 -0
- package/src/get-timezone.d.ts +2 -0
- package/src/get-timezone.d.ts.map +1 -0
- package/src/get-timezone.js +39 -0
- package/src/get-timezone.js.map +1 -0
- package/src/{index.ts → index.d.ts} +2 -3
- package/src/index.d.ts.map +1 -0
- package/src/index.js +43 -0
- package/src/index.js.map +1 -0
- package/src/interfaces/{api-error-response.ts → api-error-response.d.ts} +2 -2
- package/src/interfaces/api-error-response.d.ts.map +1 -0
- package/src/interfaces/api-error-response.js +3 -0
- package/src/interfaces/api-error-response.js.map +1 -0
- package/src/interfaces/api-express-validation-error-response.d.ts +7 -0
- package/src/interfaces/api-express-validation-error-response.d.ts.map +1 -0
- package/src/interfaces/api-express-validation-error-response.js +3 -0
- package/src/interfaces/api-express-validation-error-response.js.map +1 -0
- package/src/interfaces/api-message-response.d.ts +4 -0
- package/src/interfaces/api-message-response.d.ts.map +1 -0
- package/src/interfaces/api-message-response.js +3 -0
- package/src/interfaces/api-message-response.js.map +1 -0
- package/src/interfaces/{api-mongo-validation-error-response.ts → api-mongo-validation-error-response.d.ts} +2 -2
- package/src/interfaces/api-mongo-validation-error-response.d.ts.map +1 -0
- package/src/interfaces/api-mongo-validation-error-response.js +3 -0
- package/src/interfaces/api-mongo-validation-error-response.js.map +1 -0
- package/src/interfaces/api-responses/{backup-codes-response.ts → backup-codes-response.d.ts} +2 -2
- package/src/interfaces/api-responses/backup-codes-response.d.ts.map +1 -0
- package/src/interfaces/api-responses/backup-codes-response.js +3 -0
- package/src/interfaces/api-responses/backup-codes-response.js.map +1 -0
- package/src/interfaces/api-responses/{challenge-response.ts → challenge-response.d.ts} +3 -3
- package/src/interfaces/api-responses/challenge-response.d.ts.map +1 -0
- package/src/interfaces/api-responses/challenge-response.js +3 -0
- package/src/interfaces/api-responses/challenge-response.js.map +1 -0
- package/src/interfaces/api-responses/{code-count-response.ts → code-count-response.d.ts} +2 -2
- package/src/interfaces/api-responses/code-count-response.d.ts.map +1 -0
- package/src/interfaces/api-responses/code-count-response.js +3 -0
- package/src/interfaces/api-responses/code-count-response.js.map +1 -0
- package/src/interfaces/api-responses/{index.ts → index.d.ts} +2 -1
- package/src/interfaces/api-responses/index.d.ts.map +1 -0
- package/src/interfaces/api-responses/index.js +12 -0
- package/src/interfaces/api-responses/index.js.map +1 -0
- package/src/interfaces/api-responses/{login-response.ts → login-response.d.ts} +4 -4
- package/src/interfaces/api-responses/login-response.d.ts.map +1 -0
- package/src/interfaces/api-responses/login-response.js +3 -0
- package/src/interfaces/api-responses/login-response.js.map +1 -0
- package/src/interfaces/api-responses/{mnemonic-response.ts → mnemonic-response.d.ts} +2 -2
- package/src/interfaces/api-responses/mnemonic-response.d.ts.map +1 -0
- package/src/interfaces/api-responses/mnemonic-response.js +3 -0
- package/src/interfaces/api-responses/mnemonic-response.js.map +1 -0
- package/src/interfaces/api-responses/{registration-response.ts → registration-response.d.ts} +3 -3
- package/src/interfaces/api-responses/registration-response.d.ts.map +1 -0
- package/src/interfaces/api-responses/registration-response.js +3 -0
- package/src/interfaces/api-responses/registration-response.js.map +1 -0
- package/src/interfaces/api-responses/{request-user-response.ts → request-user-response.d.ts} +2 -2
- package/src/interfaces/api-responses/request-user-response.d.ts.map +1 -0
- package/src/interfaces/api-responses/request-user-response.js +3 -0
- package/src/interfaces/api-responses/request-user-response.js.map +1 -0
- package/src/interfaces/api-responses/user-settings-response.d.ts +12 -0
- package/src/interfaces/api-responses/user-settings-response.d.ts.map +1 -0
- package/src/interfaces/api-responses/user-settings-response.js +3 -0
- package/src/interfaces/api-responses/user-settings-response.js.map +1 -0
- package/src/interfaces/application.d.ts +16 -0
- package/src/interfaces/application.d.ts.map +1 -0
- package/src/interfaces/application.js +3 -0
- package/src/interfaces/application.js.map +1 -0
- package/src/interfaces/backend-objects/email-token.d.ts +4 -0
- package/src/interfaces/backend-objects/email-token.d.ts.map +1 -0
- package/src/interfaces/backend-objects/email-token.js +3 -0
- package/src/interfaces/backend-objects/email-token.js.map +1 -0
- package/src/interfaces/backend-objects/{index.ts → index.d.ts} +1 -0
- package/src/interfaces/backend-objects/index.d.ts.map +1 -0
- package/src/interfaces/backend-objects/index.js +8 -0
- package/src/interfaces/backend-objects/index.js.map +1 -0
- package/src/interfaces/backend-objects/request-user.d.ts +5 -0
- package/src/interfaces/backend-objects/request-user.d.ts.map +1 -0
- package/src/interfaces/backend-objects/request-user.js +3 -0
- package/src/interfaces/backend-objects/request-user.js.map +1 -0
- package/src/interfaces/backend-objects/{role.ts → role.d.ts} +1 -1
- package/src/interfaces/backend-objects/role.d.ts.map +1 -0
- package/src/interfaces/backend-objects/role.js +3 -0
- package/src/interfaces/backend-objects/role.js.map +1 -0
- package/src/interfaces/backend-objects/user.d.ts +4 -0
- package/src/interfaces/backend-objects/user.d.ts.map +1 -0
- package/src/interfaces/backend-objects/user.js +3 -0
- package/src/interfaces/backend-objects/user.js.map +1 -0
- package/src/interfaces/checksum-config.d.ts +5 -0
- package/src/interfaces/checksum-config.d.ts.map +1 -0
- package/src/interfaces/checksum-config.js +3 -0
- package/src/interfaces/checksum-config.js.map +1 -0
- package/src/interfaces/checksum-consts.d.ts +11 -0
- package/src/interfaces/checksum-consts.d.ts.map +1 -0
- package/src/interfaces/checksum-consts.js +3 -0
- package/src/interfaces/checksum-consts.js.map +1 -0
- package/src/interfaces/constants.d.ts +98 -0
- package/src/interfaces/constants.d.ts.map +1 -0
- package/src/interfaces/constants.js +3 -0
- package/src/interfaces/constants.js.map +1 -0
- package/src/interfaces/controller-config.d.ts +21 -0
- package/src/interfaces/controller-config.d.ts.map +1 -0
- package/src/interfaces/controller-config.js +3 -0
- package/src/interfaces/controller-config.js.map +1 -0
- package/src/interfaces/create-user-basics.d.ts +18 -0
- package/src/interfaces/create-user-basics.d.ts.map +1 -0
- package/src/interfaces/create-user-basics.js +3 -0
- package/src/interfaces/create-user-basics.js.map +1 -0
- package/src/interfaces/csp-config.d.ts +7 -0
- package/src/interfaces/csp-config.d.ts.map +1 -0
- package/src/interfaces/csp-config.js +13 -0
- package/src/interfaces/csp-config.js.map +1 -0
- package/src/interfaces/csp-definition.d.ts +13 -0
- package/src/interfaces/csp-definition.d.ts.map +1 -0
- package/src/interfaces/csp-definition.js +23 -0
- package/src/interfaces/csp-definition.js.map +1 -0
- package/src/interfaces/{db-init-result.ts → db-init-result.d.ts} +3 -3
- package/src/interfaces/db-init-result.d.ts.map +1 -0
- package/src/interfaces/db-init-result.js +3 -0
- package/src/interfaces/db-init-result.js.map +1 -0
- package/src/interfaces/deep-partial.d.ts +4 -0
- package/src/interfaces/deep-partial.d.ts.map +1 -0
- package/src/interfaces/deep-partial.js +3 -0
- package/src/interfaces/deep-partial.js.map +1 -0
- package/src/interfaces/{discriminator-collections.ts → discriminator-collections.d.ts} +3 -3
- package/src/interfaces/discriminator-collections.d.ts.map +1 -0
- package/src/interfaces/discriminator-collections.js +3 -0
- package/src/interfaces/discriminator-collections.js.map +1 -0
- package/src/interfaces/email-service.d.ts +4 -0
- package/src/interfaces/email-service.d.ts.map +1 -0
- package/src/interfaces/email-service.js +3 -0
- package/src/interfaces/email-service.js.map +1 -0
- package/src/interfaces/environment-mongo.d.ts +76 -0
- package/src/interfaces/environment-mongo.d.ts.map +1 -0
- package/src/interfaces/environment-mongo.js +3 -0
- package/src/interfaces/environment-mongo.js.map +1 -0
- package/src/interfaces/environment.d.ts +184 -0
- package/src/interfaces/environment.d.ts.map +1 -0
- package/src/interfaces/environment.js +3 -0
- package/src/interfaces/environment.js.map +1 -0
- package/src/interfaces/failable-result.d.ts +7 -0
- package/src/interfaces/failable-result.d.ts.map +1 -0
- package/src/interfaces/failable-result.js +3 -0
- package/src/interfaces/failable-result.js.map +1 -0
- package/src/interfaces/fec-consts.d.ts +5 -0
- package/src/interfaces/fec-consts.d.ts.map +1 -0
- package/src/interfaces/fec-consts.js +3 -0
- package/src/interfaces/fec-consts.js.map +1 -0
- package/src/interfaces/flexible-csp.d.ts +8 -0
- package/src/interfaces/flexible-csp.d.ts.map +1 -0
- package/src/interfaces/flexible-csp.js +14 -0
- package/src/interfaces/flexible-csp.js.map +1 -0
- package/src/interfaces/handleable-error-options.d.ts +7 -0
- package/src/interfaces/handleable-error-options.d.ts.map +1 -0
- package/src/interfaces/handleable-error-options.js +3 -0
- package/src/interfaces/handleable-error-options.js.map +1 -0
- package/src/interfaces/{index.ts → index.d.ts} +1 -0
- package/src/interfaces/index.d.ts.map +1 -0
- package/src/interfaces/index.js +38 -0
- package/src/interfaces/index.js.map +1 -0
- package/src/interfaces/jwt-consts.d.ts +11 -0
- package/src/interfaces/jwt-consts.d.ts.map +1 -0
- package/src/interfaces/jwt-consts.js +3 -0
- package/src/interfaces/jwt-consts.js.map +1 -0
- package/src/interfaces/jwt-sign-response.d.ts +11 -0
- package/src/interfaces/jwt-sign-response.d.ts.map +1 -0
- package/src/interfaces/jwt-sign-response.js +3 -0
- package/src/interfaces/jwt-sign-response.js.map +1 -0
- package/src/interfaces/models/{email-token.ts → email-token.d.ts} +1 -1
- package/src/interfaces/models/email-token.d.ts.map +1 -0
- package/src/interfaces/models/email-token.js +3 -0
- package/src/interfaces/models/email-token.js.map +1 -0
- package/src/interfaces/models/{index.ts → index.d.ts} +1 -0
- package/src/interfaces/models/index.d.ts.map +1 -0
- package/src/interfaces/models/index.js +11 -0
- package/src/interfaces/models/index.js.map +1 -0
- package/src/interfaces/models/{mnemonic.ts → mnemonic.d.ts} +1 -1
- package/src/interfaces/models/mnemonic.d.ts.map +1 -0
- package/src/interfaces/models/mnemonic.js +3 -0
- package/src/interfaces/models/mnemonic.js.map +1 -0
- package/src/interfaces/models/{role.ts → role.d.ts} +1 -1
- package/src/interfaces/models/role.d.ts.map +1 -0
- package/src/interfaces/models/role.js +3 -0
- package/src/interfaces/models/role.js.map +1 -0
- package/src/interfaces/models/{token-role.ts → token-role.d.ts} +1 -1
- package/src/interfaces/models/token-role.d.ts.map +1 -0
- package/src/interfaces/models/token-role.js +3 -0
- package/src/interfaces/models/token-role.js.map +1 -0
- package/src/interfaces/models/{used-direct-login-token.ts → used-direct-login-token.d.ts} +2 -3
- package/src/interfaces/models/used-direct-login-token.d.ts.map +1 -0
- package/src/interfaces/models/used-direct-login-token.js +3 -0
- package/src/interfaces/models/used-direct-login-token.js.map +1 -0
- package/src/interfaces/models/{user-role.ts → user-role.d.ts} +1 -1
- package/src/interfaces/models/user-role.d.ts.map +1 -0
- package/src/interfaces/models/user-role.js +3 -0
- package/src/interfaces/models/user-role.js.map +1 -0
- package/src/interfaces/models/{user.ts → user.d.ts} +3 -11
- package/src/interfaces/models/user.d.ts.map +1 -0
- package/src/interfaces/models/user.js +3 -0
- package/src/interfaces/models/user.js.map +1 -0
- package/src/interfaces/mongo-errors.d.ts +5 -0
- package/src/interfaces/mongo-errors.d.ts.map +1 -0
- package/src/interfaces/mongo-errors.js +3 -0
- package/src/interfaces/mongo-errors.js.map +1 -0
- package/src/interfaces/request-user.d.ts +58 -0
- package/src/interfaces/request-user.d.ts.map +1 -0
- package/src/interfaces/request-user.js +3 -0
- package/src/interfaces/request-user.js.map +1 -0
- package/src/interfaces/required-string-keys.d.ts +22 -0
- package/src/interfaces/required-string-keys.d.ts.map +1 -0
- package/src/interfaces/required-string-keys.js +3 -0
- package/src/interfaces/required-string-keys.js.map +1 -0
- package/src/interfaces/schema.d.ts +29 -0
- package/src/interfaces/schema.d.ts.map +1 -0
- package/src/interfaces/schema.js +3 -0
- package/src/interfaces/schema.js.map +1 -0
- package/src/interfaces/server-init-result.d.ts +36 -0
- package/src/interfaces/server-init-result.d.ts.map +1 -0
- package/src/interfaces/server-init-result.js +3 -0
- package/src/interfaces/server-init-result.js.map +1 -0
- package/src/interfaces/status-code-response.d.ts +7 -0
- package/src/interfaces/status-code-response.d.ts.map +1 -0
- package/src/interfaces/status-code-response.js +3 -0
- package/src/interfaces/status-code-response.js.map +1 -0
- package/src/interfaces/symmetric-encryption-results.d.ts +3 -3
- package/src/interfaces/symmetric-encryption-results.d.ts.map +1 -1
- package/src/interfaces/symmetric-encryption-results.js.map +1 -1
- package/src/interfaces/{test-environment.ts → test-environment.d.ts} +6 -6
- package/src/interfaces/test-environment.d.ts.map +1 -0
- package/src/interfaces/test-environment.js +3 -0
- package/src/interfaces/test-environment.js.map +1 -0
- package/src/interfaces/{token-response.ts → token-response.d.ts} +2 -2
- package/src/interfaces/token-response.d.ts.map +1 -0
- package/src/interfaces/token-response.js +3 -0
- package/src/interfaces/token-response.js.map +1 -0
- package/src/middlewares/authenticate-crypto.d.ts +10 -0
- package/src/middlewares/authenticate-crypto.d.ts.map +1 -0
- package/src/middlewares/authenticate-crypto.js +126 -0
- package/src/middlewares/authenticate-crypto.js.map +1 -0
- package/src/middlewares/authenticate-token.d.ts +21 -0
- package/src/middlewares/authenticate-token.d.ts.map +1 -0
- package/src/middlewares/authenticate-token.js +104 -0
- package/src/middlewares/authenticate-token.js.map +1 -0
- package/src/middlewares/cleanup-crypto.d.ts +7 -0
- package/src/middlewares/cleanup-crypto.d.ts.map +1 -0
- package/src/middlewares/cleanup-crypto.js +32 -0
- package/src/middlewares/cleanup-crypto.js.map +1 -0
- package/src/middlewares/{index.ts → index.d.ts} +1 -0
- package/src/middlewares/index.d.ts.map +1 -0
- package/src/middlewares/index.js +8 -0
- package/src/middlewares/index.js.map +1 -0
- package/src/middlewares/set-global-context-language.d.ts +3 -0
- package/src/middlewares/set-global-context-language.d.ts.map +1 -0
- package/src/middlewares/set-global-context-language.js +14 -0
- package/src/middlewares/set-global-context-language.js.map +1 -0
- package/src/middlewares.d.ts +8 -0
- package/src/middlewares.d.ts.map +1 -0
- package/src/middlewares.js +89 -0
- package/src/middlewares.js.map +1 -0
- package/src/model-registry.d.ts +23 -0
- package/src/model-registry.d.ts.map +1 -0
- package/src/model-registry.js +47 -0
- package/src/model-registry.js.map +1 -0
- package/src/models/email-token.d.ts +35 -11
- package/src/models/email-token.d.ts.map +1 -0
- package/src/models/email-token.js +11 -0
- package/src/models/email-token.js.map +1 -0
- package/src/models/{index.ts → index.d.ts} +1 -0
- package/src/models/index.d.ts.map +1 -0
- package/src/models/index.js +10 -0
- package/src/models/index.js.map +1 -0
- package/src/models/mnemonic.d.ts +35 -11
- package/src/models/mnemonic.d.ts.map +1 -0
- package/src/models/mnemonic.js +11 -0
- package/src/models/mnemonic.js.map +1 -0
- package/src/models/role.d.ts +35 -11
- package/src/models/role.d.ts.map +1 -0
- package/src/models/role.js +11 -0
- package/src/models/role.js.map +1 -0
- package/src/models/used-direct-login-token.d.ts +35 -11
- package/src/models/used-direct-login-token.d.ts.map +1 -0
- package/src/models/used-direct-login-token.js +11 -0
- package/src/models/used-direct-login-token.js.map +1 -0
- package/src/models/user-role.d.ts +3 -10
- package/src/models/user-role.d.ts.map +1 -0
- package/src/models/user-role.js +10 -0
- package/src/models/user-role.js.map +1 -0
- package/src/models/user.d.ts +3 -16
- package/src/models/user.d.ts.map +1 -0
- package/src/models/user.js +11 -0
- package/src/models/user.js.map +1 -0
- package/src/pipeline/{index.ts → index.d.ts} +1 -0
- package/src/pipeline/index.d.ts.map +1 -0
- package/src/pipeline/index.js +5 -0
- package/src/pipeline/index.js.map +1 -0
- package/src/pipeline/pipeline-builder.d.ts +8 -0
- package/src/pipeline/pipeline-builder.d.ts.map +1 -0
- package/src/pipeline/pipeline-builder.js +18 -0
- package/src/pipeline/pipeline-builder.js.map +1 -0
- package/src/plugins/{index.ts → index.d.ts} +1 -0
- package/src/plugins/index.d.ts.map +1 -0
- package/src/plugins/index.js +6 -0
- package/src/plugins/index.js.map +1 -0
- package/src/plugins/plugin-interface.d.ts +8 -0
- package/src/plugins/plugin-interface.d.ts.map +1 -0
- package/src/plugins/plugin-interface.js +3 -0
- package/src/plugins/plugin-interface.js.map +1 -0
- package/src/plugins/plugin-manager.d.ts +12 -0
- package/src/plugins/plugin-manager.d.ts.map +1 -0
- package/src/plugins/plugin-manager.js +37 -0
- package/src/plugins/plugin-manager.js.map +1 -0
- package/src/registry/email-service-registry.d.ts +27 -0
- package/src/registry/email-service-registry.d.ts.map +1 -0
- package/src/registry/email-service-registry.js +42 -0
- package/src/registry/email-service-registry.js.map +1 -0
- package/src/registry/{index.ts → index.d.ts} +1 -0
- package/src/registry/index.d.ts.map +1 -0
- package/src/registry/index.js +6 -0
- package/src/registry/index.js.map +1 -0
- package/src/responses/{index.ts → index.d.ts} +1 -0
- package/src/responses/index.d.ts.map +1 -0
- package/src/responses/index.js +5 -0
- package/src/responses/index.js.map +1 -0
- package/src/responses/response-builder.d.ts +24 -0
- package/src/responses/response-builder.d.ts.map +1 -0
- package/src/responses/response-builder.js +63 -0
- package/src/responses/response-builder.js.map +1 -0
- package/src/routers/api.d.ts +28 -0
- package/src/routers/api.d.ts.map +1 -0
- package/src/routers/api.js +80 -0
- package/src/routers/api.js.map +1 -0
- package/src/routers/app.d.ts +32 -0
- package/src/routers/app.d.ts.map +1 -0
- package/src/routers/app.js +228 -0
- package/src/routers/app.js.map +1 -0
- package/src/routers/base.d.ts +8 -0
- package/src/routers/base.d.ts.map +1 -0
- package/src/routers/base.js +14 -0
- package/src/routers/base.js.map +1 -0
- package/src/routers/{index.ts → index.d.ts} +1 -0
- package/src/routers/index.d.ts.map +1 -0
- package/src/routers/index.js +7 -0
- package/src/routers/index.js.map +1 -0
- package/src/routers/router-config.d.ts +18 -0
- package/src/routers/router-config.d.ts.map +1 -0
- package/src/routers/router-config.js +8 -0
- package/src/routers/router-config.js.map +1 -0
- package/src/routing/index.d.ts +2 -0
- package/src/routing/index.d.ts.map +1 -0
- package/src/routing/index.js +5 -0
- package/src/routing/index.js.map +1 -0
- package/src/routing/route-builder.d.ts +36 -0
- package/src/routing/route-builder.d.ts.map +1 -0
- package/src/routing/route-builder.js +86 -0
- package/src/routing/route-builder.js.map +1 -0
- package/src/schemas/email-token.d.ts +47 -13
- package/src/schemas/email-token.d.ts.map +1 -0
- package/src/schemas/email-token.js +55 -0
- package/src/schemas/email-token.js.map +1 -0
- package/src/schemas/{index.ts → index.d.ts} +1 -0
- package/src/schemas/index.d.ts.map +1 -0
- package/src/schemas/index.js +11 -0
- package/src/schemas/index.js.map +1 -0
- package/src/schemas/mnemonic.d.ts +26 -10
- package/src/schemas/mnemonic.d.ts.map +1 -0
- package/src/schemas/mnemonic.js +31 -0
- package/src/schemas/mnemonic.js.map +1 -0
- package/src/schemas/role.d.ts +40 -13
- package/src/schemas/role.d.ts.map +1 -0
- package/src/schemas/role.js +88 -0
- package/src/schemas/role.js.map +1 -0
- package/src/schemas/schema.d.ts +42 -0
- package/src/schemas/schema.d.ts.map +1 -0
- package/src/schemas/schema.js +70 -0
- package/src/schemas/schema.js.map +1 -0
- package/src/schemas/used-direct-login-token.d.ts +35 -12
- package/src/schemas/used-direct-login-token.d.ts.map +1 -0
- package/src/schemas/used-direct-login-token.js +24 -0
- package/src/schemas/used-direct-login-token.js.map +1 -0
- package/src/schemas/user-role.d.ts +37 -12
- package/src/schemas/user-role.d.ts.map +1 -0
- package/src/schemas/user-role.js +55 -0
- package/src/schemas/user-role.js.map +1 -0
- package/src/schemas/user.d.ts +23 -18
- package/src/schemas/user.d.ts.map +1 -0
- package/src/schemas/user.js +194 -0
- package/src/schemas/user.js.map +1 -0
- package/src/services/backup-code.d.ts +76 -0
- package/src/services/backup-code.d.ts.map +1 -0
- package/src/services/backup-code.js +185 -0
- package/src/services/backup-code.js.map +1 -0
- package/src/services/base.d.ts +10 -0
- package/src/services/base.d.ts.map +1 -0
- package/src/services/base.js +15 -0
- package/src/services/base.js.map +1 -0
- package/src/services/checksum.d.ts +69 -0
- package/src/services/checksum.d.ts.map +1 -0
- package/src/services/checksum.js +145 -0
- package/src/services/checksum.js.map +1 -0
- package/src/services/crc.d.ts +87 -0
- package/src/services/crc.d.ts.map +1 -0
- package/src/services/crc.js +198 -0
- package/src/services/crc.js.map +1 -0
- package/src/services/database-initialization.d.ts +103 -0
- package/src/services/database-initialization.d.ts.map +1 -0
- package/src/services/database-initialization.js +817 -0
- package/src/services/database-initialization.js.map +1 -0
- package/src/services/{db-init-cache.ts → db-init-cache.d.ts} +5 -11
- package/src/services/db-init-cache.d.ts.map +1 -0
- package/src/services/db-init-cache.js +3 -0
- package/src/services/db-init-cache.js.map +1 -0
- package/src/services/direct-login-token.d.ts +6 -0
- package/src/services/direct-login-token.d.ts.map +1 -0
- package/src/services/direct-login-token.js +41 -0
- package/src/services/direct-login-token.js.map +1 -0
- package/src/services/dummy-email-service.d.ts +10 -0
- package/src/services/dummy-email-service.d.ts.map +1 -0
- package/src/services/dummy-email-service.js +16 -0
- package/src/services/dummy-email-service.js.map +1 -0
- package/src/services/fec-usage-example.d.ts +38 -0
- package/src/services/fec-usage-example.d.ts.map +1 -0
- package/src/services/fec-usage-example.js +75 -0
- package/src/services/fec-usage-example.js.map +1 -0
- package/src/services/fec.d.ts +46 -0
- package/src/services/fec.d.ts.map +1 -0
- package/src/services/fec.js +214 -0
- package/src/services/fec.js.map +1 -0
- package/src/services/{index.ts → index.d.ts} +1 -0
- package/src/services/index.d.ts.map +1 -0
- package/src/services/index.js +23 -0
- package/src/services/index.js.map +1 -0
- package/src/services/jwt.d.ts +30 -0
- package/src/services/jwt.d.ts.map +1 -0
- package/src/services/jwt.js +90 -0
- package/src/services/jwt.js.map +1 -0
- package/src/services/key-wrapping.d.ts +61 -0
- package/src/services/key-wrapping.d.ts.map +1 -0
- package/src/services/key-wrapping.js +310 -0
- package/src/services/key-wrapping.js.map +1 -0
- package/src/services/mnemonic.d.ts +61 -0
- package/src/services/mnemonic.d.ts.map +1 -0
- package/src/services/mnemonic.js +114 -0
- package/src/services/mnemonic.js.map +1 -0
- package/src/services/request-user.d.ts +23 -0
- package/src/services/request-user.d.ts.map +1 -0
- package/src/services/request-user.js +66 -0
- package/src/services/request-user.js.map +1 -0
- package/src/services/role.d.ts +86 -0
- package/src/services/role.d.ts.map +1 -0
- package/src/services/role.js +285 -0
- package/src/services/role.js.map +1 -0
- package/src/services/symmetric.d.ts +42 -0
- package/src/services/symmetric.d.ts.map +1 -0
- package/src/services/symmetric.js +101 -0
- package/src/services/symmetric.js.map +1 -0
- package/src/services/system-user.d.ts +17 -0
- package/src/services/system-user.d.ts.map +1 -0
- package/src/services/system-user.js +46 -0
- package/src/services/system-user.js.map +1 -0
- package/src/services/user.d.ts +349 -0
- package/src/services/user.d.ts.map +1 -0
- package/src/services/user.js +1452 -0
- package/src/services/user.js.map +1 -0
- package/src/services/xor.d.ts +24 -0
- package/src/services/xor.d.ts.map +1 -0
- package/src/services/xor.js +37 -0
- package/src/services/xor.js.map +1 -0
- package/src/testing.d.ts +3 -0
- package/src/testing.d.ts.map +1 -0
- package/src/testing.js +7 -0
- package/src/testing.js.map +1 -0
- package/src/transactions/{index.ts → index.d.ts} +1 -0
- package/src/transactions/index.d.ts.map +1 -0
- package/src/transactions/index.js +5 -0
- package/src/transactions/index.js.map +1 -0
- package/src/transactions/transaction-manager.d.ts +12 -0
- package/src/transactions/transaction-manager.d.ts.map +1 -0
- package/src/transactions/transaction-manager.js +30 -0
- package/src/transactions/transaction-manager.js.map +1 -0
- package/src/types/{app-config.ts → app-config.d.ts} +9 -10
- package/src/types/app-config.d.ts.map +1 -0
- package/src/types/app-config.js +3 -0
- package/src/types/app-config.js.map +1 -0
- package/src/types/{controller-config.ts → controller-config.d.ts} +7 -8
- package/src/types/controller-config.d.ts.map +1 -0
- package/src/types/controller-config.js +3 -0
- package/src/types/controller-config.js.map +1 -0
- package/src/types/{environment-variables.ts → environment-variables.d.ts} +5 -26
- package/src/types/environment-variables.d.ts.map +1 -0
- package/src/types/environment-variables.js +39 -0
- package/src/types/environment-variables.js.map +1 -0
- package/src/types/id-converters.d.ts +28 -0
- package/src/types/id-converters.d.ts.map +1 -0
- package/src/types/id-converters.js +45 -0
- package/src/types/id-converters.js.map +1 -0
- package/src/types/{index.ts → index.d.ts} +1 -0
- package/src/types/index.d.ts.map +1 -0
- package/src/types/index.js +6 -0
- package/src/types/index.js.map +1 -0
- package/src/types/{mongoose-helpers.ts → mongoose-helpers.d.ts} +2 -2
- package/src/types/mongoose-helpers.d.ts.map +1 -0
- package/src/types/mongoose-helpers.js +6 -0
- package/src/types/mongoose-helpers.js.map +1 -0
- package/src/types.d.ts +68 -40
- package/src/types.d.ts.map +1 -0
- package/src/types.js +14 -0
- package/src/types.js.map +1 -0
- package/src/utils.d.ts +210 -0
- package/src/utils.d.ts.map +1 -0
- package/src/utils.js +819 -0
- package/src/utils.js.map +1 -0
- package/src/validation/{index.ts → index.d.ts} +1 -0
- package/src/validation/index.d.ts.map +1 -0
- package/src/validation/index.js +5 -0
- package/src/validation/index.js.map +1 -0
- package/src/validation/validation-builder.d.ts +32 -0
- package/src/validation/validation-builder.d.ts.map +1 -0
- package/src/validation/validation-builder.js +81 -0
- package/src/validation/validation-builder.js.map +1 -0
- package/LICENSE +0 -21
- package/src/__tests__/fixtures/index.ts +0 -1
- package/src/__tests__/fixtures/model-mocks.mock.ts +0 -122
- package/src/__tests__/helpers/application.mock.ts +0 -90
- package/src/__tests__/helpers/setup-test-env.ts +0 -163
- package/src/__tests__/index.ts +0 -2
- package/src/application-base.ts +0 -520
- package/src/application-concrete.ts +0 -32
- package/src/application.ts +0 -321
- package/src/backup-code.ts +0 -348
- package/src/builders/application-builder.ts +0 -94
- package/src/constants.ts +0 -83
- package/src/container/service-container.ts +0 -39
- package/src/container/service-definitions.ts +0 -11
- package/src/controllers/base.ts +0 -496
- package/src/controllers/user.ts +0 -1687
- package/src/decorators/base-controller.ts +0 -77
- package/src/decorators/controller.ts +0 -140
- package/src/decorators/zod-validation.ts +0 -57
- package/src/defaults.ts +0 -249
- package/src/documents/base.ts +0 -10
- package/src/enumerations/base-model-name.ts +0 -41
- package/src/enumerations/length-encoding-type.ts +0 -6
- package/src/enumerations/schema-collection.ts +0 -33
- package/src/enumerations/symmetric-error-type.ts +0 -4
- package/src/environment.ts +0 -836
- package/src/errors/express-validation.ts +0 -21
- package/src/errors/invalid-backup-code-version.ts +0 -15
- package/src/errors/invalid-jwt-token.ts +0 -11
- package/src/errors/invalid-model.ts +0 -11
- package/src/errors/invalid-new-password.ts +0 -18
- package/src/errors/invalid-password.ts +0 -13
- package/src/errors/missing-validated-data.ts +0 -36
- package/src/errors/mnemonic-or-password-required.ts +0 -13
- package/src/errors/model-not-registered.ts +0 -11
- package/src/errors/mongoose-validation.ts +0 -36
- package/src/errors/symmetric.ts +0 -38
- package/src/errors/token-expired.ts +0 -11
- package/src/get-language.ts +0 -53
- package/src/get-timezone.ts +0 -61
- package/src/interfaces/api-express-validation-error-response.ts +0 -8
- package/src/interfaces/api-message-response.ts +0 -3
- package/src/interfaces/api-responses/user-settings-response.ts +0 -12
- package/src/interfaces/application.ts +0 -16
- package/src/interfaces/backend-objects/email-token.ts +0 -11
- package/src/interfaces/backend-objects/request-user.ts +0 -8
- package/src/interfaces/backend-objects/user.ts +0 -7
- package/src/interfaces/checksum-config.ts +0 -4
- package/src/interfaces/checksum-consts.ts +0 -13
- package/src/interfaces/constants.ts +0 -103
- package/src/interfaces/controller-config.ts +0 -27
- package/src/interfaces/create-user-basics.ts +0 -17
- package/src/interfaces/csp-config.ts +0 -16
- package/src/interfaces/csp-definition.ts +0 -53
- package/src/interfaces/deep-partial.ts +0 -3
- package/src/interfaces/email-service.ts +0 -8
- package/src/interfaces/environment-mongo.ts +0 -76
- package/src/interfaces/environment.ts +0 -185
- package/src/interfaces/failable-result.ts +0 -6
- package/src/interfaces/fec-consts.ts +0 -4
- package/src/interfaces/flexible-csp.ts +0 -18
- package/src/interfaces/handleable-error-options.ts +0 -6
- package/src/interfaces/jwt-consts.ts +0 -23
- package/src/interfaces/jwt-sign-response.ts +0 -19
- package/src/interfaces/mongo-errors.ts +0 -5
- package/src/interfaces/request-user.ts +0 -66
- package/src/interfaces/required-string-keys.ts +0 -26
- package/src/interfaces/schema.ts +0 -31
- package/src/interfaces/server-init-result.ts +0 -38
- package/src/interfaces/status-code-response.ts +0 -7
- package/src/interfaces/symmetric-encryption-results.ts +0 -4
- package/src/middlewares/authenticate-crypto.ts +0 -216
- package/src/middlewares/authenticate-token.ts +0 -150
- package/src/middlewares/cleanup-crypto.ts +0 -37
- package/src/middlewares/set-global-context-language.ts +0 -24
- package/src/middlewares.ts +0 -105
- package/src/model-registry.ts +0 -75
- package/src/models/email-token.ts +0 -16
- package/src/models/mnemonic.ts +0 -16
- package/src/models/role.ts +0 -16
- package/src/models/used-direct-login-token.ts +0 -16
- package/src/models/user-role.ts +0 -14
- package/src/models/user.ts +0 -16
- package/src/pipeline/pipeline-builder.ts +0 -18
- package/src/plugins/plugin-interface.ts +0 -8
- package/src/plugins/plugin-manager.ts +0 -40
- package/src/registry/email-service-registry.ts +0 -53
- package/src/responses/response-builder.ts +0 -86
- package/src/routers/api.ts +0 -168
- package/src/routers/app.ts +0 -340
- package/src/routers/base.ts +0 -17
- package/src/routers/router-config.ts +0 -16
- package/src/routing/index.ts +0 -1
- package/src/routing/route-builder.ts +0 -126
- package/src/schemas/email-token.ts +0 -97
- package/src/schemas/mnemonic.ts +0 -39
- package/src/schemas/role.ts +0 -132
- package/src/schemas/schema.ts +0 -150
- package/src/schemas/used-direct-login-token.ts +0 -44
- package/src/schemas/user-role.ts +0 -81
- package/src/schemas/user.ts +0 -224
- package/src/services/backup-code.ts +0 -321
- package/src/services/base.ts +0 -35
- package/src/services/checksum.ts +0 -167
- package/src/services/crc.ts +0 -213
- package/src/services/database-initialization.ts +0 -1564
- package/src/services/direct-login-token.ts +0 -62
- package/src/services/dummy-email-service.ts +0 -20
- package/src/services/fec-usage-example.ts +0 -102
- package/src/services/fec.ts +0 -355
- package/src/services/jwt.ts +0 -133
- package/src/services/key-wrapping.ts +0 -449
- package/src/services/mnemonic.ts +0 -166
- package/src/services/request-user.ts +0 -99
- package/src/services/role.ts +0 -410
- package/src/services/symmetric.ts +0 -139
- package/src/services/system-user.ts +0 -79
- package/src/services/user.ts +0 -2279
- package/src/services/xor.ts +0 -34
- package/src/testing.ts +0 -3
- package/src/transactions/transaction-manager.ts +0 -37
- package/src/types/id-converters.ts +0 -53
- package/src/types/mongoose-override.d.ts +0 -1
- package/src/types/mongoose.d.ts +0 -1
- package/src/types.ts +0 -130
- package/src/utils.ts +0 -1081
- package/src/validation/validation-builder.ts +0 -94
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ChecksumService = void 0;
|
|
4
|
+
const crypto_1 = require("crypto");
|
|
5
|
+
const fs_1 = require("fs");
|
|
6
|
+
const constants_1 = require("../constants");
|
|
7
|
+
class ChecksumService {
|
|
8
|
+
config;
|
|
9
|
+
constants;
|
|
10
|
+
constructor(config, constants = constants_1.CHECKSUM) {
|
|
11
|
+
this.config = {
|
|
12
|
+
algorithm: constants.ALGORITHM,
|
|
13
|
+
encoding: constants.ENCODING,
|
|
14
|
+
...config,
|
|
15
|
+
};
|
|
16
|
+
this.constants = constants;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Calculate a checksum for a buffer
|
|
20
|
+
* @param data - The data to calculate the checksum for
|
|
21
|
+
* @returns The checksum as a Buffer
|
|
22
|
+
*/
|
|
23
|
+
calculateChecksum(data) {
|
|
24
|
+
const hash = (0, crypto_1.createHash)(this.config.algorithm);
|
|
25
|
+
hash.update(new Uint8Array(data));
|
|
26
|
+
const digest = hash.digest();
|
|
27
|
+
return Buffer.from(digest);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Calculate a checksum for multiple buffers
|
|
31
|
+
* @param buffers - The buffers to calculate the checksum for
|
|
32
|
+
* @returns The checksum as a Buffer
|
|
33
|
+
*/
|
|
34
|
+
calculateChecksumForBuffers(buffers) {
|
|
35
|
+
const hash = (0, crypto_1.createHash)(this.config.algorithm);
|
|
36
|
+
for (const buffer of buffers) {
|
|
37
|
+
hash.update(new Uint8Array(buffer));
|
|
38
|
+
}
|
|
39
|
+
const digest = hash.digest();
|
|
40
|
+
return Buffer.from(digest);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Calculate a checksum for a string
|
|
44
|
+
* @param str - The string to calculate the checksum for
|
|
45
|
+
* @returns The checksum as a Buffer
|
|
46
|
+
*/
|
|
47
|
+
calculateChecksumForString(str) {
|
|
48
|
+
return this.calculateChecksum(Buffer.from(str, 'utf8'));
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Compare two checksums for equality
|
|
52
|
+
* @param checksum1 - The first checksum
|
|
53
|
+
* @param checksum2 - The second checksum
|
|
54
|
+
* @returns True if the checksums are equal, false otherwise
|
|
55
|
+
*/
|
|
56
|
+
compareChecksums(checksum1, checksum2) {
|
|
57
|
+
if (checksum1.length !== this.constants.SHA3_BUFFER_LENGTH ||
|
|
58
|
+
checksum2.length !== this.constants.SHA3_BUFFER_LENGTH) {
|
|
59
|
+
return false;
|
|
60
|
+
}
|
|
61
|
+
return checksum1.equals(new Uint8Array(checksum2));
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Convert a checksum to a hex string
|
|
65
|
+
* @param checksum - The checksum to convert
|
|
66
|
+
* @returns The checksum as a hex string
|
|
67
|
+
*/
|
|
68
|
+
checksumToHexString(checksum) {
|
|
69
|
+
return checksum.toString(this.constants.ENCODING);
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Convert a hex string to a checksum
|
|
73
|
+
* @param hexString - The hex string to convert
|
|
74
|
+
* @returns The checksum as a Buffer
|
|
75
|
+
*/
|
|
76
|
+
hexStringToChecksum(hexString) {
|
|
77
|
+
if (hexString.length !== this.constants.SHA3_BUFFER_LENGTH * 2) {
|
|
78
|
+
throw new Error('Invalid checksum hex string length');
|
|
79
|
+
}
|
|
80
|
+
return Buffer.from(hexString, this.constants.ENCODING);
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Validate a checksum buffer
|
|
84
|
+
* @param checksum - The checksum to validate
|
|
85
|
+
* @returns True if the checksum is valid, false otherwise
|
|
86
|
+
*/
|
|
87
|
+
validateChecksum(checksum) {
|
|
88
|
+
return checksum.length === this.constants.SHA3_BUFFER_LENGTH;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Calculate a checksum for a file
|
|
92
|
+
* @param filePath - The path to the file
|
|
93
|
+
* @returns The checksum as a Buffer
|
|
94
|
+
*/
|
|
95
|
+
async calculateChecksumForFile(filePath) {
|
|
96
|
+
// Removed dynamic import by using the data service to read file data
|
|
97
|
+
// This is a temporary solution that can be replaced with a proper file service
|
|
98
|
+
// The implementation now delegates file reading to the caller
|
|
99
|
+
const buffer = Buffer.from(await this.readFile(filePath));
|
|
100
|
+
return this.calculateChecksum(buffer);
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Internal file reading method
|
|
104
|
+
* @private
|
|
105
|
+
*/
|
|
106
|
+
async readFile(filePath) {
|
|
107
|
+
// Import fs using a static import that's available at module load time
|
|
108
|
+
// This solves the dynamic import/require issues
|
|
109
|
+
try {
|
|
110
|
+
return await fs_1.promises.readFile(filePath);
|
|
111
|
+
}
|
|
112
|
+
catch {
|
|
113
|
+
throw new Error(`Failed to read file at path: ${filePath}`);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Calculate a checksum for a stream
|
|
118
|
+
* @param stream - The readable stream
|
|
119
|
+
* @returns The checksum as a Buffer
|
|
120
|
+
*/
|
|
121
|
+
calculateChecksumForStream(stream) {
|
|
122
|
+
return new Promise((resolve, reject) => {
|
|
123
|
+
const hash = (0, crypto_1.createHash)(this.config.algorithm);
|
|
124
|
+
stream.on('data', (chunk) => {
|
|
125
|
+
// Ensure chunk is a Buffer before updating hash
|
|
126
|
+
if (Buffer.isBuffer(chunk)) {
|
|
127
|
+
hash.update(new Uint8Array(chunk));
|
|
128
|
+
}
|
|
129
|
+
else if (typeof chunk === 'number') {
|
|
130
|
+
hash.update(new Uint8Array(Buffer.from([chunk])));
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
hash.update(new Uint8Array(Buffer.from(chunk)));
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
stream.on('end', () => {
|
|
137
|
+
const digest = hash.digest();
|
|
138
|
+
resolve(Buffer.from(digest));
|
|
139
|
+
});
|
|
140
|
+
stream.on('error', reject);
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
exports.ChecksumService = ChecksumService;
|
|
145
|
+
//# sourceMappingURL=checksum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checksum.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/checksum.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { Readable } from 'stream';
|
|
2
|
+
export declare class CrcService {
|
|
3
|
+
/**
|
|
4
|
+
* Perform a CRC8 checksum on the data
|
|
5
|
+
* @param data - The data to checksum
|
|
6
|
+
* @returns The CRC8 checksum as a Buffer
|
|
7
|
+
*/
|
|
8
|
+
crc8(data: Buffer): Buffer;
|
|
9
|
+
/**
|
|
10
|
+
* Calculates the CRC8 of a buffer or readable stream
|
|
11
|
+
* @param input - The buffer or readable stream to calculate the CRC8 of
|
|
12
|
+
* @returns The CRC8 as a Buffer
|
|
13
|
+
*/
|
|
14
|
+
crc8Async(input: Buffer | Readable): Promise<Buffer>;
|
|
15
|
+
/**
|
|
16
|
+
* Verify a CRC8 checksum on the data
|
|
17
|
+
* @param data - The data to verify
|
|
18
|
+
* @param expectedCrc - The expected CRC8 checksum
|
|
19
|
+
* @returns True if the checksum matches, false otherwise
|
|
20
|
+
*/
|
|
21
|
+
verifyCrc8(data: Buffer, expectedCrc: Buffer | number): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Validates a CRC8 against a buffer or readable stream
|
|
24
|
+
* @param data The data to validate
|
|
25
|
+
* @param expectedCrc8 The CRC8 to validate against
|
|
26
|
+
* @returns True if the CRC8 is valid, false otherwise
|
|
27
|
+
*/
|
|
28
|
+
verifyCrc8Async(data: Buffer | Readable, expectedCrc8: Buffer): Promise<boolean>;
|
|
29
|
+
/**
|
|
30
|
+
* Perform a CRC16 checksum on the data
|
|
31
|
+
* @param data - The data to checksum
|
|
32
|
+
* @returns The CRC16 checksum as a Buffer
|
|
33
|
+
*/
|
|
34
|
+
crc16(data: Buffer): Buffer;
|
|
35
|
+
/**
|
|
36
|
+
* Calculates the CRC16 of a buffer or readable stream
|
|
37
|
+
* @param input - The buffer or readable stream to calculate the CRC16 of
|
|
38
|
+
* @returns The CRC16 as a Buffer
|
|
39
|
+
*/
|
|
40
|
+
crc16Async(input: Buffer | Readable): Promise<Buffer>;
|
|
41
|
+
/**
|
|
42
|
+
* Verify a CRC16 checksum on the data
|
|
43
|
+
* @param data - The data to verify
|
|
44
|
+
* @param expectedCrc - The expected CRC16 checksum
|
|
45
|
+
* @returns True if the checksum matches, false otherwise
|
|
46
|
+
*/
|
|
47
|
+
verifyCrc16(data: Buffer, expectedCrc: Buffer | number): boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Validates a CRC16 against a buffer or readable stream
|
|
50
|
+
* @param data The data to validate
|
|
51
|
+
* @param expectedCrc16 The CRC16 to validate against
|
|
52
|
+
* @returns True if the CRC16 is valid, false otherwise
|
|
53
|
+
*/
|
|
54
|
+
verifyCrc16Async(data: Buffer | Readable, expectedCrc16: Buffer): Promise<boolean>;
|
|
55
|
+
/**
|
|
56
|
+
* Perform a CRC32 checksum on the data
|
|
57
|
+
* @param data - The data to checksum
|
|
58
|
+
* @returns The CRC32 checksum as a Buffer
|
|
59
|
+
*/
|
|
60
|
+
crc32(data: Buffer): Buffer;
|
|
61
|
+
/**
|
|
62
|
+
* Calculates the CRC32 of a buffer or readable stream
|
|
63
|
+
* @param input - The buffer or readable stream to calculate the CRC32 of
|
|
64
|
+
* @returns The CRC32 as a number
|
|
65
|
+
*/
|
|
66
|
+
/**
|
|
67
|
+
* Calculates the CRC32 of a buffer or readable stream
|
|
68
|
+
* @param input - The buffer or readable stream to calculate the CRC32 of
|
|
69
|
+
* @returns The CRC32 as a Buffer
|
|
70
|
+
*/
|
|
71
|
+
crc32Async(input: Buffer | Readable): Promise<Buffer>;
|
|
72
|
+
/**
|
|
73
|
+
* Verify a CRC32 checksum on the data
|
|
74
|
+
* @param data - The data to verify
|
|
75
|
+
* @param expectedCrc - The expected CRC32 checksum
|
|
76
|
+
* @returns True if the checksum matches, false otherwise
|
|
77
|
+
*/
|
|
78
|
+
verifyCrc32(data: Buffer, expectedCrc: Buffer | number): boolean;
|
|
79
|
+
/**
|
|
80
|
+
* Validates a CRC32 against a buffer or readable stream
|
|
81
|
+
* @param data The data to validate
|
|
82
|
+
* @param expectedCrc32 The CRC32 to validate against
|
|
83
|
+
* @returns True if the CRC32 is valid, false otherwise
|
|
84
|
+
*/
|
|
85
|
+
verifyCrc32Async(data: Buffer | Readable, expectedCrc32: Buffer): Promise<boolean>;
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=crc.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crc.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/crc.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,qBAAa,UAAU;IACrB;;;;OAIG;IACI,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAMjC;;;;OAIG;IACU,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IAwBjE;;;;;OAKG;IACI,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO;IAStE;;;;;OAKG;IACU,eAAe,CAC1B,IAAI,EAAE,MAAM,GAAG,QAAQ,EACvB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,OAAO,CAAC;IAInB;;;;OAIG;IACI,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAMlC;;;;OAIG;IACU,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IAwBlE;;;;;OAKG;IACI,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO;IASvE;;;;;OAKG;IACU,gBAAgB,CAC3B,IAAI,EAAE,MAAM,GAAG,QAAQ,EACvB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,OAAO,CAAC;IAInB;;;;OAIG;IACI,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAMlC;;;;OAIG;IACH;;;;OAIG;IACU,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IAuBlE;;;;;OAKG;IACI,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO;IASvE;;;;;OAKG;IACU,gBAAgB,CAC3B,IAAI,EAAE,MAAM,GAAG,QAAQ,EACvB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,OAAO,CAAC;CAIpB"}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CrcService = void 0;
|
|
4
|
+
const crc_1 = require("crc");
|
|
5
|
+
class CrcService {
|
|
6
|
+
/**
|
|
7
|
+
* Perform a CRC8 checksum on the data
|
|
8
|
+
* @param data - The data to checksum
|
|
9
|
+
* @returns The CRC8 checksum as a Buffer
|
|
10
|
+
*/
|
|
11
|
+
crc8(data) {
|
|
12
|
+
const crc8buf = Buffer.alloc(1);
|
|
13
|
+
const crc8value = (0, crc_1.crc8)(data);
|
|
14
|
+
crc8buf.writeUInt8(crc8value);
|
|
15
|
+
return crc8buf;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Calculates the CRC8 of a buffer or readable stream
|
|
19
|
+
* @param input - The buffer or readable stream to calculate the CRC8 of
|
|
20
|
+
* @returns The CRC8 as a Buffer
|
|
21
|
+
*/
|
|
22
|
+
async crc8Async(input) {
|
|
23
|
+
if (Buffer.isBuffer(input)) {
|
|
24
|
+
return Promise.resolve(this.crc8(input));
|
|
25
|
+
}
|
|
26
|
+
return new Promise((resolve, reject) => {
|
|
27
|
+
let crc8value = (0, crc_1.crc8)(Buffer.alloc(0)); // Initialize with empty buffer
|
|
28
|
+
input.on('data', (chunk) => {
|
|
29
|
+
const tempBuf = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
|
|
30
|
+
crc8value = (0, crc_1.crc8)(tempBuf, crc8value);
|
|
31
|
+
});
|
|
32
|
+
input.on('end', () => {
|
|
33
|
+
const crc8buf = Buffer.alloc(1);
|
|
34
|
+
crc8buf.writeUInt8(crc8value);
|
|
35
|
+
resolve(crc8buf);
|
|
36
|
+
});
|
|
37
|
+
input.on('error', (error) => {
|
|
38
|
+
reject(error);
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Verify a CRC8 checksum on the data
|
|
44
|
+
* @param data - The data to verify
|
|
45
|
+
* @param expectedCrc - The expected CRC8 checksum
|
|
46
|
+
* @returns True if the checksum matches, false otherwise
|
|
47
|
+
*/
|
|
48
|
+
verifyCrc8(data, expectedCrc) {
|
|
49
|
+
const crc8value = (0, crc_1.crc8)(data);
|
|
50
|
+
if (typeof expectedCrc === 'number') {
|
|
51
|
+
return crc8value === expectedCrc;
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
const expectedCrc8 = expectedCrc.readUInt8();
|
|
55
|
+
return crc8value === expectedCrc8;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Validates a CRC8 against a buffer or readable stream
|
|
60
|
+
* @param data The data to validate
|
|
61
|
+
* @param expectedCrc8 The CRC8 to validate against
|
|
62
|
+
* @returns True if the CRC8 is valid, false otherwise
|
|
63
|
+
*/
|
|
64
|
+
async verifyCrc8Async(data, expectedCrc8) {
|
|
65
|
+
const calculatedCrc8 = await this.crc8Async(data);
|
|
66
|
+
return calculatedCrc8.equals(new Uint8Array(expectedCrc8));
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Perform a CRC16 checksum on the data
|
|
70
|
+
* @param data - The data to checksum
|
|
71
|
+
* @returns The CRC16 checksum as a Buffer
|
|
72
|
+
*/
|
|
73
|
+
crc16(data) {
|
|
74
|
+
const crc16buf = Buffer.alloc(2);
|
|
75
|
+
const crc16value = (0, crc_1.crc16ccitt)(data); // For CRC16-CCITT-FALSE
|
|
76
|
+
crc16buf.writeUInt16BE(crc16value);
|
|
77
|
+
return crc16buf;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Calculates the CRC16 of a buffer or readable stream
|
|
81
|
+
* @param input - The buffer or readable stream to calculate the CRC16 of
|
|
82
|
+
* @returns The CRC16 as a Buffer
|
|
83
|
+
*/
|
|
84
|
+
async crc16Async(input) {
|
|
85
|
+
if (Buffer.isBuffer(input)) {
|
|
86
|
+
return Promise.resolve(this.crc16(input));
|
|
87
|
+
}
|
|
88
|
+
return new Promise((resolve, reject) => {
|
|
89
|
+
let crc16value = (0, crc_1.crc16ccitt)(Buffer.alloc(0)); // Initialize with empty buffer
|
|
90
|
+
input.on('data', (chunk) => {
|
|
91
|
+
const tempBuf = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
|
|
92
|
+
crc16value = (0, crc_1.crc16ccitt)(tempBuf, crc16value);
|
|
93
|
+
});
|
|
94
|
+
input.on('end', () => {
|
|
95
|
+
const crc16buf = Buffer.alloc(2);
|
|
96
|
+
crc16buf.writeUInt16BE(crc16value);
|
|
97
|
+
resolve(crc16buf);
|
|
98
|
+
});
|
|
99
|
+
input.on('error', (error) => {
|
|
100
|
+
reject(error);
|
|
101
|
+
});
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Verify a CRC16 checksum on the data
|
|
106
|
+
* @param data - The data to verify
|
|
107
|
+
* @param expectedCrc - The expected CRC16 checksum
|
|
108
|
+
* @returns True if the checksum matches, false otherwise
|
|
109
|
+
*/
|
|
110
|
+
verifyCrc16(data, expectedCrc) {
|
|
111
|
+
const crc16value = (0, crc_1.crc16ccitt)(data); // For CRC16-CCITT-FALSE
|
|
112
|
+
if (typeof expectedCrc === 'number') {
|
|
113
|
+
return crc16value === expectedCrc;
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
const expectedCrc16 = expectedCrc.readUInt16BE();
|
|
117
|
+
return crc16value === expectedCrc16;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Validates a CRC16 against a buffer or readable stream
|
|
122
|
+
* @param data The data to validate
|
|
123
|
+
* @param expectedCrc16 The CRC16 to validate against
|
|
124
|
+
* @returns True if the CRC16 is valid, false otherwise
|
|
125
|
+
*/
|
|
126
|
+
async verifyCrc16Async(data, expectedCrc16) {
|
|
127
|
+
const calculatedCrc16 = await this.crc16Async(data);
|
|
128
|
+
return calculatedCrc16.equals(new Uint8Array(expectedCrc16));
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Perform a CRC32 checksum on the data
|
|
132
|
+
* @param data - The data to checksum
|
|
133
|
+
* @returns The CRC32 checksum as a Buffer
|
|
134
|
+
*/
|
|
135
|
+
crc32(data) {
|
|
136
|
+
const crc32value = (0, crc_1.crc32)(data);
|
|
137
|
+
const crc32buf = Buffer.alloc(4);
|
|
138
|
+
crc32buf.writeUInt32BE(crc32value);
|
|
139
|
+
return crc32buf;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Calculates the CRC32 of a buffer or readable stream
|
|
143
|
+
* @param input - The buffer or readable stream to calculate the CRC32 of
|
|
144
|
+
* @returns The CRC32 as a number
|
|
145
|
+
*/
|
|
146
|
+
/**
|
|
147
|
+
* Calculates the CRC32 of a buffer or readable stream
|
|
148
|
+
* @param input - The buffer or readable stream to calculate the CRC32 of
|
|
149
|
+
* @returns The CRC32 as a Buffer
|
|
150
|
+
*/
|
|
151
|
+
async crc32Async(input) {
|
|
152
|
+
if (Buffer.isBuffer(input)) {
|
|
153
|
+
return Promise.resolve(this.crc32(input));
|
|
154
|
+
}
|
|
155
|
+
return new Promise((resolve, reject) => {
|
|
156
|
+
const chunks = [];
|
|
157
|
+
input.on('data', (chunk) => {
|
|
158
|
+
const tempBuf = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
|
|
159
|
+
chunks.push(tempBuf);
|
|
160
|
+
});
|
|
161
|
+
input.on('end', () => {
|
|
162
|
+
const fullBuffer = Buffer.concat(chunks.map(c => new Uint8Array(c)));
|
|
163
|
+
resolve(this.crc32(fullBuffer));
|
|
164
|
+
});
|
|
165
|
+
input.on('error', (error) => {
|
|
166
|
+
reject(error);
|
|
167
|
+
});
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Verify a CRC32 checksum on the data
|
|
172
|
+
* @param data - The data to verify
|
|
173
|
+
* @param expectedCrc - The expected CRC32 checksum
|
|
174
|
+
* @returns True if the checksum matches, false otherwise
|
|
175
|
+
*/
|
|
176
|
+
verifyCrc32(data, expectedCrc) {
|
|
177
|
+
const crc32value = (0, crc_1.crc32)(data);
|
|
178
|
+
if (typeof expectedCrc === 'number') {
|
|
179
|
+
return crc32value === expectedCrc;
|
|
180
|
+
}
|
|
181
|
+
else {
|
|
182
|
+
const expectedCrc32 = expectedCrc.readUInt32BE();
|
|
183
|
+
return crc32value === expectedCrc32;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Validates a CRC32 against a buffer or readable stream
|
|
188
|
+
* @param data The data to validate
|
|
189
|
+
* @param expectedCrc32 The CRC32 to validate against
|
|
190
|
+
* @returns True if the CRC32 is valid, false otherwise
|
|
191
|
+
*/
|
|
192
|
+
async verifyCrc32Async(data, expectedCrc32) {
|
|
193
|
+
const calculatedCrc32 = await this.crc32Async(data);
|
|
194
|
+
return calculatedCrc32.equals(new Uint8Array(expectedCrc32));
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
exports.CrcService = CrcService;
|
|
198
|
+
//# sourceMappingURL=crc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crc.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/crc.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { EmailString, MemberType, SecureString } from '@digitaldefiance/ecies-lib';
|
|
2
|
+
import { Member as BackendMember, ECIESService } from '@digitaldefiance/node-ecies-lib';
|
|
3
|
+
import { IFailableResult } from '@digitaldefiance/suite-core-lib';
|
|
4
|
+
import { Connection, Types } from '@digitaldefiance/mongoose-types';
|
|
5
|
+
import { BackupCode } from '../backup-code';
|
|
6
|
+
import { IDBInitResult } from '../interfaces';
|
|
7
|
+
import { IApplication } from '../interfaces/application';
|
|
8
|
+
import { IServerInitResult } from '../interfaces/server-init-result';
|
|
9
|
+
import { KeyWrappingService } from '../services/key-wrapping';
|
|
10
|
+
import { BackupCodeService } from './backup-code';
|
|
11
|
+
import { MnemonicService } from './mnemonic';
|
|
12
|
+
import { RoleService } from './role';
|
|
13
|
+
export declare abstract class DatabaseInitializationService {
|
|
14
|
+
protected static initializationPromises: Map<string, Promise<IFailableResult<IServerInitResult<Types.ObjectId>>>>;
|
|
15
|
+
protected static initializationLock: Map<string, boolean>;
|
|
16
|
+
protected static defaultI18nTFunc(str: string, variables?: Record<string, any>, language?: string, application?: IApplication): string;
|
|
17
|
+
/**
|
|
18
|
+
* Get the mnemonic or generate a new one if not present
|
|
19
|
+
* @param mnemonic The existing mnemonic or undefined
|
|
20
|
+
* @param eciesService The ECIES service to generate a new mnemonic
|
|
21
|
+
* @returns The existing or new mnemonic
|
|
22
|
+
*/
|
|
23
|
+
static mnemonicOrNew(mnemonic: SecureString | undefined, eciesService: ECIESService): SecureString;
|
|
24
|
+
/**
|
|
25
|
+
* Generate a cache key for a user based on their details
|
|
26
|
+
* @param username The username
|
|
27
|
+
* @param email The email address
|
|
28
|
+
* @param mnemonic The mnemonic
|
|
29
|
+
* @param id The user ID
|
|
30
|
+
* @returns The generated cache key
|
|
31
|
+
*/
|
|
32
|
+
static cacheKey<I extends Types.ObjectId | string = Types.ObjectId>(username: string, email: EmailString, mnemonic: SecureString, id: I, idToString?: (id: I) => string): string;
|
|
33
|
+
/**
|
|
34
|
+
* Get a cached BackendMember or create a new one if not cached
|
|
35
|
+
* @param username The username
|
|
36
|
+
* @param email The email address
|
|
37
|
+
* @param mnemonic The mnemonic or undefined to generate a new one
|
|
38
|
+
* @param memberType The type of member (Admin, Member, System)
|
|
39
|
+
* @param eciesService The ECIES service to handle key generation
|
|
40
|
+
* @param memberId Optional specific member ID to use
|
|
41
|
+
* @param createdBy Optional ID of the user who created this member
|
|
42
|
+
* @returns The cached or newly created BackendMember and the mnemonic used
|
|
43
|
+
*/
|
|
44
|
+
static cacheOrNew<I extends Types.ObjectId | string = Types.ObjectId>(username: string, email: EmailString, mnemonic: SecureString | undefined, memberType: MemberType, eciesService: ECIESService, memberId?: I, createdBy?: I, idGenerator?: () => I, idToString?: (id: I) => string): {
|
|
45
|
+
member: BackendMember<I>;
|
|
46
|
+
mnemonic: SecureString;
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Generate a random password
|
|
50
|
+
* @param length The length of the password
|
|
51
|
+
* @returns The generated password
|
|
52
|
+
*/
|
|
53
|
+
static generatePassword(length: number): string;
|
|
54
|
+
/**
|
|
55
|
+
* Drops the database
|
|
56
|
+
* @param connection The database connection
|
|
57
|
+
* @returns True if the database was dropped, false if not connected
|
|
58
|
+
*/
|
|
59
|
+
static dropDatabase(connection: Connection): Promise<boolean>;
|
|
60
|
+
static getInitOptions<I extends Types.ObjectId | string = Types.ObjectId>(application: IApplication): {
|
|
61
|
+
adminId?: I;
|
|
62
|
+
adminMnemonic?: SecureString;
|
|
63
|
+
adminPassword?: SecureString;
|
|
64
|
+
adminRoleId?: I;
|
|
65
|
+
adminUserRoleId?: I;
|
|
66
|
+
adminBackupCodes?: BackupCode[];
|
|
67
|
+
memberId?: I;
|
|
68
|
+
memberMnemonic?: SecureString;
|
|
69
|
+
memberPassword?: SecureString;
|
|
70
|
+
memberRoleId?: I;
|
|
71
|
+
memberUserRoleId?: I;
|
|
72
|
+
memberBackupCodes?: BackupCode[];
|
|
73
|
+
systemId?: I;
|
|
74
|
+
systemMnemonic?: SecureString;
|
|
75
|
+
systemPassword?: SecureString;
|
|
76
|
+
systemRoleId?: I;
|
|
77
|
+
systemUserRoleId?: I;
|
|
78
|
+
systemBackupCodes?: BackupCode[];
|
|
79
|
+
};
|
|
80
|
+
static serverInitResultHash<I extends Types.ObjectId | string = Types.ObjectId>(serverInitResult: IServerInitResult<I>, idToString?: (id: I) => string): string;
|
|
81
|
+
/**
|
|
82
|
+
* Initialize the user database with default users and roles (with dependency injection)
|
|
83
|
+
* @param application The application
|
|
84
|
+
* @param keyWrappingService The key wrapping service
|
|
85
|
+
* @param mnemonicService The mnemonic service
|
|
86
|
+
* @param eciesService The ECIES service
|
|
87
|
+
* @param roleService The role service
|
|
88
|
+
* @param backupCodeService The backup code service
|
|
89
|
+
* @returns The result of the initialization
|
|
90
|
+
*/
|
|
91
|
+
static initUserDbWithServices<I extends Types.ObjectId | string = Types.ObjectId>(application: IApplication, keyWrappingService: KeyWrappingService, mnemonicService: MnemonicService<I>, eciesService: ECIESService, roleService: RoleService<I>, backupCodeService: BackupCodeService<I>, idGenerator?: () => I, idToString?: (id: I) => string): Promise<IDBInitResult<IServerInitResult<I>>>;
|
|
92
|
+
static serverInitResultsToDotEnv<I extends Types.ObjectId | string = Types.ObjectId>(serverInitResult: IServerInitResult<I>, idToString?: (id: I) => string): string;
|
|
93
|
+
static printServerInitResults<I extends Types.ObjectId | string = Types.ObjectId>(result: IServerInitResult<I>, printDotEnv?: boolean, idToString?: (id: I) => string): void;
|
|
94
|
+
static setEnvFromInitResults<I extends Types.ObjectId | string = Types.ObjectId>(result: IServerInitResult<I>, idToString?: (id: I) => string): void;
|
|
95
|
+
/**
|
|
96
|
+
* Initialize the user database with default users and roles (convenience method)
|
|
97
|
+
* This method creates the necessary services and calls initUserDbWithServices
|
|
98
|
+
* @param application The application
|
|
99
|
+
* @returns The result of the initialization
|
|
100
|
+
*/
|
|
101
|
+
static initUserDb<I extends Types.ObjectId | string = Types.ObjectId>(application: IApplication, idGenerator?: () => I, idToString?: (id: I) => string): Promise<IFailableResult<IServerInitResult<I>>>;
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=database-initialization.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
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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"}
|