@digitaldefiance/node-express-suite 3.7.3 → 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 -2
- 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/crc.d.ts +0 -87
- package/src/services/crc.d.ts.map +0 -1
- package/src/services/crc.js +0 -198
- package/src/services/crc.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 -23
- 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,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview MongoDB validation error response interface.
|
|
3
|
+
* Extends API message response with MongoDB-specific validation errors.
|
|
4
|
+
* @module interfaces/api-mongo-validation-error-response
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { IApiMessageResponse } from './api-message-response';
|
|
8
|
+
import { IMongoErrors } from './mongo-errors';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* API response for MongoDB validation errors.
|
|
12
|
+
* @extends IApiMessageResponse
|
|
13
|
+
* @property {IMongoErrors} errors - MongoDB validation error details
|
|
14
|
+
*/
|
|
15
|
+
export interface IApiMongoValidationErrorResponse extends IApiMessageResponse {
|
|
16
|
+
errors: IMongoErrors;
|
|
17
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Backup codes API response interface.
|
|
3
|
+
* Defines structure for backup code generation responses.
|
|
4
|
+
* @module interfaces/api-responses/backup-codes-response
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { IApiMessageResponse } from '../api-message-response';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* API response containing backup codes.
|
|
11
|
+
* @extends IApiMessageResponse
|
|
12
|
+
*/
|
|
13
|
+
export interface IApiBackupCodesResponse extends IApiMessageResponse {
|
|
14
|
+
backupCodes: Array<string>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview API response interface for cryptographic challenge requests.
|
|
3
|
+
* @module interfaces/api-responses/challenge-response
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { IApiMessageResponse } from '../api-message-response';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* API response for cryptographic challenge requests.
|
|
10
|
+
* Contains a challenge string and server's public key for secure authentication.
|
|
11
|
+
*/
|
|
12
|
+
export interface IApiChallengeResponse extends IApiMessageResponse {
|
|
13
|
+
/** Challenge string to be signed by the client */
|
|
14
|
+
challenge: string;
|
|
15
|
+
/** Server's public key for encrypting the response */
|
|
16
|
+
serverPublicKey: string;
|
|
17
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Code count API response interface.
|
|
3
|
+
* Defines structure for backup code count responses.
|
|
4
|
+
* @module interfaces/api-responses/code-count-response
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { IApiMessageResponse } from '../api-message-response';
|
|
8
|
+
|
|
9
|
+
/** API response containing backup code count. */
|
|
10
|
+
export interface IApiCodeCountResponse extends IApiMessageResponse {
|
|
11
|
+
codeCount: number;
|
|
12
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Login API response interface.
|
|
3
|
+
* Defines structure for successful login responses.
|
|
4
|
+
* @module interfaces/api-responses/login-response
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { IRequestUserDTO } from '@digitaldefiance/suite-core-lib';
|
|
8
|
+
import { IApiMessageResponse } from '../api-message-response';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* API response for successful login.
|
|
12
|
+
* @extends IApiMessageResponse
|
|
13
|
+
*/
|
|
14
|
+
export interface IApiLoginResponse extends IApiMessageResponse {
|
|
15
|
+
user: IRequestUserDTO;
|
|
16
|
+
token: string;
|
|
17
|
+
serverPublicKey: string;
|
|
18
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview API response interface for mnemonic phrase requests.
|
|
3
|
+
* @module interfaces/api-responses/mnemonic-response
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { IApiMessageResponse } from '../api-message-response';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* API response for mnemonic phrase requests.
|
|
10
|
+
* Contains a BIP39 mnemonic phrase for key derivation.
|
|
11
|
+
*/
|
|
12
|
+
export interface IApiMnemonicResponse extends IApiMessageResponse {
|
|
13
|
+
/** BIP39 mnemonic phrase (12-24 words) */
|
|
14
|
+
mnemonic: string;
|
|
15
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview API response interface for user registration requests.
|
|
3
|
+
* @module interfaces/api-responses/registration-response
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { IApiMessageResponse } from '../api-message-response';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* API response for user registration requests.
|
|
10
|
+
* Contains mnemonic phrase and backup codes for account recovery.
|
|
11
|
+
*/
|
|
12
|
+
export interface IApiRegistrationResponse extends IApiMessageResponse {
|
|
13
|
+
/** BIP39 mnemonic phrase for key derivation */
|
|
14
|
+
mnemonic: string;
|
|
15
|
+
/** Array of backup codes for account recovery */
|
|
16
|
+
backupCodes: Array<string>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Request user API response interface.
|
|
3
|
+
* Defines structure for user data responses.
|
|
4
|
+
* @module interfaces/api-responses/request-user-response
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { IRequestUserDTO } from '@digitaldefiance/suite-core-lib';
|
|
8
|
+
import { IApiMessageResponse } from '../api-message-response';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* API response containing user data.
|
|
12
|
+
* @extends IApiMessageResponse
|
|
13
|
+
*/
|
|
14
|
+
export interface IApiRequestUserResponse extends IApiMessageResponse {
|
|
15
|
+
user: IRequestUserDTO;
|
|
16
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview User settings API response interface.
|
|
3
|
+
* Defines structure for user settings responses.
|
|
4
|
+
* @module interfaces/api-responses/user-settings-response
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { IApiMessageResponse } from '../api-message-response';
|
|
8
|
+
|
|
9
|
+
/** API response containing user settings. */
|
|
10
|
+
export interface IApiUserSettingsResponse extends IApiMessageResponse {
|
|
11
|
+
settings: {
|
|
12
|
+
email: string;
|
|
13
|
+
timezone: string;
|
|
14
|
+
currency: string;
|
|
15
|
+
siteLanguage: string;
|
|
16
|
+
darkMode: boolean;
|
|
17
|
+
directChallenge: boolean;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Application interface defining core application structure and services.
|
|
3
|
+
* Provides access to environment, constants, database, and service container.
|
|
4
|
+
* @module interfaces/application
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import mongoose, { Model } from '@digitaldefiance/mongoose-types';
|
|
8
|
+
import { ServiceContainer } from '../container';
|
|
9
|
+
import { IBaseDocument } from '../documents';
|
|
10
|
+
import { Environment } from '../environment';
|
|
11
|
+
import { IConstants } from './constants';
|
|
12
|
+
import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Core application interface providing access to all application services and configuration.
|
|
16
|
+
* @template TID Platform-specific ID type (Buffer, ObjectId, etc.)
|
|
17
|
+
*/
|
|
18
|
+
export interface IApplication<TID extends PlatformID = Buffer> {
|
|
19
|
+
/** Application environment configuration */
|
|
20
|
+
get environment(): Environment<TID>;
|
|
21
|
+
/** Application constants and configuration values */
|
|
22
|
+
get constants(): IConstants;
|
|
23
|
+
/** Mongoose database connection */
|
|
24
|
+
get db(): typeof mongoose;
|
|
25
|
+
/** Whether the application is ready to handle requests */
|
|
26
|
+
get ready(): boolean;
|
|
27
|
+
/** Service container for dependency injection */
|
|
28
|
+
get services(): ServiceContainer;
|
|
29
|
+
/** Plugin manager for extensibility */
|
|
30
|
+
get plugins(): import('../plugins').PluginManager<TID>;
|
|
31
|
+
/** Starts the application and initializes all services */
|
|
32
|
+
start(): Promise<void>;
|
|
33
|
+
/**
|
|
34
|
+
* Gets a Mongoose model by name.
|
|
35
|
+
* @template U Document type extending IBaseDocument
|
|
36
|
+
* @param modelName Name of the model to retrieve
|
|
37
|
+
* @returns Mongoose model instance
|
|
38
|
+
*/
|
|
39
|
+
getModel<U extends IBaseDocument<any, TID>>(modelName: string): Model<U>;
|
|
40
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Backend email token object type.
|
|
3
|
+
* Defines email token type for backend operations.
|
|
4
|
+
* @module interfaces/backend-objects/email-token
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
|
|
8
|
+
import {
|
|
9
|
+
EmailTokenType,
|
|
10
|
+
IEmailTokenBase,
|
|
11
|
+
} from '@digitaldefiance/suite-core-lib';
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Backend email token object type.
|
|
15
|
+
* @template TID - Platform ID type (defaults to Buffer)
|
|
16
|
+
*/
|
|
17
|
+
export type IEmailTokenBackendObject<TID extends PlatformID = Buffer> =
|
|
18
|
+
IEmailTokenBase<TID, Date, EmailTokenType>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Backend request user object type.
|
|
3
|
+
* Defines request user type for backend operations.
|
|
4
|
+
* @module interfaces/backend-objects/request-user
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { IRequestUser } from '../request-user';
|
|
8
|
+
import { IRoleBackendObject } from './role';
|
|
9
|
+
import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Backend request user object type.
|
|
13
|
+
* @template TLanguage - String type for language
|
|
14
|
+
* @template TID - Platform ID type (defaults to Buffer)
|
|
15
|
+
*/
|
|
16
|
+
export type IRequestUserBackendObject<
|
|
17
|
+
TLanguage extends string,
|
|
18
|
+
TID extends PlatformID = Buffer,
|
|
19
|
+
> = IRequestUser<TID, Array<IRoleBackendObject<any>>, TLanguage, Date>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Backend role object type.
|
|
3
|
+
* Defines role type for backend operations with platform-specific IDs.
|
|
4
|
+
* @module interfaces/backend-objects/role
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
|
|
8
|
+
import { IRoleBase, Role } from '@digitaldefiance/suite-core-lib';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Backend role object type.
|
|
12
|
+
* @template TID - Platform ID type (defaults to Buffer)
|
|
13
|
+
*/
|
|
14
|
+
export type IRoleBackendObject<TID extends PlatformID = Buffer> = IRoleBase<
|
|
15
|
+
TID,
|
|
16
|
+
Date,
|
|
17
|
+
Role
|
|
18
|
+
>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Backend user object type.
|
|
3
|
+
* Defines user type for backend operations with platform-specific IDs.
|
|
4
|
+
* @module interfaces/backend-objects/user
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
|
|
8
|
+
import { AccountStatus, IUserBase } from '@digitaldefiance/suite-core-lib';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Backend user object type.
|
|
12
|
+
* @template TLanguage - String type for language
|
|
13
|
+
* @template TID - Platform ID type (defaults to Buffer)
|
|
14
|
+
*/
|
|
15
|
+
export type IUserBackendObject<
|
|
16
|
+
TLanguage extends string,
|
|
17
|
+
TID extends PlatformID = Buffer,
|
|
18
|
+
> = IUserBase<TID, Date, TLanguage, AccountStatus>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Checksum configuration interface.
|
|
3
|
+
* Defines algorithm and encoding options for checksum generation.
|
|
4
|
+
* @module interfaces/checksum-config
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Configuration for checksum generation.
|
|
9
|
+
* @property {string} algorithm - Hash algorithm (e.g., 'sha256', 'sha512')
|
|
10
|
+
* @property {'hex' | 'base64'} encoding - Output encoding format
|
|
11
|
+
*/
|
|
12
|
+
export interface IChecksumConfig {
|
|
13
|
+
algorithm: string;
|
|
14
|
+
encoding: 'hex' | 'base64';
|
|
15
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Checksum constants interface.
|
|
3
|
+
* Defines configuration constants for SHA3 checksum operations.
|
|
4
|
+
* @module interfaces/checksum-consts
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Constants for checksum generation and validation.
|
|
9
|
+
* Defines SHA3 algorithm parameters and encoding settings.
|
|
10
|
+
*/
|
|
11
|
+
export interface IChecksumConsts {
|
|
12
|
+
/** Default hash bits for SHA3 */
|
|
13
|
+
SHA3_DEFAULT_HASH_BITS: number;
|
|
14
|
+
|
|
15
|
+
/** Length of a SHA3 checksum buffer in bytes */
|
|
16
|
+
SHA3_BUFFER_LENGTH: number;
|
|
17
|
+
|
|
18
|
+
/** Algorithm name for checksums */
|
|
19
|
+
ALGORITHM: string;
|
|
20
|
+
|
|
21
|
+
/** Encoding for checksums */
|
|
22
|
+
ENCODING: 'hex' | 'base64';
|
|
23
|
+
}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Constants interface combining all library constants.
|
|
3
|
+
* Aggregates constants from ECIES, Node ECIES, Suite Core, and Node Express Suite.
|
|
4
|
+
* @module interfaces/constants
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { IECIESConstants, IPBkdf2Consts } from '@digitaldefiance/ecies-lib';
|
|
8
|
+
import {
|
|
9
|
+
IEncryptionConsts,
|
|
10
|
+
IKeyringConsts,
|
|
11
|
+
IWrappedKeyConsts,
|
|
12
|
+
PbkdfProfiles,
|
|
13
|
+
type IVotingConsts,
|
|
14
|
+
} from '@digitaldefiance/node-ecies-lib';
|
|
15
|
+
import { IConstants as IBaseConstants } from '@digitaldefiance/suite-core-lib';
|
|
16
|
+
import { CipherGCMTypes } from 'crypto';
|
|
17
|
+
import { IChecksumConsts } from './checksum-consts';
|
|
18
|
+
import { IFECConsts } from './fec-consts';
|
|
19
|
+
import { IJwtConsts } from './jwt-consts';
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Combination of all constants from all libraries.
|
|
23
|
+
* Extends base constants with ECIES, Node ECIES, Suite Core, and Node Express Suite constants.
|
|
24
|
+
*/
|
|
25
|
+
export interface IConstants extends IBaseConstants {
|
|
26
|
+
UINT8_SIZE: number;
|
|
27
|
+
UINT16_SIZE: number;
|
|
28
|
+
UINT16_MAX: number;
|
|
29
|
+
UINT32_SIZE: number;
|
|
30
|
+
UINT32_MAX: number;
|
|
31
|
+
UINT64_SIZE: number;
|
|
32
|
+
UINT64_MAX: bigint;
|
|
33
|
+
HEX_RADIX: number;
|
|
34
|
+
/**
|
|
35
|
+
* Number of rounds for bcrypt hashing. Higher values increase security but also consume more CPU resources.
|
|
36
|
+
*/
|
|
37
|
+
BcryptRounds: number;
|
|
38
|
+
/**
|
|
39
|
+
* Minimum password length
|
|
40
|
+
*/
|
|
41
|
+
PasswordMinLength: number;
|
|
42
|
+
/**
|
|
43
|
+
* The regular expression for valid passwords.
|
|
44
|
+
*/
|
|
45
|
+
PasswordRegex: RegExp;
|
|
46
|
+
/**
|
|
47
|
+
* The regular expression for valid JWT tokens.
|
|
48
|
+
*/
|
|
49
|
+
JwtSecretRegex: RegExp;
|
|
50
|
+
/**
|
|
51
|
+
* The regular expression for valid mnemonic phrases.
|
|
52
|
+
* BIP39
|
|
53
|
+
*/
|
|
54
|
+
MnemonicRegex: RegExp;
|
|
55
|
+
/**
|
|
56
|
+
* The regular expression for valid HMAC keys.
|
|
57
|
+
*/
|
|
58
|
+
MnemonicHmacRegex: RegExp;
|
|
59
|
+
/**
|
|
60
|
+
* The regular expression for valid encryption keys.
|
|
61
|
+
*/
|
|
62
|
+
MnemonicEncryptionKeyRegex: RegExp;
|
|
63
|
+
/**
|
|
64
|
+
* JWT constants
|
|
65
|
+
*/
|
|
66
|
+
JWT: IJwtConsts;
|
|
67
|
+
/**
|
|
68
|
+
* Forward Error Correction constants
|
|
69
|
+
*/
|
|
70
|
+
FEC: IFECConsts;
|
|
71
|
+
/**
|
|
72
|
+
* ECIES encryption constants
|
|
73
|
+
*/
|
|
74
|
+
ECIES: IECIESConstants;
|
|
75
|
+
/**
|
|
76
|
+
* The length of a raw object ID (not the hex string representation)
|
|
77
|
+
*/
|
|
78
|
+
OBJECT_ID_LENGTH: number;
|
|
79
|
+
/**
|
|
80
|
+
* PBKDF2 key derivation function constants
|
|
81
|
+
*/
|
|
82
|
+
PBKDF2: IPBkdf2Consts;
|
|
83
|
+
/**
|
|
84
|
+
* Predefined PBKDF2 configuration profiles for different use cases
|
|
85
|
+
*/
|
|
86
|
+
PBKDF2_PROFILES: PbkdfProfiles;
|
|
87
|
+
/**
|
|
88
|
+
* Checksum constants used for data integrity
|
|
89
|
+
*/
|
|
90
|
+
CHECKSUM: IChecksumConsts;
|
|
91
|
+
/**
|
|
92
|
+
* Wrapped Key constants used for the key wrapping service
|
|
93
|
+
*/
|
|
94
|
+
WRAPPED_KEY: IWrappedKeyConsts;
|
|
95
|
+
/**
|
|
96
|
+
* Keyring constants used for key management
|
|
97
|
+
*/
|
|
98
|
+
KEYRING: IKeyringConsts;
|
|
99
|
+
/**
|
|
100
|
+
* Encryption constants used for encrypted data
|
|
101
|
+
*/
|
|
102
|
+
ENCRYPTION: IEncryptionConsts;
|
|
103
|
+
/**
|
|
104
|
+
* Voting constants used for homomorphic encryption voting
|
|
105
|
+
*/
|
|
106
|
+
VOTING: IVotingConsts;
|
|
107
|
+
/**
|
|
108
|
+
* Algorithm configuration string for keyring operations
|
|
109
|
+
*/
|
|
110
|
+
KEYRING_ALGORITHM_CONFIGURATION: CipherGCMTypes;
|
|
111
|
+
ECIES_VERSION_SIZE: number;
|
|
112
|
+
ECIES_CIPHER_SUITE_SIZE: number;
|
|
113
|
+
MEMBER_ID_LENGTH: number;
|
|
114
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Controller configuration interface.
|
|
3
|
+
* Defines type configuration for controllers with platform-specific types.
|
|
4
|
+
* @module interfaces/controller-config
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import {
|
|
8
|
+
ITokenRole,
|
|
9
|
+
ITokenUser,
|
|
10
|
+
IUserBase,
|
|
11
|
+
} from '@digitaldefiance/suite-core-lib';
|
|
12
|
+
import { IBaseDocument } from '../documents';
|
|
13
|
+
import { Environment } from '../environment';
|
|
14
|
+
import { IApplication } from './application';
|
|
15
|
+
import { IConstants } from './constants';
|
|
16
|
+
import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Configuration interface for controller type parameters.
|
|
20
|
+
* Defines all type parameters used across controllers.
|
|
21
|
+
* @template TID - Platform ID type (defaults to Buffer)
|
|
22
|
+
* @template TDate - Date type (defaults to Date)
|
|
23
|
+
* @template TLanguage - String type (defaults to string)
|
|
24
|
+
* @template TAccountStatus - Account status type (defaults to string)
|
|
25
|
+
*/
|
|
26
|
+
export interface IControllerConfig<
|
|
27
|
+
TID extends PlatformID = Buffer,
|
|
28
|
+
TDate extends Date = Date,
|
|
29
|
+
TLanguage extends string = string,
|
|
30
|
+
TAccountStatus extends string = string,
|
|
31
|
+
> {
|
|
32
|
+
idType: TID;
|
|
33
|
+
dateType: TDate;
|
|
34
|
+
stringType: TLanguage;
|
|
35
|
+
accountStatusType: TAccountStatus;
|
|
36
|
+
userType: IUserBase<TID, TDate, TLanguage, TAccountStatus>;
|
|
37
|
+
tokenRoleType: ITokenRole<TID, TDate>;
|
|
38
|
+
tokenUserType: ITokenUser;
|
|
39
|
+
baseDocumentType: IBaseDocument<any, TID>;
|
|
40
|
+
environmentType: Environment<TID>;
|
|
41
|
+
constantsType: IConstants;
|
|
42
|
+
applicationType: IApplication<TID>;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Default controller configuration with standard types.
|
|
47
|
+
* Uses Buffer for IDs, Date for dates, and string for language/status.
|
|
48
|
+
*/
|
|
49
|
+
export type DefaultControllerConfig = IControllerConfig<
|
|
50
|
+
Buffer,
|
|
51
|
+
Date,
|
|
52
|
+
string,
|
|
53
|
+
string
|
|
54
|
+
>;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview User creation basics interface.
|
|
3
|
+
* Defines minimal required fields for creating a new user.
|
|
4
|
+
* @module interfaces/create-user-basics
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Partial interface for creating a new user.
|
|
9
|
+
* Contains essential user information required during registration.
|
|
10
|
+
*/
|
|
11
|
+
export interface ICreateUserBasics {
|
|
12
|
+
/**
|
|
13
|
+
* The username of the user
|
|
14
|
+
*/
|
|
15
|
+
username: string;
|
|
16
|
+
/**
|
|
17
|
+
* The email address of the user
|
|
18
|
+
*/
|
|
19
|
+
email: string;
|
|
20
|
+
/**
|
|
21
|
+
* The timezone of the user
|
|
22
|
+
*/
|
|
23
|
+
timezone?: string;
|
|
24
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview CSP configuration interface with CORS whitelist.
|
|
3
|
+
* Defines Content Security Policy and CORS settings.
|
|
4
|
+
* @module interfaces/csp-config
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { ISimpleCSPDef, isSimpleCSPDef } from './csp-definition';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Content Security Policy configuration with CORS whitelist.
|
|
11
|
+
* @property {string[]} corsWhitelist - Allowed CORS origins
|
|
12
|
+
* @property {ISimpleCSPDef} csp - CSP directive definitions
|
|
13
|
+
*/
|
|
14
|
+
export interface ICSPConfig {
|
|
15
|
+
corsWhitelist: string[];
|
|
16
|
+
csp: ISimpleCSPDef;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Type guard to check if object is valid CSP configuration.
|
|
21
|
+
* @param {any} obj - Object to validate
|
|
22
|
+
* @returns {boolean} True if object matches ICSPConfig interface
|
|
23
|
+
*/
|
|
24
|
+
export const isCSPConfig = (obj: any): obj is ICSPConfig => {
|
|
25
|
+
return (
|
|
26
|
+
!!obj &&
|
|
27
|
+
typeof obj === 'object' &&
|
|
28
|
+
'corsWhitelist' in obj &&
|
|
29
|
+
'csp' in obj &&
|
|
30
|
+
isSimpleCSPDef(obj.csp)
|
|
31
|
+
);
|
|
32
|
+
};
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Simple CSP directive definition interface.
|
|
3
|
+
* Defines Content Security Policy directives with static and dynamic sources.
|
|
4
|
+
* @module interfaces/csp-definition
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { HelmetOptions } from 'helmet';
|
|
8
|
+
import { IncomingMessage, ServerResponse } from 'http';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Simplified Content Security Policy directive definition.
|
|
12
|
+
* Each directive accepts static strings or dynamic functions for request-specific values.
|
|
13
|
+
* @property {Array<string | Function>} defaultSrc - Default source directive
|
|
14
|
+
* @property {Array<string | Function>} imgSrc - Image source directive
|
|
15
|
+
* @property {Array<string | Function>} connectSrc - Connect source directive (XHR, WebSocket)
|
|
16
|
+
* @property {Array<string | Function>} scriptSrc - Script source directive
|
|
17
|
+
* @property {Array<string | Function>} styleSrc - Style source directive
|
|
18
|
+
* @property {Array<string | Function>} fontSrc - Font source directive
|
|
19
|
+
* @property {Array<string | Function>} frameSrc - Frame source directive
|
|
20
|
+
*/
|
|
21
|
+
export interface ISimpleCSPDef {
|
|
22
|
+
defaultSrc: (
|
|
23
|
+
| string
|
|
24
|
+
| ((req: IncomingMessage, res: ServerResponse) => string)
|
|
25
|
+
)[];
|
|
26
|
+
imgSrc: (string | ((req: IncomingMessage, res: ServerResponse) => string))[];
|
|
27
|
+
connectSrc: (
|
|
28
|
+
| string
|
|
29
|
+
| ((req: IncomingMessage, res: ServerResponse) => string)
|
|
30
|
+
)[];
|
|
31
|
+
scriptSrc: (
|
|
32
|
+
| string
|
|
33
|
+
| ((req: IncomingMessage, res: ServerResponse) => string)
|
|
34
|
+
)[];
|
|
35
|
+
styleSrc: (
|
|
36
|
+
| string
|
|
37
|
+
| ((req: IncomingMessage, res: ServerResponse) => string)
|
|
38
|
+
)[];
|
|
39
|
+
fontSrc: (string | ((req: IncomingMessage, res: ServerResponse) => string))[];
|
|
40
|
+
frameSrc: (
|
|
41
|
+
| string
|
|
42
|
+
| ((req: IncomingMessage, res: ServerResponse) => string)
|
|
43
|
+
)[];
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Type guard to check if object is simple CSP definition.
|
|
48
|
+
* @param {ISimpleCSPDef | HelmetOptions} obj - Object to validate
|
|
49
|
+
* @returns {boolean} True if object matches ISimpleCSPDef interface
|
|
50
|
+
*/
|
|
51
|
+
export const isSimpleCSPDef = (
|
|
52
|
+
obj: ISimpleCSPDef | HelmetOptions,
|
|
53
|
+
): obj is ISimpleCSPDef => {
|
|
54
|
+
return (
|
|
55
|
+
obj &&
|
|
56
|
+
'defaultSrc' in obj &&
|
|
57
|
+
'imgSrc' in obj &&
|
|
58
|
+
'connectSrc' in obj &&
|
|
59
|
+
'scriptSrc' in obj &&
|
|
60
|
+
'styleSrc' in obj &&
|
|
61
|
+
'fontSrc' in obj &&
|
|
62
|
+
'frameSrc' in obj &&
|
|
63
|
+
Array.isArray(obj.defaultSrc) &&
|
|
64
|
+
Array.isArray(obj.imgSrc) &&
|
|
65
|
+
Array.isArray(obj.connectSrc) &&
|
|
66
|
+
Array.isArray(obj.scriptSrc) &&
|
|
67
|
+
Array.isArray(obj.styleSrc) &&
|
|
68
|
+
Array.isArray(obj.fontSrc) &&
|
|
69
|
+
Array.isArray(obj.frameSrc)
|
|
70
|
+
);
|
|
71
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Database initialization result interface.
|
|
3
|
+
* Extends failable result with initialization status flag.
|
|
4
|
+
* @module interfaces/db-init-result
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { IFailableResult } from './failable-result';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Result of database initialization operation.
|
|
11
|
+
* @template T - Result data type
|
|
12
|
+
* @extends IFailableResult<T>
|
|
13
|
+
* @property {boolean} alreadyInitialized - True if database was already initialized
|
|
14
|
+
*/
|
|
15
|
+
export interface IDBInitResult<T> extends IFailableResult<T> {
|
|
16
|
+
alreadyInitialized: boolean;
|
|
17
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Deep partial utility type.
|
|
3
|
+
* Recursively makes all properties of a type optional.
|
|
4
|
+
* @module interfaces/deep-partial
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Recursively makes all properties of a type optional.
|
|
9
|
+
* @template T - Type to make deeply partial
|
|
10
|
+
* @typedef {Object} DeepPartial
|
|
11
|
+
*/
|
|
12
|
+
export type DeepPartial<T> = {
|
|
13
|
+
[P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];
|
|
14
|
+
};
|