@digitaldefiance/node-express-suite 3.7.4 → 3.7.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -2
- package/src/__tests__/helpers/setup-test-env.d.ts +1 -1
- package/src/__tests__/helpers/setup-test-env.d.ts.map +1 -1
- package/src/__tests__/helpers/setup-test-env.js.map +1 -1
- package/src/application-base.d.ts +9 -4
- package/src/application-base.d.ts.map +1 -1
- package/src/application-base.js +5 -0
- package/src/application-base.js.map +1 -1
- package/src/application-concrete.d.ts +14 -1
- package/src/application-concrete.d.ts.map +1 -1
- package/src/application-concrete.js +14 -1
- package/src/application-concrete.js.map +1 -1
- package/src/application.d.ts +7 -2
- package/src/application.d.ts.map +1 -1
- package/src/application.js +5 -0
- package/src/application.js.map +1 -1
- package/src/backup-code.d.ts +5 -0
- package/src/backup-code.d.ts.map +1 -1
- package/src/backup-code.js +5 -0
- package/src/backup-code.js.map +1 -1
- package/src/builders/application-builder.d.ts +13 -1
- package/src/builders/application-builder.d.ts.map +1 -1
- package/src/builders/application-builder.js +12 -0
- package/src/builders/application-builder.js.map +1 -1
- package/src/constants.d.ts +5 -0
- package/src/constants.d.ts.map +1 -1
- package/src/constants.js +5 -0
- package/src/constants.js.map +1 -1
- package/src/container/service-container.d.ts +34 -0
- package/src/container/service-container.d.ts.map +1 -1
- package/src/container/service-container.js +30 -0
- package/src/container/service-container.js.map +1 -1
- package/src/container/service-definitions.d.ts +11 -0
- package/src/container/service-definitions.d.ts.map +1 -1
- package/src/container/service-definitions.js +8 -0
- package/src/container/service-definitions.js.map +1 -1
- package/src/controllers/base.d.ts +21 -8
- package/src/controllers/base.d.ts.map +1 -1
- package/src/controllers/base.js +13 -0
- package/src/controllers/base.js.map +1 -1
- package/src/controllers/user.d.ts +25 -8
- package/src/controllers/user.d.ts.map +1 -1
- package/src/controllers/user.js +17 -0
- package/src/controllers/user.js.map +1 -1
- package/src/database/database-initializer.d.ts +5 -0
- package/src/database/database-initializer.d.ts.map +1 -1
- package/src/database/database-initializer.js +5 -0
- package/src/database/database-initializer.js.map +1 -1
- package/src/decorators/base-controller.d.ts +11 -0
- package/src/decorators/base-controller.d.ts.map +1 -1
- package/src/decorators/base-controller.js +11 -0
- package/src/decorators/base-controller.js.map +1 -1
- package/src/decorators/controller.d.ts +5 -0
- package/src/decorators/controller.d.ts.map +1 -1
- package/src/decorators/controller.js +5 -0
- package/src/decorators/controller.js.map +1 -1
- package/src/decorators/zod-validation.d.ts +5 -0
- package/src/decorators/zod-validation.d.ts.map +1 -1
- package/src/decorators/zod-validation.js +5 -0
- package/src/decorators/zod-validation.js.map +1 -1
- package/src/defaults.d.ts +5 -0
- package/src/defaults.d.ts.map +1 -1
- package/src/defaults.js +5 -0
- package/src/defaults.js.map +1 -1
- package/src/documents/base.d.ts +12 -1
- package/src/documents/base.d.ts.map +1 -1
- package/src/documents/base.js +5 -0
- package/src/documents/base.js.map +1 -1
- package/src/documents/email-token.d.ts +9 -2
- package/src/documents/email-token.d.ts.map +1 -1
- package/src/documents/email-token.js +5 -0
- package/src/documents/email-token.js.map +1 -1
- package/src/documents/mnemonic.d.ts +10 -2
- package/src/documents/mnemonic.d.ts.map +1 -1
- package/src/documents/mnemonic.js +5 -0
- package/src/documents/mnemonic.js.map +1 -1
- package/src/documents/role.d.ts +9 -2
- package/src/documents/role.d.ts.map +1 -1
- package/src/documents/role.js +5 -0
- package/src/documents/role.js.map +1 -1
- package/src/documents/used-direct-login-token.d.ts +12 -1
- package/src/documents/used-direct-login-token.d.ts.map +1 -1
- package/src/documents/used-direct-login-token.js +5 -0
- package/src/documents/used-direct-login-token.js.map +1 -1
- package/src/documents/user-role.d.ts +10 -2
- package/src/documents/user-role.d.ts.map +1 -1
- package/src/documents/user-role.js +5 -0
- package/src/documents/user-role.js.map +1 -1
- package/src/documents/user.d.ts +10 -2
- package/src/documents/user.d.ts.map +1 -1
- package/src/documents/user.js +5 -0
- package/src/documents/user.js.map +1 -1
- package/src/enumerations/base-model-name.d.ts +5 -0
- package/src/enumerations/base-model-name.d.ts.map +1 -1
- package/src/enumerations/base-model-name.js +5 -0
- package/src/enumerations/base-model-name.js.map +1 -1
- package/src/enumerations/length-encoding-type.d.ts +9 -0
- package/src/enumerations/length-encoding-type.d.ts.map +1 -1
- package/src/enumerations/length-encoding-type.js +9 -0
- package/src/enumerations/length-encoding-type.js.map +1 -1
- package/src/enumerations/schema-collection.d.ts +5 -0
- package/src/enumerations/schema-collection.d.ts.map +1 -1
- package/src/enumerations/schema-collection.js +5 -0
- package/src/enumerations/schema-collection.js.map +1 -1
- package/src/enumerations/symmetric-error-type.d.ts +8 -0
- package/src/enumerations/symmetric-error-type.d.ts.map +1 -1
- package/src/enumerations/symmetric-error-type.js +8 -0
- package/src/enumerations/symmetric-error-type.js.map +1 -1
- package/src/environment.d.ts +15 -10
- package/src/environment.d.ts.map +1 -1
- package/src/environment.js +5 -0
- package/src/environment.js.map +1 -1
- package/src/errors/express-validation.d.ts +15 -0
- package/src/errors/express-validation.d.ts.map +1 -1
- package/src/errors/express-validation.js +15 -0
- package/src/errors/express-validation.js.map +1 -1
- package/src/errors/invalid-backup-code-version.d.ts +13 -0
- package/src/errors/invalid-backup-code-version.d.ts.map +1 -1
- package/src/errors/invalid-backup-code-version.js +13 -0
- package/src/errors/invalid-backup-code-version.js.map +1 -1
- package/src/errors/invalid-jwt-token.d.ts +12 -0
- package/src/errors/invalid-jwt-token.d.ts.map +1 -1
- package/src/errors/invalid-jwt-token.js +12 -0
- package/src/errors/invalid-jwt-token.js.map +1 -1
- package/src/errors/invalid-model.d.ts +12 -0
- package/src/errors/invalid-model.d.ts.map +1 -1
- package/src/errors/invalid-model.js +12 -0
- package/src/errors/invalid-model.js.map +1 -1
- package/src/errors/invalid-new-password.d.ts +14 -0
- package/src/errors/invalid-new-password.d.ts.map +1 -1
- package/src/errors/invalid-new-password.js +14 -0
- package/src/errors/invalid-new-password.js.map +1 -1
- package/src/errors/invalid-password.d.ts +14 -0
- package/src/errors/invalid-password.d.ts.map +1 -1
- package/src/errors/invalid-password.js +14 -0
- package/src/errors/invalid-password.js.map +1 -1
- package/src/errors/missing-validated-data.d.ts +17 -0
- package/src/errors/missing-validated-data.d.ts.map +1 -1
- package/src/errors/missing-validated-data.js +17 -0
- package/src/errors/missing-validated-data.js.map +1 -1
- package/src/errors/mnemonic-or-password-required.d.ts +12 -0
- package/src/errors/mnemonic-or-password-required.d.ts.map +1 -1
- package/src/errors/mnemonic-or-password-required.js +12 -0
- package/src/errors/mnemonic-or-password-required.js.map +1 -1
- package/src/errors/model-not-registered.d.ts +12 -0
- package/src/errors/model-not-registered.d.ts.map +1 -1
- package/src/errors/model-not-registered.js +12 -0
- package/src/errors/model-not-registered.js.map +1 -1
- package/src/errors/mongoose-validation.d.ts +16 -0
- package/src/errors/mongoose-validation.d.ts.map +1 -1
- package/src/errors/mongoose-validation.js +16 -0
- package/src/errors/mongoose-validation.js.map +1 -1
- package/src/errors/symmetric.d.ts +15 -0
- package/src/errors/symmetric.d.ts.map +1 -1
- package/src/errors/symmetric.js +15 -0
- package/src/errors/symmetric.js.map +1 -1
- package/src/errors/token-expired.d.ts +12 -0
- package/src/errors/token-expired.d.ts.map +1 -1
- package/src/errors/token-expired.js +12 -0
- package/src/errors/token-expired.js.map +1 -1
- package/src/get-language.d.ts +10 -0
- package/src/get-language.d.ts.map +1 -1
- package/src/get-language.js +10 -0
- package/src/get-language.js.map +1 -1
- package/src/get-timezone.d.ts +10 -0
- package/src/get-timezone.d.ts.map +1 -1
- package/src/get-timezone.js +15 -1
- package/src/get-timezone.js.map +1 -1
- package/src/interfaces/api-error-response.d.ts +9 -0
- package/src/interfaces/api-error-response.d.ts.map +1 -1
- package/src/interfaces/api-error-response.js +5 -0
- package/src/interfaces/api-error-response.js.map +1 -1
- package/src/interfaces/api-express-validation-error-response.d.ts +9 -0
- package/src/interfaces/api-express-validation-error-response.d.ts.map +1 -1
- package/src/interfaces/api-express-validation-error-response.js +5 -0
- package/src/interfaces/api-express-validation-error-response.js.map +1 -1
- package/src/interfaces/api-message-response.d.ts +8 -0
- package/src/interfaces/api-message-response.d.ts.map +1 -1
- package/src/interfaces/api-message-response.js +5 -0
- package/src/interfaces/api-message-response.js.map +1 -1
- package/src/interfaces/api-mongo-validation-error-response.d.ts +10 -0
- package/src/interfaces/api-mongo-validation-error-response.d.ts.map +1 -1
- package/src/interfaces/api-mongo-validation-error-response.js +5 -0
- package/src/interfaces/api-mongo-validation-error-response.js.map +1 -1
- package/src/interfaces/api-responses/backup-codes-response.d.ts +9 -0
- package/src/interfaces/api-responses/backup-codes-response.d.ts.map +1 -1
- package/src/interfaces/api-responses/backup-codes-response.js +5 -0
- package/src/interfaces/api-responses/backup-codes-response.js.map +1 -1
- package/src/interfaces/api-responses/challenge-response.d.ts +10 -0
- package/src/interfaces/api-responses/challenge-response.d.ts.map +1 -1
- package/src/interfaces/api-responses/challenge-response.js +4 -0
- package/src/interfaces/api-responses/challenge-response.js.map +1 -1
- package/src/interfaces/api-responses/code-count-response.d.ts +6 -0
- package/src/interfaces/api-responses/code-count-response.d.ts.map +1 -1
- package/src/interfaces/api-responses/code-count-response.js +5 -0
- package/src/interfaces/api-responses/code-count-response.js.map +1 -1
- package/src/interfaces/api-responses/login-response.d.ts +9 -0
- package/src/interfaces/api-responses/login-response.d.ts.map +1 -1
- package/src/interfaces/api-responses/login-response.js +5 -0
- package/src/interfaces/api-responses/login-response.js.map +1 -1
- package/src/interfaces/api-responses/mnemonic-response.d.ts +9 -0
- package/src/interfaces/api-responses/mnemonic-response.d.ts.map +1 -1
- package/src/interfaces/api-responses/mnemonic-response.js +4 -0
- package/src/interfaces/api-responses/mnemonic-response.js.map +1 -1
- package/src/interfaces/api-responses/registration-response.d.ts +10 -0
- package/src/interfaces/api-responses/registration-response.d.ts.map +1 -1
- package/src/interfaces/api-responses/registration-response.js +4 -0
- package/src/interfaces/api-responses/registration-response.js.map +1 -1
- package/src/interfaces/api-responses/request-user-response.d.ts +9 -0
- package/src/interfaces/api-responses/request-user-response.d.ts.map +1 -1
- package/src/interfaces/api-responses/request-user-response.js +5 -0
- package/src/interfaces/api-responses/request-user-response.js.map +1 -1
- package/src/interfaces/api-responses/user-settings-response.d.ts +6 -0
- package/src/interfaces/api-responses/user-settings-response.d.ts.map +1 -1
- package/src/interfaces/api-responses/user-settings-response.js +5 -0
- package/src/interfaces/api-responses/user-settings-response.js.map +1 -1
- package/src/interfaces/application.d.ts +22 -0
- package/src/interfaces/application.d.ts.map +1 -1
- package/src/interfaces/application.js +5 -0
- package/src/interfaces/application.js.map +1 -1
- package/src/interfaces/backend-objects/email-token.d.ts +10 -1
- package/src/interfaces/backend-objects/email-token.d.ts.map +1 -1
- package/src/interfaces/backend-objects/email-token.js +5 -0
- package/src/interfaces/backend-objects/email-token.js.map +1 -1
- package/src/interfaces/backend-objects/request-user.d.ts +11 -1
- package/src/interfaces/backend-objects/request-user.d.ts.map +1 -1
- package/src/interfaces/backend-objects/request-user.js +5 -0
- package/src/interfaces/backend-objects/request-user.js.map +1 -1
- package/src/interfaces/backend-objects/role.d.ts +10 -1
- package/src/interfaces/backend-objects/role.d.ts.map +1 -1
- package/src/interfaces/backend-objects/role.js +5 -0
- package/src/interfaces/backend-objects/role.js.map +1 -1
- package/src/interfaces/backend-objects/user.d.ts +11 -1
- package/src/interfaces/backend-objects/user.d.ts.map +1 -1
- package/src/interfaces/backend-objects/user.js +5 -0
- package/src/interfaces/backend-objects/user.js.map +1 -1
- package/src/interfaces/checksum-config.d.ts +10 -0
- package/src/interfaces/checksum-config.d.ts.map +1 -1
- package/src/interfaces/checksum-config.js +5 -0
- package/src/interfaces/checksum-config.js.map +1 -1
- package/src/interfaces/checksum-consts.d.ts +9 -0
- package/src/interfaces/checksum-consts.d.ts.map +1 -1
- package/src/interfaces/checksum-consts.js +5 -0
- package/src/interfaces/checksum-consts.js.map +1 -1
- package/src/interfaces/constants.d.ts +7 -2
- package/src/interfaces/constants.d.ts.map +1 -1
- package/src/interfaces/constants.js +5 -0
- package/src/interfaces/constants.js.map +1 -1
- package/src/interfaces/controller-config.d.ts +27 -10
- package/src/interfaces/controller-config.d.ts.map +1 -1
- package/src/interfaces/controller-config.js +5 -0
- package/src/interfaces/controller-config.js.map +1 -1
- package/src/interfaces/create-user-basics.d.ts +7 -1
- package/src/interfaces/create-user-basics.d.ts.map +1 -1
- package/src/interfaces/create-user-basics.js +5 -0
- package/src/interfaces/create-user-basics.js.map +1 -1
- package/src/interfaces/csp-config.d.ts +15 -0
- package/src/interfaces/csp-config.d.ts.map +1 -1
- package/src/interfaces/csp-config.js +10 -0
- package/src/interfaces/csp-config.js.map +1 -1
- package/src/interfaces/csp-definition.d.ts +21 -0
- package/src/interfaces/csp-definition.d.ts.map +1 -1
- package/src/interfaces/csp-definition.js +10 -0
- package/src/interfaces/csp-definition.js.map +1 -1
- package/src/interfaces/db-init-result.d.ts +11 -0
- package/src/interfaces/db-init-result.d.ts.map +1 -1
- package/src/interfaces/db-init-result.js +5 -0
- package/src/interfaces/db-init-result.js.map +1 -1
- package/src/interfaces/deep-partial.d.ts +10 -0
- package/src/interfaces/deep-partial.d.ts.map +1 -1
- package/src/interfaces/deep-partial.js +5 -0
- package/src/interfaces/deep-partial.js.map +1 -1
- package/src/interfaces/discriminator-collections.d.ts +11 -1
- package/src/interfaces/discriminator-collections.d.ts.map +1 -1
- package/src/interfaces/discriminator-collections.js +5 -0
- package/src/interfaces/discriminator-collections.js.map +1 -1
- package/src/interfaces/email-service.d.ts +17 -0
- package/src/interfaces/email-service.d.ts.map +1 -1
- package/src/interfaces/email-service.js +5 -0
- package/src/interfaces/email-service.js.map +1 -1
- package/src/interfaces/environment-mongo.d.ts +9 -0
- package/src/interfaces/environment-mongo.d.ts.map +1 -1
- package/src/interfaces/environment-mongo.js +5 -0
- package/src/interfaces/environment-mongo.js.map +1 -1
- package/src/interfaces/environment.d.ts +20 -10
- package/src/interfaces/environment.d.ts.map +1 -1
- package/src/interfaces/environment.js +5 -0
- package/src/interfaces/environment.js.map +1 -1
- package/src/interfaces/failable-result.d.ts +13 -0
- package/src/interfaces/failable-result.d.ts.map +1 -1
- package/src/interfaces/failable-result.js +5 -0
- package/src/interfaces/failable-result.js.map +1 -1
- package/src/interfaces/fec-consts.d.ts +9 -0
- package/src/interfaces/fec-consts.d.ts.map +1 -1
- package/src/interfaces/fec-consts.js +5 -0
- package/src/interfaces/fec-consts.js.map +1 -1
- package/src/interfaces/flexible-csp.d.ts +16 -0
- package/src/interfaces/flexible-csp.d.ts.map +1 -1
- package/src/interfaces/flexible-csp.js +10 -0
- package/src/interfaces/flexible-csp.js.map +1 -1
- package/src/interfaces/handleable-error-options.d.ts +12 -0
- package/src/interfaces/handleable-error-options.d.ts.map +1 -1
- package/src/interfaces/handleable-error-options.js +5 -0
- package/src/interfaces/handleable-error-options.js.map +1 -1
- package/src/interfaces/jwt-consts.d.ts +9 -0
- package/src/interfaces/jwt-consts.d.ts.map +1 -1
- package/src/interfaces/jwt-consts.js +5 -0
- package/src/interfaces/jwt-consts.js.map +1 -1
- package/src/interfaces/jwt-sign-response.d.ts +12 -1
- package/src/interfaces/jwt-sign-response.d.ts.map +1 -1
- package/src/interfaces/jwt-sign-response.js +5 -0
- package/src/interfaces/jwt-sign-response.js.map +1 -1
- package/src/interfaces/models/email-token.d.ts +7 -1
- package/src/interfaces/models/email-token.d.ts.map +1 -1
- package/src/interfaces/models/email-token.js +5 -0
- package/src/interfaces/models/email-token.js.map +1 -1
- package/src/interfaces/models/mnemonic.d.ts +8 -1
- package/src/interfaces/models/mnemonic.d.ts.map +1 -1
- package/src/interfaces/models/mnemonic.js +5 -0
- package/src/interfaces/models/mnemonic.js.map +1 -1
- package/src/interfaces/models/role.d.ts +7 -1
- package/src/interfaces/models/role.d.ts.map +1 -1
- package/src/interfaces/models/role.js +5 -0
- package/src/interfaces/models/role.js.map +1 -1
- package/src/interfaces/models/token-role.d.ts +11 -3
- package/src/interfaces/models/token-role.d.ts.map +1 -1
- package/src/interfaces/models/token-role.js +5 -0
- package/src/interfaces/models/token-role.js.map +1 -1
- package/src/interfaces/models/used-direct-login-token.d.ts +11 -3
- package/src/interfaces/models/used-direct-login-token.d.ts.map +1 -1
- package/src/interfaces/models/used-direct-login-token.js +5 -0
- package/src/interfaces/models/used-direct-login-token.js.map +1 -1
- package/src/interfaces/models/user-role.d.ts +11 -3
- package/src/interfaces/models/user-role.d.ts.map +1 -1
- package/src/interfaces/models/user-role.js +5 -0
- package/src/interfaces/models/user-role.js.map +1 -1
- package/src/interfaces/models/user.d.ts +13 -3
- package/src/interfaces/models/user.d.ts.map +1 -1
- package/src/interfaces/models/user.js +5 -0
- package/src/interfaces/models/user.js.map +1 -1
- package/src/interfaces/mongo-errors.d.ts +8 -0
- package/src/interfaces/mongo-errors.d.ts.map +1 -1
- package/src/interfaces/mongo-errors.js +5 -0
- package/src/interfaces/mongo-errors.js.map +1 -1
- package/src/interfaces/request-user.d.ts +16 -7
- package/src/interfaces/request-user.d.ts.map +1 -1
- package/src/interfaces/request-user.js +5 -0
- package/src/interfaces/request-user.js.map +1 -1
- package/src/interfaces/required-string-keys.d.ts +9 -3
- package/src/interfaces/required-string-keys.d.ts.map +1 -1
- package/src/interfaces/required-string-keys.js +5 -0
- package/src/interfaces/required-string-keys.js.map +1 -1
- package/src/interfaces/schema.d.ts +11 -3
- package/src/interfaces/schema.d.ts.map +1 -1
- package/src/interfaces/schema.js +5 -0
- package/src/interfaces/schema.js.map +1 -1
- package/src/interfaces/server-init-result.d.ts +23 -13
- package/src/interfaces/server-init-result.d.ts.map +1 -1
- package/src/interfaces/server-init-result.js +5 -0
- package/src/interfaces/server-init-result.js.map +1 -1
- package/src/interfaces/status-code-response.d.ts +12 -0
- package/src/interfaces/status-code-response.d.ts.map +1 -1
- package/src/interfaces/status-code-response.js +5 -0
- package/src/interfaces/status-code-response.js.map +1 -1
- package/src/interfaces/symmetric-encryption-results.d.ts +10 -0
- package/src/interfaces/symmetric-encryption-results.d.ts.map +1 -1
- package/src/interfaces/symmetric-encryption-results.js +5 -0
- package/src/interfaces/symmetric-encryption-results.js.map +1 -1
- package/src/interfaces/test-environment.d.ts +10 -0
- package/src/interfaces/test-environment.d.ts.map +1 -1
- package/src/interfaces/test-environment.js +5 -0
- package/src/interfaces/test-environment.js.map +1 -1
- package/src/interfaces/token-response.d.ts +10 -0
- package/src/interfaces/token-response.d.ts.map +1 -1
- package/src/interfaces/token-response.js +5 -0
- package/src/interfaces/token-response.js.map +1 -1
- package/src/middleware-utils.d.ts +23 -0
- package/src/middleware-utils.d.ts.map +1 -1
- package/src/middleware-utils.js +23 -0
- package/src/middleware-utils.js.map +1 -1
- package/src/middlewares/authenticate-crypto.d.ts +20 -3
- package/src/middlewares/authenticate-crypto.d.ts.map +1 -1
- package/src/middlewares/authenticate-crypto.js +19 -2
- package/src/middlewares/authenticate-crypto.js.map +1 -1
- package/src/middlewares/authenticate-token.d.ts +23 -10
- package/src/middlewares/authenticate-token.d.ts.map +1 -1
- package/src/middlewares/authenticate-token.js +22 -9
- package/src/middlewares/authenticate-token.js.map +1 -1
- package/src/middlewares/cleanup-crypto.d.ts +11 -2
- package/src/middlewares/cleanup-crypto.d.ts.map +1 -1
- package/src/middlewares/cleanup-crypto.js +11 -2
- package/src/middlewares/cleanup-crypto.js.map +1 -1
- package/src/middlewares/set-global-context-language.d.ts +13 -0
- package/src/middlewares/set-global-context-language.d.ts.map +1 -1
- package/src/middlewares/set-global-context-language.js +14 -1
- package/src/middlewares/set-global-context-language.js.map +1 -1
- package/src/model-registry.d.ts +63 -7
- package/src/model-registry.d.ts.map +1 -1
- package/src/model-registry.js +50 -0
- package/src/model-registry.js.map +1 -1
- package/src/models/email-token.d.ts +17 -1
- package/src/models/email-token.d.ts.map +1 -1
- package/src/models/email-token.js +5 -0
- package/src/models/email-token.js.map +1 -1
- package/src/models/mnemonic.d.ts +17 -1
- package/src/models/mnemonic.d.ts.map +1 -1
- package/src/models/mnemonic.js +16 -0
- package/src/models/mnemonic.js.map +1 -1
- package/src/models/role.d.ts +17 -1
- package/src/models/role.d.ts.map +1 -1
- package/src/models/role.js +16 -0
- package/src/models/role.js.map +1 -1
- package/src/models/used-direct-login-token.d.ts +17 -1
- package/src/models/used-direct-login-token.d.ts.map +1 -1
- package/src/models/used-direct-login-token.js +5 -0
- package/src/models/used-direct-login-token.js.map +1 -1
- package/src/models/user-role.d.ts +17 -1
- package/src/models/user-role.d.ts.map +1 -1
- package/src/models/user-role.js +16 -0
- package/src/models/user-role.js.map +1 -1
- package/src/models/user.d.ts +17 -1
- package/src/models/user.d.ts.map +1 -1
- package/src/models/user.js +16 -0
- package/src/models/user.js.map +1 -1
- package/src/pipeline/pipeline-builder.d.ts +8 -0
- package/src/pipeline/pipeline-builder.d.ts.map +1 -1
- package/src/pipeline/pipeline-builder.js +8 -0
- package/src/pipeline/pipeline-builder.js.map +1 -1
- package/src/plugins/plugin-interface.d.ts +9 -0
- package/src/plugins/plugin-interface.d.ts.map +1 -1
- package/src/plugins/plugin-interface.js +5 -0
- package/src/plugins/plugin-interface.js.map +1 -1
- package/src/plugins/plugin-manager.d.ts +9 -0
- package/src/plugins/plugin-manager.d.ts.map +1 -1
- package/src/plugins/plugin-manager.js +9 -0
- package/src/plugins/plugin-manager.js.map +1 -1
- package/src/registry/email-service-registry.d.ts +28 -6
- package/src/registry/email-service-registry.d.ts.map +1 -1
- package/src/registry/email-service-registry.js +28 -6
- package/src/registry/email-service-registry.js.map +1 -1
- package/src/responses/response-builder.d.ts +79 -0
- package/src/responses/response-builder.d.ts.map +1 -1
- package/src/responses/response-builder.js +79 -0
- package/src/responses/response-builder.js.map +1 -1
- package/src/routers/api.d.ts +36 -5
- package/src/routers/api.d.ts.map +1 -1
- package/src/routers/api.js +34 -4
- package/src/routers/api.js.map +1 -1
- package/src/routers/app.d.ts +61 -7
- package/src/routers/app.d.ts.map +1 -1
- package/src/routers/app.js +62 -5
- package/src/routers/app.js.map +1 -1
- package/src/routers/base.d.ts +17 -0
- package/src/routers/base.d.ts.map +1 -1
- package/src/routers/base.js +17 -0
- package/src/routers/base.js.map +1 -1
- package/src/routers/router-config.d.ts +17 -0
- package/src/routers/router-config.d.ts.map +1 -1
- package/src/routers/router-config.js +8 -0
- package/src/routers/router-config.js.map +1 -1
- package/src/routing/route-builder.d.ts +85 -0
- package/src/routing/route-builder.d.ts.map +1 -1
- package/src/routing/route-builder.js +81 -0
- package/src/routing/route-builder.js.map +1 -1
- package/src/schemas/email-token.d.ts +19 -3
- package/src/schemas/email-token.d.ts.map +1 -1
- package/src/schemas/email-token.js +15 -2
- package/src/schemas/email-token.js.map +1 -1
- package/src/schemas/mnemonic.d.ts +12 -2
- package/src/schemas/mnemonic.d.ts.map +1 -1
- package/src/schemas/mnemonic.js +12 -2
- package/src/schemas/mnemonic.js.map +1 -1
- package/src/schemas/role.d.ts +18 -3
- package/src/schemas/role.d.ts.map +1 -1
- package/src/schemas/role.js +15 -2
- package/src/schemas/role.js.map +1 -1
- package/src/schemas/schema.d.ts +21 -1
- package/src/schemas/schema.d.ts.map +1 -1
- package/src/schemas/schema.js +11 -0
- package/src/schemas/schema.js.map +1 -1
- package/src/schemas/used-direct-login-token.d.ts +15 -3
- package/src/schemas/used-direct-login-token.d.ts.map +1 -1
- package/src/schemas/used-direct-login-token.js +13 -2
- package/src/schemas/used-direct-login-token.js.map +1 -1
- package/src/schemas/user-role.d.ts +16 -3
- package/src/schemas/user-role.d.ts.map +1 -1
- package/src/schemas/user-role.js +14 -2
- package/src/schemas/user-role.js.map +1 -1
- package/src/schemas/user.d.ts +20 -1
- package/src/schemas/user.d.ts.map +1 -1
- package/src/schemas/user.js +20 -1
- package/src/schemas/user.js.map +1 -1
- package/src/services/backup-code.d.ts +22 -18
- package/src/services/backup-code.d.ts.map +1 -1
- package/src/services/backup-code.js +12 -8
- package/src/services/backup-code.js.map +1 -1
- package/src/services/base.d.ts +11 -0
- package/src/services/base.d.ts.map +1 -1
- package/src/services/base.js +11 -0
- package/src/services/base.js.map +1 -1
- package/src/services/checksum.d.ts +50 -29
- package/src/services/checksum.d.ts.map +1 -1
- package/src/services/checksum.js +50 -29
- package/src/services/checksum.js.map +1 -1
- package/src/services/database-initialization.d.ts +82 -55
- package/src/services/database-initialization.d.ts.map +1 -1
- package/src/services/database-initialization.js +61 -35
- package/src/services/database-initialization.js.map +1 -1
- package/src/services/db-init-cache.d.ts +8 -0
- package/src/services/db-init-cache.d.ts.map +1 -1
- package/src/services/db-init-cache.js +4 -0
- package/src/services/db-init-cache.js.map +1 -1
- package/src/services/direct-login-token.d.ts +22 -1
- package/src/services/direct-login-token.d.ts.map +1 -1
- package/src/services/direct-login-token.js +21 -0
- package/src/services/direct-login-token.js.map +1 -1
- package/src/services/dummy-email-service.d.ts +20 -1
- package/src/services/dummy-email-service.d.ts.map +1 -1
- package/src/services/dummy-email-service.js +20 -1
- package/src/services/dummy-email-service.js.map +1 -1
- package/src/services/fec-usage-example.d.ts +25 -5
- package/src/services/fec-usage-example.d.ts.map +1 -1
- package/src/services/fec-usage-example.js +25 -5
- package/src/services/fec-usage-example.js.map +1 -1
- package/src/services/fec.d.ts +49 -7
- package/src/services/fec.d.ts.map +1 -1
- package/src/services/fec.js +39 -7
- package/src/services/fec.js.map +1 -1
- package/src/services/jwt.d.ts +17 -2
- package/src/services/jwt.d.ts.map +1 -1
- package/src/services/jwt.js +15 -0
- package/src/services/jwt.js.map +1 -1
- package/src/services/key-wrapping.d.ts +86 -8
- package/src/services/key-wrapping.d.ts.map +1 -1
- package/src/services/key-wrapping.js +75 -10
- package/src/services/key-wrapping.js.map +1 -1
- package/src/services/mnemonic.d.ts +14 -8
- package/src/services/mnemonic.d.ts.map +1 -1
- package/src/services/mnemonic.js +8 -2
- package/src/services/mnemonic.js.map +1 -1
- package/src/services/request-user.d.ts +33 -11
- package/src/services/request-user.d.ts.map +1 -1
- package/src/services/request-user.js +28 -6
- package/src/services/request-user.js.map +1 -1
- package/src/services/role.d.ts +28 -18
- package/src/services/role.d.ts.map +1 -1
- package/src/services/role.js +11 -1
- package/src/services/role.js.map +1 -1
- package/src/services/symmetric.d.ts +35 -17
- package/src/services/symmetric.d.ts.map +1 -1
- package/src/services/symmetric.js +41 -17
- package/src/services/symmetric.js.map +1 -1
- package/src/services/system-user.d.ts +7 -1
- package/src/services/system-user.d.ts.map +1 -1
- package/src/services/system-user.js +7 -1
- package/src/services/system-user.js.map +1 -1
- package/src/services/user.d.ts +61 -38
- package/src/services/user.d.ts.map +1 -1
- package/src/services/user.js +23 -0
- package/src/services/user.js.map +1 -1
- package/src/services/xor.d.ts +10 -6
- package/src/services/xor.d.ts.map +1 -1
- package/src/services/xor.js +14 -6
- package/src/services/xor.js.map +1 -1
- package/src/testing.d.ts +5 -0
- package/src/testing.d.ts.map +1 -1
- package/src/testing.js +5 -0
- package/src/testing.js.map +1 -1
- package/src/transactions/transaction-manager.d.ts +25 -0
- package/src/transactions/transaction-manager.d.ts.map +1 -1
- package/src/transactions/transaction-manager.js +20 -0
- package/src/transactions/transaction-manager.js.map +1 -1
- package/src/types/app-config.d.ts +16 -2
- package/src/types/app-config.d.ts.map +1 -1
- package/src/types/app-config.js +5 -0
- package/src/types/app-config.js.map +1 -1
- package/src/types/controller-config.d.ts +14 -2
- package/src/types/controller-config.d.ts.map +1 -1
- package/src/types/controller-config.js +5 -0
- package/src/types/controller-config.js.map +1 -1
- package/src/types/environment-variables.d.ts +5 -0
- package/src/types/environment-variables.d.ts.map +1 -1
- package/src/types/environment-variables.js +3 -1
- package/src/types/environment-variables.js.map +1 -1
- package/src/types/mongoose-helpers.d.ts +5 -0
- package/src/types/mongoose-helpers.d.ts.map +1 -1
- package/src/types/mongoose-helpers.js +3 -1
- package/src/types/mongoose-helpers.js.map +1 -1
- package/src/types.d.ts +17 -3
- package/src/types.d.ts.map +1 -1
- package/src/types.js +14 -0
- package/src/types.js.map +1 -1
- package/src/utils.d.ts +58 -29
- package/src/utils.d.ts.map +1 -1
- package/src/utils.js +56 -31
- package/src/utils.js.map +1 -1
- package/src/validation/validation-builder.d.ts +39 -0
- package/src/validation/validation-builder.d.ts.map +1 -1
- package/src/validation/validation-builder.js +39 -0
- package/src/validation/validation-builder.js.map +1 -1
|
@@ -1,17 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Mnemonic phrase management service.
|
|
3
|
+
* Securely stores mnemonic HMACs for uniqueness checking without exposing phrases.
|
|
4
|
+
* @module services/mnemonic
|
|
5
|
+
*/
|
|
1
6
|
import { SecureBuffer, SecureString } from '@digitaldefiance/ecies-lib';
|
|
2
7
|
import { ClientSession, Model } from '@digitaldefiance/mongoose-types';
|
|
3
8
|
import { IMnemonicDocument } from '../documents/mnemonic';
|
|
4
9
|
import { IConstants } from '../interfaces';
|
|
5
10
|
import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
|
|
6
11
|
/**
|
|
7
|
-
*
|
|
8
|
-
* uniqueness without
|
|
12
|
+
* Service for secure mnemonic phrase storage and validation.
|
|
13
|
+
* Uses HMAC for uniqueness checking without storing actual mnemonics.
|
|
14
|
+
* @template TID - Platform ID type (defaults to Buffer)
|
|
9
15
|
*/
|
|
10
|
-
export declare class MnemonicService<
|
|
16
|
+
export declare class MnemonicService<TID extends PlatformID = Buffer> {
|
|
11
17
|
private readonly hmacSecret;
|
|
12
18
|
private readonly MnemonicModel;
|
|
13
19
|
private readonly constants;
|
|
14
|
-
constructor(mnemonicModel: Model<IMnemonicDocument<
|
|
20
|
+
constructor(mnemonicModel: Model<IMnemonicDocument<TID>>, hmacSecret: SecureBuffer, constants: IConstants);
|
|
15
21
|
/**
|
|
16
22
|
* Disposes of the secure secrets held by this service.
|
|
17
23
|
*/
|
|
@@ -34,20 +40,20 @@ export declare class MnemonicService<I extends PlatformID = Buffer> {
|
|
|
34
40
|
* @param session Optional Mongoose session for transaction support.
|
|
35
41
|
*/
|
|
36
42
|
addMnemonicWithPassword(mnemonic: SecureString, _password: SecureString, session?: ClientSession): Promise<{
|
|
37
|
-
document: IMnemonicDocument<
|
|
43
|
+
document: IMnemonicDocument<TID> | null;
|
|
38
44
|
}>;
|
|
39
45
|
/**
|
|
40
46
|
* Adds a new, unique mnemonic to the database.
|
|
41
47
|
* @param mnemonic The mnemonic to add, wrapped in a SecureString.
|
|
42
48
|
* @param session Optional Mongoose session for transaction support.
|
|
43
49
|
*/
|
|
44
|
-
addMnemonic(mnemonic: SecureString, session?: ClientSession): Promise<IMnemonicDocument<
|
|
50
|
+
addMnemonic(mnemonic: SecureString, session?: ClientSession): Promise<IMnemonicDocument<TID> | null>;
|
|
45
51
|
/**
|
|
46
52
|
* Retrieves a mnemonic document by ID.
|
|
47
53
|
* @param mnemonicId The ID of the mnemonic document.
|
|
48
54
|
* @param session Optional Mongoose session for transaction support.
|
|
49
55
|
*/
|
|
50
|
-
getMnemonicDocument(mnemonicId:
|
|
56
|
+
getMnemonicDocument(mnemonicId: TID, session?: ClientSession): Promise<IMnemonicDocument<TID> | null>;
|
|
51
57
|
/**
|
|
52
58
|
* Decrypts a mnemonic from a document using the service's master encryption key.
|
|
53
59
|
* @param doc The mnemonic document.
|
|
@@ -57,6 +63,6 @@ export declare class MnemonicService<I extends PlatformID = Buffer> {
|
|
|
57
63
|
* @param mnemonicId The ID of the mnemonic document.
|
|
58
64
|
* @param session Optional Mongoose session for transaction support.
|
|
59
65
|
*/
|
|
60
|
-
deleteMnemonicDocument(mnemonicId:
|
|
66
|
+
deleteMnemonicDocument(mnemonicId: TID, session?: ClientSession): Promise<void>;
|
|
61
67
|
}
|
|
62
68
|
//# sourceMappingURL=mnemonic.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mnemonic.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/mnemonic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AAMvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAElE
|
|
1
|
+
{"version":3,"file":"mnemonic.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/mnemonic.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AAMvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAElE;;;;GAIG;AACH,qBAAa,eAAe,CAAC,GAAG,SAAS,UAAU,GAAG,MAAM;IAC1D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAe;IAC1C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgC;IAC9D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAa;gBAGrC,aAAa,EAAE,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAC5C,UAAU,EAAE,YAAY,EACxB,SAAS,EAAE,UAAU;IAQvB;;OAEG;IACI,OAAO,IAAI,IAAI;IAItB;;;OAGG;IACI,eAAe,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM;IAOtD;;;;OAIG;IACU,cAAc,CACzB,QAAQ,EAAE,YAAY,EACtB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,OAAO,CAAC;IAQnB;;;;;OAKG;IACU,uBAAuB,CAClC,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE,YAAY,EACvB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC;QACT,QAAQ,EAAE,iBAAiB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;KACzC,CAAC;IA2BF;;;;OAIG;IACU,WAAW,CACtB,QAAQ,EAAE,YAAY,EACtB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAsBzC;;;;OAIG;IACU,mBAAmB,CAC9B,UAAU,EAAE,GAAG,EACf,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAMzC;;;OAGG;IAEH;;;;OAIG;IACU,sBAAsB,CACjC,UAAU,EAAE,GAAG,EACf,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,IAAI,CAAC;CAKjB"}
|
package/src/services/mnemonic.js
CHANGED
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Mnemonic phrase management service.
|
|
4
|
+
* Securely stores mnemonic HMACs for uniqueness checking without exposing phrases.
|
|
5
|
+
* @module services/mnemonic
|
|
6
|
+
*/
|
|
2
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
8
|
exports.MnemonicService = void 0;
|
|
4
9
|
const suite_core_lib_1 = require("@digitaldefiance/suite-core-lib");
|
|
5
10
|
const crypto_1 = require("crypto");
|
|
6
11
|
/**
|
|
7
|
-
*
|
|
8
|
-
* uniqueness without
|
|
12
|
+
* Service for secure mnemonic phrase storage and validation.
|
|
13
|
+
* Uses HMAC for uniqueness checking without storing actual mnemonics.
|
|
14
|
+
* @template TID - Platform ID type (defaults to Buffer)
|
|
9
15
|
*/
|
|
10
16
|
class MnemonicService {
|
|
11
17
|
hmacSecret;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mnemonic.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/mnemonic.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"mnemonic.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/mnemonic.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Service for transforming user documents into request user DTOs and backend objects.
|
|
3
|
+
* Handles serialization and deserialization of user data for API requests and JWT tokens.
|
|
4
|
+
* @module services/request-user
|
|
5
|
+
*/
|
|
1
6
|
import { IRequestUserDTO, ITokenRole } from '@digitaldefiance/suite-core-lib';
|
|
2
7
|
import { IUserDocument } from '../documents';
|
|
3
8
|
import { IRequestUserBackendObject } from '../interfaces/backend-objects/request-user';
|
|
4
9
|
import { PlatformID } from '@digitaldefiance/node-ecies-lib';
|
|
5
|
-
|
|
10
|
+
/**
|
|
11
|
+
* Service for converting between user documents, DTOs, and backend objects.
|
|
12
|
+
* Provides transformation methods for user data in different contexts (API, JWT, database).
|
|
13
|
+
* @template TID Platform-specific ID type (Buffer, ObjectId, etc.)
|
|
14
|
+
* @template _TTokenRole Token role type implementing ITokenRole
|
|
15
|
+
*/
|
|
16
|
+
export declare class RequestUserService<TID extends PlatformID, _TTokenRole extends ITokenRole<TID>> {
|
|
6
17
|
/**
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* @
|
|
18
|
+
* Converts a user document and roles into a request user DTO for API responses.
|
|
19
|
+
* Calculates combined role privileges and serializes IDs to strings.
|
|
20
|
+
* @template TID Platform-specific ID type
|
|
21
|
+
* @template TLanguage Site language string literal type
|
|
22
|
+
* @template TTokenRole Token role type
|
|
23
|
+
* @template TRequestUserDTO Request user DTO type
|
|
24
|
+
* @param userDoc User document from database
|
|
25
|
+
* @param roles Array of token roles for the user
|
|
26
|
+
* @returns Request user DTO suitable for API responses
|
|
27
|
+
* @throws {Error} If user document is missing _id
|
|
10
28
|
*/
|
|
11
|
-
static makeRequestUserDTO<
|
|
29
|
+
static makeRequestUserDTO<TID extends PlatformID, TLanguage extends string, TTokenRole extends ITokenRole<TID>, TRequestUserDTO extends IRequestUserDTO>(userDoc: IUserDocument<TLanguage, TID> | (Pick<IUserDocument<TLanguage, TID>, keyof IUserDocument<TLanguage, TID>> & {
|
|
12
30
|
_id: PlatformID;
|
|
13
31
|
}), roles: TTokenRole[]): TRequestUserDTO;
|
|
14
32
|
/**
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* @
|
|
33
|
+
* Hydrates a request user DTO back into a backend object with typed IDs and dates.
|
|
34
|
+
* Converts string IDs to platform-specific types and reconstitutes Date objects.
|
|
35
|
+
* @template TID Platform-specific ID type
|
|
36
|
+
* @template TLanguage Site language string literal type
|
|
37
|
+
* @template TRequestUserDTO Request user DTO type with site language
|
|
38
|
+
* @param requestUser Request user DTO from API or JWT
|
|
39
|
+
* @returns Backend object with typed IDs and dates
|
|
18
40
|
*/
|
|
19
|
-
static hydrateRequestUser<
|
|
20
|
-
siteLanguage:
|
|
21
|
-
}>(requestUser: TRequestUserDTO): IRequestUserBackendObject<
|
|
41
|
+
static hydrateRequestUser<TID extends PlatformID, TLanguage extends string, TRequestUserDTO extends IRequestUserDTO & {
|
|
42
|
+
siteLanguage: TLanguage;
|
|
43
|
+
}>(requestUser: TRequestUserDTO): IRequestUserBackendObject<TLanguage, TID>;
|
|
22
44
|
}
|
|
23
45
|
//# sourceMappingURL=request-user.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-user.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/request-user.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAEf,UAAU,EACX,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AAEvF,OAAO,EAEL,UAAU,EACX,MAAM,iCAAiC,CAAC;AAEzC,qBAAa,kBAAkB,CAC7B,
|
|
1
|
+
{"version":3,"file":"request-user.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/request-user.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,eAAe,EAEf,UAAU,EACX,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AAEvF,OAAO,EAEL,UAAU,EACX,MAAM,iCAAiC,CAAC;AAEzC;;;;;GAKG;AACH,qBAAa,kBAAkB,CAC7B,GAAG,SAAS,UAAU,EACtB,WAAW,SAAS,UAAU,CAAC,GAAG,CAAC;IAEnC;;;;;;;;;;;OAWG;WACW,kBAAkB,CAC9B,GAAG,SAAS,UAAU,EACtB,SAAS,SAAS,MAAM,EACxB,UAAU,SAAS,UAAU,CAAC,GAAG,CAAC,EAClC,eAAe,SAAS,eAAe,EAEvC,OAAO,EACH,aAAa,CAAC,SAAS,EAAE,GAAG,CAAC,GAC7B,CAAC,IAAI,CACH,aAAa,CAAC,SAAS,EAAE,GAAG,CAAC,EAC7B,MAAM,aAAa,CAAC,SAAS,EAAE,GAAG,CAAC,CACpC,GAAG;QACF,GAAG,EAAE,UAAU,CAAC;KACjB,CAAC,EACN,KAAK,EAAE,UAAU,EAAE,GAClB,eAAe;IA8BlB;;;;;;;;OAQG;WACW,kBAAkB,CAC9B,GAAG,SAAS,UAAU,EACtB,SAAS,SAAS,MAAM,EACxB,eAAe,SAAS,eAAe,GAAG;QAAE,YAAY,EAAE,SAAS,CAAA;KAAE,EACrE,WAAW,EAAE,eAAe,GAAG,yBAAyB,CAAC,SAAS,EAAE,GAAG,CAAC;CA2B3E"}
|
|
@@ -1,13 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Service for transforming user documents into request user DTOs and backend objects.
|
|
4
|
+
* Handles serialization and deserialization of user data for API requests and JWT tokens.
|
|
5
|
+
* @module services/request-user
|
|
6
|
+
*/
|
|
2
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
8
|
exports.RequestUserService = void 0;
|
|
4
9
|
const role_1 = require("./role");
|
|
5
10
|
const node_ecies_lib_1 = require("@digitaldefiance/node-ecies-lib");
|
|
11
|
+
/**
|
|
12
|
+
* Service for converting between user documents, DTOs, and backend objects.
|
|
13
|
+
* Provides transformation methods for user data in different contexts (API, JWT, database).
|
|
14
|
+
* @template TID Platform-specific ID type (Buffer, ObjectId, etc.)
|
|
15
|
+
* @template _TTokenRole Token role type implementing ITokenRole
|
|
16
|
+
*/
|
|
6
17
|
class RequestUserService {
|
|
7
18
|
/**
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* @
|
|
19
|
+
* Converts a user document and roles into a request user DTO for API responses.
|
|
20
|
+
* Calculates combined role privileges and serializes IDs to strings.
|
|
21
|
+
* @template TID Platform-specific ID type
|
|
22
|
+
* @template TLanguage Site language string literal type
|
|
23
|
+
* @template TTokenRole Token role type
|
|
24
|
+
* @template TRequestUserDTO Request user DTO type
|
|
25
|
+
* @param userDoc User document from database
|
|
26
|
+
* @param roles Array of token roles for the user
|
|
27
|
+
* @returns Request user DTO suitable for API responses
|
|
28
|
+
* @throws {Error} If user document is missing _id
|
|
11
29
|
*/
|
|
12
30
|
static makeRequestUserDTO(userDoc, roles) {
|
|
13
31
|
if (!userDoc._id) {
|
|
@@ -37,9 +55,13 @@ class RequestUserService {
|
|
|
37
55
|
};
|
|
38
56
|
}
|
|
39
57
|
/**
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
* @
|
|
58
|
+
* Hydrates a request user DTO back into a backend object with typed IDs and dates.
|
|
59
|
+
* Converts string IDs to platform-specific types and reconstitutes Date objects.
|
|
60
|
+
* @template TID Platform-specific ID type
|
|
61
|
+
* @template TLanguage Site language string literal type
|
|
62
|
+
* @template TRequestUserDTO Request user DTO type with site language
|
|
63
|
+
* @param requestUser Request user DTO from API or JWT
|
|
64
|
+
* @returns Backend object with typed IDs and dates
|
|
43
65
|
*/
|
|
44
66
|
static hydrateRequestUser(requestUser) {
|
|
45
67
|
const provider = (0, node_ecies_lib_1.getEnhancedNodeIdProvider)();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-user.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/request-user.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"request-user.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/request-user.ts"],"names":[],"mappings":"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"}
|
package/src/services/role.d.ts
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Role-based access control (RBAC) service.
|
|
3
|
+
* Manages roles, user-role relationships, and permission checks.
|
|
4
|
+
* @module services/role
|
|
5
|
+
*/
|
|
1
6
|
import { MemberType } from '@digitaldefiance/ecies-lib';
|
|
2
7
|
import { ClientSession } from '@digitaldefiance/mongoose-types';
|
|
3
8
|
import { IRoleBase, ITokenRole, ITokenRoleDTO, Role } from '@digitaldefiance/suite-core-lib';
|
|
@@ -9,34 +14,39 @@ import { IRoleBackendObject } from '../interfaces/backend-objects/role';
|
|
|
9
14
|
import { BaseService } from './base';
|
|
10
15
|
import { type PlatformID } from '@digitaldefiance/node-ecies-lib';
|
|
11
16
|
/**
|
|
12
|
-
* Service for managing roles
|
|
17
|
+
* Service for managing roles and role-based access control.
|
|
18
|
+
* Handles role creation, user-role assignments, and permission queries.
|
|
19
|
+
* @template TID - Platform ID type (defaults to Buffer)
|
|
20
|
+
* @template TDate - Date type (defaults to Date)
|
|
21
|
+
* @template TTokenRole - Token role interface type
|
|
22
|
+
* @extends {BaseService<TID>}
|
|
13
23
|
*/
|
|
14
|
-
export declare class RoleService<
|
|
24
|
+
export declare class RoleService<TID extends PlatformID = Buffer, TDate extends Date = Date, TTokenRole extends ITokenRole<TID, TDate> = ITokenRole<TID, TDate>> extends BaseService<TID> {
|
|
15
25
|
/**
|
|
16
26
|
* Constructor for the role service
|
|
17
27
|
* @param application The application object
|
|
18
28
|
*/
|
|
19
|
-
constructor(application: IApplication<
|
|
20
|
-
static roleToRoleDTO<
|
|
29
|
+
constructor(application: IApplication<TID>);
|
|
30
|
+
static roleToRoleDTO<TID extends PlatformID = Buffer, TDate extends Date = Date>(role: ITokenRole<TID, TDate> | IRoleDocument<TID> | Partial<IRoleBase<TID>>): ITokenRoleDTO;
|
|
21
31
|
/**
|
|
22
32
|
* Given a Role DTO, reconstitute ids and dates
|
|
23
33
|
* @param role The Role DTO
|
|
24
34
|
* @returns An IRoleBackendObject
|
|
25
35
|
*/
|
|
26
|
-
static hydrateRoleDTOToBackend<
|
|
36
|
+
static hydrateRoleDTOToBackend<TID extends PlatformID = Buffer>(role: ITokenRoleDTO): IRoleBackendObject<TID>;
|
|
27
37
|
/**
|
|
28
38
|
* Gets the role ID by name
|
|
29
39
|
* @param roleName The name of the role
|
|
30
40
|
* @returns The role ID or null if not found
|
|
31
41
|
*/
|
|
32
|
-
getRoleIdByName(roleName: Role, session?: ClientSession): Promise<
|
|
42
|
+
getRoleIdByName(roleName: Role, session?: ClientSession): Promise<TID | null>;
|
|
33
43
|
/**
|
|
34
44
|
* Creates a new role
|
|
35
45
|
* @param roleData The role data
|
|
36
46
|
* @param session Optional mongoose session
|
|
37
47
|
* @returns The created role document
|
|
38
48
|
*/
|
|
39
|
-
createRole(roleData: IRoleBase<
|
|
49
|
+
createRole(roleData: IRoleBase<TID, TDate, Role>, session?: ClientSession | null): Promise<IRoleDocument<TID>>;
|
|
40
50
|
/**
|
|
41
51
|
* Adds a user to a role
|
|
42
52
|
* @param roleId - The role id
|
|
@@ -44,7 +54,7 @@ export declare class RoleService<I extends PlatformID = Buffer, D extends Date =
|
|
|
44
54
|
* @param createdBy - The user creating the relationship
|
|
45
55
|
* @param session Optional mongoose session
|
|
46
56
|
*/
|
|
47
|
-
addUserToRole(roleId:
|
|
57
|
+
addUserToRole(roleId: TID, userId: TID, createdBy: TID, session?: ClientSession, overrideId?: TID): Promise<IUserRoleDocument<TID>>;
|
|
48
58
|
/**
|
|
49
59
|
* Removes a user from a role
|
|
50
60
|
* @param roleId - The role id
|
|
@@ -53,7 +63,7 @@ export declare class RoleService<I extends PlatformID = Buffer, D extends Date =
|
|
|
53
63
|
* @param session Optional mongoose session
|
|
54
64
|
* @throws LastAdminError if attempting to remove the last admin
|
|
55
65
|
*/
|
|
56
|
-
removeUserFromRole(roleId:
|
|
66
|
+
removeUserFromRole(roleId: TID, userId: TID, deletedBy: TID, session?: ClientSession): Promise<void>;
|
|
57
67
|
/**
|
|
58
68
|
* Deletes a role by ID
|
|
59
69
|
* @param roleId The role ID
|
|
@@ -61,27 +71,27 @@ export declare class RoleService<I extends PlatformID = Buffer, D extends Date =
|
|
|
61
71
|
* @param hardDelete Whether to hard delete the role
|
|
62
72
|
* @param session Optional mongoose session
|
|
63
73
|
*/
|
|
64
|
-
deleteRole(roleId:
|
|
74
|
+
deleteRole(roleId: TID, deleter: TID, hardDelete: boolean, session?: ClientSession): Promise<void>;
|
|
65
75
|
/**
|
|
66
76
|
* Gets all roles for a user
|
|
67
77
|
* @param userId The user ID
|
|
68
78
|
* @param session Optional mongoose session
|
|
69
79
|
* @returns The roles the user is a member of
|
|
70
80
|
*/
|
|
71
|
-
getUserRoles(userId:
|
|
81
|
+
getUserRoles(userId: TID, session?: ClientSession): Promise<IRoleDocument<TID>[]>;
|
|
72
82
|
/**
|
|
73
83
|
* Gets all users for a role
|
|
74
84
|
* @param roleId The role ID
|
|
75
85
|
* @param session Optional mongoose session
|
|
76
86
|
* @returns The user IDs that are members of the role
|
|
77
87
|
*/
|
|
78
|
-
getRoleUsers(roleId:
|
|
88
|
+
getRoleUsers(roleId: TID, session?: ClientSession): Promise<TID[]>;
|
|
79
89
|
/** Convert roles to translated TokenRoles */
|
|
80
|
-
rolesToTokenRoles(roles: Array<IRoleBackendObject<
|
|
81
|
-
isUserAdmin(userDoc: IUserDocument<string,
|
|
82
|
-
isUserMember(userDoc: IUserDocument<string,
|
|
83
|
-
isUserChild(userDoc: IUserDocument<string,
|
|
84
|
-
isSystemUser(userDoc: IUserDocument<string,
|
|
85
|
-
getMemberType(userDoc: IUserDocument<string,
|
|
90
|
+
rolesToTokenRoles(roles: Array<IRoleBackendObject<TID>>, overrideLanguage?: string): Array<TTokenRole>;
|
|
91
|
+
isUserAdmin(userDoc: IUserDocument<string, TID>, session?: ClientSession, providedRoles?: Array<IRoleDocument<TID>>): Promise<boolean>;
|
|
92
|
+
isUserMember(userDoc: IUserDocument<string, TID>, session?: ClientSession, providedRoles?: Array<IRoleDocument<TID>>): Promise<boolean>;
|
|
93
|
+
isUserChild(userDoc: IUserDocument<string, TID>, session?: ClientSession, providedRoles?: Array<IRoleDocument<TID>>): Promise<boolean>;
|
|
94
|
+
isSystemUser(userDoc: IUserDocument<string, TID>, session?: ClientSession, providedRoles?: Array<IRoleDocument<TID>>): Promise<boolean>;
|
|
95
|
+
getMemberType(userDoc: IUserDocument<string, TID>, session?: ClientSession, providedRoles?: Array<IRoleDocument<TID>>): Promise<MemberType>;
|
|
86
96
|
}
|
|
87
97
|
//# sourceMappingURL=role.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"role.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/role.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAMxD,OAAO,EAAE,aAAa,EAAY,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EACL,SAAS,EAET,UAAU,EACV,aAAa,EAEb,IAAI,EACL,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAGxE,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAEL,KAAK,UAAU,EAChB,MAAM,iCAAiC,CAAC;AAEzC
|
|
1
|
+
{"version":3,"file":"role.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/role.ts"],"names":[],"mappings":"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"}
|
package/src/services/role.js
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Role-based access control (RBAC) service.
|
|
4
|
+
* Manages roles, user-role relationships, and permission checks.
|
|
5
|
+
* @module services/role
|
|
6
|
+
*/
|
|
2
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
8
|
exports.RoleService = void 0;
|
|
4
9
|
const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
|
|
@@ -11,7 +16,12 @@ const utils_1 = require("../utils");
|
|
|
11
16
|
const base_1 = require("./base");
|
|
12
17
|
const node_ecies_lib_1 = require("@digitaldefiance/node-ecies-lib");
|
|
13
18
|
/**
|
|
14
|
-
* Service for managing roles
|
|
19
|
+
* Service for managing roles and role-based access control.
|
|
20
|
+
* Handles role creation, user-role assignments, and permission queries.
|
|
21
|
+
* @template TID - Platform ID type (defaults to Buffer)
|
|
22
|
+
* @template TDate - Date type (defaults to Date)
|
|
23
|
+
* @template TTokenRole - Token role interface type
|
|
24
|
+
* @extends {BaseService<TID>}
|
|
15
25
|
*/
|
|
16
26
|
class RoleService extends base_1.BaseService {
|
|
17
27
|
/**
|
package/src/services/role.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"role.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/role.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"role.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/role.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,40 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Service for symmetric encryption operations using AES-256-GCM.
|
|
3
|
+
* Provides encryption/decryption for buffers and JSON data with automatic key generation.
|
|
4
|
+
* @module services/symmetric
|
|
5
|
+
*/
|
|
1
6
|
import { IECIESConstants } from '@digitaldefiance/ecies-lib';
|
|
2
7
|
import { ISymmetricEncryptionResults } from '../interfaces/symmetric-encryption-results';
|
|
3
8
|
/**
|
|
4
|
-
* Service for handling symmetric encryption operations.
|
|
5
|
-
*
|
|
6
|
-
* - AES encryption/decryption of buffers and JSON data
|
|
7
|
-
* - Key and IV generation
|
|
8
|
-
* - Secure cryptographic operations
|
|
9
|
+
* Service for handling symmetric encryption operations using AES-256-GCM.
|
|
10
|
+
* Provides functionality for encrypting/decrypting buffers and JSON data with automatic key generation.
|
|
9
11
|
*/
|
|
10
12
|
export declare class SymmetricService {
|
|
13
|
+
/**
|
|
14
|
+
* Gets the symmetric key size in bits from ECIES constants.
|
|
15
|
+
* @param eciesConstants ECIES constants (defaults to ECIES)
|
|
16
|
+
* @returns Symmetric key size in bits
|
|
17
|
+
*/
|
|
11
18
|
static symmetricKeyBits(eciesConstants?: IECIESConstants): number;
|
|
19
|
+
/**
|
|
20
|
+
* Gets the symmetric key size in bytes from ECIES constants.
|
|
21
|
+
* @param eciesConstants ECIES constants (defaults to ECIES)
|
|
22
|
+
* @returns Symmetric key size in bytes
|
|
23
|
+
*/
|
|
12
24
|
static symmetricKeyBytes(eciesConstants?: IECIESConstants): number;
|
|
13
25
|
/**
|
|
14
|
-
*
|
|
15
|
-
* @param data
|
|
16
|
-
* @param encryptionKey Optional encryption key (
|
|
26
|
+
* Encrypts data with AES-256-GCM.
|
|
27
|
+
* @param data Buffer to encrypt
|
|
28
|
+
* @param encryptionKey Optional encryption key (randomly generated if not provided)
|
|
29
|
+
* @param eciesConstants ECIES constants (defaults to ECIES)
|
|
17
30
|
* @returns Object containing encrypted data and key
|
|
31
|
+
* @throws {SymmetricError} If encryption key length is invalid
|
|
18
32
|
*/
|
|
19
33
|
static encryptBuffer(data: Buffer, encryptionKey?: Buffer, eciesConstants?: IECIESConstants): ISymmetricEncryptionResults;
|
|
20
34
|
/**
|
|
21
|
-
*
|
|
22
|
-
* @param encryptedData
|
|
23
|
-
* @param key
|
|
35
|
+
* Decrypts data with AES-256-GCM.
|
|
36
|
+
* @param encryptedData Encrypted data buffer (includes IV, ciphertext, and auth tag)
|
|
37
|
+
* @param key Decryption key
|
|
38
|
+
* @param eciesConstants ECIES constants (defaults to ECIES)
|
|
24
39
|
* @returns Decrypted data as a Buffer
|
|
25
40
|
*/
|
|
26
41
|
static decryptBuffer(encryptedData: Buffer, key: Buffer, eciesConstants?: IECIESConstants): Buffer;
|
|
27
42
|
/**
|
|
28
|
-
*
|
|
29
|
-
* @
|
|
30
|
-
* @param
|
|
43
|
+
* Encrypts JSON data with AES-256-GCM.
|
|
44
|
+
* @template T Type of data to encrypt
|
|
45
|
+
* @param data Data to encrypt (will be JSON stringified)
|
|
46
|
+
* @param encryptionKey Optional encryption key (randomly generated if not provided)
|
|
31
47
|
* @returns Object containing encrypted data and key
|
|
48
|
+
* @throws {SymmetricError} If data is null or undefined
|
|
32
49
|
*/
|
|
33
50
|
static encryptJson<T>(data: T, encryptionKey?: Buffer): ISymmetricEncryptionResults;
|
|
34
51
|
/**
|
|
35
|
-
*
|
|
36
|
-
* @
|
|
37
|
-
* @param
|
|
52
|
+
* Decrypts data with AES-256-GCM and parses as JSON.
|
|
53
|
+
* @template T Type of data to decrypt
|
|
54
|
+
* @param encryptedData Encrypted data buffer
|
|
55
|
+
* @param key Decryption key
|
|
38
56
|
* @returns Decrypted data parsed as type T
|
|
39
57
|
*/
|
|
40
58
|
static decryptJson<T>(encryptedData: Buffer, key: Buffer): T;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symmetric.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/symmetric.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAIpE,OAAO,EAAE,2BAA2B,EAAE,MAAM,4CAA4C,CAAC;
|
|
1
|
+
{"version":3,"file":"symmetric.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/symmetric.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAS,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAIpE,OAAO,EAAE,2BAA2B,EAAE,MAAM,4CAA4C,CAAC;AAYzF;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B;;;;OAIG;WACW,gBAAgB,CAC5B,cAAc,GAAE,eAAuB,GACtC,MAAM;IAIT;;;;OAIG;WACW,iBAAiB,CAC7B,cAAc,GAAE,eAAuB,GACtC,MAAM;IAIT;;;;;;;OAOG;WACW,aAAa,CACzB,IAAI,EAAE,MAAM,EACZ,aAAa,CAAC,EAAE,MAAM,EACtB,cAAc,GAAE,eAAuB,GACtC,2BAA2B;IAmC9B;;;;;;OAMG;WACW,aAAa,CACzB,aAAa,EAAE,MAAM,EACrB,GAAG,EAAE,MAAM,EACX,cAAc,GAAE,eAAuB,GACtC,MAAM;IAmBT;;;;;;;OAOG;WACW,WAAW,CAAC,CAAC,EACzB,IAAI,EAAE,CAAC,EACP,aAAa,CAAC,EAAE,MAAM,GACrB,2BAA2B;IAc9B;;;;;;OAMG;WACW,WAAW,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC;CAKpE"}
|