@digitaldefiance/node-express-suite 3.7.4 → 3.7.5
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/LICENSE +21 -0
- package/package.json +4 -5
- package/src/__tests__/fixtures/{index.d.ts → index.ts} +0 -1
- package/src/__tests__/fixtures/model-mocks.mock.ts +164 -0
- package/src/__tests__/helpers/application.mock.ts +89 -0
- package/src/__tests__/helpers/{index.d.ts → index.ts} +0 -1
- package/src/__tests__/helpers/setup-test-env.ts +202 -0
- package/src/__tests__/{index.d.ts → index.ts} +0 -1
- package/src/application-base.ts +548 -0
- package/src/application-concrete.ts +62 -0
- package/src/application.ts +330 -0
- package/src/backup-code.ts +348 -0
- package/src/builders/application-builder.ts +147 -0
- package/src/builders/{index.d.ts → index.ts} +0 -1
- package/src/constants.ts +89 -0
- package/src/container/{index.d.ts → index.ts} +0 -1
- package/src/container/service-container.ts +85 -0
- package/src/container/service-definitions.ts +23 -0
- package/src/controllers/base.ts +512 -0
- package/src/controllers/{index.d.ts → index.ts} +0 -1
- package/src/controllers/user.ts +1734 -0
- package/src/database/database-initializer.ts +13 -0
- package/src/database/{index.d.ts → index.ts} +0 -1
- package/src/decorators/base-controller.ts +91 -0
- package/src/decorators/controller.ts +152 -0
- package/src/decorators/{index.d.ts → index.ts} +0 -1
- package/src/decorators/zod-validation.ts +64 -0
- package/src/defaults.ts +259 -0
- package/src/documents/base.ts +17 -0
- package/src/documents/email-token.ts +20 -0
- package/src/documents/{index.d.ts → index.ts} +0 -1
- package/src/documents/mnemonic.ts +20 -0
- package/src/documents/role.ts +19 -0
- package/src/documents/used-direct-login-token.ts +18 -0
- package/src/documents/user-role.ts +20 -0
- package/src/documents/user.ts +20 -0
- package/src/enumerations/base-model-name.ts +47 -0
- package/src/enumerations/{index.d.ts → index.ts} +0 -1
- package/src/enumerations/length-encoding-type.ts +16 -0
- package/src/enumerations/schema-collection.ts +39 -0
- package/src/enumerations/symmetric-error-type.ts +13 -0
- package/src/environment.ts +859 -0
- package/src/errors/express-validation.ts +38 -0
- package/src/errors/{index.d.ts → index.ts} +0 -1
- package/src/errors/invalid-backup-code-version.ts +30 -0
- package/src/errors/invalid-jwt-token.ts +24 -0
- package/src/errors/invalid-model.ts +24 -0
- package/src/errors/invalid-new-password.ts +33 -0
- package/src/errors/invalid-password.ts +28 -0
- package/src/errors/missing-validated-data.ts +55 -0
- package/src/errors/mnemonic-or-password-required.ts +26 -0
- package/src/errors/model-not-registered.ts +24 -0
- package/src/errors/mongoose-validation.ts +56 -0
- package/src/errors/symmetric.ts +53 -0
- package/src/errors/token-expired.ts +24 -0
- package/src/get-language.ts +64 -0
- package/src/get-timezone.ts +76 -0
- package/src/{index.d.ts → index.ts} +44 -2
- package/src/interfaces/api-error-response.ts +15 -0
- package/src/interfaces/api-express-validation-error-response.ts +17 -0
- package/src/interfaces/api-message-response.ts +12 -0
- package/src/interfaces/api-mongo-validation-error-response.ts +17 -0
- package/src/interfaces/api-responses/backup-codes-response.ts +15 -0
- package/src/interfaces/api-responses/challenge-response.ts +17 -0
- package/src/interfaces/api-responses/code-count-response.ts +12 -0
- package/src/interfaces/api-responses/{index.d.ts → index.ts} +0 -1
- package/src/interfaces/api-responses/login-response.ts +18 -0
- package/src/interfaces/api-responses/mnemonic-response.ts +15 -0
- package/src/interfaces/api-responses/registration-response.ts +17 -0
- package/src/interfaces/api-responses/request-user-response.ts +16 -0
- package/src/interfaces/api-responses/user-settings-response.ts +19 -0
- package/src/interfaces/application.ts +40 -0
- package/src/interfaces/backend-objects/email-token.ts +18 -0
- package/src/interfaces/backend-objects/{index.d.ts → index.ts} +0 -1
- package/src/interfaces/backend-objects/request-user.ts +19 -0
- package/src/interfaces/backend-objects/role.ts +18 -0
- package/src/interfaces/backend-objects/user.ts +18 -0
- package/src/interfaces/checksum-config.ts +15 -0
- package/src/interfaces/checksum-consts.ts +23 -0
- package/src/interfaces/constants.ts +114 -0
- package/src/interfaces/controller-config.ts +54 -0
- package/src/interfaces/create-user-basics.ts +24 -0
- package/src/interfaces/csp-config.ts +32 -0
- package/src/interfaces/csp-definition.ts +71 -0
- package/src/interfaces/db-init-result.ts +17 -0
- package/src/interfaces/deep-partial.ts +14 -0
- package/src/interfaces/discriminator-collections.ts +21 -0
- package/src/interfaces/email-service.ts +26 -0
- package/src/interfaces/environment-mongo.ts +86 -0
- package/src/interfaces/environment.ts +191 -0
- package/src/interfaces/failable-result.ts +20 -0
- package/src/interfaces/fec-consts.ts +14 -0
- package/src/interfaces/flexible-csp.ts +35 -0
- package/src/interfaces/handleable-error-options.ts +19 -0
- package/src/interfaces/{index.d.ts → index.ts} +0 -1
- package/src/interfaces/jwt-consts.ts +33 -0
- package/src/interfaces/jwt-sign-response.ts +31 -0
- package/src/interfaces/models/email-token.ts +13 -0
- package/src/interfaces/models/{index.d.ts → index.ts} +0 -1
- package/src/interfaces/models/mnemonic.ts +14 -0
- package/src/interfaces/models/role.ts +13 -0
- package/src/interfaces/models/token-role.ts +23 -0
- package/src/interfaces/models/used-direct-login-token.ts +21 -0
- package/src/interfaces/models/user-role.ts +23 -0
- package/src/interfaces/models/user.ts +30 -0
- package/src/interfaces/mongo-errors.ts +14 -0
- package/src/interfaces/request-user.ts +80 -0
- package/src/interfaces/required-string-keys.ts +33 -0
- package/src/interfaces/schema.ts +43 -0
- package/src/interfaces/server-init-result.ts +48 -0
- package/src/interfaces/status-code-response.ts +20 -0
- package/src/interfaces/symmetric-encryption-results.d.ts.map +1 -1
- package/src/interfaces/symmetric-encryption-results.js.map +1 -1
- package/src/interfaces/symmetric-encryption-results.ts +15 -0
- package/src/interfaces/test-environment.ts +23 -0
- package/src/interfaces/token-response.ts +16 -0
- package/src/middleware-utils.ts +138 -0
- package/src/middlewares/authenticate-crypto.ts +237 -0
- package/src/middlewares/authenticate-token.ts +165 -0
- package/src/middlewares/cleanup-crypto.ts +47 -0
- package/src/middlewares/{index.d.ts → index.ts} +0 -1
- package/src/middlewares/set-global-context-language.ts +38 -0
- package/src/model-registry.ts +142 -0
- package/src/models/email-token.ts +49 -0
- package/src/models/{index.d.ts → index.ts} +0 -1
- package/src/models/mnemonic.ts +42 -0
- package/src/models/role.ts +38 -0
- package/src/models/used-direct-login-token.ts +49 -0
- package/src/models/user-role.ts +40 -0
- package/src/models/user.ts +42 -0
- package/src/pipeline/{index.d.ts → index.ts} +0 -1
- package/src/pipeline/pipeline-builder.ts +27 -0
- package/src/plugins/{index.d.ts → index.ts} +0 -1
- package/src/plugins/plugin-interface.ts +19 -0
- package/src/plugins/plugin-manager.ts +53 -0
- package/src/registry/email-service-registry.ts +76 -0
- package/src/registry/{index.d.ts → index.ts} +0 -1
- package/src/responses/{index.d.ts → index.ts} +0 -1
- package/src/responses/response-builder.ts +166 -0
- package/src/routers/api.ts +233 -0
- package/src/routers/app.ts +395 -0
- package/src/routers/base.ts +34 -0
- package/src/routers/{index.d.ts → index.ts} +0 -1
- package/src/routers/router-config.ts +34 -0
- package/src/routing/index.ts +1 -0
- package/src/routing/route-builder.ts +214 -0
- package/src/schemas/email-token.ts +112 -0
- package/src/schemas/{index.d.ts → index.ts} +0 -1
- package/src/schemas/mnemonic.ts +48 -0
- package/src/schemas/role.ts +153 -0
- package/src/schemas/schema.ts +185 -0
- package/src/schemas/used-direct-login-token.ts +58 -0
- package/src/schemas/user-role.ts +93 -0
- package/src/schemas/user.ts +244 -0
- package/src/services/backup-code.ts +327 -0
- package/src/services/base.ts +46 -0
- package/src/services/checksum.ts +189 -0
- package/src/services/database-initialization.ts +1653 -0
- package/src/services/db-init-cache.ts +28 -0
- package/src/services/direct-login-token.ts +83 -0
- package/src/services/dummy-email-service.ts +43 -0
- package/src/services/fec-usage-example.ts +123 -0
- package/src/services/fec.ts +399 -0
- package/src/services/{index.d.ts → index.ts} +0 -1
- package/src/services/jwt.ts +146 -0
- package/src/services/key-wrapping.ts +528 -0
- package/src/services/mnemonic.ts +174 -0
- package/src/services/request-user.ts +127 -0
- package/src/services/role.ts +417 -0
- package/src/services/symmetric.ts +164 -0
- package/src/services/system-user.ts +87 -0
- package/src/services/user.ts +2324 -0
- package/src/services/xor.ts +39 -0
- package/src/testing.ts +9 -0
- package/src/transactions/{index.d.ts → index.ts} +0 -1
- package/src/transactions/transaction-manager.ts +63 -0
- package/src/types/app-config.ts +36 -0
- package/src/types/controller-config.ts +28 -0
- package/src/types/{environment-variables.d.ts → environment-variables.ts} +32 -5
- package/src/types/{index.d.ts → index.ts} +0 -1
- package/src/types/{mongoose-helpers.d.ts → mongoose-helpers.ts} +8 -2
- package/src/types/mongoose-override.d.ts +1 -0
- package/src/types/mongoose.d.ts +1 -0
- package/src/types.ts +189 -0
- package/src/utils.ts +1116 -0
- package/src/validation/{index.d.ts → index.ts} +0 -1
- package/src/validation/validation-builder.ts +155 -0
- package/src/__tests__/fixtures/index.d.ts.map +0 -1
- package/src/__tests__/fixtures/index.js +0 -5
- package/src/__tests__/fixtures/index.js.map +0 -1
- package/src/__tests__/fixtures/model-mocks.mock.d.ts +0 -12
- package/src/__tests__/fixtures/model-mocks.mock.d.ts.map +0 -1
- package/src/__tests__/fixtures/model-mocks.mock.js +0 -102
- package/src/__tests__/fixtures/model-mocks.mock.js.map +0 -1
- package/src/__tests__/helpers/application.mock.d.ts +0 -8
- package/src/__tests__/helpers/application.mock.d.ts.map +0 -1
- package/src/__tests__/helpers/application.mock.js +0 -77
- package/src/__tests__/helpers/application.mock.js.map +0 -1
- package/src/__tests__/helpers/index.d.ts.map +0 -1
- package/src/__tests__/helpers/index.js +0 -7
- package/src/__tests__/helpers/index.js.map +0 -1
- package/src/__tests__/helpers/setup-test-env.d.ts +0 -12
- package/src/__tests__/helpers/setup-test-env.d.ts.map +0 -1
- package/src/__tests__/helpers/setup-test-env.js +0 -121
- package/src/__tests__/helpers/setup-test-env.js.map +0 -1
- package/src/__tests__/index.d.ts.map +0 -1
- package/src/__tests__/index.js +0 -6
- package/src/__tests__/index.js.map +0 -1
- package/src/application-base.d.ts +0 -123
- package/src/application-base.d.ts.map +0 -1
- package/src/application-base.js +0 -359
- package/src/application-base.js.map +0 -1
- package/src/application-concrete.d.ts +0 -13
- package/src/application-concrete.d.ts.map +0 -1
- package/src/application-concrete.js +0 -21
- package/src/application-concrete.js.map +0 -1
- package/src/application.d.ts +0 -29
- package/src/application.d.ts.map +0 -1
- package/src/application.js +0 -167
- package/src/application.js.map +0 -1
- package/src/backup-code.d.ts +0 -67
- package/src/backup-code.d.ts.map +0 -1
- package/src/backup-code.js +0 -238
- package/src/backup-code.js.map +0 -1
- package/src/builders/application-builder.d.ts +0 -35
- package/src/builders/application-builder.d.ts.map +0 -1
- package/src/builders/application-builder.js +0 -64
- package/src/builders/application-builder.js.map +0 -1
- package/src/builders/index.d.ts.map +0 -1
- package/src/builders/index.js +0 -5
- package/src/builders/index.js.map +0 -1
- package/src/constants.d.ts +0 -16
- package/src/constants.d.ts.map +0 -1
- package/src/constants.js +0 -58
- package/src/constants.js.map +0 -1
- package/src/container/index.d.ts.map +0 -1
- package/src/container/index.js +0 -6
- package/src/container/index.js.map +0 -1
- package/src/container/service-container.d.ts +0 -11
- package/src/container/service-container.d.ts.map +0 -1
- package/src/container/service-container.js +0 -38
- package/src/container/service-container.js.map +0 -1
- package/src/container/service-definitions.d.ts +0 -11
- package/src/container/service-definitions.d.ts.map +0 -1
- package/src/container/service-definitions.js +0 -13
- package/src/container/service-definitions.js.map +0 -1
- package/src/controllers/base.d.ts +0 -67
- package/src/controllers/base.d.ts.map +0 -1
- package/src/controllers/base.js +0 -305
- package/src/controllers/base.js.map +0 -1
- package/src/controllers/index.d.ts.map +0 -1
- package/src/controllers/index.js +0 -6
- package/src/controllers/index.js.map +0 -1
- package/src/controllers/user.d.ts +0 -49
- package/src/controllers/user.d.ts.map +0 -1
- package/src/controllers/user.js +0 -919
- package/src/controllers/user.js.map +0 -1
- package/src/database/database-initializer.d.ts +0 -7
- package/src/database/database-initializer.d.ts.map +0 -1
- package/src/database/database-initializer.js +0 -3
- package/src/database/database-initializer.js.map +0 -1
- package/src/database/index.d.ts.map +0 -1
- package/src/database/index.js +0 -5
- package/src/database/index.js.map +0 -1
- package/src/decorators/base-controller.d.ts +0 -11
- package/src/decorators/base-controller.d.ts.map +0 -1
- package/src/decorators/base-controller.js +0 -60
- package/src/decorators/base-controller.js.map +0 -1
- package/src/decorators/controller.d.ts +0 -38
- package/src/decorators/controller.d.ts.map +0 -1
- package/src/decorators/controller.js +0 -68
- package/src/decorators/controller.js.map +0 -1
- package/src/decorators/index.d.ts.map +0 -1
- package/src/decorators/index.js +0 -7
- package/src/decorators/index.js.map +0 -1
- package/src/decorators/zod-validation.d.ts +0 -5
- package/src/decorators/zod-validation.d.ts.map +0 -1
- package/src/decorators/zod-validation.js +0 -48
- package/src/decorators/zod-validation.js.map +0 -1
- package/src/defaults.d.ts +0 -7
- package/src/defaults.d.ts.map +0 -1
- package/src/defaults.js +0 -205
- package/src/defaults.js.map +0 -1
- package/src/documents/base.d.ts +0 -4
- package/src/documents/base.d.ts.map +0 -1
- package/src/documents/base.js +0 -3
- package/src/documents/base.js.map +0 -1
- package/src/documents/email-token.d.ts +0 -8
- package/src/documents/email-token.d.ts.map +0 -1
- package/src/documents/email-token.js +0 -3
- package/src/documents/email-token.js.map +0 -1
- package/src/documents/index.d.ts.map +0 -1
- package/src/documents/index.js +0 -3
- package/src/documents/index.js.map +0 -1
- package/src/documents/mnemonic.d.ts +0 -8
- package/src/documents/mnemonic.d.ts.map +0 -1
- package/src/documents/mnemonic.js +0 -3
- package/src/documents/mnemonic.js.map +0 -1
- package/src/documents/role.d.ts +0 -8
- package/src/documents/role.d.ts.map +0 -1
- package/src/documents/role.js +0 -3
- package/src/documents/role.js.map +0 -1
- package/src/documents/used-direct-login-token.d.ts +0 -5
- package/src/documents/used-direct-login-token.d.ts.map +0 -1
- package/src/documents/used-direct-login-token.js +0 -3
- package/src/documents/used-direct-login-token.js.map +0 -1
- package/src/documents/user-role.d.ts +0 -8
- package/src/documents/user-role.d.ts.map +0 -1
- package/src/documents/user-role.js +0 -3
- package/src/documents/user-role.js.map +0 -1
- package/src/documents/user.d.ts +0 -8
- package/src/documents/user.d.ts.map +0 -1
- package/src/documents/user.js +0 -3
- package/src/documents/user.js.map +0 -1
- package/src/enumerations/base-model-name.d.ts +0 -38
- package/src/enumerations/base-model-name.d.ts.map +0 -1
- package/src/enumerations/base-model-name.js +0 -34
- package/src/enumerations/base-model-name.js.map +0 -1
- package/src/enumerations/index.d.ts.map +0 -1
- package/src/enumerations/index.js +0 -8
- package/src/enumerations/index.js.map +0 -1
- package/src/enumerations/length-encoding-type.d.ts +0 -7
- package/src/enumerations/length-encoding-type.d.ts.map +0 -1
- package/src/enumerations/length-encoding-type.js +0 -11
- package/src/enumerations/length-encoding-type.js.map +0 -1
- package/src/enumerations/schema-collection.d.ts +0 -34
- package/src/enumerations/schema-collection.d.ts.map +0 -1
- package/src/enumerations/schema-collection.js +0 -38
- package/src/enumerations/schema-collection.js.map +0 -1
- package/src/enumerations/symmetric-error-type.d.ts +0 -5
- package/src/enumerations/symmetric-error-type.d.ts.map +0 -1
- package/src/enumerations/symmetric-error-type.js +0 -9
- package/src/enumerations/symmetric-error-type.js.map +0 -1
- package/src/environment.d.ts +0 -189
- package/src/environment.d.ts.map +0 -1
- package/src/environment.js +0 -641
- package/src/environment.js.map +0 -1
- package/src/errors/express-validation.d.ts +0 -9
- package/src/errors/express-validation.d.ts.map +0 -1
- package/src/errors/express-validation.js +0 -18
- package/src/errors/express-validation.js.map +0 -1
- package/src/errors/index.d.ts.map +0 -1
- package/src/errors/index.js +0 -16
- package/src/errors/index.js.map +0 -1
- package/src/errors/invalid-backup-code-version.d.ts +0 -6
- package/src/errors/invalid-backup-code-version.d.ts.map +0 -1
- package/src/errors/invalid-backup-code-version.js +0 -16
- package/src/errors/invalid-backup-code-version.js.map +0 -1
- package/src/errors/invalid-jwt-token.d.ts +0 -5
- package/src/errors/invalid-jwt-token.d.ts.map +0 -1
- package/src/errors/invalid-jwt-token.js +0 -12
- package/src/errors/invalid-jwt-token.js.map +0 -1
- package/src/errors/invalid-model.d.ts +0 -6
- package/src/errors/invalid-model.d.ts.map +0 -1
- package/src/errors/invalid-model.js +0 -14
- package/src/errors/invalid-model.js.map +0 -1
- package/src/errors/invalid-new-password.d.ts +0 -5
- package/src/errors/invalid-new-password.d.ts.map +0 -1
- package/src/errors/invalid-new-password.js +0 -14
- package/src/errors/invalid-new-password.js.map +0 -1
- package/src/errors/invalid-password.d.ts +0 -5
- package/src/errors/invalid-password.d.ts.map +0 -1
- package/src/errors/invalid-password.js +0 -14
- package/src/errors/invalid-password.js.map +0 -1
- package/src/errors/missing-validated-data.d.ts +0 -7
- package/src/errors/missing-validated-data.d.ts.map +0 -1
- package/src/errors/missing-validated-data.js +0 -36
- package/src/errors/missing-validated-data.js.map +0 -1
- package/src/errors/mnemonic-or-password-required.d.ts +0 -5
- package/src/errors/mnemonic-or-password-required.d.ts.map +0 -1
- package/src/errors/mnemonic-or-password-required.js +0 -14
- package/src/errors/mnemonic-or-password-required.js.map +0 -1
- package/src/errors/model-not-registered.d.ts +0 -6
- package/src/errors/model-not-registered.d.ts.map +0 -1
- package/src/errors/model-not-registered.js +0 -14
- package/src/errors/model-not-registered.js.map +0 -1
- package/src/errors/mongoose-validation.d.ts +0 -12
- package/src/errors/mongoose-validation.d.ts.map +0 -1
- package/src/errors/mongoose-validation.js +0 -17
- package/src/errors/mongoose-validation.js.map +0 -1
- package/src/errors/symmetric.d.ts +0 -8
- package/src/errors/symmetric.d.ts.map +0 -1
- package/src/errors/symmetric.js +0 -22
- package/src/errors/symmetric.js.map +0 -1
- package/src/errors/token-expired.d.ts +0 -5
- package/src/errors/token-expired.d.ts.map +0 -1
- package/src/errors/token-expired.js +0 -12
- package/src/errors/token-expired.js.map +0 -1
- package/src/get-language.d.ts +0 -2
- package/src/get-language.d.ts.map +0 -1
- package/src/get-language.js +0 -30
- package/src/get-language.js.map +0 -1
- package/src/get-timezone.d.ts +0 -2
- package/src/get-timezone.d.ts.map +0 -1
- package/src/get-timezone.js +0 -39
- package/src/get-timezone.js.map +0 -1
- package/src/index.d.ts.map +0 -1
- package/src/index.js +0 -80
- package/src/index.js.map +0 -1
- package/src/interfaces/api-error-response.d.ts +0 -5
- package/src/interfaces/api-error-response.d.ts.map +0 -1
- package/src/interfaces/api-error-response.js +0 -3
- package/src/interfaces/api-error-response.js.map +0 -1
- package/src/interfaces/api-express-validation-error-response.d.ts +0 -7
- package/src/interfaces/api-express-validation-error-response.d.ts.map +0 -1
- package/src/interfaces/api-express-validation-error-response.js +0 -3
- package/src/interfaces/api-express-validation-error-response.js.map +0 -1
- package/src/interfaces/api-message-response.d.ts +0 -4
- package/src/interfaces/api-message-response.d.ts.map +0 -1
- package/src/interfaces/api-message-response.js +0 -3
- package/src/interfaces/api-message-response.js.map +0 -1
- package/src/interfaces/api-mongo-validation-error-response.d.ts +0 -6
- package/src/interfaces/api-mongo-validation-error-response.d.ts.map +0 -1
- package/src/interfaces/api-mongo-validation-error-response.js +0 -3
- package/src/interfaces/api-mongo-validation-error-response.js.map +0 -1
- package/src/interfaces/api-responses/backup-codes-response.d.ts +0 -5
- package/src/interfaces/api-responses/backup-codes-response.d.ts.map +0 -1
- package/src/interfaces/api-responses/backup-codes-response.js +0 -3
- package/src/interfaces/api-responses/backup-codes-response.js.map +0 -1
- package/src/interfaces/api-responses/challenge-response.d.ts +0 -6
- package/src/interfaces/api-responses/challenge-response.d.ts.map +0 -1
- package/src/interfaces/api-responses/challenge-response.js +0 -3
- package/src/interfaces/api-responses/challenge-response.js.map +0 -1
- package/src/interfaces/api-responses/code-count-response.d.ts +0 -5
- package/src/interfaces/api-responses/code-count-response.d.ts.map +0 -1
- package/src/interfaces/api-responses/code-count-response.js +0 -3
- package/src/interfaces/api-responses/code-count-response.js.map +0 -1
- package/src/interfaces/api-responses/index.d.ts.map +0 -1
- package/src/interfaces/api-responses/index.js +0 -12
- package/src/interfaces/api-responses/index.js.map +0 -1
- package/src/interfaces/api-responses/login-response.d.ts +0 -8
- package/src/interfaces/api-responses/login-response.d.ts.map +0 -1
- package/src/interfaces/api-responses/login-response.js +0 -3
- package/src/interfaces/api-responses/login-response.js.map +0 -1
- package/src/interfaces/api-responses/mnemonic-response.d.ts +0 -5
- package/src/interfaces/api-responses/mnemonic-response.d.ts.map +0 -1
- package/src/interfaces/api-responses/mnemonic-response.js +0 -3
- package/src/interfaces/api-responses/mnemonic-response.js.map +0 -1
- package/src/interfaces/api-responses/registration-response.d.ts +0 -6
- package/src/interfaces/api-responses/registration-response.d.ts.map +0 -1
- package/src/interfaces/api-responses/registration-response.js +0 -3
- package/src/interfaces/api-responses/registration-response.js.map +0 -1
- package/src/interfaces/api-responses/request-user-response.d.ts +0 -6
- package/src/interfaces/api-responses/request-user-response.d.ts.map +0 -1
- package/src/interfaces/api-responses/request-user-response.js +0 -3
- package/src/interfaces/api-responses/request-user-response.js.map +0 -1
- package/src/interfaces/api-responses/user-settings-response.d.ts +0 -12
- package/src/interfaces/api-responses/user-settings-response.d.ts.map +0 -1
- package/src/interfaces/api-responses/user-settings-response.js +0 -3
- package/src/interfaces/api-responses/user-settings-response.js.map +0 -1
- package/src/interfaces/application.d.ts +0 -17
- package/src/interfaces/application.d.ts.map +0 -1
- package/src/interfaces/application.js +0 -3
- package/src/interfaces/application.js.map +0 -1
- package/src/interfaces/backend-objects/email-token.d.ts +0 -4
- package/src/interfaces/backend-objects/email-token.d.ts.map +0 -1
- package/src/interfaces/backend-objects/email-token.js +0 -3
- package/src/interfaces/backend-objects/email-token.js.map +0 -1
- package/src/interfaces/backend-objects/index.d.ts.map +0 -1
- package/src/interfaces/backend-objects/index.js +0 -8
- package/src/interfaces/backend-objects/index.js.map +0 -1
- package/src/interfaces/backend-objects/request-user.d.ts +0 -5
- package/src/interfaces/backend-objects/request-user.d.ts.map +0 -1
- package/src/interfaces/backend-objects/request-user.js +0 -3
- package/src/interfaces/backend-objects/request-user.js.map +0 -1
- package/src/interfaces/backend-objects/role.d.ts +0 -4
- package/src/interfaces/backend-objects/role.d.ts.map +0 -1
- package/src/interfaces/backend-objects/role.js +0 -3
- package/src/interfaces/backend-objects/role.js.map +0 -1
- package/src/interfaces/backend-objects/user.d.ts +0 -4
- package/src/interfaces/backend-objects/user.d.ts.map +0 -1
- package/src/interfaces/backend-objects/user.js +0 -3
- package/src/interfaces/backend-objects/user.js.map +0 -1
- package/src/interfaces/checksum-config.d.ts +0 -5
- package/src/interfaces/checksum-config.d.ts.map +0 -1
- package/src/interfaces/checksum-config.js +0 -3
- package/src/interfaces/checksum-config.js.map +0 -1
- package/src/interfaces/checksum-consts.d.ts +0 -11
- package/src/interfaces/checksum-consts.d.ts.map +0 -1
- package/src/interfaces/checksum-consts.js +0 -3
- package/src/interfaces/checksum-consts.js.map +0 -1
- package/src/interfaces/constants.d.ts +0 -102
- package/src/interfaces/constants.d.ts.map +0 -1
- package/src/interfaces/constants.js +0 -3
- package/src/interfaces/constants.js.map +0 -1
- package/src/interfaces/controller-config.d.ts +0 -21
- package/src/interfaces/controller-config.d.ts.map +0 -1
- package/src/interfaces/controller-config.js +0 -3
- package/src/interfaces/controller-config.js.map +0 -1
- package/src/interfaces/create-user-basics.d.ts +0 -18
- package/src/interfaces/create-user-basics.d.ts.map +0 -1
- package/src/interfaces/create-user-basics.js +0 -3
- package/src/interfaces/create-user-basics.js.map +0 -1
- package/src/interfaces/csp-config.d.ts +0 -7
- package/src/interfaces/csp-config.d.ts.map +0 -1
- package/src/interfaces/csp-config.js +0 -13
- package/src/interfaces/csp-config.js.map +0 -1
- package/src/interfaces/csp-definition.d.ts +0 -13
- package/src/interfaces/csp-definition.d.ts.map +0 -1
- package/src/interfaces/csp-definition.js +0 -22
- package/src/interfaces/csp-definition.js.map +0 -1
- package/src/interfaces/db-init-result.d.ts +0 -5
- package/src/interfaces/db-init-result.d.ts.map +0 -1
- package/src/interfaces/db-init-result.js +0 -3
- package/src/interfaces/db-init-result.js.map +0 -1
- package/src/interfaces/deep-partial.d.ts +0 -4
- package/src/interfaces/deep-partial.d.ts.map +0 -1
- package/src/interfaces/deep-partial.js +0 -3
- package/src/interfaces/deep-partial.js.map +0 -1
- package/src/interfaces/discriminator-collections.d.ts +0 -7
- package/src/interfaces/discriminator-collections.d.ts.map +0 -1
- package/src/interfaces/discriminator-collections.js +0 -3
- package/src/interfaces/discriminator-collections.js.map +0 -1
- package/src/interfaces/email-service.d.ts +0 -4
- package/src/interfaces/email-service.d.ts.map +0 -1
- package/src/interfaces/email-service.js +0 -3
- package/src/interfaces/email-service.js.map +0 -1
- package/src/interfaces/environment-mongo.d.ts +0 -76
- package/src/interfaces/environment-mongo.d.ts.map +0 -1
- package/src/interfaces/environment-mongo.js +0 -3
- package/src/interfaces/environment-mongo.js.map +0 -1
- package/src/interfaces/environment.d.ts +0 -180
- package/src/interfaces/environment.d.ts.map +0 -1
- package/src/interfaces/environment.js +0 -3
- package/src/interfaces/environment.js.map +0 -1
- package/src/interfaces/failable-result.d.ts +0 -7
- package/src/interfaces/failable-result.d.ts.map +0 -1
- package/src/interfaces/failable-result.js +0 -3
- package/src/interfaces/failable-result.js.map +0 -1
- package/src/interfaces/fec-consts.d.ts +0 -5
- package/src/interfaces/fec-consts.d.ts.map +0 -1
- package/src/interfaces/fec-consts.js +0 -3
- package/src/interfaces/fec-consts.js.map +0 -1
- package/src/interfaces/flexible-csp.d.ts +0 -8
- package/src/interfaces/flexible-csp.d.ts.map +0 -1
- package/src/interfaces/flexible-csp.js +0 -14
- package/src/interfaces/flexible-csp.js.map +0 -1
- package/src/interfaces/handleable-error-options.d.ts +0 -7
- package/src/interfaces/handleable-error-options.d.ts.map +0 -1
- package/src/interfaces/handleable-error-options.js +0 -3
- package/src/interfaces/handleable-error-options.js.map +0 -1
- package/src/interfaces/index.d.ts.map +0 -1
- package/src/interfaces/index.js +0 -38
- package/src/interfaces/index.js.map +0 -1
- package/src/interfaces/jwt-consts.d.ts +0 -11
- package/src/interfaces/jwt-consts.d.ts.map +0 -1
- package/src/interfaces/jwt-consts.js +0 -3
- package/src/interfaces/jwt-consts.js.map +0 -1
- package/src/interfaces/jwt-sign-response.d.ts +0 -11
- package/src/interfaces/jwt-sign-response.d.ts.map +0 -1
- package/src/interfaces/jwt-sign-response.js +0 -3
- package/src/interfaces/jwt-sign-response.js.map +0 -1
- package/src/interfaces/models/email-token.d.ts +0 -6
- package/src/interfaces/models/email-token.d.ts.map +0 -1
- package/src/interfaces/models/email-token.js +0 -3
- package/src/interfaces/models/email-token.js.map +0 -1
- package/src/interfaces/models/index.d.ts.map +0 -1
- package/src/interfaces/models/index.js +0 -11
- package/src/interfaces/models/index.js.map +0 -1
- package/src/interfaces/models/mnemonic.d.ts +0 -6
- package/src/interfaces/models/mnemonic.d.ts.map +0 -1
- package/src/interfaces/models/mnemonic.js +0 -3
- package/src/interfaces/models/mnemonic.js.map +0 -1
- package/src/interfaces/models/role.d.ts +0 -6
- package/src/interfaces/models/role.d.ts.map +0 -1
- package/src/interfaces/models/role.js +0 -3
- package/src/interfaces/models/role.js.map +0 -1
- package/src/interfaces/models/token-role.d.ts +0 -11
- package/src/interfaces/models/token-role.d.ts.map +0 -1
- package/src/interfaces/models/token-role.js +0 -3
- package/src/interfaces/models/token-role.js.map +0 -1
- package/src/interfaces/models/used-direct-login-token.d.ts +0 -11
- package/src/interfaces/models/used-direct-login-token.d.ts.map +0 -1
- package/src/interfaces/models/used-direct-login-token.js +0 -3
- package/src/interfaces/models/used-direct-login-token.js.map +0 -1
- package/src/interfaces/models/user-role.d.ts +0 -11
- package/src/interfaces/models/user-role.d.ts.map +0 -1
- package/src/interfaces/models/user-role.js +0 -3
- package/src/interfaces/models/user-role.js.map +0 -1
- package/src/interfaces/models/user.d.ts +0 -11
- package/src/interfaces/models/user.d.ts.map +0 -1
- package/src/interfaces/models/user.js +0 -3
- package/src/interfaces/models/user.js.map +0 -1
- package/src/interfaces/mongo-errors.d.ts +0 -5
- package/src/interfaces/mongo-errors.d.ts.map +0 -1
- package/src/interfaces/mongo-errors.js +0 -3
- package/src/interfaces/mongo-errors.js.map +0 -1
- package/src/interfaces/request-user.d.ts +0 -58
- package/src/interfaces/request-user.d.ts.map +0 -1
- package/src/interfaces/request-user.js +0 -3
- package/src/interfaces/request-user.js.map +0 -1
- package/src/interfaces/required-string-keys.d.ts +0 -22
- package/src/interfaces/required-string-keys.d.ts.map +0 -1
- package/src/interfaces/required-string-keys.js +0 -3
- package/src/interfaces/required-string-keys.js.map +0 -1
- package/src/interfaces/schema.d.ts +0 -29
- package/src/interfaces/schema.d.ts.map +0 -1
- package/src/interfaces/schema.js +0 -3
- package/src/interfaces/schema.js.map +0 -1
- package/src/interfaces/server-init-result.d.ts +0 -35
- package/src/interfaces/server-init-result.d.ts.map +0 -1
- package/src/interfaces/server-init-result.js +0 -3
- package/src/interfaces/server-init-result.js.map +0 -1
- package/src/interfaces/status-code-response.d.ts +0 -7
- package/src/interfaces/status-code-response.d.ts.map +0 -1
- package/src/interfaces/status-code-response.js +0 -3
- package/src/interfaces/status-code-response.js.map +0 -1
- package/src/interfaces/symmetric-encryption-results.d.ts +0 -5
- package/src/interfaces/test-environment.d.ts +0 -12
- package/src/interfaces/test-environment.d.ts.map +0 -1
- package/src/interfaces/test-environment.js +0 -3
- package/src/interfaces/test-environment.js.map +0 -1
- package/src/interfaces/token-response.d.ts +0 -5
- package/src/interfaces/token-response.d.ts.map +0 -1
- package/src/interfaces/token-response.js +0 -3
- package/src/interfaces/token-response.js.map +0 -1
- package/src/middleware-utils.d.ts +0 -8
- package/src/middleware-utils.d.ts.map +0 -1
- package/src/middleware-utils.js +0 -94
- package/src/middleware-utils.js.map +0 -1
- package/src/middlewares/authenticate-crypto.d.ts +0 -10
- package/src/middlewares/authenticate-crypto.d.ts.map +0 -1
- package/src/middlewares/authenticate-crypto.js +0 -126
- package/src/middlewares/authenticate-crypto.js.map +0 -1
- package/src/middlewares/authenticate-token.d.ts +0 -21
- package/src/middlewares/authenticate-token.d.ts.map +0 -1
- package/src/middlewares/authenticate-token.js +0 -104
- package/src/middlewares/authenticate-token.js.map +0 -1
- package/src/middlewares/cleanup-crypto.d.ts +0 -7
- package/src/middlewares/cleanup-crypto.d.ts.map +0 -1
- package/src/middlewares/cleanup-crypto.js +0 -32
- package/src/middlewares/cleanup-crypto.js.map +0 -1
- package/src/middlewares/index.d.ts.map +0 -1
- package/src/middlewares/index.js +0 -8
- package/src/middlewares/index.js.map +0 -1
- package/src/middlewares/set-global-context-language.d.ts +0 -3
- package/src/middlewares/set-global-context-language.d.ts.map +0 -1
- package/src/middlewares/set-global-context-language.js +0 -14
- package/src/middlewares/set-global-context-language.js.map +0 -1
- package/src/model-registry.d.ts +0 -23
- package/src/model-registry.d.ts.map +0 -1
- package/src/model-registry.js +0 -47
- package/src/model-registry.js.map +0 -1
- package/src/models/email-token.d.ts +0 -8
- package/src/models/email-token.d.ts.map +0 -1
- package/src/models/email-token.js +0 -11
- package/src/models/email-token.js.map +0 -1
- package/src/models/index.d.ts.map +0 -1
- package/src/models/index.js +0 -10
- package/src/models/index.js.map +0 -1
- package/src/models/mnemonic.d.ts +0 -8
- package/src/models/mnemonic.d.ts.map +0 -1
- package/src/models/mnemonic.js +0 -11
- package/src/models/mnemonic.js.map +0 -1
- package/src/models/role.d.ts +0 -8
- package/src/models/role.d.ts.map +0 -1
- package/src/models/role.js +0 -11
- package/src/models/role.js.map +0 -1
- package/src/models/used-direct-login-token.d.ts +0 -8
- package/src/models/used-direct-login-token.d.ts.map +0 -1
- package/src/models/used-direct-login-token.js +0 -11
- package/src/models/used-direct-login-token.js.map +0 -1
- package/src/models/user-role.d.ts +0 -7
- package/src/models/user-role.d.ts.map +0 -1
- package/src/models/user-role.js +0 -10
- package/src/models/user-role.js.map +0 -1
- package/src/models/user.d.ts +0 -8
- package/src/models/user.d.ts.map +0 -1
- package/src/models/user.js +0 -11
- package/src/models/user.js.map +0 -1
- package/src/pipeline/index.d.ts.map +0 -1
- package/src/pipeline/index.js +0 -5
- package/src/pipeline/index.js.map +0 -1
- package/src/pipeline/pipeline-builder.d.ts +0 -8
- package/src/pipeline/pipeline-builder.d.ts.map +0 -1
- package/src/pipeline/pipeline-builder.js +0 -18
- package/src/pipeline/pipeline-builder.js.map +0 -1
- package/src/plugins/index.d.ts.map +0 -1
- package/src/plugins/index.js +0 -6
- package/src/plugins/index.js.map +0 -1
- package/src/plugins/plugin-interface.d.ts +0 -9
- package/src/plugins/plugin-interface.d.ts.map +0 -1
- package/src/plugins/plugin-interface.js +0 -3
- package/src/plugins/plugin-interface.js.map +0 -1
- package/src/plugins/plugin-manager.d.ts +0 -13
- package/src/plugins/plugin-manager.d.ts.map +0 -1
- package/src/plugins/plugin-manager.js +0 -37
- package/src/plugins/plugin-manager.js.map +0 -1
- package/src/registry/email-service-registry.d.ts +0 -27
- package/src/registry/email-service-registry.d.ts.map +0 -1
- package/src/registry/email-service-registry.js +0 -42
- package/src/registry/email-service-registry.js.map +0 -1
- package/src/registry/index.d.ts.map +0 -1
- package/src/registry/index.js +0 -6
- package/src/registry/index.js.map +0 -1
- package/src/responses/index.d.ts.map +0 -1
- package/src/responses/index.js +0 -5
- package/src/responses/index.js.map +0 -1
- package/src/responses/response-builder.d.ts +0 -24
- package/src/responses/response-builder.d.ts.map +0 -1
- package/src/responses/response-builder.js +0 -63
- package/src/responses/response-builder.js.map +0 -1
- package/src/routers/api.d.ts +0 -28
- package/src/routers/api.d.ts.map +0 -1
- package/src/routers/api.js +0 -80
- package/src/routers/api.js.map +0 -1
- package/src/routers/app.d.ts +0 -33
- package/src/routers/app.d.ts.map +0 -1
- package/src/routers/app.js +0 -228
- package/src/routers/app.js.map +0 -1
- package/src/routers/base.d.ts +0 -9
- package/src/routers/base.d.ts.map +0 -1
- package/src/routers/base.js +0 -14
- package/src/routers/base.js.map +0 -1
- package/src/routers/index.d.ts.map +0 -1
- package/src/routers/index.js +0 -7
- package/src/routers/index.js.map +0 -1
- package/src/routers/router-config.d.ts +0 -18
- package/src/routers/router-config.d.ts.map +0 -1
- package/src/routers/router-config.js +0 -8
- package/src/routers/router-config.js.map +0 -1
- package/src/routing/index.d.ts +0 -2
- package/src/routing/index.d.ts.map +0 -1
- package/src/routing/index.js +0 -5
- package/src/routing/index.js.map +0 -1
- package/src/routing/route-builder.d.ts +0 -36
- package/src/routing/route-builder.d.ts.map +0 -1
- package/src/routing/route-builder.js +0 -86
- package/src/routing/route-builder.js.map +0 -1
- package/src/schemas/email-token.d.ts +0 -49
- package/src/schemas/email-token.d.ts.map +0 -1
- package/src/schemas/email-token.js +0 -55
- package/src/schemas/email-token.js.map +0 -1
- package/src/schemas/index.d.ts.map +0 -1
- package/src/schemas/index.js +0 -11
- package/src/schemas/index.js.map +0 -1
- package/src/schemas/mnemonic.d.ts +0 -27
- package/src/schemas/mnemonic.d.ts.map +0 -1
- package/src/schemas/mnemonic.js +0 -31
- package/src/schemas/mnemonic.js.map +0 -1
- package/src/schemas/role.d.ts +0 -42
- package/src/schemas/role.d.ts.map +0 -1
- package/src/schemas/role.js +0 -89
- package/src/schemas/role.js.map +0 -1
- package/src/schemas/schema.d.ts +0 -42
- package/src/schemas/schema.d.ts.map +0 -1
- package/src/schemas/schema.js +0 -70
- package/src/schemas/schema.js.map +0 -1
- package/src/schemas/used-direct-login-token.d.ts +0 -37
- package/src/schemas/used-direct-login-token.d.ts.map +0 -1
- package/src/schemas/used-direct-login-token.js +0 -24
- package/src/schemas/used-direct-login-token.js.map +0 -1
- package/src/schemas/user-role.d.ts +0 -39
- package/src/schemas/user-role.d.ts.map +0 -1
- package/src/schemas/user-role.js +0 -55
- package/src/schemas/user-role.js.map +0 -1
- package/src/schemas/user.d.ts +0 -24
- package/src/schemas/user.d.ts.map +0 -1
- package/src/schemas/user.js +0 -195
- package/src/schemas/user.js.map +0 -1
- package/src/services/backup-code.d.ts +0 -76
- package/src/services/backup-code.d.ts.map +0 -1
- package/src/services/backup-code.js +0 -185
- package/src/services/backup-code.js.map +0 -1
- package/src/services/base.d.ts +0 -11
- package/src/services/base.d.ts.map +0 -1
- package/src/services/base.js +0 -15
- package/src/services/base.js.map +0 -1
- package/src/services/checksum.d.ts +0 -69
- package/src/services/checksum.d.ts.map +0 -1
- package/src/services/checksum.js +0 -145
- package/src/services/checksum.js.map +0 -1
- package/src/services/database-initialization.d.ts +0 -111
- package/src/services/database-initialization.d.ts.map +0 -1
- package/src/services/database-initialization.js +0 -878
- package/src/services/database-initialization.js.map +0 -1
- package/src/services/db-init-cache.d.ts +0 -10
- package/src/services/db-init-cache.d.ts.map +0 -1
- package/src/services/db-init-cache.js +0 -3
- package/src/services/db-init-cache.js.map +0 -1
- package/src/services/direct-login-token.d.ts +0 -7
- package/src/services/direct-login-token.d.ts.map +0 -1
- package/src/services/direct-login-token.js +0 -41
- package/src/services/direct-login-token.js.map +0 -1
- package/src/services/dummy-email-service.d.ts +0 -11
- package/src/services/dummy-email-service.d.ts.map +0 -1
- package/src/services/dummy-email-service.js +0 -16
- package/src/services/dummy-email-service.js.map +0 -1
- package/src/services/fec-usage-example.d.ts +0 -38
- package/src/services/fec-usage-example.d.ts.map +0 -1
- package/src/services/fec-usage-example.js +0 -75
- package/src/services/fec-usage-example.js.map +0 -1
- package/src/services/fec.d.ts +0 -46
- package/src/services/fec.d.ts.map +0 -1
- package/src/services/fec.js +0 -214
- package/src/services/fec.js.map +0 -1
- package/src/services/index.d.ts.map +0 -1
- package/src/services/index.js +0 -22
- package/src/services/index.js.map +0 -1
- package/src/services/jwt.d.ts +0 -30
- package/src/services/jwt.d.ts.map +0 -1
- package/src/services/jwt.js +0 -90
- package/src/services/jwt.js.map +0 -1
- package/src/services/key-wrapping.d.ts +0 -61
- package/src/services/key-wrapping.d.ts.map +0 -1
- package/src/services/key-wrapping.js +0 -307
- package/src/services/key-wrapping.js.map +0 -1
- package/src/services/mnemonic.d.ts +0 -62
- package/src/services/mnemonic.d.ts.map +0 -1
- package/src/services/mnemonic.js +0 -114
- package/src/services/mnemonic.js.map +0 -1
- package/src/services/request-user.d.ts +0 -23
- package/src/services/request-user.d.ts.map +0 -1
- package/src/services/request-user.js +0 -68
- package/src/services/request-user.js.map +0 -1
- package/src/services/role.d.ts +0 -87
- package/src/services/role.d.ts.map +0 -1
- package/src/services/role.js +0 -279
- package/src/services/role.js.map +0 -1
- package/src/services/symmetric.d.ts +0 -42
- package/src/services/symmetric.d.ts.map +0 -1
- package/src/services/symmetric.js +0 -101
- package/src/services/symmetric.js.map +0 -1
- package/src/services/system-user.d.ts +0 -16
- package/src/services/system-user.d.ts.map +0 -1
- package/src/services/system-user.js +0 -46
- package/src/services/system-user.js.map +0 -1
- package/src/services/user.d.ts +0 -345
- package/src/services/user.d.ts.map +0 -1
- package/src/services/user.js +0 -1447
- package/src/services/user.js.map +0 -1
- package/src/services/xor.d.ts +0 -24
- package/src/services/xor.d.ts.map +0 -1
- package/src/services/xor.js +0 -37
- package/src/services/xor.js.map +0 -1
- package/src/testing.d.ts +0 -3
- package/src/testing.d.ts.map +0 -1
- package/src/testing.js +0 -7
- package/src/testing.js.map +0 -1
- package/src/transactions/index.d.ts.map +0 -1
- package/src/transactions/index.js +0 -5
- package/src/transactions/index.js.map +0 -1
- package/src/transactions/transaction-manager.d.ts +0 -12
- package/src/transactions/transaction-manager.d.ts.map +0 -1
- package/src/transactions/transaction-manager.js +0 -30
- package/src/transactions/transaction-manager.js.map +0 -1
- package/src/types/app-config.d.ts +0 -16
- package/src/types/app-config.d.ts.map +0 -1
- package/src/types/app-config.js +0 -3
- package/src/types/app-config.js.map +0 -1
- package/src/types/controller-config.d.ts +0 -14
- package/src/types/controller-config.d.ts.map +0 -1
- package/src/types/controller-config.js +0 -3
- package/src/types/controller-config.js.map +0 -1
- package/src/types/environment-variables.d.ts.map +0 -1
- package/src/types/environment-variables.js +0 -39
- package/src/types/environment-variables.js.map +0 -1
- package/src/types/index.d.ts.map +0 -1
- package/src/types/index.js +0 -6
- package/src/types/index.js.map +0 -1
- package/src/types/mongoose-helpers.d.ts.map +0 -1
- package/src/types/mongoose-helpers.js +0 -6
- package/src/types/mongoose-helpers.js.map +0 -1
- package/src/types.d.ts +0 -104
- package/src/types.d.ts.map +0 -1
- package/src/types.js +0 -14
- package/src/types.js.map +0 -1
- package/src/utils.d.ts +0 -211
- package/src/utils.d.ts.map +0 -1
- package/src/utils.js +0 -818
- package/src/utils.js.map +0 -1
- package/src/validation/index.d.ts.map +0 -1
- package/src/validation/index.js +0 -5
- package/src/validation/index.js.map +0 -1
- package/src/validation/validation-builder.d.ts +0 -32
- package/src/validation/validation-builder.d.ts.map +0 -1
- package/src/validation/validation-builder.js +0 -81
- package/src/validation/validation-builder.js.map +0 -1
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Express validation error for handling express-validator validation failures.
|
|
3
|
+
* Wraps validation errors with translatable error messages.
|
|
4
|
+
* @module errors/express-validation
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { TranslatableGenericError } from '@digitaldefiance/i18n-lib';
|
|
8
|
+
import {
|
|
9
|
+
SuiteCoreComponentId,
|
|
10
|
+
SuiteCoreStringKey,
|
|
11
|
+
} from '@digitaldefiance/suite-core-lib';
|
|
12
|
+
import { Result, ValidationError } from 'express-validator';
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Error thrown when express-validator validation fails.
|
|
16
|
+
* Contains the validation errors and sets HTTP status code to 422 (Unprocessable Entity).
|
|
17
|
+
*/
|
|
18
|
+
export class ExpressValidationError extends TranslatableGenericError<SuiteCoreStringKey> {
|
|
19
|
+
/** Validation errors from express-validator */
|
|
20
|
+
public readonly errors: Result<ValidationError> | ValidationError[];
|
|
21
|
+
/** HTTP status code (422 for validation errors) */
|
|
22
|
+
public readonly statusCode?: number = 422;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Creates a new express validation error.
|
|
26
|
+
* @param errors Validation errors from express-validator
|
|
27
|
+
*/
|
|
28
|
+
constructor(errors: Result<ValidationError> | ValidationError[]) {
|
|
29
|
+
const errorsArray = Array.isArray(errors) ? errors : errors.array();
|
|
30
|
+
const _errorCount = errorsArray.length;
|
|
31
|
+
super(
|
|
32
|
+
SuiteCoreComponentId,
|
|
33
|
+
SuiteCoreStringKey.Validation_ExpressValidationFailed,
|
|
34
|
+
);
|
|
35
|
+
this.errors = errors;
|
|
36
|
+
this.name = 'ExpressValidationError';
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Error for invalid backup code version.
|
|
3
|
+
* Thrown when attempting to use a backup code with an unsupported version.
|
|
4
|
+
* @module errors/invalid-backup-code-version
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import {
|
|
8
|
+
SuiteCoreStringKey,
|
|
9
|
+
TranslatableSuiteError,
|
|
10
|
+
} from '@digitaldefiance/suite-core-lib';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Error thrown when a backup code has an invalid or unsupported version.
|
|
14
|
+
*/
|
|
15
|
+
export class InvalidBackupCodeVersionError extends TranslatableSuiteError {
|
|
16
|
+
/** The invalid version string */
|
|
17
|
+
public readonly version: string;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Creates a new invalid backup code version error.
|
|
21
|
+
* @param version The invalid version string
|
|
22
|
+
*/
|
|
23
|
+
constructor(version: string) {
|
|
24
|
+
super(SuiteCoreStringKey.Error_InvalidBackupCodeVersionTemplate, {
|
|
25
|
+
version,
|
|
26
|
+
});
|
|
27
|
+
this.version = version;
|
|
28
|
+
this.name = 'InvalidBackupCodeVersionError';
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Error for invalid JWT tokens.
|
|
3
|
+
* Thrown when JWT token validation fails, sets HTTP status code to 401.
|
|
4
|
+
* @module errors/invalid-jwt-token
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import {
|
|
8
|
+
SuiteCoreStringKey,
|
|
9
|
+
TranslatableSuiteHandleableError,
|
|
10
|
+
} from '@digitaldefiance/suite-core-lib';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Error thrown when a JWT token is invalid or malformed.
|
|
14
|
+
* Sets HTTP status code to 401 (Unauthorized).
|
|
15
|
+
*/
|
|
16
|
+
export class InvalidJwtTokenError extends TranslatableSuiteHandleableError {
|
|
17
|
+
/**
|
|
18
|
+
* Creates a new invalid JWT token error.
|
|
19
|
+
*/
|
|
20
|
+
constructor() {
|
|
21
|
+
super(SuiteCoreStringKey.Validation_InvalidToken, { statusCode: 401 });
|
|
22
|
+
this.name = 'InvalidJwtTokenError';
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Error for invalid model keys in the model registry.
|
|
3
|
+
* Thrown when attempting to access a model with an invalid key.
|
|
4
|
+
* @module errors/invalid-model
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import {
|
|
8
|
+
SuiteCoreStringKey,
|
|
9
|
+
TranslatableSuiteError,
|
|
10
|
+
} from '@digitaldefiance/suite-core-lib';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Error thrown when a model key is invalid or not recognized.
|
|
14
|
+
*/
|
|
15
|
+
export class InvalidModelError extends TranslatableSuiteError {
|
|
16
|
+
/**
|
|
17
|
+
* Creates a new invalid model error.
|
|
18
|
+
* @param modelKey The invalid model key
|
|
19
|
+
*/
|
|
20
|
+
constructor(public readonly modelKey: string) {
|
|
21
|
+
super(SuiteCoreStringKey.Error_InvalidModelKeyTemplate, { modelKey });
|
|
22
|
+
this.name = 'InvalidModelError';
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Error for invalid new passwords that don't meet requirements.
|
|
3
|
+
* Thrown during password changes or registration when password validation fails.
|
|
4
|
+
* @module errors/invalid-new-password
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import {
|
|
8
|
+
SuiteCoreStringKey,
|
|
9
|
+
TranslatableSuiteHandleableError,
|
|
10
|
+
} from '@digitaldefiance/suite-core-lib';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Error thrown when a new password doesn't meet security requirements.
|
|
14
|
+
* Sets HTTP status code to 422 (Unprocessable Entity).
|
|
15
|
+
*/
|
|
16
|
+
export class InvalidNewPasswordError extends TranslatableSuiteHandleableError {
|
|
17
|
+
/**
|
|
18
|
+
* Creates a new invalid new password error.
|
|
19
|
+
* @param language Optional language code for error message
|
|
20
|
+
* @param statusCode HTTP status code (defaults to 422)
|
|
21
|
+
*/
|
|
22
|
+
constructor(language?: string, statusCode = 422) {
|
|
23
|
+
super(
|
|
24
|
+
SuiteCoreStringKey.Validation_PasswordRegexErrorTemplate,
|
|
25
|
+
undefined,
|
|
26
|
+
language,
|
|
27
|
+
{
|
|
28
|
+
statusCode,
|
|
29
|
+
},
|
|
30
|
+
);
|
|
31
|
+
this.name = 'InvalidNewPasswordError';
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Error for invalid passwords during authentication.
|
|
3
|
+
* Thrown when password verification fails, sets HTTP status code to 403.
|
|
4
|
+
* @module errors/invalid-password
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import {
|
|
8
|
+
SuiteCoreStringKey,
|
|
9
|
+
TranslatableSuiteHandleableError,
|
|
10
|
+
} from '@digitaldefiance/suite-core-lib';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Error thrown when a password is incorrect during authentication.
|
|
14
|
+
* Sets HTTP status code to 403 (Forbidden).
|
|
15
|
+
*/
|
|
16
|
+
export class InvalidPasswordError extends TranslatableSuiteHandleableError {
|
|
17
|
+
/**
|
|
18
|
+
* Creates a new invalid password error.
|
|
19
|
+
* @param language Optional language code for error message
|
|
20
|
+
* @param statusCode HTTP status code (defaults to 403)
|
|
21
|
+
*/
|
|
22
|
+
constructor(language?: string, statusCode = 403) {
|
|
23
|
+
super(SuiteCoreStringKey.Validation_InvalidPassword, undefined, language, {
|
|
24
|
+
statusCode,
|
|
25
|
+
});
|
|
26
|
+
this.name = 'InvalidPasswordError';
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Error for missing validated data in request processing.
|
|
3
|
+
* Thrown when expected validated data is not present after validation middleware.
|
|
4
|
+
* @module errors/missing-validated-data
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import {
|
|
8
|
+
SuiteCoreStringKey,
|
|
9
|
+
TranslatableSuiteHandleableError,
|
|
10
|
+
} from '@digitaldefiance/suite-core-lib';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Error thrown when validated data is missing from the request.
|
|
14
|
+
* Sets HTTP status code to 422 (Unprocessable Entity).
|
|
15
|
+
* @template _TLanguage Language string literal type
|
|
16
|
+
* @template _TContext Context string literal type
|
|
17
|
+
*/
|
|
18
|
+
export class MissingValidatedDataError<
|
|
19
|
+
_TLanguage extends string,
|
|
20
|
+
_TContext extends string,
|
|
21
|
+
> extends TranslatableSuiteHandleableError {
|
|
22
|
+
/** The missing field name (if single field) */
|
|
23
|
+
public readonly field?: string;
|
|
24
|
+
/** The missing field names (if multiple fields) */
|
|
25
|
+
public readonly fields?: string[];
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Creates a new missing validated data error.
|
|
29
|
+
* @param data Field name(s) that are missing
|
|
30
|
+
*/
|
|
31
|
+
constructor(data?: string | string[]) {
|
|
32
|
+
let message: SuiteCoreStringKey;
|
|
33
|
+
let fields: string[] | undefined;
|
|
34
|
+
let field: string;
|
|
35
|
+
if (data && Array.isArray(data)) {
|
|
36
|
+
message =
|
|
37
|
+
SuiteCoreStringKey.Validation_MissingValidatedDataForFieldTemplate;
|
|
38
|
+
field = data.join(', ');
|
|
39
|
+
fields = data;
|
|
40
|
+
} else if (data) {
|
|
41
|
+
message =
|
|
42
|
+
SuiteCoreStringKey.Validation_MissingValidatedDataForFieldTemplate;
|
|
43
|
+
field = String(data);
|
|
44
|
+
} else {
|
|
45
|
+
message = SuiteCoreStringKey.Validation_MissingValidatedData;
|
|
46
|
+
field = '';
|
|
47
|
+
}
|
|
48
|
+
super(message, { field }, undefined, {
|
|
49
|
+
statusCode: 422,
|
|
50
|
+
});
|
|
51
|
+
this.field = field;
|
|
52
|
+
this.fields = fields;
|
|
53
|
+
this.name = 'MissingValidatedDataError';
|
|
54
|
+
}
|
|
55
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Error for missing mnemonic or password during authentication.
|
|
3
|
+
* Thrown when neither mnemonic nor password is provided for login.
|
|
4
|
+
* @module errors/mnemonic-or-password-required
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import {
|
|
8
|
+
SuiteCoreStringKey,
|
|
9
|
+
TranslatableSuiteHandleableError,
|
|
10
|
+
} from '@digitaldefiance/suite-core-lib';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Error thrown when neither mnemonic nor password is provided for authentication.
|
|
14
|
+
* Sets HTTP status code to 422 (Unprocessable Entity).
|
|
15
|
+
*/
|
|
16
|
+
export class MnemonicOrPasswordRequiredError extends TranslatableSuiteHandleableError {
|
|
17
|
+
/**
|
|
18
|
+
* Creates a new mnemonic or password required error.
|
|
19
|
+
*/
|
|
20
|
+
constructor() {
|
|
21
|
+
super(SuiteCoreStringKey.Validation_MnemonicOrPasswordRequired, {
|
|
22
|
+
statusCode: 422,
|
|
23
|
+
});
|
|
24
|
+
this.name = 'MnemonicOrPasswordRequiredError';
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Error for models not registered in the model registry.
|
|
3
|
+
* Thrown when attempting to access a model that hasn't been registered.
|
|
4
|
+
* @module errors/model-not-registered
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import {
|
|
8
|
+
SuiteCoreStringKey,
|
|
9
|
+
TranslatableSuiteError,
|
|
10
|
+
} from '@digitaldefiance/suite-core-lib';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Error thrown when attempting to access a model that is not registered.
|
|
14
|
+
*/
|
|
15
|
+
export class ModelNotRegisteredError extends TranslatableSuiteError {
|
|
16
|
+
/**
|
|
17
|
+
* Creates a new model not registered error.
|
|
18
|
+
* @param modelName The name of the unregistered model
|
|
19
|
+
*/
|
|
20
|
+
constructor(public readonly modelName: string) {
|
|
21
|
+
super(SuiteCoreStringKey.Error_ModelNotRegisteredTemplate, { modelName });
|
|
22
|
+
this.name = 'ModelNotRegisteredError';
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Mongoose validation error wrapper with translatable messages.
|
|
3
|
+
* Wraps Mongoose validation errors with HTTP status code 422.
|
|
4
|
+
* @module errors/mongoose-validation
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { CoreLanguageCode, HandleableError } from '@digitaldefiance/i18n-lib';
|
|
8
|
+
import { Error } from '@digitaldefiance/mongoose-types';
|
|
9
|
+
import {
|
|
10
|
+
getSuiteCoreI18nEngine,
|
|
11
|
+
SuiteCoreComponentId,
|
|
12
|
+
SuiteCoreStringKey,
|
|
13
|
+
} from '@digitaldefiance/suite-core-lib';
|
|
14
|
+
import { IApplication } from '../interfaces';
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Error thrown when Mongoose validation fails.
|
|
18
|
+
* Contains the validation errors and sets HTTP status code to 422 (Unprocessable Entity).
|
|
19
|
+
*/
|
|
20
|
+
export class MongooseValidationError extends HandleableError {
|
|
21
|
+
/** Mongoose validation errors by field path */
|
|
22
|
+
public readonly errors: {
|
|
23
|
+
[path: string]: Error.CastError | Error.ValidatorError;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Creates a new Mongoose validation error.
|
|
28
|
+
* @param validationErrors Mongoose validation errors by field path
|
|
29
|
+
* @param language Optional language code for error message
|
|
30
|
+
* @param application Optional application instance for i18n
|
|
31
|
+
*/
|
|
32
|
+
constructor(
|
|
33
|
+
validationErrors: {
|
|
34
|
+
[path: string]: Error.CastError | Error.ValidatorError;
|
|
35
|
+
},
|
|
36
|
+
language?: CoreLanguageCode,
|
|
37
|
+
application?: IApplication,
|
|
38
|
+
) {
|
|
39
|
+
const coreEngine = getSuiteCoreI18nEngine(
|
|
40
|
+
application ? { constants: application.constants } : undefined,
|
|
41
|
+
);
|
|
42
|
+
super(
|
|
43
|
+
new Error(
|
|
44
|
+
`${coreEngine.translate(
|
|
45
|
+
SuiteCoreComponentId,
|
|
46
|
+
SuiteCoreStringKey.Validation_MongooseValidationError,
|
|
47
|
+
undefined,
|
|
48
|
+
language,
|
|
49
|
+
)}: ${JSON.stringify(validationErrors)}`,
|
|
50
|
+
),
|
|
51
|
+
{ statusCode: 422 },
|
|
52
|
+
);
|
|
53
|
+
this.name = 'MongooseValidationError';
|
|
54
|
+
this.errors = validationErrors;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Symmetric encryption error with typed error codes.
|
|
3
|
+
* Provides specific error types for symmetric encryption failures.
|
|
4
|
+
* @module errors/symmetric
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { CoreLanguageCode, PluginTypedError } from '@digitaldefiance/i18n-lib';
|
|
8
|
+
import {
|
|
9
|
+
SuiteCoreComponentId,
|
|
10
|
+
SuiteCoreStringKey,
|
|
11
|
+
} from '@digitaldefiance/suite-core-lib';
|
|
12
|
+
import { LocalhostConstants } from '../constants';
|
|
13
|
+
import { SymmetricErrorType } from '../enumerations/symmetric-error-type';
|
|
14
|
+
import { IConstants } from '../interfaces/constants';
|
|
15
|
+
import { SymmetricService } from '../services/symmetric';
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Error thrown when symmetric encryption operations fail.
|
|
19
|
+
* Provides typed error codes for different failure scenarios.
|
|
20
|
+
*/
|
|
21
|
+
export class SymmetricError extends PluginTypedError<
|
|
22
|
+
typeof SymmetricErrorType,
|
|
23
|
+
SuiteCoreStringKey
|
|
24
|
+
> {
|
|
25
|
+
/**
|
|
26
|
+
* Creates a new symmetric encryption error.
|
|
27
|
+
* @param type Type of symmetric error
|
|
28
|
+
* @param language Optional language code for error message
|
|
29
|
+
* @param constants Constants for key size information (defaults to LocalhostConstants)
|
|
30
|
+
*/
|
|
31
|
+
constructor(
|
|
32
|
+
type: SymmetricErrorType,
|
|
33
|
+
language?: CoreLanguageCode,
|
|
34
|
+
constants: IConstants = LocalhostConstants,
|
|
35
|
+
) {
|
|
36
|
+
super(
|
|
37
|
+
SuiteCoreComponentId,
|
|
38
|
+
type,
|
|
39
|
+
{
|
|
40
|
+
[SymmetricErrorType.DataNullOrUndefined]:
|
|
41
|
+
SuiteCoreStringKey.Error_SymmetricDataNullOrUndefined,
|
|
42
|
+
[SymmetricErrorType.InvalidKeyLength]:
|
|
43
|
+
SuiteCoreStringKey.Error_SymmetricInvalidKeyLengthTemplate,
|
|
44
|
+
},
|
|
45
|
+
language,
|
|
46
|
+
{
|
|
47
|
+
KEY_BITS: SymmetricService.symmetricKeyBits(constants.ECIES),
|
|
48
|
+
KEY_BYTES: SymmetricService.symmetricKeyBytes(constants.ECIES),
|
|
49
|
+
},
|
|
50
|
+
);
|
|
51
|
+
this.name = 'SymmetricError';
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Error for expired tokens.
|
|
3
|
+
* Thrown when a JWT or other token has expired, sets HTTP status code to 401.
|
|
4
|
+
* @module errors/token-expired
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import {
|
|
8
|
+
SuiteCoreStringKey,
|
|
9
|
+
TranslatableSuiteError,
|
|
10
|
+
} from '@digitaldefiance/suite-core-lib';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Error thrown when a token has expired.
|
|
14
|
+
* Sets HTTP status code to 401 (Unauthorized).
|
|
15
|
+
*/
|
|
16
|
+
export class TokenExpiredError extends TranslatableSuiteError {
|
|
17
|
+
/**
|
|
18
|
+
* Creates a new token expired error.
|
|
19
|
+
*/
|
|
20
|
+
constructor() {
|
|
21
|
+
super(SuiteCoreStringKey.Validation_TokenExpired, { statusCode: 401 });
|
|
22
|
+
this.name = 'TokenExpiredError';
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Language detection and configuration utilities.
|
|
3
|
+
* Sets global admin language from environment or command-line arguments.
|
|
4
|
+
* @module get-language
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import {
|
|
8
|
+
GlobalActiveContext,
|
|
9
|
+
IActiveContext,
|
|
10
|
+
LanguageRegistry,
|
|
11
|
+
} from '@digitaldefiance/i18n-lib';
|
|
12
|
+
import {
|
|
13
|
+
getSuiteCoreTranslation,
|
|
14
|
+
SuiteCoreStringKey,
|
|
15
|
+
} from '@digitaldefiance/suite-core-lib';
|
|
16
|
+
import { debugLog } from './utils';
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Sets global admin language from process arguments or environment variables.
|
|
20
|
+
* Prioritizes command-line --language argument, then LANGUAGE env var, then existing context.
|
|
21
|
+
* @returns {string} The configured language code
|
|
22
|
+
*/
|
|
23
|
+
export function setGlobalActiveContextAdminLanguageFromProcessArgvOrEnv(): string {
|
|
24
|
+
const consoleLanguageEnv = process.env['LANGUAGE'];
|
|
25
|
+
const consoleLanguageArgv = process.argv.find((arg) =>
|
|
26
|
+
arg.startsWith('--language='),
|
|
27
|
+
);
|
|
28
|
+
|
|
29
|
+
const context = GlobalActiveContext.getInstance<
|
|
30
|
+
string,
|
|
31
|
+
IActiveContext<string>
|
|
32
|
+
>();
|
|
33
|
+
|
|
34
|
+
// Prioritize command-line argument, then environment variable, then existing context
|
|
35
|
+
const rawLanguage =
|
|
36
|
+
(consoleLanguageArgv
|
|
37
|
+
? consoleLanguageArgv.split('=')[1]
|
|
38
|
+
: consoleLanguageEnv) ?? context.adminLanguage;
|
|
39
|
+
|
|
40
|
+
if (!rawLanguage) {
|
|
41
|
+
return context.adminLanguage;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
const consoleLanguage = rawLanguage.replace(/^['"]|['"]$/g, '');
|
|
45
|
+
|
|
46
|
+
if (LanguageRegistry.hasLanguage(consoleLanguage)) {
|
|
47
|
+
context.setAdminLanguage(consoleLanguage as string);
|
|
48
|
+
return context.adminLanguage;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// If the language is invalid, log a warning and return the unchanged (default) language
|
|
52
|
+
debugLog(
|
|
53
|
+
true,
|
|
54
|
+
'error',
|
|
55
|
+
getSuiteCoreTranslation(
|
|
56
|
+
SuiteCoreStringKey.Error_InvalidLanguageCodeTemplate,
|
|
57
|
+
{
|
|
58
|
+
LANGUAGE: consoleLanguage,
|
|
59
|
+
DEFAULT_LANGUAGE: context.adminLanguage,
|
|
60
|
+
},
|
|
61
|
+
),
|
|
62
|
+
);
|
|
63
|
+
return context.adminLanguage;
|
|
64
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Timezone detection and configuration utilities.
|
|
3
|
+
* Sets global admin timezone from environment or command-line arguments.
|
|
4
|
+
* @module get-timezone
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import type { Timezone as TimezoneType } from '@digitaldefiance/i18n-lib';
|
|
8
|
+
import {
|
|
9
|
+
GlobalActiveContext,
|
|
10
|
+
IActiveContext,
|
|
11
|
+
isValidTimezone,
|
|
12
|
+
} from '@digitaldefiance/i18n-lib';
|
|
13
|
+
import { existsSync, readFileSync } from 'fs';
|
|
14
|
+
|
|
15
|
+
// Type for Timezone constructor
|
|
16
|
+
type TimezoneConstructor = new (tz: string) => TimezoneType;
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Creates a Timezone instance from the same module as GlobalActiveContext.
|
|
20
|
+
* @param {string} tz - Timezone string
|
|
21
|
+
* @returns {TimezoneType} Timezone instance
|
|
22
|
+
*/
|
|
23
|
+
function createTimezone(tz: string): TimezoneType {
|
|
24
|
+
const context = GlobalActiveContext.getInstance<
|
|
25
|
+
string,
|
|
26
|
+
IActiveContext<string>
|
|
27
|
+
>();
|
|
28
|
+
// Get the Timezone constructor from the existing timezone object
|
|
29
|
+
const TimezoneConstructor = context.adminTimezone
|
|
30
|
+
.constructor as TimezoneConstructor;
|
|
31
|
+
return new TimezoneConstructor(tz);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Sets global admin timezone from process arguments, environment, or system configuration.
|
|
36
|
+
* Prioritizes: --timezone argument > TZ env var > /etc/timezone > existing context.
|
|
37
|
+
* @returns {string} The configured timezone string
|
|
38
|
+
*/
|
|
39
|
+
export function setGlobalActiveContextAdminTimezoneFromProcessArgvOrEnv(): string {
|
|
40
|
+
const systemTz = existsSync('/etc/timezone')
|
|
41
|
+
? readFileSync('/etc/timezone', 'utf8').trim()
|
|
42
|
+
: undefined;
|
|
43
|
+
const consoleTimezoneEnv = process.env['TZ'];
|
|
44
|
+
const consoleTimezoneArgv = process.argv.find((arg) =>
|
|
45
|
+
arg.startsWith('--timezone='),
|
|
46
|
+
);
|
|
47
|
+
|
|
48
|
+
// Prioritize command-line argument, then environment variable, then /etc/timezone
|
|
49
|
+
// if command-line argument is set, and is valid (isValidTimezone), use that
|
|
50
|
+
// if TZ env is set, and is valid (isValidTimezone), use that
|
|
51
|
+
// if /etc/timezone has a timezone, and is valid (isValidTimezone) use that
|
|
52
|
+
const validSystemTz =
|
|
53
|
+
systemTz && isValidTimezone(systemTz) ? systemTz : undefined;
|
|
54
|
+
const validConsoleTimezoneEnv =
|
|
55
|
+
consoleTimezoneEnv && isValidTimezone(consoleTimezoneEnv)
|
|
56
|
+
? consoleTimezoneEnv
|
|
57
|
+
: undefined;
|
|
58
|
+
const argValue = consoleTimezoneArgv?.split('=')[1];
|
|
59
|
+
const validConsoleTimezoneArgv =
|
|
60
|
+
argValue && isValidTimezone(argValue) ? argValue : undefined;
|
|
61
|
+
|
|
62
|
+
const context = GlobalActiveContext.getInstance<
|
|
63
|
+
string,
|
|
64
|
+
IActiveContext<string>
|
|
65
|
+
>();
|
|
66
|
+
|
|
67
|
+
const timezoneStr =
|
|
68
|
+
validConsoleTimezoneArgv ??
|
|
69
|
+
validConsoleTimezoneEnv ??
|
|
70
|
+
validSystemTz ??
|
|
71
|
+
context.adminTimezone.value;
|
|
72
|
+
|
|
73
|
+
const finalTimezone = timezoneStr ?? 'UTC';
|
|
74
|
+
context.adminTimezone = createTimezone(finalTimezone);
|
|
75
|
+
return finalTimezone;
|
|
76
|
+
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import 'reflect-metadata';
|
|
2
|
+
|
|
2
3
|
export * from './application';
|
|
3
4
|
export * from './application-base';
|
|
4
5
|
export * from './application-concrete';
|
|
@@ -32,7 +33,48 @@ export * from './schemas';
|
|
|
32
33
|
export * from './services';
|
|
33
34
|
export * from './transactions';
|
|
34
35
|
export * from './types';
|
|
35
|
-
export {
|
|
36
|
+
export {
|
|
37
|
+
type DEBUG_TYPE,
|
|
38
|
+
debugLog,
|
|
39
|
+
directLog,
|
|
40
|
+
getValueAtPath,
|
|
41
|
+
mapZodIssuesToValidationErrors,
|
|
42
|
+
requireValidatedFieldsAsync,
|
|
43
|
+
requireOneOfValidatedFieldsAsync,
|
|
44
|
+
requireValidatedFieldsOrThrow,
|
|
45
|
+
isValidStringObjectId as isValidStringId,
|
|
46
|
+
DEFAULT_RETRY_ATTEMPTS,
|
|
47
|
+
DEFAULT_TRANSACTION_TIMEOUT,
|
|
48
|
+
DEFAULT_TRANSACTION_LOCK_REQUEST_TIMEOUT,
|
|
49
|
+
type TransactionOptions,
|
|
50
|
+
getDefaultBaseDelay,
|
|
51
|
+
withTransaction,
|
|
52
|
+
sendApiMessageResponse,
|
|
53
|
+
sendApiErrorResponse,
|
|
54
|
+
sendApiExpressValidationErrorResponse,
|
|
55
|
+
sendApiMongoValidationErrorResponse,
|
|
56
|
+
sendRawJsonResponse,
|
|
57
|
+
handleError,
|
|
58
|
+
locatePEMRoot,
|
|
59
|
+
lengthEncodeData,
|
|
60
|
+
decodeLengthEncodedData,
|
|
61
|
+
isValidTimezone,
|
|
62
|
+
omit,
|
|
63
|
+
validateEnumCollection,
|
|
64
|
+
uint8ArrayToBase64,
|
|
65
|
+
base64ToUint8Array,
|
|
66
|
+
uint8ArrayToHex,
|
|
67
|
+
hexToUint8Array,
|
|
68
|
+
crc16,
|
|
69
|
+
stringToUint8Array,
|
|
70
|
+
uint8ArrayToString,
|
|
71
|
+
randomBytes,
|
|
72
|
+
arraysEqual,
|
|
73
|
+
concatUint8Arrays,
|
|
74
|
+
getLengthEncodingTypeForLength,
|
|
75
|
+
getLengthEncodingTypeFromValue,
|
|
76
|
+
getLengthForLengthType,
|
|
77
|
+
parseBackupCodes,
|
|
78
|
+
} from './utils';
|
|
36
79
|
export type { TransactionOptions as UtilsTransactionOptions } from './utils';
|
|
37
80
|
export * from './validation';
|
|
38
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Generic API error response interface.
|
|
3
|
+
* Extends API message response with error details.
|
|
4
|
+
* @module interfaces/api-error-response
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { IApiMessageResponse } from './api-message-response';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Generic API error response.
|
|
11
|
+
* @extends IApiMessageResponse
|
|
12
|
+
*/
|
|
13
|
+
export interface IApiErrorResponse extends IApiMessageResponse {
|
|
14
|
+
error: unknown;
|
|
15
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Express validation error response interface.
|
|
3
|
+
* Extends API message response with express-validator errors.
|
|
4
|
+
* @module interfaces/api-express-validation-error-response
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { Result, ValidationError } from 'express-validator';
|
|
8
|
+
import { IApiMessageResponse } from './api-message-response';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* API response for express-validator validation errors.
|
|
12
|
+
* @extends IApiMessageResponse
|
|
13
|
+
*/
|
|
14
|
+
export interface IApiExpressValidationErrorResponse extends IApiMessageResponse {
|
|
15
|
+
errors: ValidationError[] | Result<ValidationError>;
|
|
16
|
+
errorType?: string;
|
|
17
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Base API message response interface.
|
|
3
|
+
* Defines minimal structure for all API responses.
|
|
4
|
+
* @module interfaces/api-message-response
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Base API response with message.
|
|
9
|
+
*/
|
|
10
|
+
export interface IApiMessageResponse {
|
|
11
|
+
message: string;
|
|
12
|
+
}
|