@digitaldefiance/node-express-suite 3.7.5 → 3.8.0
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/README.md +38 -6
- package/package.json +9 -8
- package/src/__tests__/fixtures/{index.ts → index.d.ts} +1 -0
- package/src/__tests__/fixtures/index.d.ts.map +1 -0
- package/src/__tests__/fixtures/index.js +5 -0
- package/src/__tests__/fixtures/index.js.map +1 -0
- package/src/__tests__/fixtures/model-mocks.mock.d.ts +12 -0
- package/src/__tests__/fixtures/model-mocks.mock.d.ts.map +1 -0
- package/src/__tests__/fixtures/model-mocks.mock.js +102 -0
- package/src/__tests__/fixtures/model-mocks.mock.js.map +1 -0
- package/src/__tests__/helpers/application.mock.d.ts +8 -0
- package/src/__tests__/helpers/application.mock.d.ts.map +1 -0
- package/src/__tests__/helpers/application.mock.js +77 -0
- package/src/__tests__/helpers/application.mock.js.map +1 -0
- package/src/__tests__/helpers/{index.ts → index.d.ts} +1 -0
- package/src/__tests__/helpers/index.d.ts.map +1 -0
- package/src/__tests__/helpers/index.js +7 -0
- package/src/__tests__/helpers/index.js.map +1 -0
- package/src/__tests__/helpers/setup-test-env.d.ts +12 -0
- package/src/__tests__/helpers/setup-test-env.d.ts.map +1 -0
- package/src/__tests__/helpers/setup-test-env.js +121 -0
- package/src/__tests__/helpers/setup-test-env.js.map +1 -0
- package/src/__tests__/{index.ts → index.d.ts} +1 -0
- package/src/__tests__/index.d.ts.map +1 -0
- package/src/__tests__/index.js +6 -0
- package/src/__tests__/index.js.map +1 -0
- package/src/application-base.d.ts +128 -0
- package/src/application-base.d.ts.map +1 -0
- package/src/application-base.js +364 -0
- package/src/application-base.js.map +1 -0
- package/src/application-concrete.d.ts +26 -0
- package/src/application-concrete.d.ts.map +1 -0
- package/src/application-concrete.js +34 -0
- package/src/application-concrete.js.map +1 -0
- package/src/application.d.ts +34 -0
- package/src/application.d.ts.map +1 -0
- package/src/application.js +172 -0
- package/src/application.js.map +1 -0
- package/src/backup-code.d.ts +72 -0
- package/src/backup-code.d.ts.map +1 -0
- package/src/backup-code.js +243 -0
- package/src/backup-code.js.map +1 -0
- package/src/builders/application-builder.d.ts +47 -0
- package/src/builders/application-builder.d.ts.map +1 -0
- package/src/builders/application-builder.js +76 -0
- package/src/builders/application-builder.js.map +1 -0
- package/src/builders/{index.ts → index.d.ts} +1 -0
- package/src/builders/index.d.ts.map +1 -0
- package/src/builders/index.js +5 -0
- package/src/builders/index.js.map +1 -0
- package/src/constants.d.ts +21 -0
- package/src/constants.d.ts.map +1 -0
- package/src/constants.js +63 -0
- package/src/constants.js.map +1 -0
- package/src/container/{index.ts → index.d.ts} +1 -0
- package/src/container/index.d.ts.map +1 -0
- package/src/container/index.js +6 -0
- package/src/container/index.js.map +1 -0
- package/src/container/service-container.d.ts +45 -0
- package/src/container/service-container.d.ts.map +1 -0
- package/src/container/service-container.js +68 -0
- package/src/container/service-container.js.map +1 -0
- package/src/container/{service-definitions.ts → service-definitions.d.ts} +10 -11
- package/src/container/service-definitions.d.ts.map +1 -0
- package/src/container/service-definitions.js +21 -0
- package/src/container/service-definitions.js.map +1 -0
- package/src/controllers/base.d.ts +80 -0
- package/src/controllers/base.d.ts.map +1 -0
- package/src/controllers/base.js +318 -0
- package/src/controllers/base.js.map +1 -0
- package/src/controllers/{index.ts → index.d.ts} +1 -0
- package/src/controllers/index.d.ts.map +1 -0
- package/src/controllers/index.js +6 -0
- package/src/controllers/index.js.map +1 -0
- package/src/controllers/user.d.ts +66 -0
- package/src/controllers/user.d.ts.map +1 -0
- package/src/controllers/user.js +936 -0
- package/src/controllers/user.js.map +1 -0
- package/src/database/{database-initializer.ts → database-initializer.d.ts} +3 -4
- package/src/database/database-initializer.d.ts.map +1 -0
- package/src/database/database-initializer.js +8 -0
- package/src/database/database-initializer.js.map +1 -0
- package/src/database/{index.ts → index.d.ts} +1 -0
- package/src/database/index.d.ts.map +1 -0
- package/src/database/index.js +5 -0
- package/src/database/index.js.map +1 -0
- package/src/decorators/base-controller.d.ts +22 -0
- package/src/decorators/base-controller.d.ts.map +1 -0
- package/src/decorators/base-controller.js +71 -0
- package/src/decorators/base-controller.js.map +1 -0
- package/src/decorators/controller.d.ts +43 -0
- package/src/decorators/controller.d.ts.map +1 -0
- package/src/decorators/controller.js +73 -0
- package/src/decorators/controller.js.map +1 -0
- package/src/decorators/{index.ts → index.d.ts} +1 -0
- package/src/decorators/index.d.ts.map +1 -0
- package/src/decorators/index.js +7 -0
- package/src/decorators/index.js.map +1 -0
- package/src/decorators/zod-validation.d.ts +10 -0
- package/src/decorators/zod-validation.d.ts.map +1 -0
- package/src/decorators/zod-validation.js +53 -0
- package/src/decorators/zod-validation.js.map +1 -0
- package/src/defaults.d.ts +12 -0
- package/src/defaults.d.ts.map +1 -0
- package/src/defaults.js +212 -0
- package/src/defaults.js.map +1 -0
- package/src/documents/{base.ts → base.d.ts} +2 -4
- package/src/documents/base.d.ts.map +1 -0
- package/src/documents/base.js +8 -0
- package/src/documents/base.js.map +1 -0
- package/src/documents/{email-token.ts → email-token.d.ts} +3 -8
- package/src/documents/email-token.d.ts.map +1 -0
- package/src/documents/email-token.js +8 -0
- package/src/documents/email-token.js.map +1 -0
- package/src/documents/{index.ts → index.d.ts} +1 -0
- package/src/documents/index.d.ts.map +1 -0
- package/src/documents/index.js +3 -0
- package/src/documents/index.js.map +1 -0
- package/src/documents/{mnemonic.ts → mnemonic.d.ts} +2 -6
- package/src/documents/mnemonic.d.ts.map +1 -0
- package/src/documents/mnemonic.js +8 -0
- package/src/documents/mnemonic.js.map +1 -0
- package/src/documents/{role.ts → role.d.ts} +2 -6
- package/src/documents/role.d.ts.map +1 -0
- package/src/documents/role.js +8 -0
- package/src/documents/role.js.map +1 -0
- package/src/documents/{used-direct-login-token.ts → used-direct-login-token.d.ts} +2 -4
- package/src/documents/used-direct-login-token.d.ts.map +1 -0
- package/src/documents/used-direct-login-token.js +8 -0
- package/src/documents/used-direct-login-token.js.map +1 -0
- package/src/documents/{user-role.ts → user-role.d.ts} +2 -6
- package/src/documents/user-role.d.ts.map +1 -0
- package/src/documents/user-role.js +8 -0
- package/src/documents/user-role.js.map +1 -0
- package/src/documents/{user.ts → user.d.ts} +2 -6
- package/src/documents/user.d.ts.map +1 -0
- package/src/documents/user.js +8 -0
- package/src/documents/user.js.map +1 -0
- package/src/enumerations/base-model-name.d.ts +43 -0
- package/src/enumerations/base-model-name.d.ts.map +1 -0
- package/src/enumerations/base-model-name.js +39 -0
- package/src/enumerations/base-model-name.js.map +1 -0
- package/src/enumerations/{index.ts → index.d.ts} +1 -0
- package/src/enumerations/index.d.ts.map +1 -0
- package/src/enumerations/index.js +8 -0
- package/src/enumerations/index.js.map +1 -0
- package/src/enumerations/{length-encoding-type.ts → length-encoding-type.d.ts} +6 -6
- package/src/enumerations/length-encoding-type.d.ts.map +1 -0
- package/src/enumerations/length-encoding-type.js +20 -0
- package/src/enumerations/length-encoding-type.js.map +1 -0
- package/src/enumerations/schema-collection.d.ts +39 -0
- package/src/enumerations/schema-collection.d.ts.map +1 -0
- package/src/enumerations/schema-collection.js +43 -0
- package/src/enumerations/schema-collection.js.map +1 -0
- package/src/enumerations/{symmetric-error-type.ts → symmetric-error-type.d.ts} +4 -4
- package/src/enumerations/symmetric-error-type.d.ts.map +1 -0
- package/src/enumerations/symmetric-error-type.js +17 -0
- package/src/enumerations/symmetric-error-type.js.map +1 -0
- package/src/environment.d.ts +194 -0
- package/src/environment.d.ts.map +1 -0
- package/src/environment.js +649 -0
- package/src/environment.js.map +1 -0
- package/src/errors/express-validation.d.ts +24 -0
- package/src/errors/express-validation.d.ts.map +1 -0
- package/src/errors/express-validation.js +33 -0
- package/src/errors/express-validation.js.map +1 -0
- package/src/errors/{index.ts → index.d.ts} +1 -0
- package/src/errors/index.d.ts.map +1 -0
- package/src/errors/index.js +16 -0
- package/src/errors/index.js.map +1 -0
- package/src/errors/invalid-backup-code-version.d.ts +19 -0
- package/src/errors/invalid-backup-code-version.d.ts.map +1 -0
- package/src/errors/invalid-backup-code-version.js +29 -0
- package/src/errors/invalid-backup-code-version.js.map +1 -0
- package/src/errors/invalid-jwt-token.d.ts +17 -0
- package/src/errors/invalid-jwt-token.d.ts.map +1 -0
- package/src/errors/invalid-jwt-token.js +24 -0
- package/src/errors/invalid-jwt-token.js.map +1 -0
- package/src/errors/invalid-model.d.ts +18 -0
- package/src/errors/invalid-model.d.ts.map +1 -0
- package/src/errors/invalid-model.js +26 -0
- package/src/errors/invalid-model.js.map +1 -0
- package/src/errors/invalid-new-password.d.ts +19 -0
- package/src/errors/invalid-new-password.d.ts.map +1 -0
- package/src/errors/invalid-new-password.js +28 -0
- package/src/errors/invalid-new-password.js.map +1 -0
- package/src/errors/invalid-password.d.ts +19 -0
- package/src/errors/invalid-password.d.ts.map +1 -0
- package/src/errors/invalid-password.js +28 -0
- package/src/errors/invalid-password.js.map +1 -0
- package/src/errors/missing-validated-data.d.ts +24 -0
- package/src/errors/missing-validated-data.d.ts.map +1 -0
- package/src/errors/missing-validated-data.js +53 -0
- package/src/errors/missing-validated-data.js.map +1 -0
- package/src/errors/mnemonic-or-password-required.d.ts +17 -0
- package/src/errors/mnemonic-or-password-required.d.ts.map +1 -0
- package/src/errors/mnemonic-or-password-required.js +26 -0
- package/src/errors/mnemonic-or-password-required.js.map +1 -0
- package/src/errors/model-not-registered.d.ts +18 -0
- package/src/errors/model-not-registered.d.ts.map +1 -0
- package/src/errors/model-not-registered.js +26 -0
- package/src/errors/model-not-registered.js.map +1 -0
- package/src/errors/mongoose-validation.d.ts +28 -0
- package/src/errors/mongoose-validation.d.ts.map +1 -0
- package/src/errors/mongoose-validation.js +33 -0
- package/src/errors/mongoose-validation.js.map +1 -0
- package/src/errors/symmetric.d.ts +23 -0
- package/src/errors/symmetric.d.ts.map +1 -0
- package/src/errors/symmetric.js +37 -0
- package/src/errors/symmetric.js.map +1 -0
- package/src/errors/token-expired.d.ts +17 -0
- package/src/errors/token-expired.d.ts.map +1 -0
- package/src/errors/token-expired.js +24 -0
- package/src/errors/token-expired.js.map +1 -0
- package/src/get-language.d.ts +12 -0
- package/src/get-language.d.ts.map +1 -0
- package/src/get-language.js +40 -0
- package/src/get-language.js.map +1 -0
- package/src/get-timezone.d.ts +12 -0
- package/src/get-timezone.d.ts.map +1 -0
- package/src/get-timezone.js +53 -0
- package/src/get-timezone.js.map +1 -0
- package/src/{index.ts → index.d.ts} +2 -44
- package/src/index.d.ts.map +1 -0
- package/src/index.js +80 -0
- package/src/index.js.map +1 -0
- package/src/interfaces/{api-error-response.ts → api-error-response.d.ts} +2 -3
- package/src/interfaces/api-error-response.d.ts.map +1 -0
- package/src/interfaces/api-error-response.js +8 -0
- package/src/interfaces/api-error-response.js.map +1 -0
- package/src/interfaces/{api-express-validation-error-response.ts → api-express-validation-error-response.d.ts} +3 -4
- package/src/interfaces/api-express-validation-error-response.d.ts.map +1 -0
- package/src/interfaces/api-express-validation-error-response.js +8 -0
- package/src/interfaces/api-express-validation-error-response.js.map +1 -0
- package/src/interfaces/{api-message-response.ts → api-message-response.d.ts} +2 -2
- package/src/interfaces/api-message-response.d.ts.map +1 -0
- package/src/interfaces/api-message-response.js +8 -0
- package/src/interfaces/api-message-response.js.map +1 -0
- package/src/interfaces/{api-mongo-validation-error-response.ts → api-mongo-validation-error-response.d.ts} +2 -3
- package/src/interfaces/api-mongo-validation-error-response.d.ts.map +1 -0
- package/src/interfaces/api-mongo-validation-error-response.js +8 -0
- package/src/interfaces/api-mongo-validation-error-response.js.map +1 -0
- package/src/interfaces/api-responses/{backup-codes-response.ts → backup-codes-response.d.ts} +2 -3
- package/src/interfaces/api-responses/backup-codes-response.d.ts.map +1 -0
- package/src/interfaces/api-responses/backup-codes-response.js +8 -0
- package/src/interfaces/api-responses/backup-codes-response.js.map +1 -0
- package/src/interfaces/api-responses/{challenge-response.ts → challenge-response.d.ts} +5 -6
- package/src/interfaces/api-responses/challenge-response.d.ts.map +1 -0
- package/src/interfaces/api-responses/challenge-response.js +7 -0
- package/src/interfaces/api-responses/challenge-response.js.map +1 -0
- package/src/interfaces/api-responses/{code-count-response.ts → code-count-response.d.ts} +2 -3
- package/src/interfaces/api-responses/code-count-response.d.ts.map +1 -0
- package/src/interfaces/api-responses/code-count-response.js +8 -0
- package/src/interfaces/api-responses/code-count-response.js.map +1 -0
- package/src/interfaces/api-responses/{index.ts → index.d.ts} +1 -0
- package/src/interfaces/api-responses/index.d.ts.map +1 -0
- package/src/interfaces/api-responses/index.js +12 -0
- package/src/interfaces/api-responses/index.js.map +1 -0
- package/src/interfaces/api-responses/{login-response.ts → login-response.d.ts} +4 -5
- package/src/interfaces/api-responses/login-response.d.ts.map +1 -0
- package/src/interfaces/api-responses/login-response.js +8 -0
- package/src/interfaces/api-responses/login-response.js.map +1 -0
- package/src/interfaces/api-responses/{mnemonic-response.ts → mnemonic-response.d.ts} +3 -4
- package/src/interfaces/api-responses/mnemonic-response.d.ts.map +1 -0
- package/src/interfaces/api-responses/mnemonic-response.js +7 -0
- package/src/interfaces/api-responses/mnemonic-response.js.map +1 -0
- package/src/interfaces/api-responses/{registration-response.ts → registration-response.d.ts} +5 -6
- package/src/interfaces/api-responses/registration-response.d.ts.map +1 -0
- package/src/interfaces/api-responses/registration-response.js +7 -0
- package/src/interfaces/api-responses/registration-response.js.map +1 -0
- package/src/interfaces/api-responses/{request-user-response.ts → request-user-response.d.ts} +2 -3
- package/src/interfaces/api-responses/request-user-response.d.ts.map +1 -0
- package/src/interfaces/api-responses/request-user-response.js +8 -0
- package/src/interfaces/api-responses/request-user-response.js.map +1 -0
- package/src/interfaces/api-responses/{user-settings-response.ts → user-settings-response.d.ts} +9 -10
- package/src/interfaces/api-responses/user-settings-response.d.ts.map +1 -0
- package/src/interfaces/api-responses/user-settings-response.js +8 -0
- package/src/interfaces/api-responses/user-settings-response.js.map +1 -0
- package/src/interfaces/application.d.ts +39 -0
- package/src/interfaces/application.d.ts.map +1 -0
- package/src/interfaces/application.js +8 -0
- package/src/interfaces/application.js.map +1 -0
- package/src/interfaces/backend-objects/{email-token.ts → email-token.d.ts} +3 -8
- package/src/interfaces/backend-objects/email-token.d.ts.map +1 -0
- package/src/interfaces/backend-objects/email-token.js +8 -0
- package/src/interfaces/backend-objects/email-token.js.map +1 -0
- package/src/interfaces/backend-objects/{index.ts → index.d.ts} +1 -0
- package/src/interfaces/backend-objects/index.d.ts.map +1 -0
- package/src/interfaces/backend-objects/index.js +8 -0
- package/src/interfaces/backend-objects/index.js.map +1 -0
- package/src/interfaces/backend-objects/{request-user.ts → request-user.d.ts} +2 -6
- package/src/interfaces/backend-objects/request-user.d.ts.map +1 -0
- package/src/interfaces/backend-objects/request-user.js +8 -0
- package/src/interfaces/backend-objects/request-user.js.map +1 -0
- package/src/interfaces/backend-objects/{role.ts → role.d.ts} +2 -7
- package/src/interfaces/backend-objects/role.d.ts.map +1 -0
- package/src/interfaces/backend-objects/role.js +8 -0
- package/src/interfaces/backend-objects/role.js.map +1 -0
- package/src/interfaces/backend-objects/{user.ts → user.d.ts} +2 -6
- package/src/interfaces/backend-objects/user.d.ts.map +1 -0
- package/src/interfaces/backend-objects/user.js +8 -0
- package/src/interfaces/backend-objects/user.js.map +1 -0
- package/src/interfaces/{checksum-config.ts → checksum-config.d.ts} +3 -3
- package/src/interfaces/checksum-config.d.ts.map +1 -0
- package/src/interfaces/checksum-config.js +8 -0
- package/src/interfaces/checksum-config.js.map +1 -0
- package/src/interfaces/checksum-consts.d.ts +20 -0
- package/src/interfaces/checksum-consts.d.ts.map +1 -0
- package/src/interfaces/checksum-consts.js +8 -0
- package/src/interfaces/checksum-consts.js.map +1 -0
- package/src/interfaces/constants.d.ts +66 -0
- package/src/interfaces/constants.d.ts.map +1 -0
- package/src/interfaces/constants.js +8 -0
- package/src/interfaces/constants.js.map +1 -0
- package/src/interfaces/{controller-config.ts → controller-config.d.ts} +15 -31
- package/src/interfaces/controller-config.d.ts.map +1 -0
- package/src/interfaces/controller-config.js +8 -0
- package/src/interfaces/controller-config.js.map +1 -0
- package/src/interfaces/{create-user-basics.ts → create-user-basics.d.ts} +13 -13
- package/src/interfaces/create-user-basics.d.ts.map +1 -0
- package/src/interfaces/create-user-basics.js +8 -0
- package/src/interfaces/create-user-basics.js.map +1 -0
- package/src/interfaces/{csp-config.ts → csp-config.d.ts} +5 -15
- package/src/interfaces/csp-config.d.ts.map +1 -0
- package/src/interfaces/csp-config.js +23 -0
- package/src/interfaces/csp-config.js.map +1 -0
- package/src/interfaces/{csp-definition.ts → csp-definition.d.ts} +9 -46
- package/src/interfaces/csp-definition.d.ts.map +1 -0
- package/src/interfaces/csp-definition.js +32 -0
- package/src/interfaces/csp-definition.js.map +1 -0
- package/src/interfaces/{db-init-result.ts → db-init-result.d.ts} +2 -3
- package/src/interfaces/db-init-result.d.ts.map +1 -0
- package/src/interfaces/db-init-result.js +8 -0
- package/src/interfaces/db-init-result.js.map +1 -0
- package/src/interfaces/{deep-partial.ts → deep-partial.d.ts} +2 -2
- package/src/interfaces/deep-partial.d.ts.map +1 -0
- package/src/interfaces/deep-partial.js +8 -0
- package/src/interfaces/deep-partial.js.map +1 -0
- package/src/interfaces/{discriminator-collections.ts → discriminator-collections.d.ts} +4 -8
- package/src/interfaces/discriminator-collections.d.ts.map +1 -0
- package/src/interfaces/discriminator-collections.js +8 -0
- package/src/interfaces/discriminator-collections.js.map +1 -0
- package/src/interfaces/email-service.d.ts +21 -0
- package/src/interfaces/email-service.d.ts.map +1 -0
- package/src/interfaces/email-service.js +8 -0
- package/src/interfaces/email-service.js.map +1 -0
- package/src/interfaces/environment-mongo.d.ts +85 -0
- package/src/interfaces/environment-mongo.d.ts.map +1 -0
- package/src/interfaces/environment-mongo.js +8 -0
- package/src/interfaces/environment-mongo.js.map +1 -0
- package/src/interfaces/environment.d.ts +190 -0
- package/src/interfaces/environment.d.ts.map +1 -0
- package/src/interfaces/environment.js +8 -0
- package/src/interfaces/environment.js.map +1 -0
- package/src/interfaces/{failable-result.ts → failable-result.d.ts} +5 -5
- package/src/interfaces/failable-result.d.ts.map +1 -0
- package/src/interfaces/failable-result.js +8 -0
- package/src/interfaces/failable-result.js.map +1 -0
- package/src/interfaces/{fec-consts.ts → fec-consts.d.ts} +3 -3
- package/src/interfaces/fec-consts.d.ts.map +1 -0
- package/src/interfaces/fec-consts.js +8 -0
- package/src/interfaces/fec-consts.js.map +1 -0
- package/src/interfaces/{flexible-csp.ts → flexible-csp.d.ts} +5 -16
- package/src/interfaces/flexible-csp.d.ts.map +1 -0
- package/src/interfaces/flexible-csp.js +24 -0
- package/src/interfaces/flexible-csp.js.map +1 -0
- package/src/interfaces/{handleable-error-options.ts → handleable-error-options.d.ts} +5 -5
- package/src/interfaces/handleable-error-options.d.ts.map +1 -0
- package/src/interfaces/handleable-error-options.js +8 -0
- package/src/interfaces/handleable-error-options.js.map +1 -0
- package/src/interfaces/{index.ts → index.d.ts} +1 -0
- package/src/interfaces/index.d.ts.map +1 -0
- package/src/interfaces/index.js +38 -0
- package/src/interfaces/index.js.map +1 -0
- package/src/interfaces/jwt-consts.d.ts +20 -0
- package/src/interfaces/jwt-consts.d.ts.map +1 -0
- package/src/interfaces/jwt-consts.js +8 -0
- package/src/interfaces/jwt-consts.js.map +1 -0
- package/src/interfaces/{jwt-sign-response.ts → jwt-sign-response.d.ts} +9 -18
- package/src/interfaces/jwt-sign-response.d.ts.map +1 -0
- package/src/interfaces/jwt-sign-response.js +8 -0
- package/src/interfaces/jwt-sign-response.js.map +1 -0
- package/src/interfaces/models/{email-token.ts → email-token.d.ts} +1 -2
- package/src/interfaces/models/email-token.d.ts.map +1 -0
- package/src/interfaces/models/email-token.js +8 -0
- package/src/interfaces/models/email-token.js.map +1 -0
- package/src/interfaces/models/{index.ts → index.d.ts} +1 -0
- package/src/interfaces/models/index.d.ts.map +1 -0
- package/src/interfaces/models/index.js +11 -0
- package/src/interfaces/models/index.js.map +1 -0
- package/src/interfaces/models/{mnemonic.ts → mnemonic.d.ts} +1 -2
- package/src/interfaces/models/mnemonic.d.ts.map +1 -0
- package/src/interfaces/models/mnemonic.js +8 -0
- package/src/interfaces/models/mnemonic.js.map +1 -0
- package/src/interfaces/models/{role.ts → role.d.ts} +1 -2
- package/src/interfaces/models/role.d.ts.map +1 -0
- package/src/interfaces/models/role.js +8 -0
- package/src/interfaces/models/role.js.map +1 -0
- package/src/interfaces/models/{token-role.ts → token-role.d.ts} +2 -6
- package/src/interfaces/models/token-role.d.ts.map +1 -0
- package/src/interfaces/models/token-role.js +8 -0
- package/src/interfaces/models/token-role.js.map +1 -0
- package/src/interfaces/models/{used-direct-login-token.ts → used-direct-login-token.d.ts} +2 -4
- package/src/interfaces/models/used-direct-login-token.d.ts.map +1 -0
- package/src/interfaces/models/used-direct-login-token.js +8 -0
- package/src/interfaces/models/used-direct-login-token.js.map +1 -0
- package/src/interfaces/models/{user-role.ts → user-role.d.ts} +2 -6
- package/src/interfaces/models/user-role.d.ts.map +1 -0
- package/src/interfaces/models/user-role.js +8 -0
- package/src/interfaces/models/user-role.js.map +1 -0
- package/src/interfaces/models/{user.ts → user.d.ts} +3 -12
- package/src/interfaces/models/user.d.ts.map +1 -0
- package/src/interfaces/models/user.js +8 -0
- package/src/interfaces/models/user.js.map +1 -0
- package/src/interfaces/{mongo-errors.ts → mongo-errors.d.ts} +2 -3
- package/src/interfaces/mongo-errors.d.ts.map +1 -0
- package/src/interfaces/mongo-errors.js +8 -0
- package/src/interfaces/mongo-errors.js.map +1 -0
- package/src/interfaces/request-user.d.ts +67 -0
- package/src/interfaces/request-user.d.ts.map +1 -0
- package/src/interfaces/request-user.js +8 -0
- package/src/interfaces/request-user.js.map +1 -0
- package/src/interfaces/required-string-keys.d.ts +28 -0
- package/src/interfaces/required-string-keys.d.ts.map +1 -0
- package/src/interfaces/required-string-keys.js +8 -0
- package/src/interfaces/required-string-keys.js.map +1 -0
- package/src/interfaces/{schema.ts → schema.d.ts} +22 -28
- package/src/interfaces/schema.d.ts.map +1 -0
- package/src/interfaces/schema.js +8 -0
- package/src/interfaces/schema.js.map +1 -0
- package/src/interfaces/server-init-result.d.ts +45 -0
- package/src/interfaces/server-init-result.d.ts.map +1 -0
- package/src/interfaces/server-init-result.js +8 -0
- package/src/interfaces/server-init-result.js.map +1 -0
- package/src/interfaces/{status-code-response.ts → status-code-response.d.ts} +4 -5
- package/src/interfaces/status-code-response.d.ts.map +1 -0
- package/src/interfaces/status-code-response.js +8 -0
- package/src/interfaces/status-code-response.js.map +1 -0
- package/src/interfaces/{symmetric-encryption-results.ts → symmetric-encryption-results.d.ts} +3 -3
- package/src/interfaces/symmetric-encryption-results.d.ts.map +1 -1
- package/src/interfaces/symmetric-encryption-results.js +5 -0
- package/src/interfaces/symmetric-encryption-results.js.map +1 -1
- package/src/interfaces/{test-environment.ts → test-environment.d.ts} +6 -7
- package/src/interfaces/test-environment.d.ts.map +1 -0
- package/src/interfaces/test-environment.js +8 -0
- package/src/interfaces/test-environment.js.map +1 -0
- package/src/interfaces/{token-response.ts → token-response.d.ts} +2 -3
- package/src/interfaces/token-response.d.ts.map +1 -0
- package/src/interfaces/token-response.js +8 -0
- package/src/interfaces/token-response.js.map +1 -0
- package/src/middleware-utils.d.ts +31 -0
- package/src/middleware-utils.d.ts.map +1 -0
- package/src/middleware-utils.js +117 -0
- package/src/middleware-utils.js.map +1 -0
- package/src/middlewares/authenticate-crypto.d.ts +27 -0
- package/src/middlewares/authenticate-crypto.d.ts.map +1 -0
- package/src/middlewares/authenticate-crypto.js +143 -0
- package/src/middlewares/authenticate-crypto.js.map +1 -0
- package/src/middlewares/authenticate-token.d.ts +34 -0
- package/src/middlewares/authenticate-token.d.ts.map +1 -0
- package/src/middlewares/authenticate-token.js +117 -0
- package/src/middlewares/authenticate-token.js.map +1 -0
- package/src/middlewares/cleanup-crypto.d.ts +16 -0
- package/src/middlewares/cleanup-crypto.d.ts.map +1 -0
- package/src/middlewares/cleanup-crypto.js +41 -0
- package/src/middlewares/cleanup-crypto.js.map +1 -0
- package/src/middlewares/{index.ts → index.d.ts} +1 -0
- package/src/middlewares/index.d.ts.map +1 -0
- package/src/middlewares/index.js +8 -0
- package/src/middlewares/index.js.map +1 -0
- package/src/middlewares/{set-global-context-language.ts → set-global-context-language.d.ts} +2 -24
- package/src/middlewares/set-global-context-language.d.ts.map +1 -0
- package/src/middlewares/set-global-context-language.js +27 -0
- package/src/middlewares/set-global-context-language.js.map +1 -0
- package/src/model-registry.d.ts +79 -0
- package/src/model-registry.d.ts.map +1 -0
- package/src/model-registry.js +97 -0
- package/src/model-registry.js.map +1 -0
- package/src/models/{email-token.ts → email-token.d.ts} +2 -27
- package/src/models/email-token.d.ts.map +1 -0
- package/src/models/email-token.js +16 -0
- package/src/models/email-token.js.map +1 -0
- package/src/models/{index.ts → index.d.ts} +1 -0
- package/src/models/index.d.ts.map +1 -0
- package/src/models/index.js +10 -0
- package/src/models/index.js.map +1 -0
- package/src/models/{mnemonic.ts → mnemonic.d.ts} +2 -20
- package/src/models/mnemonic.d.ts.map +1 -0
- package/src/models/mnemonic.js +27 -0
- package/src/models/mnemonic.js.map +1 -0
- package/src/models/{role.ts → role.d.ts} +2 -16
- package/src/models/role.d.ts.map +1 -0
- package/src/models/role.js +27 -0
- package/src/models/role.js.map +1 -0
- package/src/models/{used-direct-login-token.ts → used-direct-login-token.d.ts} +2 -27
- package/src/models/used-direct-login-token.d.ts.map +1 -0
- package/src/models/used-direct-login-token.js +16 -0
- package/src/models/used-direct-login-token.js.map +1 -0
- package/src/models/{user-role.ts → user-role.d.ts} +2 -19
- package/src/models/user-role.d.ts.map +1 -0
- package/src/models/user-role.js +26 -0
- package/src/models/user-role.js.map +1 -0
- package/src/models/{user.ts → user.d.ts} +2 -20
- package/src/models/user.d.ts.map +1 -0
- package/src/models/user.js +27 -0
- package/src/models/user.js.map +1 -0
- package/src/pipeline/{index.ts → index.d.ts} +1 -0
- package/src/pipeline/index.d.ts.map +1 -0
- package/src/pipeline/index.js +5 -0
- package/src/pipeline/index.js.map +1 -0
- package/src/pipeline/pipeline-builder.d.ts +16 -0
- package/src/pipeline/pipeline-builder.d.ts.map +1 -0
- package/src/pipeline/pipeline-builder.js +26 -0
- package/src/pipeline/pipeline-builder.js.map +1 -0
- package/src/plugins/{index.ts → index.d.ts} +1 -0
- package/src/plugins/index.d.ts.map +1 -0
- package/src/plugins/index.js +6 -0
- package/src/plugins/index.js.map +1 -0
- package/src/plugins/{plugin-interface.ts → plugin-interface.d.ts} +5 -6
- package/src/plugins/plugin-interface.d.ts.map +1 -0
- package/src/plugins/plugin-interface.js +8 -0
- package/src/plugins/plugin-interface.js.map +1 -0
- package/src/plugins/plugin-manager.d.ts +22 -0
- package/src/plugins/plugin-manager.d.ts.map +1 -0
- package/src/plugins/plugin-manager.js +46 -0
- package/src/plugins/plugin-manager.js.map +1 -0
- package/src/registry/email-service-registry.d.ts +49 -0
- package/src/registry/email-service-registry.d.ts.map +1 -0
- package/src/registry/email-service-registry.js +64 -0
- package/src/registry/email-service-registry.js.map +1 -0
- package/src/registry/{index.ts → index.d.ts} +1 -0
- package/src/registry/index.d.ts.map +1 -0
- package/src/registry/index.js +6 -0
- package/src/registry/index.js.map +1 -0
- package/src/responses/{index.ts → index.d.ts} +1 -0
- package/src/responses/index.d.ts.map +1 -0
- package/src/responses/index.js +5 -0
- package/src/responses/index.js.map +1 -0
- package/src/responses/response-builder.d.ts +103 -0
- package/src/responses/response-builder.d.ts.map +1 -0
- package/src/responses/response-builder.js +142 -0
- package/src/responses/response-builder.js.map +1 -0
- package/src/routers/api.d.ts +59 -0
- package/src/routers/api.d.ts.map +1 -0
- package/src/routers/api.js +110 -0
- package/src/routers/api.js.map +1 -0
- package/src/routers/app.d.ts +87 -0
- package/src/routers/app.d.ts.map +1 -0
- package/src/routers/app.js +285 -0
- package/src/routers/app.js.map +1 -0
- package/src/routers/{base.ts → base.d.ts} +11 -19
- package/src/routers/base.d.ts.map +1 -0
- package/src/routers/base.js +31 -0
- package/src/routers/base.js.map +1 -0
- package/src/routers/{index.ts → index.d.ts} +1 -0
- package/src/routers/index.d.ts.map +1 -0
- package/src/routers/index.js +7 -0
- package/src/routers/index.js.map +1 -0
- package/src/routers/router-config.d.ts +35 -0
- package/src/routers/router-config.d.ts.map +1 -0
- package/src/routers/router-config.js +16 -0
- package/src/routers/router-config.js.map +1 -0
- package/src/routing/index.d.ts +2 -0
- package/src/routing/index.d.ts.map +1 -0
- package/src/routing/index.js +5 -0
- package/src/routing/index.js.map +1 -0
- package/src/routing/route-builder.d.ts +121 -0
- package/src/routing/route-builder.d.ts.map +1 -0
- package/src/routing/route-builder.js +167 -0
- package/src/routing/route-builder.js.map +1 -0
- package/src/schemas/email-token.d.ts +65 -0
- package/src/schemas/email-token.d.ts.map +1 -0
- package/src/schemas/email-token.js +68 -0
- package/src/schemas/email-token.js.map +1 -0
- package/src/schemas/{index.ts → index.d.ts} +1 -0
- package/src/schemas/index.d.ts.map +1 -0
- package/src/schemas/index.js +11 -0
- package/src/schemas/index.js.map +1 -0
- package/src/schemas/mnemonic.d.ts +37 -0
- package/src/schemas/mnemonic.d.ts.map +1 -0
- package/src/schemas/mnemonic.js +41 -0
- package/src/schemas/mnemonic.js.map +1 -0
- package/src/schemas/role.d.ts +57 -0
- package/src/schemas/role.d.ts.map +1 -0
- package/src/schemas/role.js +102 -0
- package/src/schemas/role.js.map +1 -0
- package/src/schemas/schema.d.ts +62 -0
- package/src/schemas/schema.d.ts.map +1 -0
- package/src/schemas/schema.js +81 -0
- package/src/schemas/schema.js.map +1 -0
- package/src/schemas/used-direct-login-token.d.ts +49 -0
- package/src/schemas/used-direct-login-token.d.ts.map +1 -0
- package/src/schemas/used-direct-login-token.js +35 -0
- package/src/schemas/used-direct-login-token.js.map +1 -0
- package/src/schemas/user-role.d.ts +52 -0
- package/src/schemas/user-role.d.ts.map +1 -0
- package/src/schemas/user-role.js +67 -0
- package/src/schemas/user-role.js.map +1 -0
- package/src/schemas/user.d.ts +43 -0
- package/src/schemas/user.d.ts.map +1 -0
- package/src/schemas/user.js +214 -0
- package/src/schemas/user.js.map +1 -0
- package/src/services/backup-code.d.ts +80 -0
- package/src/services/backup-code.d.ts.map +1 -0
- package/src/services/backup-code.js +189 -0
- package/src/services/backup-code.js.map +1 -0
- package/src/services/base.d.ts +22 -0
- package/src/services/base.d.ts.map +1 -0
- package/src/services/base.js +26 -0
- package/src/services/base.js.map +1 -0
- package/src/services/checksum.d.ts +90 -0
- package/src/services/checksum.d.ts.map +1 -0
- package/src/services/checksum.js +166 -0
- package/src/services/checksum.js.map +1 -0
- package/src/services/database-initialization.d.ts +138 -0
- package/src/services/database-initialization.d.ts.map +1 -0
- package/src/services/database-initialization.js +904 -0
- package/src/services/database-initialization.js.map +1 -0
- package/src/services/{db-init-cache.ts → db-init-cache.d.ts} +6 -16
- package/src/services/db-init-cache.d.ts.map +1 -0
- package/src/services/db-init-cache.js +7 -0
- package/src/services/db-init-cache.js.map +1 -0
- package/src/services/direct-login-token.d.ts +28 -0
- package/src/services/direct-login-token.d.ts.map +1 -0
- package/src/services/direct-login-token.js +62 -0
- package/src/services/direct-login-token.js.map +1 -0
- package/src/services/dummy-email-service.d.ts +30 -0
- package/src/services/dummy-email-service.d.ts.map +1 -0
- package/src/services/dummy-email-service.js +35 -0
- package/src/services/dummy-email-service.js.map +1 -0
- package/src/services/fec-usage-example.d.ts +58 -0
- package/src/services/fec-usage-example.d.ts.map +1 -0
- package/src/services/fec-usage-example.js +95 -0
- package/src/services/fec-usage-example.js.map +1 -0
- package/src/services/fec.d.ts +88 -0
- package/src/services/fec.d.ts.map +1 -0
- package/src/services/fec.js +246 -0
- package/src/services/fec.js.map +1 -0
- package/src/services/{index.ts → index.d.ts} +1 -0
- package/src/services/index.d.ts.map +1 -0
- package/src/services/index.js +22 -0
- package/src/services/index.js.map +1 -0
- package/src/services/jwt.d.ts +45 -0
- package/src/services/jwt.d.ts.map +1 -0
- package/src/services/jwt.js +105 -0
- package/src/services/jwt.js.map +1 -0
- package/src/services/key-wrapping.d.ts +139 -0
- package/src/services/key-wrapping.d.ts.map +1 -0
- package/src/services/key-wrapping.js +372 -0
- package/src/services/key-wrapping.js.map +1 -0
- package/src/services/mnemonic.d.ts +68 -0
- package/src/services/mnemonic.d.ts.map +1 -0
- package/src/services/mnemonic.js +120 -0
- package/src/services/mnemonic.js.map +1 -0
- package/src/services/request-user.d.ts +45 -0
- package/src/services/request-user.d.ts.map +1 -0
- package/src/services/request-user.js +90 -0
- package/src/services/request-user.js.map +1 -0
- package/src/services/role.d.ts +97 -0
- package/src/services/role.d.ts.map +1 -0
- package/src/services/role.js +289 -0
- package/src/services/role.js.map +1 -0
- package/src/services/symmetric.d.ts +60 -0
- package/src/services/symmetric.d.ts.map +1 -0
- package/src/services/symmetric.js +125 -0
- package/src/services/symmetric.js.map +1 -0
- package/src/services/system-user.d.ts +22 -0
- package/src/services/system-user.d.ts.map +1 -0
- package/src/services/system-user.js +52 -0
- package/src/services/system-user.js.map +1 -0
- package/src/services/user.d.ts +368 -0
- package/src/services/user.d.ts.map +1 -0
- package/src/services/user.js +1470 -0
- package/src/services/user.js.map +1 -0
- package/src/services/xor.d.ts +28 -0
- package/src/services/xor.d.ts.map +1 -0
- package/src/services/xor.js +45 -0
- package/src/services/xor.js.map +1 -0
- package/src/{testing.ts → testing.d.ts} +1 -2
- package/src/testing.d.ts.map +1 -0
- package/src/testing.js +12 -0
- package/src/testing.js.map +1 -0
- package/src/transactions/{index.ts → index.d.ts} +1 -0
- package/src/transactions/index.d.ts.map +1 -0
- package/src/transactions/index.js +5 -0
- package/src/transactions/index.js.map +1 -0
- package/src/transactions/transaction-manager.d.ts +37 -0
- package/src/transactions/transaction-manager.d.ts.map +1 -0
- package/src/transactions/transaction-manager.js +50 -0
- package/src/transactions/transaction-manager.js.map +1 -0
- package/src/types/{app-config.ts → app-config.d.ts} +10 -16
- package/src/types/app-config.d.ts.map +1 -0
- package/src/types/app-config.js +8 -0
- package/src/types/app-config.js.map +1 -0
- package/src/types/{controller-config.ts → controller-config.d.ts} +7 -9
- package/src/types/controller-config.d.ts.map +1 -0
- package/src/types/controller-config.js +8 -0
- package/src/types/controller-config.js.map +1 -0
- package/src/types/{environment-variables.ts → environment-variables.d.ts} +5 -27
- package/src/types/environment-variables.d.ts.map +1 -0
- package/src/types/environment-variables.js +41 -0
- package/src/types/environment-variables.js.map +1 -0
- package/src/types/{index.ts → index.d.ts} +1 -0
- package/src/types/index.d.ts.map +1 -0
- package/src/types/index.js +6 -0
- package/src/types/index.js.map +1 -0
- package/src/types/{mongoose-helpers.ts → mongoose-helpers.d.ts} +2 -3
- package/src/types/mongoose-helpers.d.ts.map +1 -0
- package/src/types/mongoose-helpers.js +8 -0
- package/src/types/mongoose-helpers.js.map +1 -0
- package/src/types.d.ts +118 -0
- package/src/types.d.ts.map +1 -0
- package/src/types.js +28 -0
- package/src/types.js.map +1 -0
- package/src/utils.d.ts +240 -0
- package/src/utils.d.ts.map +1 -0
- package/src/utils.js +843 -0
- package/src/utils.js.map +1 -0
- package/src/validation/{index.ts → index.d.ts} +1 -0
- package/src/validation/index.d.ts.map +1 -0
- package/src/validation/index.js +5 -0
- package/src/validation/index.js.map +1 -0
- package/src/validation/validation-builder.d.ts +71 -0
- package/src/validation/validation-builder.d.ts.map +1 -0
- package/src/validation/validation-builder.js +120 -0
- package/src/validation/validation-builder.js.map +1 -0
- package/LICENSE +0 -21
- package/src/__tests__/fixtures/model-mocks.mock.ts +0 -164
- package/src/__tests__/helpers/application.mock.ts +0 -89
- package/src/__tests__/helpers/setup-test-env.ts +0 -202
- package/src/application-base.ts +0 -548
- package/src/application-concrete.ts +0 -62
- package/src/application.ts +0 -330
- package/src/backup-code.ts +0 -348
- package/src/builders/application-builder.ts +0 -147
- package/src/constants.ts +0 -89
- package/src/container/service-container.ts +0 -85
- package/src/controllers/base.ts +0 -512
- package/src/controllers/user.ts +0 -1734
- package/src/decorators/base-controller.ts +0 -91
- package/src/decorators/controller.ts +0 -152
- package/src/decorators/zod-validation.ts +0 -64
- package/src/defaults.ts +0 -259
- package/src/enumerations/base-model-name.ts +0 -47
- package/src/enumerations/schema-collection.ts +0 -39
- package/src/environment.ts +0 -859
- package/src/errors/express-validation.ts +0 -38
- package/src/errors/invalid-backup-code-version.ts +0 -30
- package/src/errors/invalid-jwt-token.ts +0 -24
- package/src/errors/invalid-model.ts +0 -24
- package/src/errors/invalid-new-password.ts +0 -33
- package/src/errors/invalid-password.ts +0 -28
- package/src/errors/missing-validated-data.ts +0 -55
- package/src/errors/mnemonic-or-password-required.ts +0 -26
- package/src/errors/model-not-registered.ts +0 -24
- package/src/errors/mongoose-validation.ts +0 -56
- package/src/errors/symmetric.ts +0 -53
- package/src/errors/token-expired.ts +0 -24
- package/src/get-language.ts +0 -64
- package/src/get-timezone.ts +0 -76
- package/src/interfaces/application.ts +0 -40
- package/src/interfaces/checksum-consts.ts +0 -23
- package/src/interfaces/constants.ts +0 -114
- package/src/interfaces/email-service.ts +0 -26
- package/src/interfaces/environment-mongo.ts +0 -86
- package/src/interfaces/environment.ts +0 -191
- package/src/interfaces/jwt-consts.ts +0 -33
- package/src/interfaces/request-user.ts +0 -80
- package/src/interfaces/required-string-keys.ts +0 -33
- package/src/interfaces/server-init-result.ts +0 -48
- package/src/middleware-utils.ts +0 -138
- package/src/middlewares/authenticate-crypto.ts +0 -237
- package/src/middlewares/authenticate-token.ts +0 -165
- package/src/middlewares/cleanup-crypto.ts +0 -47
- package/src/model-registry.ts +0 -142
- package/src/pipeline/pipeline-builder.ts +0 -27
- package/src/plugins/plugin-manager.ts +0 -53
- package/src/registry/email-service-registry.ts +0 -76
- package/src/responses/response-builder.ts +0 -166
- package/src/routers/api.ts +0 -233
- package/src/routers/app.ts +0 -395
- package/src/routers/router-config.ts +0 -34
- package/src/routing/index.ts +0 -1
- package/src/routing/route-builder.ts +0 -214
- package/src/schemas/email-token.ts +0 -112
- package/src/schemas/mnemonic.ts +0 -48
- package/src/schemas/role.ts +0 -153
- package/src/schemas/schema.ts +0 -185
- package/src/schemas/used-direct-login-token.ts +0 -58
- package/src/schemas/user-role.ts +0 -93
- package/src/schemas/user.ts +0 -244
- package/src/services/backup-code.ts +0 -327
- package/src/services/base.ts +0 -46
- package/src/services/checksum.ts +0 -189
- package/src/services/database-initialization.ts +0 -1653
- package/src/services/direct-login-token.ts +0 -83
- package/src/services/dummy-email-service.ts +0 -43
- package/src/services/fec-usage-example.ts +0 -123
- package/src/services/fec.ts +0 -399
- package/src/services/jwt.ts +0 -146
- package/src/services/key-wrapping.ts +0 -528
- package/src/services/mnemonic.ts +0 -174
- package/src/services/request-user.ts +0 -127
- package/src/services/role.ts +0 -417
- package/src/services/symmetric.ts +0 -164
- package/src/services/system-user.ts +0 -87
- package/src/services/user.ts +0 -2324
- package/src/services/xor.ts +0 -39
- package/src/transactions/transaction-manager.ts +0 -63
- package/src/types/mongoose-override.d.ts +0 -1
- package/src/types/mongoose.d.ts +0 -1
- package/src/types.ts +0 -189
- package/src/utils.ts +0 -1116
- package/src/validation/validation-builder.ts +0 -155
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Response builder for API responses.
|
|
3
|
+
* Provides fluent API for building HTTP responses with status codes.
|
|
4
|
+
* @module responses/response-builder
|
|
5
|
+
*/
|
|
6
|
+
import { SuiteCoreStringKey } from '@digitaldefiance/suite-core-lib';
|
|
7
|
+
import { IStatusCodeResponse } from '../interfaces';
|
|
8
|
+
import { ApiResponse } from '../types';
|
|
9
|
+
/**
|
|
10
|
+
* Builder for constructing API responses with fluent interface.
|
|
11
|
+
* @template T - Response type extending ApiResponse
|
|
12
|
+
*/
|
|
13
|
+
export declare class ResponseBuilder<T extends ApiResponse = ApiResponse> {
|
|
14
|
+
private statusCode;
|
|
15
|
+
private responseData;
|
|
16
|
+
private responseHeaders?;
|
|
17
|
+
/**
|
|
18
|
+
* Creates a 200 OK response builder.
|
|
19
|
+
* @template T - Response type
|
|
20
|
+
* @returns {ResponseBuilder<T>} Response builder instance
|
|
21
|
+
*/
|
|
22
|
+
static ok<T extends ApiResponse = ApiResponse>(): ResponseBuilder<T>;
|
|
23
|
+
/**
|
|
24
|
+
* Creates a 201 Created response builder.
|
|
25
|
+
* @template T - Response type
|
|
26
|
+
* @returns {ResponseBuilder<T>} Response builder instance
|
|
27
|
+
*/
|
|
28
|
+
static created<T extends ApiResponse = ApiResponse>(): ResponseBuilder<T>;
|
|
29
|
+
/**
|
|
30
|
+
* Creates a 202 Accepted response builder.
|
|
31
|
+
* @template T - Response type
|
|
32
|
+
* @returns {ResponseBuilder<T>} Response builder instance
|
|
33
|
+
*/
|
|
34
|
+
static accepted<T extends ApiResponse = ApiResponse>(): ResponseBuilder<T>;
|
|
35
|
+
/**
|
|
36
|
+
* Creates a 204 No Content response builder.
|
|
37
|
+
* @returns {ResponseBuilder<ApiResponse>} Response builder instance
|
|
38
|
+
*/
|
|
39
|
+
static noContent(): ResponseBuilder<ApiResponse>;
|
|
40
|
+
/**
|
|
41
|
+
* Creates a 400 Bad Request response builder.
|
|
42
|
+
* @template T - Response type
|
|
43
|
+
* @returns {ResponseBuilder<T>} Response builder instance
|
|
44
|
+
*/
|
|
45
|
+
static badRequest<T extends ApiResponse = ApiResponse>(): ResponseBuilder<T>;
|
|
46
|
+
/**
|
|
47
|
+
* Creates a 401 Unauthorized response builder.
|
|
48
|
+
* @template T - Response type
|
|
49
|
+
* @returns {ResponseBuilder<T>} Response builder instance
|
|
50
|
+
*/
|
|
51
|
+
static unauthorized<T extends ApiResponse = ApiResponse>(): ResponseBuilder<T>;
|
|
52
|
+
/**
|
|
53
|
+
* Creates a 403 Forbidden response builder.
|
|
54
|
+
* @template T - Response type
|
|
55
|
+
* @returns {ResponseBuilder<T>} Response builder instance
|
|
56
|
+
*/
|
|
57
|
+
static forbidden<T extends ApiResponse = ApiResponse>(): ResponseBuilder<T>;
|
|
58
|
+
/**
|
|
59
|
+
* Creates a 404 Not Found response builder.
|
|
60
|
+
* @template T - Response type
|
|
61
|
+
* @returns {ResponseBuilder<T>} Response builder instance
|
|
62
|
+
*/
|
|
63
|
+
static notFound<T extends ApiResponse = ApiResponse>(): ResponseBuilder<T>;
|
|
64
|
+
/**
|
|
65
|
+
* Creates a 500 Internal Server Error response builder.
|
|
66
|
+
* @template T - Response type
|
|
67
|
+
* @returns {ResponseBuilder<T>} Response builder instance
|
|
68
|
+
*/
|
|
69
|
+
static error<T extends ApiResponse = ApiResponse>(): ResponseBuilder<T>;
|
|
70
|
+
/**
|
|
71
|
+
* Sets the HTTP status code.
|
|
72
|
+
* @param {number} code - HTTP status code
|
|
73
|
+
* @returns {this} This builder instance for chaining
|
|
74
|
+
*/
|
|
75
|
+
status(code: number): this;
|
|
76
|
+
/**
|
|
77
|
+
* Sets a translatable message on the response.
|
|
78
|
+
* @param {SuiteCoreStringKey} key - Translation key
|
|
79
|
+
* @param {Record<string, string>} [params] - Translation parameters
|
|
80
|
+
* @param {string} [language] - Target language
|
|
81
|
+
* @returns {this} This builder instance for chaining
|
|
82
|
+
*/
|
|
83
|
+
message(key: SuiteCoreStringKey, params?: Record<string, string>, language?: string): this;
|
|
84
|
+
/**
|
|
85
|
+
* Sets response data.
|
|
86
|
+
* @param {Partial<T>} data - Response data to merge
|
|
87
|
+
* @returns {this} This builder instance for chaining
|
|
88
|
+
*/
|
|
89
|
+
data(data: Partial<T>): this;
|
|
90
|
+
/**
|
|
91
|
+
* Sets response headers.
|
|
92
|
+
* @param {Record<string, string>} headers - HTTP headers
|
|
93
|
+
* @returns {this} This builder instance for chaining
|
|
94
|
+
*/
|
|
95
|
+
headers(headers: Record<string, string>): this;
|
|
96
|
+
/**
|
|
97
|
+
* Builds the final response object.
|
|
98
|
+
* @returns {IStatusCodeResponse<T>} Complete response with status code and headers
|
|
99
|
+
*/
|
|
100
|
+
build(): IStatusCodeResponse<T>;
|
|
101
|
+
}
|
|
102
|
+
export declare const Response: typeof ResponseBuilder;
|
|
103
|
+
//# sourceMappingURL=response-builder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response-builder.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/responses/response-builder.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAEL,kBAAkB,EACnB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC;;;GAGG;AACH,qBAAa,eAAe,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW;IAC9D,OAAO,CAAC,UAAU,CAAe;IACjC,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,eAAe,CAAC,CAAyB;IAEjD;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,KAAK,eAAe,CAAC,CAAC,CAAC;IAIpE;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,KAAK,eAAe,CAAC,CAAC,CAAC;IAIzE;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,KAAK,eAAe,CAAC,CAAC,CAAC;IAI1E;;;OAGG;IACH,MAAM,CAAC,SAAS,IAAI,eAAe,CAAC,WAAW,CAAC;IAIhD;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,KAAK,eAAe,CAAC,CAAC,CAAC;IAI5E;;;;OAIG;IACH,MAAM,CAAC,YAAY,CACjB,CAAC,SAAS,WAAW,GAAG,WAAW,KAChC,eAAe,CAAC,CAAC,CAAC;IAIvB;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,KAAK,eAAe,CAAC,CAAC,CAAC;IAI3E;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,KAAK,eAAe,CAAC,CAAC,CAAC;IAI1E;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,KAAK,eAAe,CAAC,CAAC,CAAC;IAIvE;;;;OAIG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK1B;;;;;;OAMG;IACH,OAAO,CACL,GAAG,EAAE,kBAAkB,EACvB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,QAAQ,CAAC,EAAE,MAAM,GAChB,IAAI;IAMP;;;;OAIG;IACH,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI;IAK5B;;;;OAIG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAK9C;;;OAGG;IACH,KAAK,IAAI,mBAAmB,CAAC,CAAC,CAAC;CAOhC;AAED,eAAO,MAAM,QAAQ,wBAAkB,CAAC"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Response builder for API responses.
|
|
4
|
+
* Provides fluent API for building HTTP responses with status codes.
|
|
5
|
+
* @module responses/response-builder
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.Response = exports.ResponseBuilder = void 0;
|
|
9
|
+
const suite_core_lib_1 = require("@digitaldefiance/suite-core-lib");
|
|
10
|
+
/**
|
|
11
|
+
* Builder for constructing API responses with fluent interface.
|
|
12
|
+
* @template T - Response type extending ApiResponse
|
|
13
|
+
*/
|
|
14
|
+
class ResponseBuilder {
|
|
15
|
+
statusCode = 200;
|
|
16
|
+
responseData = {};
|
|
17
|
+
responseHeaders;
|
|
18
|
+
/**
|
|
19
|
+
* Creates a 200 OK response builder.
|
|
20
|
+
* @template T - Response type
|
|
21
|
+
* @returns {ResponseBuilder<T>} Response builder instance
|
|
22
|
+
*/
|
|
23
|
+
static ok() {
|
|
24
|
+
return new ResponseBuilder().status(200);
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Creates a 201 Created response builder.
|
|
28
|
+
* @template T - Response type
|
|
29
|
+
* @returns {ResponseBuilder<T>} Response builder instance
|
|
30
|
+
*/
|
|
31
|
+
static created() {
|
|
32
|
+
return new ResponseBuilder().status(201);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Creates a 202 Accepted response builder.
|
|
36
|
+
* @template T - Response type
|
|
37
|
+
* @returns {ResponseBuilder<T>} Response builder instance
|
|
38
|
+
*/
|
|
39
|
+
static accepted() {
|
|
40
|
+
return new ResponseBuilder().status(202);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Creates a 204 No Content response builder.
|
|
44
|
+
* @returns {ResponseBuilder<ApiResponse>} Response builder instance
|
|
45
|
+
*/
|
|
46
|
+
static noContent() {
|
|
47
|
+
return new ResponseBuilder().status(204);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Creates a 400 Bad Request response builder.
|
|
51
|
+
* @template T - Response type
|
|
52
|
+
* @returns {ResponseBuilder<T>} Response builder instance
|
|
53
|
+
*/
|
|
54
|
+
static badRequest() {
|
|
55
|
+
return new ResponseBuilder().status(400);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Creates a 401 Unauthorized response builder.
|
|
59
|
+
* @template T - Response type
|
|
60
|
+
* @returns {ResponseBuilder<T>} Response builder instance
|
|
61
|
+
*/
|
|
62
|
+
static unauthorized() {
|
|
63
|
+
return new ResponseBuilder().status(401);
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Creates a 403 Forbidden response builder.
|
|
67
|
+
* @template T - Response type
|
|
68
|
+
* @returns {ResponseBuilder<T>} Response builder instance
|
|
69
|
+
*/
|
|
70
|
+
static forbidden() {
|
|
71
|
+
return new ResponseBuilder().status(403);
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Creates a 404 Not Found response builder.
|
|
75
|
+
* @template T - Response type
|
|
76
|
+
* @returns {ResponseBuilder<T>} Response builder instance
|
|
77
|
+
*/
|
|
78
|
+
static notFound() {
|
|
79
|
+
return new ResponseBuilder().status(404);
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Creates a 500 Internal Server Error response builder.
|
|
83
|
+
* @template T - Response type
|
|
84
|
+
* @returns {ResponseBuilder<T>} Response builder instance
|
|
85
|
+
*/
|
|
86
|
+
static error() {
|
|
87
|
+
return new ResponseBuilder().status(500);
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Sets the HTTP status code.
|
|
91
|
+
* @param {number} code - HTTP status code
|
|
92
|
+
* @returns {this} This builder instance for chaining
|
|
93
|
+
*/
|
|
94
|
+
status(code) {
|
|
95
|
+
this.statusCode = code;
|
|
96
|
+
return this;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Sets a translatable message on the response.
|
|
100
|
+
* @param {SuiteCoreStringKey} key - Translation key
|
|
101
|
+
* @param {Record<string, string>} [params] - Translation parameters
|
|
102
|
+
* @param {string} [language] - Target language
|
|
103
|
+
* @returns {this} This builder instance for chaining
|
|
104
|
+
*/
|
|
105
|
+
message(key, params, language) {
|
|
106
|
+
this.responseData.message =
|
|
107
|
+
(0, suite_core_lib_1.getSuiteCoreTranslation)(key, params, language);
|
|
108
|
+
return this;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Sets response data.
|
|
112
|
+
* @param {Partial<T>} data - Response data to merge
|
|
113
|
+
* @returns {this} This builder instance for chaining
|
|
114
|
+
*/
|
|
115
|
+
data(data) {
|
|
116
|
+
this.responseData = { ...this.responseData, ...data };
|
|
117
|
+
return this;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Sets response headers.
|
|
121
|
+
* @param {Record<string, string>} headers - HTTP headers
|
|
122
|
+
* @returns {this} This builder instance for chaining
|
|
123
|
+
*/
|
|
124
|
+
headers(headers) {
|
|
125
|
+
this.responseHeaders = headers;
|
|
126
|
+
return this;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Builds the final response object.
|
|
130
|
+
* @returns {IStatusCodeResponse<T>} Complete response with status code and headers
|
|
131
|
+
*/
|
|
132
|
+
build() {
|
|
133
|
+
return {
|
|
134
|
+
statusCode: this.statusCode,
|
|
135
|
+
response: this.responseData,
|
|
136
|
+
...(this.responseHeaders ? { headers: this.responseHeaders } : {}),
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
exports.ResponseBuilder = ResponseBuilder;
|
|
141
|
+
exports.Response = ResponseBuilder;
|
|
142
|
+
//# sourceMappingURL=response-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response-builder.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/responses/response-builder.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAGH,oEAGyC;AAIzC;;;GAGG;AACH,MAAa,eAAe;IAClB,UAAU,GAAW,GAAG,CAAC;IACzB,YAAY,GAAe,EAAE,CAAC;IAC9B,eAAe,CAA0B;IAEjD;;;;OAIG;IACH,MAAM,CAAC,EAAE;QACP,OAAO,IAAI,eAAe,EAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC9C,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,OAAO;QACZ,OAAO,IAAI,eAAe,EAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC9C,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,QAAQ;QACb,OAAO,IAAI,eAAe,EAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC9C,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,SAAS;QACd,OAAO,IAAI,eAAe,EAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACxD,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,UAAU;QACf,OAAO,IAAI,eAAe,EAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC9C,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,YAAY;QAGjB,OAAO,IAAI,eAAe,EAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC9C,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,SAAS;QACd,OAAO,IAAI,eAAe,EAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC9C,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,QAAQ;QACb,OAAO,IAAI,eAAe,EAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC9C,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,KAAK;QACV,OAAO,IAAI,eAAe,EAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC9C,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,IAAY;QACjB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACH,OAAO,CACL,GAAuB,EACvB,MAA+B,EAC/B,QAAiB;QAEhB,IAAI,CAAC,YAAyC,CAAC,OAAO;YACrD,IAAA,wCAAuB,EAAC,GAAG,EAAE,MAAM,EAAE,QAA4B,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,IAAI,CAAC,IAAgB;QACnB,IAAI,CAAC,YAAY,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,IAAI,EAAE,CAAC;QACtD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,OAA+B;QACrC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,KAAK;QACH,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,QAAQ,EAAE,IAAI,CAAC,YAAiB;YAChC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnE,CAAC;IACJ,CAAC;CACF;AAjJD,0CAiJC;AAEY,QAAA,QAAQ,GAAG,eAAe,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview API router configuration with dependency injection and service registration.
|
|
3
|
+
* Manages user controller and all required services for API endpoints.
|
|
4
|
+
* @module routers/api
|
|
5
|
+
*/
|
|
6
|
+
import { PlatformID } from '@digitaldefiance/node-ecies-lib';
|
|
7
|
+
import { ITokenRole, ITokenUser, IUserBase } from '@digitaldefiance/suite-core-lib';
|
|
8
|
+
import { IBaseDocument } from '../documents';
|
|
9
|
+
import { Environment } from '../environment';
|
|
10
|
+
import { IConstants } from '../interfaces';
|
|
11
|
+
import { IApplication } from '../interfaces/application';
|
|
12
|
+
import { BaseRouter } from './base';
|
|
13
|
+
import { CoreLanguageCode } from '@digitaldefiance/i18n-lib';
|
|
14
|
+
/**
|
|
15
|
+
* Router for the API endpoints.
|
|
16
|
+
* Manages user controller and registers all required services via dependency injection.
|
|
17
|
+
* @template TID Platform-specific ID type
|
|
18
|
+
* @template TDate Date type
|
|
19
|
+
* @template TLanguage Site language string literal type
|
|
20
|
+
* @template TAccountStatus Account status string literal type
|
|
21
|
+
* @template TUser User base type
|
|
22
|
+
* @template TTokenRole Token role type
|
|
23
|
+
* @template TBaseDocument Base document type
|
|
24
|
+
* @template TTokenUser Token user type
|
|
25
|
+
* @template TConstants Constants type
|
|
26
|
+
* @template TEnvironment Environment type
|
|
27
|
+
* @template TApplication Application type
|
|
28
|
+
*/
|
|
29
|
+
export declare class ApiRouter<TID extends PlatformID, TDate extends Date, TLanguage extends CoreLanguageCode, TAccountStatus extends string, TUser extends IUserBase<TID, TDate, TLanguage, TAccountStatus> = IUserBase<TID, TDate, TLanguage, TAccountStatus>, TTokenRole extends ITokenRole<TID, TDate> = ITokenRole<TID, TDate>, TBaseDocument extends IBaseDocument<any, TID> = IBaseDocument<any, TID>, TTokenUser extends ITokenUser = ITokenUser, TConstants extends IConstants = IConstants, TEnvironment extends Environment<TID> = Environment<TID>, TApplication extends IApplication<TID> = IApplication<TID>> extends BaseRouter<TID, TApplication> {
|
|
30
|
+
/** User controller for handling user-related API endpoints */
|
|
31
|
+
private readonly userController;
|
|
32
|
+
/** JWT service for token generation and validation */
|
|
33
|
+
private readonly jwtService;
|
|
34
|
+
/** Email service for sending emails */
|
|
35
|
+
private readonly emailService;
|
|
36
|
+
/** User service for user management operations */
|
|
37
|
+
private readonly userService;
|
|
38
|
+
/** Role service for role management operations */
|
|
39
|
+
private readonly roleService;
|
|
40
|
+
/** Key wrapping service for password-based encryption */
|
|
41
|
+
private readonly keyWrappingService;
|
|
42
|
+
/** ECIES service for elliptic curve encryption */
|
|
43
|
+
private readonly eciesService;
|
|
44
|
+
/** Backup code service for generating and validating backup codes */
|
|
45
|
+
private readonly backupCodeService;
|
|
46
|
+
/**
|
|
47
|
+
* Creates a new API router instance.
|
|
48
|
+
* Registers all required services and initializes the user controller.
|
|
49
|
+
* @param application Application instance with database connection and configuration
|
|
50
|
+
*/
|
|
51
|
+
constructor(application: TApplication);
|
|
52
|
+
/**
|
|
53
|
+
* Registers all required services in the application service container.
|
|
54
|
+
* Services are registered as singletons and lazily instantiated.
|
|
55
|
+
* @private
|
|
56
|
+
*/
|
|
57
|
+
private registerServices;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/routers/api.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAgB,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EACL,UAAU,EACV,UAAU,EACV,SAAS,EACV,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAQzD,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D;;;;;;;;;;;;;;GAcG;AACH,qBAAa,SAAS,CACpB,GAAG,SAAS,UAAU,EACtB,KAAK,SAAS,IAAI,EAClB,SAAS,SAAS,gBAAgB,EAClC,cAAc,SAAS,MAAM,EAC7B,KAAK,SAAS,SAAS,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,CAAC,GAAG,SAAS,CACxE,GAAG,EACH,KAAK,EACL,SAAS,EACT,cAAc,CACf,EACD,UAAU,SAAS,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,EAClE,aAAa,SAAS,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,EACvE,UAAU,SAAS,UAAU,GAAG,UAAU,EAC1C,UAAU,SAAS,UAAU,GAAG,UAAU,EAC1C,YAAY,SAAS,WAAW,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,EACxD,YAAY,SAAS,YAAY,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAC1D,SAAQ,UAAU,CAAC,GAAG,EAAE,YAAY,CAAC;IACrC,8DAA8D;IAC9D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAS7B;IACF,sDAAsD;IACtD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAMzB;IACF,uCAAuC;IACvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgB;IAC7C,kDAAkD;IAClD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAY1B;IACF,kDAAkD;IAClD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsC;IAClE,yDAAyD;IACzD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IACxD,kDAAkD;IAClD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;IACjD,qEAAqE;IACrE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAKhC;IACF;;;;OAIG;gBACS,WAAW,EAAE,YAAY;IAgCrC;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;CAgFzB"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview API router configuration with dependency injection and service registration.
|
|
4
|
+
* Manages user controller and all required services for API endpoints.
|
|
5
|
+
* @module routers/api
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.ApiRouter = void 0;
|
|
9
|
+
const node_ecies_lib_1 = require("@digitaldefiance/node-ecies-lib");
|
|
10
|
+
const container_1 = require("../container");
|
|
11
|
+
const user_1 = require("../controllers/user");
|
|
12
|
+
const registry_1 = require("../registry");
|
|
13
|
+
const backup_code_1 = require("../services/backup-code");
|
|
14
|
+
const jwt_1 = require("../services/jwt");
|
|
15
|
+
const key_wrapping_1 = require("../services/key-wrapping");
|
|
16
|
+
const role_1 = require("../services/role");
|
|
17
|
+
const user_2 = require("../services/user");
|
|
18
|
+
const base_1 = require("./base");
|
|
19
|
+
/**
|
|
20
|
+
* Router for the API endpoints.
|
|
21
|
+
* Manages user controller and registers all required services via dependency injection.
|
|
22
|
+
* @template TID Platform-specific ID type
|
|
23
|
+
* @template TDate Date type
|
|
24
|
+
* @template TLanguage Site language string literal type
|
|
25
|
+
* @template TAccountStatus Account status string literal type
|
|
26
|
+
* @template TUser User base type
|
|
27
|
+
* @template TTokenRole Token role type
|
|
28
|
+
* @template TBaseDocument Base document type
|
|
29
|
+
* @template TTokenUser Token user type
|
|
30
|
+
* @template TConstants Constants type
|
|
31
|
+
* @template TEnvironment Environment type
|
|
32
|
+
* @template TApplication Application type
|
|
33
|
+
*/
|
|
34
|
+
class ApiRouter extends base_1.BaseRouter {
|
|
35
|
+
/** User controller for handling user-related API endpoints */
|
|
36
|
+
userController;
|
|
37
|
+
/** JWT service for token generation and validation */
|
|
38
|
+
jwtService;
|
|
39
|
+
/** Email service for sending emails */
|
|
40
|
+
emailService;
|
|
41
|
+
/** User service for user management operations */
|
|
42
|
+
userService;
|
|
43
|
+
/** Role service for role management operations */
|
|
44
|
+
roleService;
|
|
45
|
+
/** Key wrapping service for password-based encryption */
|
|
46
|
+
keyWrappingService;
|
|
47
|
+
/** ECIES service for elliptic curve encryption */
|
|
48
|
+
eciesService;
|
|
49
|
+
/** Backup code service for generating and validating backup codes */
|
|
50
|
+
backupCodeService;
|
|
51
|
+
/**
|
|
52
|
+
* Creates a new API router instance.
|
|
53
|
+
* Registers all required services and initializes the user controller.
|
|
54
|
+
* @param application Application instance with database connection and configuration
|
|
55
|
+
*/
|
|
56
|
+
constructor(application) {
|
|
57
|
+
super(application);
|
|
58
|
+
this.registerServices();
|
|
59
|
+
this.jwtService = application.services.get(container_1.ServiceKeys.JWT);
|
|
60
|
+
this.roleService = application.services.get(container_1.ServiceKeys.ROLE);
|
|
61
|
+
this.emailService = application.services.get(container_1.ServiceKeys.EMAIL);
|
|
62
|
+
this.keyWrappingService = application.services.get(container_1.ServiceKeys.KEY_WRAPPING);
|
|
63
|
+
this.eciesService = application.services.get(container_1.ServiceKeys.ECIES);
|
|
64
|
+
this.backupCodeService = application.services.get(container_1.ServiceKeys.BACKUP_CODE);
|
|
65
|
+
this.userService = application.services.get(container_1.ServiceKeys.USER);
|
|
66
|
+
this.userController = new user_1.UserController(application, this.jwtService, this.userService, this.backupCodeService, this.roleService, this.eciesService);
|
|
67
|
+
this.router.use('/user', this.userController.router);
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Registers all required services in the application service container.
|
|
71
|
+
* Services are registered as singletons and lazily instantiated.
|
|
72
|
+
* @private
|
|
73
|
+
*/
|
|
74
|
+
registerServices() {
|
|
75
|
+
const app = this.application;
|
|
76
|
+
if (!app.services.has(container_1.ServiceKeys.JWT)) {
|
|
77
|
+
app.services.register(container_1.ServiceKeys.JWT, () => new jwt_1.JwtService(app));
|
|
78
|
+
}
|
|
79
|
+
if (!app.services.has(container_1.ServiceKeys.ROLE)) {
|
|
80
|
+
app.services.register(container_1.ServiceKeys.ROLE, () => new role_1.RoleService(app));
|
|
81
|
+
}
|
|
82
|
+
if (!app.services.has(container_1.ServiceKeys.EMAIL)) {
|
|
83
|
+
app.services.register(container_1.ServiceKeys.EMAIL, () => registry_1.emailServiceRegistry.getService());
|
|
84
|
+
}
|
|
85
|
+
if (!app.services.has(container_1.ServiceKeys.KEY_WRAPPING)) {
|
|
86
|
+
app.services.register(container_1.ServiceKeys.KEY_WRAPPING, () => new key_wrapping_1.KeyWrappingService());
|
|
87
|
+
}
|
|
88
|
+
if (!app.services.has(container_1.ServiceKeys.ECIES)) {
|
|
89
|
+
app.services.register(container_1.ServiceKeys.ECIES, () => {
|
|
90
|
+
const config = {
|
|
91
|
+
curveName: app.constants.ECIES.CURVE_NAME,
|
|
92
|
+
primaryKeyDerivationPath: app.constants.ECIES.PRIMARY_KEY_DERIVATION_PATH,
|
|
93
|
+
mnemonicStrength: app.constants.ECIES.MNEMONIC_STRENGTH,
|
|
94
|
+
symmetricAlgorithm: app.constants.ECIES.SYMMETRIC_ALGORITHM_CONFIGURATION,
|
|
95
|
+
symmetricKeyBits: app.constants.ECIES.SYMMETRIC.KEY_BITS,
|
|
96
|
+
symmetricKeyMode: app.constants.ECIES.SYMMETRIC.MODE,
|
|
97
|
+
};
|
|
98
|
+
return new node_ecies_lib_1.ECIESService(config);
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
if (!app.services.has(container_1.ServiceKeys.BACKUP_CODE)) {
|
|
102
|
+
app.services.register(container_1.ServiceKeys.BACKUP_CODE, () => new backup_code_1.BackupCodeService(app, app.services.get(container_1.ServiceKeys.ECIES), app.services.get(container_1.ServiceKeys.KEY_WRAPPING), app.services.get(container_1.ServiceKeys.ROLE)));
|
|
103
|
+
}
|
|
104
|
+
if (!app.services.has(container_1.ServiceKeys.USER)) {
|
|
105
|
+
app.services.register(container_1.ServiceKeys.USER, () => new user_2.UserService(app, app.services.get(container_1.ServiceKeys.ROLE), app.services.get(container_1.ServiceKeys.EMAIL), app.services.get(container_1.ServiceKeys.KEY_WRAPPING), app.services.get(container_1.ServiceKeys.BACKUP_CODE)));
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
exports.ApiRouter = ApiRouter;
|
|
110
|
+
//# sourceMappingURL=api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/routers/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Application router for serving React frontend and API routes.
|
|
3
|
+
* Handles static file serving, EJS template rendering, and catch-all routing.
|
|
4
|
+
* @module routers/app
|
|
5
|
+
*/
|
|
6
|
+
import { Application, NextFunction, Request, Response } from 'express';
|
|
7
|
+
import { IApplication } from '../interfaces/application';
|
|
8
|
+
import { BaseRouter } from './base';
|
|
9
|
+
import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
|
|
10
|
+
/**
|
|
11
|
+
* Application router for serving React frontend and API routes.
|
|
12
|
+
* Sets up static file serving, EJS template rendering, and catch-all routing for SPA.
|
|
13
|
+
* @template TID Platform-specific ID type
|
|
14
|
+
* @template TApplication Application instance type
|
|
15
|
+
*/
|
|
16
|
+
export declare class AppRouter<TID extends PlatformID = Buffer, TApplication extends IApplication<TID> = IApplication<TID>> {
|
|
17
|
+
/** Path to EJS views directory */
|
|
18
|
+
protected readonly viewsPath: string;
|
|
19
|
+
/** Path to index.html file */
|
|
20
|
+
protected readonly indexPath: string;
|
|
21
|
+
/** Path to assets directory */
|
|
22
|
+
protected readonly assetsDir: string;
|
|
23
|
+
/** Path to React distribution directory */
|
|
24
|
+
protected readonly reactDistDir: string;
|
|
25
|
+
/** API router instance */
|
|
26
|
+
protected readonly apiRouter: BaseRouter<TID, TApplication>;
|
|
27
|
+
/** Application instance */
|
|
28
|
+
protected readonly application: TApplication;
|
|
29
|
+
/**
|
|
30
|
+
* Creates a new application router instance.
|
|
31
|
+
* Validates and resolves all paths to prevent directory traversal attacks.
|
|
32
|
+
* @param apiRouter API router instance to mount under /api
|
|
33
|
+
* @throws {TranslatableSuiteError} If paths contain invalid traversal sequences
|
|
34
|
+
*/
|
|
35
|
+
constructor(apiRouter: BaseRouter<TID, TApplication>);
|
|
36
|
+
/**
|
|
37
|
+
* Gets the filename of an asset matching a pattern.
|
|
38
|
+
* @param assetDir Directory to search in
|
|
39
|
+
* @param pattern Regular expression pattern to match
|
|
40
|
+
* @returns Filename if found, undefined otherwise
|
|
41
|
+
*/
|
|
42
|
+
getAssetFilename(assetDir: string, pattern: RegExp): string | undefined;
|
|
43
|
+
/**
|
|
44
|
+
* Gets base view locals for EJS template rendering.
|
|
45
|
+
* Subclasses can override to add additional locals.
|
|
46
|
+
* @param req Express request
|
|
47
|
+
* @param res Express response
|
|
48
|
+
* @returns Object containing base template variables
|
|
49
|
+
*/
|
|
50
|
+
protected getBaseViewLocals(req: Request, res: Response): Record<string, unknown>;
|
|
51
|
+
/**
|
|
52
|
+
* Renders an EJS template with the provided locals.
|
|
53
|
+
* @param req Express request
|
|
54
|
+
* @param res Express response
|
|
55
|
+
* @param next Express next function
|
|
56
|
+
* @param template Template name to render
|
|
57
|
+
* @param locals Template variables
|
|
58
|
+
*/
|
|
59
|
+
protected renderTemplate(req: Request, res: Response, next: NextFunction, template: string, locals: Record<string, unknown>): void;
|
|
60
|
+
/**
|
|
61
|
+
* Creates a view renderer function for a specific template.
|
|
62
|
+
* @param template Template name to render
|
|
63
|
+
* @param localsFactory Optional function to generate additional locals
|
|
64
|
+
* @returns Express middleware function
|
|
65
|
+
*/
|
|
66
|
+
protected createViewRenderer(template: string, localsFactory?: (req: Request, res: Response) => Record<string, unknown>): (req: Request, res: Response, next: NextFunction) => void;
|
|
67
|
+
/**
|
|
68
|
+
* Override to register additional routes (e.g. other EJS pages) before the index catch-all.
|
|
69
|
+
* @param app Express application
|
|
70
|
+
*/
|
|
71
|
+
protected registerAdditionalRenderHooks(app: Application): void;
|
|
72
|
+
/**
|
|
73
|
+
* Renders the index.html page with injected asset paths.
|
|
74
|
+
* @param req Express request
|
|
75
|
+
* @param res Express response
|
|
76
|
+
* @param next Express next function
|
|
77
|
+
*/
|
|
78
|
+
renderIndex(req: Request, res: Response, next: NextFunction): void;
|
|
79
|
+
/**
|
|
80
|
+
* Initializes the application router with all routes and middleware.
|
|
81
|
+
* Sets up API routes, static file serving, and catch-all routing.
|
|
82
|
+
* @param app Express application
|
|
83
|
+
* @throws {TranslatableGenericError} If index file not found or invalid paths
|
|
84
|
+
*/
|
|
85
|
+
init(app: Application): void;
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=app.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/routers/app.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAYH,OAAO,EACL,WAAW,EAEX,YAAY,EACZ,OAAO,EACP,QAAQ,EACT,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAWlE;;;;;GAKG;AACH,qBAAa,SAAS,CACpB,GAAG,SAAS,UAAU,GAAG,MAAM,EAC/B,YAAY,SAAS,YAAY,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC;IAE1D,kCAAkC;IAClC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IACrC,8BAA8B;IAC9B,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IACrC,+BAA+B;IAC/B,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IACrC,2CAA2C;IAC3C,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAExC,0BAA0B;IAC1B,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAC5D,2BAA2B;IAC3B,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC;IAE7C;;;;;OAKG;gBACS,SAAS,EAAE,UAAU,CAAC,GAAG,EAAE,YAAY,CAAC;IAwDpD;;;;;OAKG;IACI,gBAAgB,CACrB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,MAAM,GAAG,SAAS;IAkBrB;;;;;;OAMG;IACH,SAAS,CAAC,iBAAiB,CACzB,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,GACZ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAwB1B;;;;;;;OAOG;IACH,SAAS,CAAC,cAAc,CACtB,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,IAAI;IA2CP;;;;;OAKG;IACH,SAAS,CAAC,kBAAkB,CAC1B,QAAQ,EAAE,MAAM,EAChB,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvE,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,KAAK,IAAI;IAW5D;;;OAGG;IACH,SAAS,CAAC,6BAA6B,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI;IAI/D;;;;;OAKG;IACI,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI;IAgBzE;;;;;OAKG;IACI,IAAI,CAAC,GAAG,EAAE,WAAW;CA+F7B"}
|