@venizia/ignis 0.3.0 → 0.3.1
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/dist/base/applications/base.d.ts +0 -1
- package/dist/base/applications/base.js.map +1 -1
- package/dist/base/applications/boot-steps.d.ts +0 -1
- package/dist/base/applications/boot-steps.js.map +1 -1
- package/dist/base/applications/common/index.d.ts +0 -1
- package/dist/base/applications/common/index.js.map +1 -1
- package/dist/base/applications/common/types.d.ts +0 -1
- package/dist/base/applications/common/types.js.map +1 -1
- package/dist/base/applications/index.d.ts +0 -1
- package/dist/base/applications/index.js.map +1 -1
- package/dist/base/applications/server.d.ts +0 -1
- package/dist/base/applications/server.js.map +1 -1
- package/dist/base/controllers/grpc/abstract.d.ts +0 -1
- package/dist/base/controllers/grpc/abstract.js.map +1 -1
- package/dist/base/controllers/grpc/adapter.d.ts +0 -1
- package/dist/base/controllers/grpc/adapter.js.map +1 -1
- package/dist/base/controllers/grpc/base.d.ts +0 -1
- package/dist/base/controllers/grpc/base.js.map +1 -1
- package/dist/base/controllers/grpc/common/index.d.ts +0 -1
- package/dist/base/controllers/grpc/common/index.js.map +1 -1
- package/dist/base/controllers/grpc/common/types.d.ts +0 -1
- package/dist/base/controllers/grpc/common/types.js.map +1 -1
- package/dist/base/controllers/grpc/index.d.ts +0 -1
- package/dist/base/controllers/grpc/index.js.map +1 -1
- package/dist/base/controllers/index.d.ts +0 -1
- package/dist/base/controllers/index.js.map +1 -1
- package/dist/base/index.d.ts +0 -1
- package/dist/base/index.js.map +1 -1
- package/dist/base/metadata/index.d.ts +0 -1
- package/dist/base/metadata/index.js.map +1 -1
- package/dist/base/metadata/request-context.d.ts +0 -1
- package/dist/base/metadata/request-context.js.map +1 -1
- package/dist/base/middlewares/app-error/app-error.middleware.d.ts +0 -1
- package/dist/base/middlewares/app-error/app-error.middleware.js.map +1 -1
- package/dist/base/middlewares/app-error/index.d.ts +0 -1
- package/dist/base/middlewares/app-error/index.js.map +1 -1
- package/dist/base/middlewares/index.d.ts +0 -1
- package/dist/base/middlewares/index.js.map +1 -1
- package/dist/base/middlewares/request-spy/index.d.ts +0 -1
- package/dist/base/middlewares/request-spy/index.js.map +1 -1
- package/dist/base/middlewares/request-spy/request-spy.middleware.d.ts +0 -1
- package/dist/base/middlewares/request-spy/request-spy.middleware.js.map +1 -1
- package/dist/common/constants.d.ts +0 -1
- package/dist/common/constants.js.map +1 -1
- package/dist/common/environments.d.ts +0 -1
- package/dist/common/environments.js.map +1 -1
- package/dist/common/index.d.ts +0 -1
- package/dist/common/index.js.map +1 -1
- package/dist/components/api-reference/common/constants.d.ts +0 -1
- package/dist/components/api-reference/common/constants.js.map +1 -1
- package/dist/components/api-reference/common/index.d.ts +0 -1
- package/dist/components/api-reference/common/index.js.map +1 -1
- package/dist/components/api-reference/common/keys.d.ts +0 -1
- package/dist/components/api-reference/common/keys.js.map +1 -1
- package/dist/components/api-reference/common/types.d.ts +0 -1
- package/dist/components/api-reference/common/types.js.map +1 -1
- package/dist/components/api-reference/component.d.ts +0 -1
- package/dist/components/api-reference/component.js.map +1 -1
- package/dist/components/api-reference/index.d.ts +0 -1
- package/dist/components/api-reference/index.js.map +1 -1
- package/dist/components/api-reference/ui/factory.d.ts +0 -1
- package/dist/components/api-reference/ui/factory.js.map +1 -1
- package/dist/components/api-reference/ui/index.d.ts +0 -1
- package/dist/components/api-reference/ui/index.js.map +1 -1
- package/dist/components/api-reference/ui/scalar.d.ts +0 -1
- package/dist/components/api-reference/ui/scalar.js.map +1 -1
- package/dist/components/api-reference/ui/swagger.d.ts +0 -1
- package/dist/components/api-reference/ui/swagger.js.map +1 -1
- package/dist/components/auth/authenticate/component.d.ts +0 -1
- package/dist/components/auth/authenticate/component.js.map +1 -1
- package/dist/components/auth/authenticate/controllers/factory.d.ts +0 -1
- package/dist/components/auth/authenticate/controllers/factory.js.map +1 -1
- package/dist/components/auth/authenticate/controllers/index.d.ts +0 -1
- package/dist/components/auth/authenticate/controllers/index.js.map +1 -1
- package/dist/components/auth/authenticate/controllers/jwks/controller.d.ts +0 -1
- package/dist/components/auth/authenticate/controllers/jwks/controller.js.map +1 -1
- package/dist/components/auth/authenticate/controllers/jwks/definitions.d.ts +0 -1
- package/dist/components/auth/authenticate/controllers/jwks/definitions.js.map +1 -1
- package/dist/components/auth/authenticate/controllers/jwks/index.d.ts +0 -1
- package/dist/components/auth/authenticate/controllers/jwks/index.js.map +1 -1
- package/dist/components/auth/authenticate/controllers/service-certs/controller.d.ts +0 -1
- package/dist/components/auth/authenticate/controllers/service-certs/controller.js.map +1 -1
- package/dist/components/auth/authenticate/controllers/service-certs/definitions.d.ts +0 -1
- package/dist/components/auth/authenticate/controllers/service-certs/definitions.js.map +1 -1
- package/dist/components/auth/authenticate/controllers/service-certs/index.d.ts +0 -1
- package/dist/components/auth/authenticate/controllers/service-certs/index.js.map +1 -1
- package/dist/components/auth/authenticate/index.d.ts +0 -1
- package/dist/components/auth/authenticate/index.js.map +1 -1
- package/dist/components/auth/authenticate/services/basic/index.d.ts +0 -1
- package/dist/components/auth/authenticate/services/basic/index.js.map +1 -1
- package/dist/components/auth/authenticate/services/basic/service.d.ts +0 -1
- package/dist/components/auth/authenticate/services/basic/service.js.map +1 -1
- package/dist/components/auth/authenticate/services/bearer/abstract.service.d.ts +0 -1
- package/dist/components/auth/authenticate/services/bearer/abstract.service.js.map +1 -1
- package/dist/components/auth/authenticate/services/bearer/index.d.ts +0 -1
- package/dist/components/auth/authenticate/services/bearer/index.js.map +1 -1
- package/dist/components/auth/authenticate/services/bearer/jwks/abstract.service.d.ts +0 -1
- package/dist/components/auth/authenticate/services/bearer/jwks/abstract.service.js.map +1 -1
- package/dist/components/auth/authenticate/services/bearer/jwks/index.d.ts +0 -1
- package/dist/components/auth/authenticate/services/bearer/jwks/index.js.map +1 -1
- package/dist/components/auth/authenticate/services/bearer/jwks/issuer.service.d.ts +0 -1
- package/dist/components/auth/authenticate/services/bearer/jwks/issuer.service.js.map +1 -1
- package/dist/components/auth/authenticate/services/bearer/jwks/verifier.service.d.ts +0 -1
- package/dist/components/auth/authenticate/services/bearer/jwks/verifier.service.js.map +1 -1
- package/dist/components/auth/authenticate/services/bearer/jws.service.d.ts +0 -1
- package/dist/components/auth/authenticate/services/bearer/jws.service.js.map +1 -1
- package/dist/components/auth/authenticate/services/index.d.ts +0 -1
- package/dist/components/auth/authenticate/services/index.js.map +1 -1
- package/dist/components/auth/authenticate/services/jose-loader.d.ts +0 -1
- package/dist/components/auth/authenticate/services/jose-loader.js.map +1 -1
- package/dist/components/auth/authenticate/services/service/index.d.ts +0 -1
- package/dist/components/auth/authenticate/services/service/index.js.map +1 -1
- package/dist/components/auth/authenticate/services/service/signer.service.d.ts +0 -1
- package/dist/components/auth/authenticate/services/service/signer.service.js.map +1 -1
- package/dist/components/auth/authenticate/services/service/verifier.service.d.ts +0 -1
- package/dist/components/auth/authenticate/services/service/verifier.service.js.map +1 -1
- package/dist/components/auth/authenticate/strategies/basic.strategy.d.ts +0 -1
- package/dist/components/auth/authenticate/strategies/basic.strategy.js.map +1 -1
- package/dist/components/auth/authenticate/strategies/index.d.ts +0 -1
- package/dist/components/auth/authenticate/strategies/index.js.map +1 -1
- package/dist/components/auth/authenticate/strategies/jwks/index.d.ts +0 -1
- package/dist/components/auth/authenticate/strategies/jwks/index.js.map +1 -1
- package/dist/components/auth/authenticate/strategies/jwks/issuer.d.ts +0 -1
- package/dist/components/auth/authenticate/strategies/jwks/issuer.js.map +1 -1
- package/dist/components/auth/authenticate/strategies/jwks/verifier.d.ts +0 -1
- package/dist/components/auth/authenticate/strategies/jwks/verifier.js.map +1 -1
- package/dist/components/auth/authenticate/strategies/jws.strategy.d.ts +0 -1
- package/dist/components/auth/authenticate/strategies/jws.strategy.js.map +1 -1
- package/dist/components/auth/authenticate/strategies/service.strategy.d.ts +0 -1
- package/dist/components/auth/authenticate/strategies/service.strategy.js.map +1 -1
- package/dist/components/auth/authorize/adapters/base-filtered.d.ts +0 -1
- package/dist/components/auth/authorize/adapters/base-filtered.js.map +1 -1
- package/dist/components/auth/authorize/adapters/common/index.d.ts +0 -1
- package/dist/components/auth/authorize/adapters/common/index.js.map +1 -1
- package/dist/components/auth/authorize/adapters/common/types.d.ts +0 -1
- package/dist/components/auth/authorize/adapters/common/types.js.map +1 -1
- package/dist/components/auth/authorize/adapters/connector.d.ts +0 -1
- package/dist/components/auth/authorize/adapters/connector.js.map +1 -1
- package/dist/components/auth/authorize/adapters/custom-grant-expander.d.ts +0 -1
- package/dist/components/auth/authorize/adapters/custom-grant-expander.js.map +1 -1
- package/dist/components/auth/authorize/adapters/index.d.ts +0 -1
- package/dist/components/auth/authorize/adapters/index.js.map +1 -1
- package/dist/components/auth/authorize/adapters/scoped-casbin/adapter.d.ts +0 -1
- package/dist/components/auth/authorize/adapters/scoped-casbin/adapter.js.map +1 -1
- package/dist/components/auth/authorize/adapters/scoped-casbin/common/constants.d.ts +0 -1
- package/dist/components/auth/authorize/adapters/scoped-casbin/common/constants.js.map +1 -1
- package/dist/components/auth/authorize/adapters/scoped-casbin/common/index.d.ts +0 -1
- package/dist/components/auth/authorize/adapters/scoped-casbin/common/index.js.map +1 -1
- package/dist/components/auth/authorize/adapters/scoped-casbin/common/types.d.ts +0 -1
- package/dist/components/auth/authorize/adapters/scoped-casbin/common/types.js.map +1 -1
- package/dist/components/auth/authorize/adapters/scoped-casbin/index.d.ts +0 -1
- package/dist/components/auth/authorize/adapters/scoped-casbin/index.js.map +1 -1
- package/dist/components/auth/authorize/adapters/scoped-casbin/policy-edges.d.ts +0 -1
- package/dist/components/auth/authorize/adapters/scoped-casbin/policy-edges.js.map +1 -1
- package/dist/components/auth/authorize/component.d.ts +0 -1
- package/dist/components/auth/authorize/component.js.map +1 -1
- package/dist/components/auth/authorize/enforcers/casbin-module.d.ts +0 -1
- package/dist/components/auth/authorize/enforcers/casbin-module.js.map +1 -1
- package/dist/components/auth/authorize/enforcers/casbin.enforcer.d.ts +0 -1
- package/dist/components/auth/authorize/enforcers/casbin.enforcer.js.map +1 -1
- package/dist/components/auth/authorize/enforcers/index.d.ts +0 -1
- package/dist/components/auth/authorize/enforcers/index.js.map +1 -1
- package/dist/components/auth/authorize/enforcers/models/index.d.ts +0 -1
- package/dist/components/auth/authorize/enforcers/models/index.js.map +1 -1
- package/dist/components/auth/authorize/enforcers/models/rbac-domain.model.d.ts +0 -1
- package/dist/components/auth/authorize/enforcers/models/rbac-domain.model.js.map +1 -1
- package/dist/components/auth/authorize/enforcers/policy-line-codec.d.ts +0 -1
- package/dist/components/auth/authorize/enforcers/policy-line-codec.js.map +1 -1
- package/dist/components/auth/authorize/enforcers/user-policy-line-cache.d.ts +0 -1
- package/dist/components/auth/authorize/enforcers/user-policy-line-cache.js.map +1 -1
- package/dist/components/auth/authorize/index.d.ts +0 -1
- package/dist/components/auth/authorize/index.js.map +1 -1
- package/dist/components/auth/authorize/role-managers/base.d.ts +0 -1
- package/dist/components/auth/authorize/role-managers/base.js.map +1 -1
- package/dist/components/auth/authorize/role-managers/domain-hierarchy.d.ts +0 -1
- package/dist/components/auth/authorize/role-managers/domain-hierarchy.js.map +1 -1
- package/dist/components/auth/authorize/role-managers/index.d.ts +0 -1
- package/dist/components/auth/authorize/role-managers/index.js.map +1 -1
- package/dist/components/auth/authorize/role-managers/membership.d.ts +0 -1
- package/dist/components/auth/authorize/role-managers/membership.js.map +1 -1
- package/dist/components/auth/authorize/role-managers/resource.d.ts +0 -1
- package/dist/components/auth/authorize/role-managers/resource.js.map +1 -1
- package/dist/components/auth/index.d.ts +0 -1
- package/dist/components/auth/index.js.map +1 -1
- package/dist/components/auth/models/entities/index.d.ts +0 -1
- package/dist/components/auth/models/entities/index.js.map +1 -1
- package/dist/components/auth/models/entities/permission.model.d.ts +0 -1
- package/dist/components/auth/models/entities/permission.model.js.map +1 -1
- package/dist/components/auth/models/entities/policy-definition.model.d.ts +0 -1
- package/dist/components/auth/models/entities/policy-definition.model.js.map +1 -1
- package/dist/components/auth/models/entities/role.model.d.ts +0 -1
- package/dist/components/auth/models/entities/role.model.js.map +1 -1
- package/dist/components/auth/models/entities/user.model.d.ts +0 -1
- package/dist/components/auth/models/entities/user.model.js.map +1 -1
- package/dist/components/auth/models/index.d.ts +0 -1
- package/dist/components/auth/models/index.js.map +1 -1
- package/dist/components/controller/grpc/common/index.d.ts +0 -1
- package/dist/components/controller/grpc/common/index.js.map +1 -1
- package/dist/components/controller/grpc/common/types.d.ts +0 -1
- package/dist/components/controller/grpc/common/types.js.map +1 -1
- package/dist/components/controller/grpc/grpc.component.d.ts +0 -1
- package/dist/components/controller/grpc/grpc.component.js.map +1 -1
- package/dist/components/controller/grpc/index.d.ts +0 -1
- package/dist/components/controller/grpc/index.js.map +1 -1
- package/dist/components/controller/index.d.ts +0 -1
- package/dist/components/controller/index.js.map +1 -1
- package/dist/components/health-check/common/constants.d.ts +0 -1
- package/dist/components/health-check/common/constants.js.map +1 -1
- package/dist/components/health-check/common/index.d.ts +0 -1
- package/dist/components/health-check/common/index.js.map +1 -1
- package/dist/components/health-check/common/keys.d.ts +0 -1
- package/dist/components/health-check/common/keys.js.map +1 -1
- package/dist/components/health-check/common/rest-paths.d.ts +0 -1
- package/dist/components/health-check/common/rest-paths.js.map +1 -1
- package/dist/components/health-check/common/types.d.ts +0 -1
- package/dist/components/health-check/common/types.js.map +1 -1
- package/dist/components/health-check/component.d.ts +0 -1
- package/dist/components/health-check/component.js.map +1 -1
- package/dist/components/health-check/controller.d.ts +0 -1
- package/dist/components/health-check/controller.js.map +1 -1
- package/dist/components/health-check/index.d.ts +0 -1
- package/dist/components/health-check/index.js.map +1 -1
- package/dist/components/health-check/reporter.d.ts +0 -1
- package/dist/components/health-check/reporter.js.map +1 -1
- package/dist/components/index.d.ts +0 -1
- package/dist/components/index.js.map +1 -1
- package/dist/components/mail/common/constants.d.ts +0 -1
- package/dist/components/mail/common/constants.js.map +1 -1
- package/dist/components/mail/common/errors.d.ts +0 -1
- package/dist/components/mail/common/errors.js.map +1 -1
- package/dist/components/mail/common/index.d.ts +0 -1
- package/dist/components/mail/common/index.js.map +1 -1
- package/dist/components/mail/common/keys.d.ts +0 -1
- package/dist/components/mail/common/keys.js.map +1 -1
- package/dist/components/mail/common/types/index.d.ts +0 -1
- package/dist/components/mail/common/types/index.js.map +1 -1
- package/dist/components/mail/common/types/message.d.ts +0 -1
- package/dist/components/mail/common/types/message.js.map +1 -1
- package/dist/components/mail/common/types/options.d.ts +0 -1
- package/dist/components/mail/common/types/options.js.map +1 -1
- package/dist/components/mail/common/types/queue.d.ts +0 -1
- package/dist/components/mail/common/types/queue.js.map +1 -1
- package/dist/components/mail/common/types/template.d.ts +0 -1
- package/dist/components/mail/common/types/template.js.map +1 -1
- package/dist/components/mail/common/types/verification.d.ts +0 -1
- package/dist/components/mail/common/types/verification.js.map +1 -1
- package/dist/components/mail/component.d.ts +0 -1
- package/dist/components/mail/component.js.map +1 -1
- package/dist/components/mail/helpers/executors/bull-mq-executor.helper.d.ts +0 -1
- package/dist/components/mail/helpers/executors/bull-mq-executor.helper.js.map +1 -1
- package/dist/components/mail/helpers/executors/direct-executor.helper.d.ts +0 -1
- package/dist/components/mail/helpers/executors/direct-executor.helper.js.map +1 -1
- package/dist/components/mail/helpers/executors/index.d.ts +0 -1
- package/dist/components/mail/helpers/executors/index.js.map +1 -1
- package/dist/components/mail/helpers/executors/internal-queue-executor.helper.d.ts +0 -1
- package/dist/components/mail/helpers/executors/internal-queue-executor.helper.js.map +1 -1
- package/dist/components/mail/helpers/index.d.ts +0 -1
- package/dist/components/mail/helpers/index.js.map +1 -1
- package/dist/components/mail/helpers/transporters/amazon-ses-transporter.helper.d.ts +0 -1
- package/dist/components/mail/helpers/transporters/amazon-ses-transporter.helper.js.map +1 -1
- package/dist/components/mail/helpers/transporters/index.d.ts +0 -1
- package/dist/components/mail/helpers/transporters/index.js.map +1 -1
- package/dist/components/mail/helpers/transporters/mailgun-transporter.helper.d.ts +0 -1
- package/dist/components/mail/helpers/transporters/mailgun-transporter.helper.js.map +1 -1
- package/dist/components/mail/helpers/transporters/nodemail-transporter.helper.d.ts +0 -1
- package/dist/components/mail/helpers/transporters/nodemail-transporter.helper.js.map +1 -1
- package/dist/components/mail/index.d.ts +0 -1
- package/dist/components/mail/index.js.map +1 -1
- package/dist/components/mail/providers/index.d.ts +0 -1
- package/dist/components/mail/providers/index.js.map +1 -1
- package/dist/components/mail/providers/mail-queue-executor.provider.d.ts +0 -1
- package/dist/components/mail/providers/mail-queue-executor.provider.js.map +1 -1
- package/dist/components/mail/providers/mail-transporter.provider.d.ts +0 -1
- package/dist/components/mail/providers/mail-transporter.provider.js.map +1 -1
- package/dist/components/mail/services/generators/index.d.ts +0 -1
- package/dist/components/mail/services/generators/index.js.map +1 -1
- package/dist/components/mail/services/generators/numeric-code.d.ts +0 -1
- package/dist/components/mail/services/generators/numeric-code.js.map +1 -1
- package/dist/components/mail/services/generators/random-token.d.ts +0 -1
- package/dist/components/mail/services/generators/random-token.js.map +1 -1
- package/dist/components/mail/services/generators/verification-data.d.ts +0 -1
- package/dist/components/mail/services/generators/verification-data.js.map +1 -1
- package/dist/components/mail/services/index.d.ts +0 -1
- package/dist/components/mail/services/index.js.map +1 -1
- package/dist/components/mail/services/mail.service.d.ts +0 -1
- package/dist/components/mail/services/mail.service.js.map +1 -1
- package/dist/components/mail/services/template.service.d.ts +0 -1
- package/dist/components/mail/services/template.service.js.map +1 -1
- package/dist/components/mail/utilities/address.utility.d.ts +0 -1
- package/dist/components/mail/utilities/address.utility.js.map +1 -1
- package/dist/components/mail/utilities/attachment.utility.d.ts +0 -1
- package/dist/components/mail/utilities/attachment.utility.js.map +1 -1
- package/dist/components/mail/utilities/body.utility.d.ts +0 -1
- package/dist/components/mail/utilities/body.utility.js.map +1 -1
- package/dist/components/mail/utilities/index.d.ts +0 -1
- package/dist/components/mail/utilities/index.js.map +1 -1
- package/dist/components/mail/utilities/mime.utility.d.ts +0 -1
- package/dist/components/mail/utilities/mime.utility.js.map +1 -1
- package/dist/components/mail/utilities/type.utility.d.ts +0 -1
- package/dist/components/mail/utilities/type.utility.js.map +1 -1
- package/dist/components/mail/utilities/verification.utility.d.ts +0 -1
- package/dist/components/mail/utilities/verification.utility.js.map +1 -1
- package/dist/components/request-tracker/component.d.ts +0 -1
- package/dist/components/request-tracker/component.js.map +1 -1
- package/dist/components/request-tracker/index.d.ts +0 -1
- package/dist/components/request-tracker/index.js.map +1 -1
- package/dist/components/socket-io/common/index.d.ts +0 -1
- package/dist/components/socket-io/common/index.js.map +1 -1
- package/dist/components/socket-io/common/keys.d.ts +0 -1
- package/dist/components/socket-io/common/keys.js.map +1 -1
- package/dist/components/socket-io/common/types.d.ts +0 -1
- package/dist/components/socket-io/common/types.js.map +1 -1
- package/dist/components/socket-io/component.d.ts +0 -1
- package/dist/components/socket-io/component.js.map +1 -1
- package/dist/components/socket-io/handlers/bun.handler.d.ts +0 -1
- package/dist/components/socket-io/handlers/bun.handler.js.map +1 -1
- package/dist/components/socket-io/handlers/index.d.ts +0 -1
- package/dist/components/socket-io/handlers/index.js.map +1 -1
- package/dist/components/socket-io/handlers/node.handler.d.ts +0 -1
- package/dist/components/socket-io/handlers/node.handler.js.map +1 -1
- package/dist/components/socket-io/index.d.ts +0 -1
- package/dist/components/socket-io/index.js.map +1 -1
- package/dist/components/static-asset/common/commit-token.d.ts +0 -1
- package/dist/components/static-asset/common/commit-token.js.map +1 -1
- package/dist/components/static-asset/common/constants.d.ts +0 -1
- package/dist/components/static-asset/common/constants.js.map +1 -1
- package/dist/components/static-asset/common/errors.d.ts +0 -1
- package/dist/components/static-asset/common/errors.js.map +1 -1
- package/dist/components/static-asset/common/index.d.ts +0 -1
- package/dist/components/static-asset/common/index.js.map +1 -1
- package/dist/components/static-asset/common/keys.d.ts +0 -1
- package/dist/components/static-asset/common/keys.js.map +1 -1
- package/dist/components/static-asset/common/types.d.ts +0 -1
- package/dist/components/static-asset/common/types.js.map +1 -1
- package/dist/components/static-asset/component.d.ts +0 -1
- package/dist/components/static-asset/component.js.map +1 -1
- package/dist/components/static-asset/controller/base.definition.d.ts +0 -1
- package/dist/components/static-asset/controller/base.definition.js.map +1 -1
- package/dist/components/static-asset/controller/factory.d.ts +0 -1
- package/dist/components/static-asset/controller/factory.js.map +1 -1
- package/dist/components/static-asset/controller/index.d.ts +0 -1
- package/dist/components/static-asset/controller/index.js.map +1 -1
- package/dist/components/static-asset/controller/key-scope.d.ts +0 -1
- package/dist/components/static-asset/controller/key-scope.js.map +1 -1
- package/dist/components/static-asset/controller/meta-link.d.ts +0 -1
- package/dist/components/static-asset/controller/meta-link.js.map +1 -1
- package/dist/components/static-asset/controller/route-options.d.ts +0 -1
- package/dist/components/static-asset/controller/route-options.js.map +1 -1
- package/dist/components/static-asset/index.d.ts +0 -1
- package/dist/components/static-asset/index.js.map +1 -1
- package/dist/components/static-asset/ingest.d.ts +0 -1
- package/dist/components/static-asset/ingest.js.map +1 -1
- package/dist/components/static-asset/models/base.model.d.ts +0 -1
- package/dist/components/static-asset/models/base.model.js.map +1 -1
- package/dist/components/static-asset/models/index.d.ts +0 -1
- package/dist/components/static-asset/models/index.js.map +1 -1
- package/dist/components/static-asset/repositories/base.repository.d.ts +0 -1
- package/dist/components/static-asset/repositories/base.repository.js.map +1 -1
- package/dist/components/static-asset/repositories/index.d.ts +0 -1
- package/dist/components/static-asset/repositories/index.js.map +1 -1
- package/dist/components/websocket/common/index.d.ts +0 -1
- package/dist/components/websocket/common/index.js.map +1 -1
- package/dist/components/websocket/common/keys.d.ts +0 -1
- package/dist/components/websocket/common/keys.js.map +1 -1
- package/dist/components/websocket/common/types.d.ts +0 -1
- package/dist/components/websocket/common/types.js.map +1 -1
- package/dist/components/websocket/component.d.ts +0 -1
- package/dist/components/websocket/component.js.map +1 -1
- package/dist/components/websocket/handlers/bun.handler.d.ts +0 -1
- package/dist/components/websocket/handlers/bun.handler.js.map +1 -1
- package/dist/components/websocket/handlers/index.d.ts +0 -1
- package/dist/components/websocket/handlers/index.js.map +1 -1
- package/dist/components/websocket/index.d.ts +0 -1
- package/dist/components/websocket/index.js.map +1 -1
- package/dist/connectors/index.d.ts +0 -1
- package/dist/connectors/index.js.map +1 -1
- package/dist/connectors/meilisearch/index.d.ts +0 -1
- package/dist/connectors/meilisearch/index.js.map +1 -1
- package/dist/connectors/postgres/drivers/node-postgres.d.ts +0 -1
- package/dist/connectors/postgres/drivers/node-postgres.js.map +1 -1
- package/dist/connectors/postgres/drivers/pglite.d.ts +0 -1
- package/dist/connectors/postgres/drivers/pglite.js.map +1 -1
- package/dist/connectors/postgres/drivers/postgres-js.d.mts +0 -1
- package/dist/connectors/postgres/drivers/postgres-js.d.ts +0 -1
- package/dist/connectors/postgres/drivers/postgres-js.js.map +1 -1
- package/dist/connectors/postgres/drivers/postgres-js.mjs.map +1 -1
- package/dist/connectors/postgres/index.d.ts +0 -1
- package/dist/connectors/postgres/index.js.map +1 -1
- package/dist/connectors/postgres/supabase/index.d.ts +0 -1
- package/dist/connectors/postgres/supabase/index.js.map +1 -1
- package/dist/connectors/relational/index.d.ts +0 -1
- package/dist/connectors/relational/index.js.map +1 -1
- package/dist/connectors/search/controllers/index.d.ts +0 -1
- package/dist/connectors/search/controllers/index.js.map +1 -1
- package/dist/connectors/search/index.d.ts +0 -1
- package/dist/connectors/search/index.js.map +1 -1
- package/dist/connectors/sqlite/drivers/libsql.d.ts +0 -1
- package/dist/connectors/sqlite/drivers/libsql.js.map +1 -1
- package/dist/connectors/sqlite/index.d.ts +0 -1
- package/dist/connectors/sqlite/index.js.map +1 -1
- package/dist/connectors/typesense/controllers/index.d.ts +0 -1
- package/dist/connectors/typesense/controllers/index.js.map +1 -1
- package/dist/connectors/typesense/index.d.ts +0 -1
- package/dist/connectors/typesense/index.js.map +1 -1
- package/dist/helpers/base-helper.d.ts +0 -1
- package/dist/helpers/base-helper.js.map +1 -1
- package/dist/helpers/index.d.ts +0 -1
- package/dist/helpers/index.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js.map +1 -1
- package/dist/testing/index.d.ts +0 -1
- package/dist/testing/index.js.map +1 -1
- package/dist/utilities/drizzle-result.utility.d.ts +0 -1
- package/dist/utilities/drizzle-result.utility.js.map +1 -1
- package/dist/utilities/index.d.ts +0 -1
- package/dist/utilities/index.js.map +1 -1
- package/dist/utilities/network.utility.d.ts +0 -1
- package/dist/utilities/network.utility.js.map +1 -1
- package/dist/vulcan-preset/preset.json +7 -3
- package/package.json +7 -7
- package/dist/base/applications/base.d.ts.map +0 -1
- package/dist/base/applications/boot-steps.d.ts.map +0 -1
- package/dist/base/applications/common/index.d.ts.map +0 -1
- package/dist/base/applications/common/types.d.ts.map +0 -1
- package/dist/base/applications/index.d.ts.map +0 -1
- package/dist/base/applications/server.d.ts.map +0 -1
- package/dist/base/controllers/grpc/abstract.d.ts.map +0 -1
- package/dist/base/controllers/grpc/adapter.d.ts.map +0 -1
- package/dist/base/controllers/grpc/base.d.ts.map +0 -1
- package/dist/base/controllers/grpc/common/index.d.ts.map +0 -1
- package/dist/base/controllers/grpc/common/types.d.ts.map +0 -1
- package/dist/base/controllers/grpc/index.d.ts.map +0 -1
- package/dist/base/controllers/index.d.ts.map +0 -1
- package/dist/base/index.d.ts.map +0 -1
- package/dist/base/metadata/index.d.ts.map +0 -1
- package/dist/base/metadata/request-context.d.ts.map +0 -1
- package/dist/base/middlewares/app-error/app-error.middleware.d.ts.map +0 -1
- package/dist/base/middlewares/app-error/index.d.ts.map +0 -1
- package/dist/base/middlewares/index.d.ts.map +0 -1
- package/dist/base/middlewares/request-spy/index.d.ts.map +0 -1
- package/dist/base/middlewares/request-spy/request-spy.middleware.d.ts.map +0 -1
- package/dist/common/constants.d.ts.map +0 -1
- package/dist/common/environments.d.ts.map +0 -1
- package/dist/common/index.d.ts.map +0 -1
- package/dist/components/api-reference/common/constants.d.ts.map +0 -1
- package/dist/components/api-reference/common/index.d.ts.map +0 -1
- package/dist/components/api-reference/common/keys.d.ts.map +0 -1
- package/dist/components/api-reference/common/types.d.ts.map +0 -1
- package/dist/components/api-reference/component.d.ts.map +0 -1
- package/dist/components/api-reference/index.d.ts.map +0 -1
- package/dist/components/api-reference/ui/factory.d.ts.map +0 -1
- package/dist/components/api-reference/ui/index.d.ts.map +0 -1
- package/dist/components/api-reference/ui/scalar.d.ts.map +0 -1
- package/dist/components/api-reference/ui/swagger.d.ts.map +0 -1
- package/dist/components/auth/authenticate/component.d.ts.map +0 -1
- package/dist/components/auth/authenticate/controllers/factory.d.ts.map +0 -1
- package/dist/components/auth/authenticate/controllers/index.d.ts.map +0 -1
- package/dist/components/auth/authenticate/controllers/jwks/controller.d.ts.map +0 -1
- package/dist/components/auth/authenticate/controllers/jwks/definitions.d.ts.map +0 -1
- package/dist/components/auth/authenticate/controllers/jwks/index.d.ts.map +0 -1
- package/dist/components/auth/authenticate/controllers/service-certs/controller.d.ts.map +0 -1
- package/dist/components/auth/authenticate/controllers/service-certs/definitions.d.ts.map +0 -1
- package/dist/components/auth/authenticate/controllers/service-certs/index.d.ts.map +0 -1
- package/dist/components/auth/authenticate/index.d.ts.map +0 -1
- package/dist/components/auth/authenticate/services/basic/index.d.ts.map +0 -1
- package/dist/components/auth/authenticate/services/basic/service.d.ts.map +0 -1
- package/dist/components/auth/authenticate/services/bearer/abstract.service.d.ts.map +0 -1
- package/dist/components/auth/authenticate/services/bearer/index.d.ts.map +0 -1
- package/dist/components/auth/authenticate/services/bearer/jwks/abstract.service.d.ts.map +0 -1
- package/dist/components/auth/authenticate/services/bearer/jwks/index.d.ts.map +0 -1
- package/dist/components/auth/authenticate/services/bearer/jwks/issuer.service.d.ts.map +0 -1
- package/dist/components/auth/authenticate/services/bearer/jwks/verifier.service.d.ts.map +0 -1
- package/dist/components/auth/authenticate/services/bearer/jws.service.d.ts.map +0 -1
- package/dist/components/auth/authenticate/services/index.d.ts.map +0 -1
- package/dist/components/auth/authenticate/services/jose-loader.d.ts.map +0 -1
- package/dist/components/auth/authenticate/services/service/index.d.ts.map +0 -1
- package/dist/components/auth/authenticate/services/service/signer.service.d.ts.map +0 -1
- package/dist/components/auth/authenticate/services/service/verifier.service.d.ts.map +0 -1
- package/dist/components/auth/authenticate/strategies/basic.strategy.d.ts.map +0 -1
- package/dist/components/auth/authenticate/strategies/index.d.ts.map +0 -1
- package/dist/components/auth/authenticate/strategies/jwks/index.d.ts.map +0 -1
- package/dist/components/auth/authenticate/strategies/jwks/issuer.d.ts.map +0 -1
- package/dist/components/auth/authenticate/strategies/jwks/verifier.d.ts.map +0 -1
- package/dist/components/auth/authenticate/strategies/jws.strategy.d.ts.map +0 -1
- package/dist/components/auth/authenticate/strategies/service.strategy.d.ts.map +0 -1
- package/dist/components/auth/authorize/adapters/base-filtered.d.ts.map +0 -1
- package/dist/components/auth/authorize/adapters/common/index.d.ts.map +0 -1
- package/dist/components/auth/authorize/adapters/common/types.d.ts.map +0 -1
- package/dist/components/auth/authorize/adapters/connector.d.ts.map +0 -1
- package/dist/components/auth/authorize/adapters/custom-grant-expander.d.ts.map +0 -1
- package/dist/components/auth/authorize/adapters/index.d.ts.map +0 -1
- package/dist/components/auth/authorize/adapters/scoped-casbin/adapter.d.ts.map +0 -1
- package/dist/components/auth/authorize/adapters/scoped-casbin/common/constants.d.ts.map +0 -1
- package/dist/components/auth/authorize/adapters/scoped-casbin/common/index.d.ts.map +0 -1
- package/dist/components/auth/authorize/adapters/scoped-casbin/common/types.d.ts.map +0 -1
- package/dist/components/auth/authorize/adapters/scoped-casbin/index.d.ts.map +0 -1
- package/dist/components/auth/authorize/adapters/scoped-casbin/policy-edges.d.ts.map +0 -1
- package/dist/components/auth/authorize/component.d.ts.map +0 -1
- package/dist/components/auth/authorize/enforcers/casbin-module.d.ts.map +0 -1
- package/dist/components/auth/authorize/enforcers/casbin.enforcer.d.ts.map +0 -1
- package/dist/components/auth/authorize/enforcers/index.d.ts.map +0 -1
- package/dist/components/auth/authorize/enforcers/models/index.d.ts.map +0 -1
- package/dist/components/auth/authorize/enforcers/models/rbac-domain.model.d.ts.map +0 -1
- package/dist/components/auth/authorize/enforcers/policy-line-codec.d.ts.map +0 -1
- package/dist/components/auth/authorize/enforcers/user-policy-line-cache.d.ts.map +0 -1
- package/dist/components/auth/authorize/index.d.ts.map +0 -1
- package/dist/components/auth/authorize/role-managers/base.d.ts.map +0 -1
- package/dist/components/auth/authorize/role-managers/domain-hierarchy.d.ts.map +0 -1
- package/dist/components/auth/authorize/role-managers/index.d.ts.map +0 -1
- package/dist/components/auth/authorize/role-managers/membership.d.ts.map +0 -1
- package/dist/components/auth/authorize/role-managers/resource.d.ts.map +0 -1
- package/dist/components/auth/index.d.ts.map +0 -1
- package/dist/components/auth/models/entities/index.d.ts.map +0 -1
- package/dist/components/auth/models/entities/permission.model.d.ts.map +0 -1
- package/dist/components/auth/models/entities/policy-definition.model.d.ts.map +0 -1
- package/dist/components/auth/models/entities/role.model.d.ts.map +0 -1
- package/dist/components/auth/models/entities/user.model.d.ts.map +0 -1
- package/dist/components/auth/models/index.d.ts.map +0 -1
- package/dist/components/controller/grpc/common/index.d.ts.map +0 -1
- package/dist/components/controller/grpc/common/types.d.ts.map +0 -1
- package/dist/components/controller/grpc/grpc.component.d.ts.map +0 -1
- package/dist/components/controller/grpc/index.d.ts.map +0 -1
- package/dist/components/controller/index.d.ts.map +0 -1
- package/dist/components/health-check/common/constants.d.ts.map +0 -1
- package/dist/components/health-check/common/index.d.ts.map +0 -1
- package/dist/components/health-check/common/keys.d.ts.map +0 -1
- package/dist/components/health-check/common/rest-paths.d.ts.map +0 -1
- package/dist/components/health-check/common/types.d.ts.map +0 -1
- package/dist/components/health-check/component.d.ts.map +0 -1
- package/dist/components/health-check/controller.d.ts.map +0 -1
- package/dist/components/health-check/index.d.ts.map +0 -1
- package/dist/components/health-check/reporter.d.ts.map +0 -1
- package/dist/components/index.d.ts.map +0 -1
- package/dist/components/mail/common/constants.d.ts.map +0 -1
- package/dist/components/mail/common/errors.d.ts.map +0 -1
- package/dist/components/mail/common/index.d.ts.map +0 -1
- package/dist/components/mail/common/keys.d.ts.map +0 -1
- package/dist/components/mail/common/types/index.d.ts.map +0 -1
- package/dist/components/mail/common/types/message.d.ts.map +0 -1
- package/dist/components/mail/common/types/options.d.ts.map +0 -1
- package/dist/components/mail/common/types/queue.d.ts.map +0 -1
- package/dist/components/mail/common/types/template.d.ts.map +0 -1
- package/dist/components/mail/common/types/verification.d.ts.map +0 -1
- package/dist/components/mail/component.d.ts.map +0 -1
- package/dist/components/mail/helpers/executors/bull-mq-executor.helper.d.ts.map +0 -1
- package/dist/components/mail/helpers/executors/direct-executor.helper.d.ts.map +0 -1
- package/dist/components/mail/helpers/executors/index.d.ts.map +0 -1
- package/dist/components/mail/helpers/executors/internal-queue-executor.helper.d.ts.map +0 -1
- package/dist/components/mail/helpers/index.d.ts.map +0 -1
- package/dist/components/mail/helpers/transporters/amazon-ses-transporter.helper.d.ts.map +0 -1
- package/dist/components/mail/helpers/transporters/index.d.ts.map +0 -1
- package/dist/components/mail/helpers/transporters/mailgun-transporter.helper.d.ts.map +0 -1
- package/dist/components/mail/helpers/transporters/nodemail-transporter.helper.d.ts.map +0 -1
- package/dist/components/mail/index.d.ts.map +0 -1
- package/dist/components/mail/providers/index.d.ts.map +0 -1
- package/dist/components/mail/providers/mail-queue-executor.provider.d.ts.map +0 -1
- package/dist/components/mail/providers/mail-transporter.provider.d.ts.map +0 -1
- package/dist/components/mail/services/generators/index.d.ts.map +0 -1
- package/dist/components/mail/services/generators/numeric-code.d.ts.map +0 -1
- package/dist/components/mail/services/generators/random-token.d.ts.map +0 -1
- package/dist/components/mail/services/generators/verification-data.d.ts.map +0 -1
- package/dist/components/mail/services/index.d.ts.map +0 -1
- package/dist/components/mail/services/mail.service.d.ts.map +0 -1
- package/dist/components/mail/services/template.service.d.ts.map +0 -1
- package/dist/components/mail/utilities/address.utility.d.ts.map +0 -1
- package/dist/components/mail/utilities/attachment.utility.d.ts.map +0 -1
- package/dist/components/mail/utilities/body.utility.d.ts.map +0 -1
- package/dist/components/mail/utilities/index.d.ts.map +0 -1
- package/dist/components/mail/utilities/mime.utility.d.ts.map +0 -1
- package/dist/components/mail/utilities/type.utility.d.ts.map +0 -1
- package/dist/components/mail/utilities/verification.utility.d.ts.map +0 -1
- package/dist/components/request-tracker/component.d.ts.map +0 -1
- package/dist/components/request-tracker/index.d.ts.map +0 -1
- package/dist/components/socket-io/common/index.d.ts.map +0 -1
- package/dist/components/socket-io/common/keys.d.ts.map +0 -1
- package/dist/components/socket-io/common/types.d.ts.map +0 -1
- package/dist/components/socket-io/component.d.ts.map +0 -1
- package/dist/components/socket-io/handlers/bun.handler.d.ts.map +0 -1
- package/dist/components/socket-io/handlers/index.d.ts.map +0 -1
- package/dist/components/socket-io/handlers/node.handler.d.ts.map +0 -1
- package/dist/components/socket-io/index.d.ts.map +0 -1
- package/dist/components/static-asset/common/commit-token.d.ts.map +0 -1
- package/dist/components/static-asset/common/constants.d.ts.map +0 -1
- package/dist/components/static-asset/common/errors.d.ts.map +0 -1
- package/dist/components/static-asset/common/index.d.ts.map +0 -1
- package/dist/components/static-asset/common/keys.d.ts.map +0 -1
- package/dist/components/static-asset/common/types.d.ts.map +0 -1
- package/dist/components/static-asset/component.d.ts.map +0 -1
- package/dist/components/static-asset/controller/base.definition.d.ts.map +0 -1
- package/dist/components/static-asset/controller/factory.d.ts.map +0 -1
- package/dist/components/static-asset/controller/index.d.ts.map +0 -1
- package/dist/components/static-asset/controller/key-scope.d.ts.map +0 -1
- package/dist/components/static-asset/controller/meta-link.d.ts.map +0 -1
- package/dist/components/static-asset/controller/route-options.d.ts.map +0 -1
- package/dist/components/static-asset/index.d.ts.map +0 -1
- package/dist/components/static-asset/ingest.d.ts.map +0 -1
- package/dist/components/static-asset/models/base.model.d.ts.map +0 -1
- package/dist/components/static-asset/models/index.d.ts.map +0 -1
- package/dist/components/static-asset/repositories/base.repository.d.ts.map +0 -1
- package/dist/components/static-asset/repositories/index.d.ts.map +0 -1
- package/dist/components/websocket/common/index.d.ts.map +0 -1
- package/dist/components/websocket/common/keys.d.ts.map +0 -1
- package/dist/components/websocket/common/types.d.ts.map +0 -1
- package/dist/components/websocket/component.d.ts.map +0 -1
- package/dist/components/websocket/handlers/bun.handler.d.ts.map +0 -1
- package/dist/components/websocket/handlers/index.d.ts.map +0 -1
- package/dist/components/websocket/index.d.ts.map +0 -1
- package/dist/connectors/index.d.ts.map +0 -1
- package/dist/connectors/meilisearch/index.d.ts.map +0 -1
- package/dist/connectors/postgres/drivers/node-postgres.d.ts.map +0 -1
- package/dist/connectors/postgres/drivers/pglite.d.ts.map +0 -1
- package/dist/connectors/postgres/drivers/postgres-js.d.mts.map +0 -1
- package/dist/connectors/postgres/drivers/postgres-js.d.ts.map +0 -1
- package/dist/connectors/postgres/index.d.ts.map +0 -1
- package/dist/connectors/postgres/supabase/index.d.ts.map +0 -1
- package/dist/connectors/relational/index.d.ts.map +0 -1
- package/dist/connectors/search/controllers/index.d.ts.map +0 -1
- package/dist/connectors/search/index.d.ts.map +0 -1
- package/dist/connectors/sqlite/drivers/libsql.d.ts.map +0 -1
- package/dist/connectors/sqlite/index.d.ts.map +0 -1
- package/dist/connectors/typesense/controllers/index.d.ts.map +0 -1
- package/dist/connectors/typesense/index.d.ts.map +0 -1
- package/dist/helpers/base-helper.d.ts.map +0 -1
- package/dist/helpers/index.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/testing/index.d.ts.map +0 -1
- package/dist/utilities/drizzle-result.utility.d.ts.map +0 -1
- package/dist/utilities/index.d.ts.map +0 -1
- package/dist/utilities/network.utility.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../../src/components/mail/component.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,wDAAsD;AACtD,8CAAyC;AACzC,qCAAwC;AACxC,sDAAuD;AACvD,0DAAqD;AACrD,qCAAmC;AACnC,yCAAuC;AAEvC,qCAA4E;AAE5E,2CAA+E;AAC/E,yCAMoB;AAEpB,IAAa,aAAa,qBAA1B,MAAa,aAAc,SAAQ,4BAA2B;IAC5D,YAC8D,WAA4B;QAExF,KAAK,CAAC;YACJ,KAAK,EAAE,eAAa,CAAC,IAAI;YACzB,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE;YACrD,QAAQ,EAAE,EAAE;SACb,CAAC,CAAC;QANyD,gBAAW,GAAX,WAAW,CAAiB;IAO1F,CAAC;IAED,kHAAkH;IACzG,KAAK,CAAC,SAAS,CAAC,IAAmB;QAC1C,0FAA0F;QAC1F,gEAAgE;QAChE,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QAED,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAe,EAAE,GAAG,EAAE,iBAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACpF,CAAC;QAED,MAAM,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAEQ,OAAO;QACd,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,iBAAQ,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC;YAC9D,IAAI,CAAC,MAAM;iBACR,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;iBACtB,KAAK,CACJ,6FAA6F,CAC9F,CAAC;YAEJ,MAAM,IAAA,eAAQ,EAAC;gBACb,OAAO,EAAE,6BAA6B;aACvC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAE9B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;IACrF,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,WAAW;aACb,IAAI,CAAC,EAAE,GAAG,EAAE,iBAAQ,CAAC,gCAAgC,EAAE,CAAC;aACxD,OAAO,CAAC,+BAAoB,CAAC,CAAC;QACjC,IAAI,CAAC,WAAW;aACb,IAAI,CAAC,EAAE,GAAG,EAAE,iBAAQ,CAAC,iCAAiC,EAAE,CAAC;aACzD,OAAO,CAAC,+BAAoB,CAAC,CAAC;QACjC,IAAI,CAAC,WAAW;aACb,IAAI,CAAC,EAAE,GAAG,EAAE,iBAAQ,CAAC,gCAAgC,EAAE,CAAC;aACxD,OAAO,CAAC,2CAAgC,CAAC,CAAC;IAC/C,CAAC;IAED,aAAa;QACX,IAAI,CAAC,WAAW;aACb,IAAI,CAAC,EAAE,GAAG,EAAE,iBAAQ,CAAC,uBAAuB,EAAE,CAAC;aAC/C,UAAU,CAAC,iCAAqB,CAAC;aACjC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACzB,IAAI,CAAC,WAAW;aACb,IAAI,CAAC,EAAE,GAAG,EAAE,iBAAQ,CAAC,4BAA4B,EAAE,CAAC;aACpD,UAAU,CAAC,qCAAyB,CAAC;aACrC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC3B,CAAC;IAED,YAAY;QACV,IAAI,CAAC,WAAW;aACb,IAAI,CAAC,EAAE,GAAG,EAAE,iBAAQ,CAAC,YAAY,EAAE,CAAC;aACpC,OAAO,CAAC,sBAAW,CAAC;aACpB,QAAQ,CAAC,WAAW,CAAC,CAAC;QACzB,IAAI,CAAC,WAAW;aACb,IAAI,CAAC,EAAE,GAAG,EAAE,iBAAQ,CAAC,oBAAoB,EAAE,CAAC;aAC5C,OAAO,CAAC,gCAAqB,CAAC;aAC9B,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC3B,CAAC;IAED,kGAAkG;IAC1F,yBAAyB,CAAC,IAA+B;QAC/D,MAAM,EAAE,cAAc,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5D,MAAM,gBAAgB,GAAG,CAAC,OAA6C,EAAE,EAAE;YACzE,OAAO,IAAA,eAAQ,EAAC;gBACd,UAAU,EAAE,aAAI,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB;gBACrD,WAAW,EAAE,uBAAc,CAAC,qBAAqB;gBACjD,OAAO,EAAE,0BAA0B,OAAO,CAAC,OAAO,EAAE;gBACpD,KAAK,EAAE,OAAO,CAAC,KAAK;aACrB,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,YAAY,GAChB,kBAAkB,KAAK,SAAS;YAChC,CAAC,MAAM,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,kBAAkB,GAAG,CAAC,CAAC,CAAC;QAEvE,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,gBAAgB,CAAC,EAAE,OAAO,EAAE,+CAA+C,EAAE,CAAC,CAAC;QACvF,CAAC;QAED,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YACjC,OAAO;QACT,CAAC;QAED,IAAI,OAAO,cAAc,KAAK,QAAQ,IAAI,CAAC,IAAA,sBAAU,EAAC,cAAc,CAAC,EAAE,CAAC;YACtE,MAAM,gBAAgB,CAAC,EAAE,OAAO,EAAE,yCAAyC,EAAE,CAAC,CAAC;QACjF,CAAC;QAED,IAAI,WAAoB,CAAC;QAEzB,IAAI,CAAC;YACH,WAAW,GAAG,IAAA,kBAAQ,EAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC;QACvD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,gBAAgB,CAAC;gBACrB,OAAO,EAAE,8CAA8C;gBACvD,KAAK,EAAE,KAAK;aACb,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,gBAAgB,CAAC,EAAE,OAAO,EAAE,8CAA8C,EAAE,CAAC,CAAC;QACtF,CAAC;IACH,CAAC;IAED,sBAAsB;QACpB,YAAY;QACZ,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAsB;YAChE,GAAG,EAAE,iBAAQ,CAAC,uBAAuB;SACtC,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAe,EAAE,GAAG,EAAE,iBAAQ,CAAC,YAAY,EAAE,CAAC,CAAC;QACvF,IAAI,CAAC,yBAAyB,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;QAEzD,4GAA4G;QAC5G,IAAI,CAAC,MAAM;aACR,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC;aACrC,IAAI,CAAC,mBAAmB,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;QAEnD,MAAM,qBAAqB,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;QAC3D,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,iBAAQ,CAAC,uBAAuB,EAAE,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAEhG,QAAQ;QACR,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAA0B;YAChE,GAAG,EAAE,iBAAQ,CAAC,4BAA4B;SAC3C,CAAC,CAAC;QAEH,oJAAoJ;QACpJ,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAA2B;YACjE,GAAG,EAAE,iBAAQ,CAAC,0BAA0B;YACxC,UAAU,EAAE,IAAI;SACjB,CAAC,IAAI,EAAE,IAAI,EAAE,+BAAsB,CAAC,MAAM,EAAE,CAAC;QAE9C,oEAAoE;QACpE,IAAI,CAAC,MAAM;aACR,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC;aACrC,IAAI,CAAC,8BAA8B,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;QAE1D,MAAM,qBAAqB,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;QACvD,IAAI,CAAC,WAAW;aACb,IAAI,CAAC,EAAE,GAAG,EAAE,iBAAQ,CAAC,4BAA4B,EAAE,CAAC;aACpD,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACpC,CAAC;CACF,CAAA;AAnKY,sCAAa;wBAAb,aAAa;IAErB,WAAA,IAAA,iBAAM,EAAC,EAAE,GAAG,EAAE,qBAAY,CAAC,oBAAoB,EAAE,CAAC,CAAA;;GAF1C,aAAa,CAmKzB"}
|
|
1
|
+
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../../src/components/mail/component.ts"],"names":[],"mappings":"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","sourcesContent":["import { type BaseApplication } from '@/base/applications';\nimport { BaseComponent } from '@venizia/ignis-kernel';\nimport { inject } from '@/base/metadata';\nimport { CoreBindings } from '@/common';\nimport { getError } from '@venizia/ignis-helpers/core';\nimport { HTTP } from '@venizia/ignis-helpers/common';\nimport { statSync } from 'node:fs';\nimport { isAbsolute } from 'node:path';\nimport type { IMailQueueExecutorConfig, TMailOptions } from './common';\nimport { MailErrorCodes, MailKeys, MailQueueExecutorTypes } from './common';\nimport type { TGetMailQueueExecutorFn, TGetMailTransportFn } from './providers';\nimport { MailQueueExecutorProvider, MailTransportProvider } from './providers';\nimport {\n DefaultVerificationDataGenerator,\n MailService,\n NumericCodeGenerator,\n RandomTokenGenerator,\n TemplateEngineService,\n} from './services';\n\nexport class MailComponent extends BaseComponent<TMailOptions> {\n constructor(\n @inject({ key: CoreBindings.APPLICATION_INSTANCE }) private application: BaseApplication,\n ) {\n super({\n scope: MailComponent.name,\n initDefault: { enable: true, container: application },\n bindings: {},\n });\n }\n\n /** `application.component(MailComponent, { options })` lands here; the call site outranks a key bound earlier. */\n override async configure(opts?: TMailOptions): Promise<void> {\n // The base short-circuits a second call; binding before that check would swap the options\n // under a transport that was already built from the first ones.\n if (this.isConfigured) {\n return;\n }\n\n if (opts !== undefined) {\n this.application.bind<TMailOptions>({ key: MailKeys.MAIL_OPTIONS }).toValue(opts);\n }\n\n await super.configure(opts);\n }\n\n override binding(): void | Promise<void> {\n if (!this.application.isBound({ key: MailKeys.MAIL_OPTIONS })) {\n this.logger\n .for(this.binding.name)\n .error(\n 'Mail options not configured. Please bind MailKeys.MAIL_OPTIONS before adding MailComponent.',\n );\n\n throw getError({\n message: 'Mail options not configured',\n });\n }\n\n this.initGenerators();\n this.initProviders();\n this.initServices();\n\n this.createAndBindInstances();\n\n this.logger.for(this.binding.name).info('Mail component initialized successfully');\n }\n\n initGenerators() {\n this.application\n .bind({ key: MailKeys.MAIL_VERIFICATION_CODE_GENERATOR })\n .toClass(NumericCodeGenerator);\n this.application\n .bind({ key: MailKeys.MAIL_VERIFICATION_TOKEN_GENERATOR })\n .toClass(RandomTokenGenerator);\n this.application\n .bind({ key: MailKeys.MAIL_VERIFICATION_DATA_GENERATOR })\n .toClass(DefaultVerificationDataGenerator);\n }\n\n initProviders() {\n this.application\n .bind({ key: MailKeys.MAIL_TRANSPORT_PROVIDER })\n .toProvider(MailTransportProvider)\n .setScope('singleton');\n this.application\n .bind({ key: MailKeys.MAIL_QUEUE_EXECUTOR_PROVIDER })\n .toProvider(MailQueueExecutorProvider)\n .setScope('singleton');\n }\n\n initServices() {\n this.application\n .bind({ key: MailKeys.MAIL_SERVICE })\n .toClass(MailService)\n .setScope('singleton');\n this.application\n .bind({ key: MailKeys.MAIL_TEMPLATE_ENGINE })\n .toClass(TemplateEngineService)\n .setScope('singleton');\n }\n\n /** A bad limit or root would otherwise surface on every send, as a 400 that blames the caller. */\n private validateAttachmentOptions(opts: { options: TMailOptions }): void {\n const { attachmentRoot, maxAttachmentBytes } = opts.options;\n const buildOptionError = (details: { message: string; cause?: unknown }) => {\n return getError({\n statusCode: HTTP.ResultCodes.RS_5.InternalServerError,\n messageCode: MailErrorCodes.INVALID_CONFIGURATION,\n message: `Invalid mail options | ${details.message}`,\n cause: details.cause,\n });\n };\n\n const isValidLimit =\n maxAttachmentBytes === undefined ||\n (Number.isSafeInteger(maxAttachmentBytes) && maxAttachmentBytes > 0);\n\n if (!isValidLimit) {\n throw buildOptionError({ message: 'maxAttachmentBytes must be a positive integer' });\n }\n\n if (attachmentRoot === undefined) {\n return;\n }\n\n if (typeof attachmentRoot !== 'string' || !isAbsolute(attachmentRoot)) {\n throw buildOptionError({ message: 'attachmentRoot must be an absolute path' });\n }\n\n let isDirectory: boolean;\n\n try {\n isDirectory = statSync(attachmentRoot).isDirectory();\n } catch (error) {\n throw buildOptionError({\n message: 'attachmentRoot must be an existing directory',\n cause: error,\n });\n }\n\n if (!isDirectory) {\n throw buildOptionError({ message: 'attachmentRoot must be an existing directory' });\n }\n }\n\n createAndBindInstances(): void {\n // Transport\n const transportGetter = this.application.get<TGetMailTransportFn>({\n key: MailKeys.MAIL_TRANSPORT_PROVIDER,\n });\n const mailOptions = this.application.get<TMailOptions>({ key: MailKeys.MAIL_OPTIONS });\n this.validateAttachmentOptions({ options: mailOptions });\n\n // Only the provider is logged: the options carry SMTP / API credentials, which must never reach a log sink.\n this.logger\n .for(this.createAndBindInstances.name)\n .info('Mail provider: %s', mailOptions.provider);\n\n const mailTransportInstance = transportGetter(mailOptions);\n this.application.bind({ key: MailKeys.MAIL_TRANSPORT_INSTANCE }).toValue(mailTransportInstance);\n\n // Queue\n const queueGetter = this.application.get<TGetMailQueueExecutorFn>({\n key: MailKeys.MAIL_QUEUE_EXECUTOR_PROVIDER,\n });\n\n // Queueing is opt-in: with no executor config bound, fall back to the direct (inline) executor instead of a \"binding is not bounded\" crash at boot.\n const queueConfig = this.application.get<IMailQueueExecutorConfig>({\n key: MailKeys.MAIL_QUEUE_EXECUTOR_CONFIG,\n isOptional: true,\n }) ?? { type: MailQueueExecutorTypes.DIRECT };\n\n // Same reason as above: a bullmq config carries the Redis password.\n this.logger\n .for(this.createAndBindInstances.name)\n .info('Mail queue executor type: %s', queueConfig.type);\n\n const queueExecutorInstance = queueGetter(queueConfig);\n this.application\n .bind({ key: MailKeys.MAIL_QUEUE_EXECUTOR_INSTANCE })\n .toValue(queueExecutorInstance);\n }\n}\n"]}
|
|
@@ -37,4 +37,3 @@ export declare class BullMQMailExecutorHelper extends BaseHelper implements IMai
|
|
|
37
37
|
getMode(): TConstValue<typeof BullMQExecutorModes>;
|
|
38
38
|
enqueueVerificationEmail(email: string, options?: IMailQueueOptions): Promise<IMailQueueResult>;
|
|
39
39
|
}
|
|
40
|
-
//# sourceMappingURL=bull-mq-executor.helper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bull-mq-executor.helper.js","sourceRoot":"","sources":["../../../../../src/components/mail/helpers/executors/bull-mq-executor.helper.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bull-mq-executor.helper.js","sourceRoot":"","sources":["../../../../../src/components/mail/helpers/executors/bull-mq-executor.helper.ts"],"names":[],"mappings":"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","sourcesContent":["import { BaseHelper, getError } from '@venizia/ignis-helpers/core';\nimport { RedisSingleHelper } from '@venizia/ignis-helpers';\nimport type { TConstValue } from '@/helpers';\nimport { BullMQHelper } from '@venizia/ignis-helpers/bullmq';\nimport type {\n IBullMQMailExecutorOpts,\n IMailProcessorResult,\n IMailQueueExecutor,\n IMailQueueOptions,\n IMailQueueResult,\n IQueueJobPayload,\n} from '../../common';\nimport { BullMQExecutorModes, MailErrorCodes, MailExecutorErrors } from '../../common';\nimport type { Job } from 'bullmq';\n\nexport class BullMQMailExecutorHelper extends BaseHelper implements IMailQueueExecutor {\n private queueIdentifier: string;\n private queueName: string;\n private mode: TConstValue<typeof BullMQExecutorModes>;\n\n private queueHelper?: BullMQHelper<IQueueJobPayload, IMailQueueResult>;\n private workerHelpers: BullMQHelper<IQueueJobPayload, IMailProcessorResult>[] = [];\n private redisConnection: RedisSingleHelper;\n private readonly bullmqModule?: typeof import('bullmq');\n private jobIdCounter = 0;\n\n private processor?: (email: string) => Promise<IMailProcessorResult>;\n\n constructor(opts: IBullMQMailExecutorOpts) {\n super({ scope: BullMQMailExecutorHelper.name });\n\n this.mode = opts.mode;\n\n this.redisConnection = new RedisSingleHelper({\n ...opts.redis,\n maxRetry: undefined,\n });\n\n this.bullmqModule = opts.module;\n this.queueIdentifier = opts.queue.identifier;\n this.queueName = opts.queue.name;\n\n this.initQueue(opts.queue);\n }\n\n initQueue(queue: { identifier: string; name: string }) {\n switch (this.mode) {\n case BullMQExecutorModes.QUEUE_ONLY:\n case BullMQExecutorModes.BOTH: {\n this.queueHelper = new BullMQHelper<IQueueJobPayload, IMailQueueResult>({\n identifier: queue.identifier,\n queueName: queue.name,\n redisConnection: this.redisConnection,\n role: 'queue',\n module: this.bullmqModule,\n });\n\n this.logger\n .for(this.constructor.name)\n .info(\n 'BullMQ queue executor initialized (queue enabled) | Identifier: %s | Mode: %s',\n this.queueIdentifier,\n this.mode,\n );\n break;\n }\n default: {\n this.logger\n .for(this.constructor.name)\n .info(\n 'BullMQ queue executor initialized (worker-only mode) | Identifier: %s | Mode: %s',\n this.queueIdentifier,\n this.mode,\n );\n\n break;\n }\n }\n }\n\n async setProcessor(\n processor: (email: string) => Promise<IMailProcessorResult>,\n opts?: {\n numberOfWorkers?: number;\n concurrencyPerWorker?: number;\n lockDuration?: number;\n },\n ): Promise<void> {\n this.processor = processor;\n\n if (this.mode === BullMQExecutorModes.QUEUE_ONLY) {\n this.logger\n .for(this.setProcessor.name)\n .warn('Skipping worker creation in queue-only mode. Workers will not be started.');\n return;\n }\n\n const numberOfWorkers = opts?.numberOfWorkers ?? 1;\n const concurrencyPerWorker = opts?.concurrencyPerWorker ?? 5;\n const lockDuration = opts?.lockDuration ?? 30000;\n\n await this.clearWorkers();\n\n for (let i = 0; i < numberOfWorkers; i++) {\n this.addWorker({\n workerIdentifier: `${this.queueIdentifier}-worker-${i}`,\n concurrency: concurrencyPerWorker,\n lockDuration,\n });\n }\n\n this.logger\n .for(this.setProcessor.name)\n .info(\n 'Processor registered | Mode: %s | Workers: %d | Concurrency per worker: %d',\n this.mode,\n numberOfWorkers,\n concurrencyPerWorker,\n );\n }\n\n addWorker(opts: { workerIdentifier: string; concurrency?: number; lockDuration?: number }): void {\n if (!this.processor) {\n throw getError({ message: MailExecutorErrors.PROCESSOR_NOT_SET });\n }\n\n const workerIdentifier = opts.workerIdentifier;\n const concurrency = opts?.concurrency ?? 5;\n const lockDuration = opts?.lockDuration ?? 30000;\n\n const workerHelper = new BullMQHelper<IQueueJobPayload, IMailProcessorResult>({\n identifier: workerIdentifier,\n queueName: this.queueName,\n redisConnection: this.redisConnection,\n role: 'worker',\n module: this.bullmqModule,\n numberOfWorker: concurrency,\n lockDuration,\n onWorkerData: async (job: Job<IQueueJobPayload, IMailProcessorResult>) => {\n const maxAttempts = job.data.options?.attempts ?? 3;\n\n this.logger\n .for('onWorkerData')\n .info(\n 'Processing job | Worker: %s | jobId: %s | email: %s | attempt: %d/%d',\n workerIdentifier,\n job.data.id,\n job.data.email,\n job.attemptsMade + 1,\n maxAttempts,\n );\n\n if (!this.processor) {\n // Returning undefined would let BullMQ mark the job COMPLETED and (with removeOnComplete) delete it - mail silently dropped.\n throw getError({\n messageCode: MailErrorCodes.SEND_FAILED,\n message: `[onWorkerData] ${MailExecutorErrors.PROCESSOR_NOT_SET} | jobId: ${job.data.id}`,\n });\n }\n\n const result = await this.processor(job.data.email);\n\n // A processor reports SMTP rejection by RETURNING `{ success: false }`; BullMQ only treats a REJECTION as failure, so resolving completes the job - no retry, no DLQ.\n if (result?.success === false) {\n throw getError({\n messageCode: MailErrorCodes.SEND_FAILED,\n message: `[onWorkerData] Processor reported failure | jobId: ${job.data.id} | reason: ${result.message}`,\n });\n }\n\n return result;\n },\n onWorkerDataCompleted: async (job: Job<IQueueJobPayload, IMailProcessorResult>) => {\n this.logger\n .for('onWorkerDataCompleted')\n .info(\n 'Job completed | Worker: %s | jobId: %s | email: %s',\n workerIdentifier,\n job.data.id,\n job.data.email,\n );\n },\n onWorkerDataFail: async (\n job: Job<IQueueJobPayload, IMailProcessorResult> | undefined,\n error: Error,\n ) => {\n if (job) {\n const maxAttempts = job.data.options?.attempts ?? 3;\n this.logger\n .for('onWorkerDataFail')\n .error(\n 'Job failed | Worker: %s | jobId: %s | email: %s | attempt: %d/%d | error: %s',\n workerIdentifier,\n job.data.id,\n job.data.email,\n job.attemptsMade,\n maxAttempts,\n error.message,\n );\n } else {\n this.logger\n .for('onWorkerDataFail')\n .error(\n 'Worker error (no job) | Worker: %s | error: %s',\n workerIdentifier,\n error.message,\n );\n }\n },\n });\n\n this.workerHelpers.push(workerHelper);\n\n this.logger\n .for(this.addWorker.name)\n .info(\n 'Worker added | Identifier: %s | Concurrency: %d | Total workers: %d',\n workerIdentifier,\n concurrency,\n this.workerHelpers.length,\n );\n }\n\n async removeWorker(index: number): Promise<boolean> {\n if (index < 0 || index >= this.workerHelpers.length) {\n this.logger.for(this.removeWorker.name).warn('Invalid worker index: %d', index);\n return false;\n }\n\n // Dropped from the list BEFORE the close is awaited: a rejecting close must not leave a half-closed worker still counted and still handed jobs.\n const [workerHelper] = this.workerHelpers.splice(index, 1);\n await workerHelper.worker.close();\n\n this.logger\n .for(this.removeWorker.name)\n .info('Worker removed | Index: %d | Remaining workers: %d', index, this.workerHelpers.length);\n\n return true;\n }\n\n /** Closes every worker without stopping at the first failure, always empties the list, and returns failures instead of throwing so teardown can continue. */\n private async closeWorkers(): Promise<Error[]> {\n const workerHelpers = this.workerHelpers;\n this.workerHelpers = [];\n\n const results = await Promise.allSettled(\n workerHelpers.map(workerHelper => workerHelper.worker.close()),\n );\n\n const failures: Error[] = [];\n\n for (const result of results) {\n if (result.status !== 'rejected') {\n continue;\n }\n\n const error =\n result.reason instanceof Error\n ? result.reason\n : getError({ message: `Worker close failed | reason: ${String(result.reason)}` });\n\n failures.push(error);\n this.logger.for('closeWorkers').error('Failed to close worker | error: %s', error.message);\n }\n\n return failures;\n }\n\n async clearWorkers(): Promise<void> {\n const count = this.workerHelpers.length;\n await this.closeWorkers();\n\n this.logger.for(this.clearWorkers.name).info('All workers cleared | Count: %d', count);\n }\n\n /** Full teardown: workers -> queue -> Redis. Every step runs even if an earlier one failed (skipping leaks a queue client + Redis socket); failures are reported once, at the end. */\n async close(): Promise<void> {\n const failures: Error[] = [...(await this.closeWorkers())];\n\n if (this.queueHelper) {\n try {\n await this.queueHelper.queue.close();\n } catch (error) {\n const closeError = error instanceof Error ? error : getError({ message: String(error) });\n failures.push(closeError);\n this.logger.for(this.close.name).error('Failed to close queue | error: %s', closeError);\n }\n }\n\n try {\n await this.redisConnection.disconnect();\n } catch (error) {\n const disconnectError = error instanceof Error ? error : getError({ message: String(error) });\n failures.push(disconnectError);\n this.logger\n .for(this.close.name)\n .error('Failed to disconnect redis | error: %s', disconnectError);\n }\n\n if (failures.length > 0) {\n throw getError({\n message: `[close] Incomplete BullMQ mail executor teardown | failures: ${failures\n .map(failure => failure.message)\n .join(' | ')}`,\n });\n }\n\n this.logger.for(this.close.name).info('BullMQ mail executor closed | Mode: %s', this.mode);\n }\n\n getWorkerCount(): number {\n return this.workerHelpers.length;\n }\n\n getMode(): TConstValue<typeof BullMQExecutorModes> {\n return this.mode;\n }\n\n async enqueueVerificationEmail(\n email: string,\n options?: IMailQueueOptions,\n ): Promise<IMailQueueResult> {\n if (this.mode === BullMQExecutorModes.WORKER_ONLY) {\n throw getError({\n message: 'Cannot enqueue jobs in worker-only mode. Set mode to \"queue-only\" or \"both\".',\n });\n }\n\n if (!this.queueHelper) {\n throw getError({\n message: 'Queue helper not initialized. This should not happen in queue-enabled mode.',\n });\n }\n\n if (!this.processor && this.mode !== BullMQExecutorModes.QUEUE_ONLY) {\n throw getError({ message: MailExecutorErrors.PROCESSOR_NOT_SET });\n }\n\n const jobId = `job_${++this.jobIdCounter}_${Date.now()}`;\n const job: IQueueJobPayload = {\n id: jobId,\n email,\n options,\n attempts: 0,\n scheduledAt: Date.now() + (options?.delay ?? 0),\n };\n\n this.logger\n .for(this.enqueueVerificationEmail.name)\n .info(\n 'Queuing email to BullMQ/Redis | jobId: %s | email: %s | mode: %s',\n jobId,\n email,\n this.mode,\n );\n\n const bullJob = await this.queueHelper.queue.add('send-verification-email', job, {\n priority: options?.priority,\n delay: options?.delay,\n attempts: options?.attempts ?? 3,\n backoff: {\n type: options?.backoff?.type ?? 'exponential',\n delay: options?.backoff?.delay ?? 1000,\n },\n removeOnComplete: true,\n removeOnFail: false,\n });\n\n return {\n jobId: bullJob.id ?? jobId,\n queued: true,\n message: 'Email queued successfully (BullMQ/Redis)',\n };\n }\n}\n"]}
|
|
@@ -6,4 +6,3 @@ export declare class DirectMailExecutorHelper extends BaseHelper implements IMai
|
|
|
6
6
|
setProcessor(processor: (email: string) => Promise<IMailProcessorResult>): void;
|
|
7
7
|
enqueueVerificationEmail(email: string, _options?: IMailQueueOptions): Promise<IMailQueueResult>;
|
|
8
8
|
}
|
|
9
|
-
//# sourceMappingURL=direct-executor.helper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"direct-executor.helper.js","sourceRoot":"","sources":["../../../../../src/components/mail/helpers/executors/direct-executor.helper.ts"],"names":[],"mappings":";;;AAAA,sDAAmE;AAOnE,yCAAkD;AAElD,MAAa,wBAAyB,SAAQ,iBAAU;IAGtD;QACE,KAAK,CAAC,EAAE,KAAK,EAAE,wBAAwB,CAAC,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,YAAY,CAAC,SAA2D;QACtE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,wBAAwB,CAC5B,KAAa,EACb,QAA4B;QAE5B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,IAAA,eAAQ,EAAC,EAAE,OAAO,EAAE,2BAAkB,CAAC,iBAAiB,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,CAAC,MAAM;aACR,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC;aACvC,IAAI,CAAC,0CAA0C,EAAE,KAAK,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAE3C,OAAO;YACL,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,mCAAmC;YAC5C,MAAM;SACP,CAAC;IACJ,CAAC;CACF;AA9BD,4DA8BC"}
|
|
1
|
+
{"version":3,"file":"direct-executor.helper.js","sourceRoot":"","sources":["../../../../../src/components/mail/helpers/executors/direct-executor.helper.ts"],"names":[],"mappings":";;;AAAA,sDAAmE;AAOnE,yCAAkD;AAElD,MAAa,wBAAyB,SAAQ,iBAAU;IAGtD;QACE,KAAK,CAAC,EAAE,KAAK,EAAE,wBAAwB,CAAC,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,YAAY,CAAC,SAA2D;QACtE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,wBAAwB,CAC5B,KAAa,EACb,QAA4B;QAE5B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,IAAA,eAAQ,EAAC,EAAE,OAAO,EAAE,2BAAkB,CAAC,iBAAiB,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,CAAC,MAAM;aACR,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC;aACvC,IAAI,CAAC,0CAA0C,EAAE,KAAK,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAE3C,OAAO;YACL,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,mCAAmC;YAC5C,MAAM;SACP,CAAC;IACJ,CAAC;CACF;AA9BD,4DA8BC","sourcesContent":["import { BaseHelper, getError } from '@venizia/ignis-helpers/core';\nimport type {\n IMailProcessorResult,\n IMailQueueExecutor,\n IMailQueueOptions,\n IMailQueueResult,\n} from '../../common';\nimport { MailExecutorErrors } from '../../common';\n\nexport class DirectMailExecutorHelper extends BaseHelper implements IMailQueueExecutor {\n private processor?: (email: string) => Promise<IMailProcessorResult>;\n\n constructor() {\n super({ scope: DirectMailExecutorHelper.name });\n }\n\n setProcessor(processor: (email: string) => Promise<IMailProcessorResult>): void {\n this.processor = processor;\n }\n\n async enqueueVerificationEmail(\n email: string,\n _options?: IMailQueueOptions,\n ): Promise<IMailQueueResult> {\n if (!this.processor) {\n throw getError({ message: MailExecutorErrors.PROCESSOR_NOT_SET });\n }\n\n this.logger\n .for(this.enqueueVerificationEmail.name)\n .info('Executing immediately (no queue) for: %s', email);\n const result = await this.processor(email);\n\n return {\n queued: false,\n message: 'Email sent immediately (no queue)',\n result,\n };\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/mail/helpers/executors/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAA0C;AAC1C,2DAAyC;AACzC,mEAAiD"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/mail/helpers/executors/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAA0C;AAC1C,2DAAyC;AACzC,mEAAiD","sourcesContent":["export * from './bull-mq-executor.helper';\nexport * from './direct-executor.helper';\nexport * from './internal-queue-executor.helper';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal-queue-executor.helper.js","sourceRoot":"","sources":["../../../../../src/components/mail/helpers/executors/internal-queue-executor.helper.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"internal-queue-executor.helper.js","sourceRoot":"","sources":["../../../../../src/components/mail/helpers/executors/internal-queue-executor.helper.ts"],"names":[],"mappings":"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","sourcesContent":["import { BaseHelper, getError } from '@venizia/ignis-helpers/core';\nimport { SequentialQueueHelper } from '@venizia/ignis-helpers';\nimport type {\n IMailQueueOptions,\n IMailQueueExecutor,\n IMailProcessorResult,\n IInternalQueueMailExecutorOpts,\n IMailQueueResult,\n IQueueJobPayload,\n} from '../../common';\nimport { MailErrorCodes, MailExecutorErrors } from '../../common';\n\nexport class InternalQueueMailExecutorHelper extends BaseHelper implements IMailQueueExecutor {\n private queue: SequentialQueueHelper<IQueueJobPayload>;\n private jobIdCounter = 0;\n private delayedJobs: Map<string, NodeJS.Timeout> = new Map();\n\n private processor?: (email: string) => Promise<IMailProcessorResult>;\n\n constructor(opts: IInternalQueueMailExecutorOpts) {\n super({ scope: InternalQueueMailExecutorHelper.name });\n\n this.queue = new SequentialQueueHelper<IQueueJobPayload>({\n identifier: opts.identifier,\n autoDispatch: true,\n onMessage: async ({ queueElement }) => {\n await this.processJob(queueElement.payload);\n },\n onDataEnqueue: ({ queueElement }) => {\n this.logger\n .for('onDataEnqueue')\n .info(\n 'Job enqueued | jobId: %s | email: %s',\n queueElement.payload.id,\n queueElement.payload.email,\n );\n },\n onStateChange: ({ from, to }) => {\n this.logger.for('onStateChange').debug('Queue state changed | from: %s | to: %s', from, to);\n },\n });\n\n this.logger.for(this.constructor.name).info('Internal queue executor initialized');\n }\n\n setProcessor(processor: (email: string) => Promise<IMailProcessorResult>): void {\n this.processor = processor;\n this.logger.for(this.setProcessor.name).info('Processor registered');\n }\n\n async enqueueVerificationEmail(\n email: string,\n options?: IMailQueueOptions,\n ): Promise<IMailQueueResult> {\n if (!this.processor) {\n throw getError({ message: MailExecutorErrors.PROCESSOR_NOT_SET });\n }\n\n const jobId = `job_${++this.jobIdCounter}_${Date.now()}`;\n const job: IQueueJobPayload = {\n id: jobId,\n email,\n options,\n attempts: 0,\n scheduledAt: Date.now() + (options?.delay ?? 0),\n };\n\n this.logger\n .for(this.enqueueVerificationEmail.name)\n .info('Queuing email | jobId: %s | email: %s', jobId, email);\n\n if (options?.delay && options.delay > 0) {\n const timeout = setTimeout(() => {\n this.queue.enqueue(job).catch(error => {\n this.logger\n .for(this.enqueueVerificationEmail.name)\n .error('Failed to enqueue delayed job | jobId: %s | error: %s', jobId, error);\n });\n this.delayedJobs.delete(jobId);\n }, options.delay);\n\n this.delayedJobs.set(jobId, timeout);\n\n this.logger\n .for(this.enqueueVerificationEmail.name)\n .info('Job scheduled with delay | jobId: %s | delay: %dms', jobId, options.delay);\n } else {\n await this.queue.enqueue(job);\n }\n\n return {\n jobId,\n queued: true,\n message: 'Email queued successfully (internal queue)',\n };\n }\n\n /** Releases every pending delayed/backoff timer - a live `setTimeout` holds the event loop open past the executor. */\n async close(): Promise<void> {\n const pendingCount = this.delayedJobs.size;\n\n const delayedJobsValues = this.delayedJobs.values();\n for (const timeout of delayedJobsValues) {\n clearTimeout(timeout);\n }\n\n this.delayedJobs.clear();\n\n this.logger.for(this.close.name).info('Executor closed | Cleared timers: %d', pendingCount);\n }\n\n private async processJob(job: IQueueJobPayload): Promise<void> {\n if (!this.processor) {\n this.logger.for(this.processJob.name).error('Processor not set | jobId: %s', job.id);\n return;\n }\n\n const maxAttempts = job.options?.attempts ?? 3;\n\n this.logger\n .for(this.processJob.name)\n .info(\n 'Processing job | jobId: %s | email: %s | attempt: %d/%d',\n job.id,\n job.email,\n job.attempts + 1,\n maxAttempts,\n );\n\n try {\n const result = await this.processor(job.email);\n\n // A processor reports SMTP rejection by RETURNING `{ success: false }`; watching only for throws completes the job and drops the mail.\n if (result?.success === false) {\n throw getError({\n messageCode: MailErrorCodes.SEND_FAILED,\n message: `[processJob] Processor reported failure | jobId: ${job.id} | reason: ${result.message}`,\n });\n }\n\n this.logger.for(this.processJob.name).info('Job completed successfully | jobId: %s', job.id);\n } catch (error) {\n const errorMsg = error instanceof Error ? error.message : error;\n job.attempts++;\n\n if (job.attempts < maxAttempts) {\n const backoffDelay = this.calculateBackoff(job);\n\n this.logger\n .for(this.processJob.name)\n .warn(\n 'Job failed, retrying | jobId: %s | attempt: %d/%d | retryIn: %dms | error: %s',\n job.id,\n job.attempts,\n maxAttempts,\n backoffDelay,\n errorMsg,\n );\n\n const timeout = setTimeout(() => {\n this.queue.enqueue(job).catch(reenqueueError => {\n this.logger\n .for(this.processJob.name)\n .error('Failed to re-enqueue job | jobId: %s | error: %s', job.id, reenqueueError);\n });\n this.delayedJobs.delete(job.id);\n }, backoffDelay);\n\n this.delayedJobs.set(job.id, timeout);\n } else {\n this.logger\n .for(this.processJob.name)\n .error(\n 'Job failed permanently after %d attempts | jobId: %s | error: %s',\n maxAttempts,\n job.id,\n errorMsg,\n );\n }\n }\n }\n\n private calculateBackoff(job: IQueueJobPayload): number {\n const backoff = job.options?.backoff;\n\n if (!backoff) {\n return 1000;\n }\n\n if (backoff.type === 'exponential') {\n return backoff.delay * Math.pow(2, job.attempts - 1);\n }\n\n return backoff.delay;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/mail/helpers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,iDAA+B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/mail/helpers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,iDAA+B","sourcesContent":["export * from './executors';\nexport * from './transporters';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"amazon-ses-transporter.helper.js","sourceRoot":"","sources":["../../../../../src/components/mail/helpers/transporters/amazon-ses-transporter.helper.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"amazon-ses-transporter.helper.js","sourceRoot":"","sources":["../../../../../src/components/mail/helpers/transporters/amazon-ses-transporter.helper.ts"],"names":[],"mappings":"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","sourcesContent":["import { HTTP } from '@venizia/ignis-helpers/common';\nimport { ModuleUtility, type AnyType } from '@venizia/ignis-helpers';\nimport { BaseHelper, getError } from '@venizia/ignis-helpers/core';\nimport {\n MailErrorCodes,\n type IMailMessage,\n type IMailSendResult,\n type IMailTransport,\n type TAmazonSesClient,\n type TAmazonSesConfig,\n type TAmazonSesModule,\n} from '../../common';\nimport { buildRawMimeMessage, formatAddressHeader, splitAddressList } from '../../utilities';\nimport { releaseAttachmentStreams } from '../../utilities/attachment.utility';\n\nexport class AmazonSesTransportHelper extends BaseHelper implements IMailTransport {\n private client: AnyType;\n private sendEmailCommandConstructor: AnyType;\n private getAccountCommandConstructor: AnyType;\n private module?: TAmazonSesModule<TAmazonSesConfig>;\n\n constructor(opts: { config: TAmazonSesConfig; module?: TAmazonSesModule }) {\n super({ scope: AmazonSesTransportHelper.name });\n\n this.module = opts.module;\n this.configure(opts.config);\n }\n\n // ------------------------------------------------------------------------------------\n async send(message: IMailMessage): Promise<IMailSendResult> {\n const logger = this.logger.for(this.send.name);\n\n try {\n logger.debug('Sending email with Amazon SES to: %s', message.to);\n\n const rawMessage = await buildRawMimeMessage(message);\n const command = new this.sendEmailCommandConstructor({\n // `FromEmailAddress` carries the same RFC 5321/5322 mailbox syntax as the raw `From:`\n // header and is subject to the same 7-bit-ASCII requirement - encoding it separately\n // here (instead of passing `message.from` through untouched) is what keeps a non-ASCII\n // display name from reaching the SES API as raw UTF-8 bytes.\n FromEmailAddress: message.from ? formatAddressHeader(message.from) : message.from,\n Destination: {\n ToAddresses: splitAddressList(message.to),\n CcAddresses: message.cc ? splitAddressList(message.cc) : undefined,\n BccAddresses: message.bcc ? splitAddressList(message.bcc) : undefined,\n },\n // No `ReplyToAddresses` here: `buildRawMimeMessage` already writes a single, RFC\n // 2047-encoded `Reply-To` header into the raw content. Setting both sends the same\n // address through two channels SES treats independently - a client can end up showing a\n // reply-to derived from whichever one SES prioritizes, and the other becomes a silent,\n // unencoded duplicate that skipped the address encoding path entirely.\n Content: {\n Raw: { Data: rawMessage },\n },\n });\n\n const result = await this.client.send(command);\n\n return {\n success: true,\n messageId: result.MessageId,\n response: result,\n };\n } catch (error) {\n logger.error(\n 'Amazon SES send failed | error: %s',\n error instanceof Error ? error.message : error,\n );\n releaseAttachmentStreams({ attachments: message.attachments });\n\n return {\n success: false,\n error: error instanceof Error ? error.message : 'Unknown error',\n };\n }\n }\n\n // ------------------------------------------------------------------------------------\n async verify(): Promise<boolean> {\n const logger = this.logger.for(this.verify.name);\n\n try {\n logger.info('Verifying Amazon SES account status');\n\n const command = new this.getAccountCommandConstructor({});\n const result = await this.client.send(command);\n const enabled = result.SendingEnabled === true;\n\n logger.info('Amazon SES account status: %s', enabled ? 'enabled' : 'disabled');\n\n return enabled;\n } catch (error) {\n logger.error(\n 'Amazon SES verification failed | error: %s',\n error instanceof Error ? error.message : error,\n );\n\n return false;\n }\n }\n\n // ------------------------------------------------------------------------------------\n async close(): Promise<void> {\n this.logger.for(this.close.name).info('Closing Amazon SES client');\n this.client.destroy?.();\n }\n\n // ------------------------------------------------------------------------------------\n configure(config: TAmazonSesConfig): void {\n this.validateConfig(config);\n\n const { client, SendEmailCommand, GetAccountCommand } = this.buildClient(config);\n\n this.client = client;\n this.sendEmailCommandConstructor = SendEmailCommand;\n this.getAccountCommandConstructor = GetAccountCommand;\n }\n\n // ------------------------------------------------------------------------------------\n protected buildClient(config: TAmazonSesConfig): TAmazonSesClient {\n const sesModule =\n this.module ?? ModuleUtility.loadSync<TAmazonSesModule>({ module: '@aws-sdk/client-sesv2' });\n\n const client = new sesModule.SESv2Client({\n region: config.region,\n credentials: config.credentials,\n endpoint: config.endpoint,\n });\n\n return {\n client,\n SendEmailCommand: sesModule.SendEmailCommand,\n GetAccountCommand: sesModule.GetAccountCommand,\n };\n }\n\n // ------------------------------------------------------------------------------------\n private validateConfig(config: TAmazonSesConfig): void {\n if (config.region) {\n return;\n }\n\n throw getError({\n statusCode: HTTP.ResultCodes.RS_5.InternalServerError,\n messageCode: MailErrorCodes.INVALID_CONFIGURATION,\n message: 'Invalid Amazon SES Configuration | Missing region',\n });\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/mail/helpers/transporters/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kEAAgD;AAChD,+DAA6C;AAC7C,gEAA8C"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/mail/helpers/transporters/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kEAAgD;AAChD,+DAA6C;AAC7C,gEAA8C","sourcesContent":["export * from './amazon-ses-transporter.helper';\nexport * from './mailgun-transporter.helper';\nexport * from './nodemail-transporter.helper';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mailgun-transporter.helper.js","sourceRoot":"","sources":["../../../../../src/components/mail/helpers/transporters/mailgun-transporter.helper.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mailgun-transporter.helper.js","sourceRoot":"","sources":["../../../../../src/components/mail/helpers/transporters/mailgun-transporter.helper.ts"],"names":[],"mappings":"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","sourcesContent":["import { HTTP } from '@venizia/ignis-helpers/common';\nimport type { AnyType } from '@venizia/ignis-helpers/common';\nimport { BaseHelper, getError } from '@venizia/ignis-helpers/core';\nimport { ModuleUtility } from '@venizia/ignis-helpers';\nimport type {\n IMailAttachment,\n IMailMessage,\n IMailSendResult,\n IMailTransport,\n TMailgunConfig,\n TMailgunModule,\n} from '../../common';\nimport { MailErrorCodes } from '../../common';\nimport {\n releaseAttachmentStreams,\n resolveMailAttachments,\n} from '../../utilities/attachment.utility';\n\nexport class MailgunTransportHelper extends BaseHelper implements IMailTransport {\n private client: AnyType; // IMessagesClient from mailgun.js\n private domain: string;\n private module?: TMailgunModule;\n\n constructor(opts: { config: TMailgunConfig; module?: TMailgunModule }) {\n super({ scope: MailgunTransportHelper.name });\n\n this.module = opts.module;\n this.configure(opts.config);\n }\n\n configure(config: TMailgunConfig) {\n this.validateConfig(config);\n\n this.domain = config.domain;\n this.client = this.buildClient(config);\n }\n\n /** Credentials and domain are checked here, not on the first send; the error never echoes a credential value back. */\n private validateConfig(config: TMailgunConfig): void {\n const missingKeys = (['username', 'key', 'domain'] as const).filter(key => {\n return !config?.[key];\n });\n\n if (missingKeys.length === 0) {\n return;\n }\n\n this.logger\n .for(this.configure.name)\n .error('Invalid Mailgun configuration | Missing keys: %s', missingKeys.join(', '));\n\n throw getError({\n statusCode: HTTP.ResultCodes.RS_5.InternalServerError,\n messageCode: MailErrorCodes.INVALID_CONFIGURATION,\n message: `Invalid Mailgun configuration | Missing required keys: ${missingKeys.join(', ')}`,\n });\n }\n\n /** Client factory seam - overridden in tests to run the helper without the mailgun.js peer. */\n protected buildClient(config: TMailgunConfig): AnyType {\n const Mailgun = this.module ?? ModuleUtility.loadSync<AnyType>({ module: 'mailgun.js' });\n const mailgun = new Mailgun(FormData);\n const client = mailgun.client(config);\n\n return client.messages;\n }\n\n async send(message: IMailMessage): Promise<IMailSendResult> {\n try {\n const mailgunMessage: AnyType = {\n from: message.from,\n to: Array.isArray(message.to) ? message.to : [message.to],\n subject: message.subject,\n text: message.text,\n html: message.html,\n cc: message.cc,\n bcc: message.bcc,\n };\n\n if (message.replyTo) {\n mailgunMessage['h:Reply-To'] = message.replyTo;\n }\n\n if (message.headers) {\n Object.entries(message.headers).forEach(([key, value]) => {\n mailgunMessage[`h:${key}`] = value;\n });\n }\n\n if (message.attachments && message.attachments.length > 0) {\n // No root: MailService resolved paths already; one that reaches here is refused, not read.\n const attachments = await resolveMailAttachments({ attachments: message.attachments });\n\n mailgunMessage.attachment = attachments.map((attachment: IMailAttachment) => {\n return { filename: attachment.filename, data: attachment.content };\n });\n }\n\n this.logger.for(this.send.name).debug('Sending email with Mailgun to: %s', mailgunMessage.to);\n const result: AnyType = await this.client.create(this.domain, mailgunMessage);\n\n return {\n success: true,\n messageId: result.id,\n response: result,\n };\n } catch (error) {\n this.logger.for(this.send.name).error('Mailgun send failed: %s', error);\n releaseAttachmentStreams({ attachments: message.attachments });\n return {\n success: false,\n error: error instanceof Error ? error.message : 'Unknown error',\n };\n }\n }\n\n async verify(): Promise<boolean> {\n try {\n this.logger.for(this.verify.name).info('Verifying Mailgun API connection');\n // Mailgun has no verify endpoint - a test-mode send is the lightweight credential check.\n await this.client.create(this.domain, {\n from: 'verify@' + this.domain,\n to: ['verify@' + this.domain],\n subject: 'Verification Test',\n text: 'This is a verification test',\n 'o:testmode': 'yes', // Use test mode to avoid actually sending\n });\n\n this.logger.for(this.verify.name).info('Mailgun API connection verified successfully');\n return true;\n } catch (error) {\n this.logger.for(this.verify.name).error('Mailgun API verification failed: %s', error);\n return false;\n }\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodemail-transporter.helper.js","sourceRoot":"","sources":["../../../../../src/components/mail/helpers/transporters/nodemail-transporter.helper.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"nodemail-transporter.helper.js","sourceRoot":"","sources":["../../../../../src/components/mail/helpers/transporters/nodemail-transporter.helper.ts"],"names":[],"mappings":"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","sourcesContent":["import type { AnyType } from '@venizia/ignis-helpers/common';\nimport { BaseHelper } from '@venizia/ignis-helpers/core';\nimport { ModuleUtility } from '@venizia/ignis-helpers';\nimport type {\n IMailMessage,\n IMailSendResult,\n IMailTransport,\n TNodemailerConfig,\n TNodemailerModule,\n} from '../../common';\nimport {\n releaseAttachmentStreams,\n resolveMailAttachments,\n} from '../../utilities/attachment.utility';\nimport { assertMailBodyIsText } from '../../utilities/body.utility';\n\nexport class NodemailerTransportHelper extends BaseHelper implements IMailTransport {\n private transporter: AnyType;\n private module?: TNodemailerModule;\n\n constructor(opts: { config: TNodemailerConfig; module?: TNodemailerModule }) {\n super({ scope: NodemailerTransportHelper.name });\n\n this.module = opts.module;\n this.configure(opts.config);\n }\n\n configure(config: TNodemailerConfig) {\n this.transporter = this.buildTransporter(config);\n }\n\n /** Client factory seam - overridden in tests to run the helper without a real SMTP client. */\n protected buildTransporter(config: TNodemailerConfig): AnyType {\n const nodemailer = this.module ?? ModuleUtility.loadSync<AnyType>({ module: 'nodemailer' });\n return nodemailer.createTransport(config);\n }\n\n async send(message: IMailMessage): Promise<IMailSendResult> {\n try {\n assertMailBodyIsText({ message });\n\n // No root: MailService resolved paths already; one that reaches here is refused, not read.\n const attachments = message.attachments\n ? await resolveMailAttachments({ attachments: message.attachments })\n : undefined;\n\n const mailOptions = {\n from: message.from,\n to: Array.isArray(message.to) ? message.to.join(', ') : message.to,\n cc: message.cc,\n bcc: message.bcc,\n replyTo: message.replyTo,\n subject: message.subject,\n text: message.text,\n html: message.html,\n attachments,\n headers: message.headers,\n // Nodemailer's own switches: no field it is handed can make it open a file or fetch a URL.\n disableFileAccess: true,\n disableUrlAccess: true,\n };\n\n this.logger.for(this.send.name).debug('Sending email with nodemailer to: %s', mailOptions.to);\n const info = await this.transporter.sendMail(mailOptions);\n\n return {\n success: true,\n messageId: info.messageId,\n response: info.response,\n };\n } catch (error) {\n this.logger.for(this.send.name).error('Nodemailer send failed: %s', error);\n releaseAttachmentStreams({ attachments: message.attachments });\n return {\n success: false,\n error: error instanceof Error ? error.message : 'Unknown error',\n };\n }\n }\n\n async verify(): Promise<boolean> {\n try {\n this.logger.for(this.verify.name).info('Verifying SMTP connection');\n await this.transporter.verify();\n this.logger.for(this.verify.name).info('SMTP connection verified successfully');\n return true;\n } catch (error) {\n this.logger.for(this.verify.name).error('SMTP verification failed: %s', error);\n return false;\n }\n }\n\n async close(): Promise<void> {\n this.logger.for(this.close.name).info('Closing nodemailer transport');\n this.transporter.close();\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/mail/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,8CAA4B;AAC5B,4CAA0B;AAC1B,8CAA4B;AAC5B,6CAA2B;AAC3B,8CAA4B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/mail/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,8CAA4B;AAC5B,4CAA0B;AAC1B,8CAA4B;AAC5B,6CAA2B;AAC3B,8CAA4B","sourcesContent":["export * from './common';\nexport * from './component';\nexport * from './helpers';\nexport * from './providers';\nexport * from './services';\nexport * from './utilities';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/mail/providers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iEAA+C;AAC/C,8DAA4C"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/mail/providers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iEAA+C;AAC/C,8DAA4C","sourcesContent":["export * from './mail-queue-executor.provider';\nexport * from './mail-transporter.provider';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mail-queue-executor.provider.js","sourceRoot":"","sources":["../../../../src/components/mail/providers/mail-queue-executor.provider.ts"],"names":[],"mappings":";;;AAAA,wDAAqD;AAErD,sDAAuD;AAEvD,sCAAmD;AACnD,wCAIoB;AAIpB,MAAa,yBAA0B,SAAQ,2BAAqC;IAClF;QACE,KAAK,CAAC,EAAE,KAAK,EAAE,yBAAyB,CAAC,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,UAAqB;QACzB,OAAO,CAAC,MAAgC,EAAE,EAAE;YAC1C,IAAI,CAAC,MAAM;iBACR,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;iBACpB,IAAI,CAAC,0CAA0C,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YACjE,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;gBACpB,KAAK,+BAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;oBACnC,OAAO,IAAI,kCAAwB,EAAE,CAAC;gBACxC,CAAC;gBAED,KAAK,+BAAsB,CAAC,cAAc,CAAC,CAAC,CAAC;oBAC3C,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;wBAC1B,MAAM,IAAA,eAAQ,EAAC,EAAE,OAAO,EAAE,yCAAyC,EAAE,CAAC,CAAC;oBACzE,CAAC;oBAED,OAAO,IAAI,yCAA+B,CAAC;wBACzC,UAAU,EAAE,MAAM,CAAC,aAAa,CAAC,UAAU;qBAC5C,CAAC,CAAC;gBACL,CAAC;gBAED,KAAK,+BAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;oBACnC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;wBACnB,MAAM,IAAA,eAAQ,EAAC,EAAE,OAAO,EAAE,iCAAiC,EAAE,CAAC,CAAC;oBACjE,CAAC;oBAED,OAAO,IAAI,kCAAwB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACrD,CAAC;gBAED,OAAO,CAAC,CAAC,CAAC;oBACR,MAAM,IAAA,eAAQ,EAAC,EAAE,OAAO,EAAE,qCAAqC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAClF,CAAC;YACH,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;CACF;AAvCD,8DAuCC"}
|
|
1
|
+
{"version":3,"file":"mail-queue-executor.provider.js","sourceRoot":"","sources":["../../../../src/components/mail/providers/mail-queue-executor.provider.ts"],"names":[],"mappings":";;;AAAA,wDAAqD;AAErD,sDAAuD;AAEvD,sCAAmD;AACnD,wCAIoB;AAIpB,MAAa,yBAA0B,SAAQ,2BAAqC;IAClF;QACE,KAAK,CAAC,EAAE,KAAK,EAAE,yBAAyB,CAAC,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,UAAqB;QACzB,OAAO,CAAC,MAAgC,EAAE,EAAE;YAC1C,IAAI,CAAC,MAAM;iBACR,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;iBACpB,IAAI,CAAC,0CAA0C,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YACjE,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;gBACpB,KAAK,+BAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;oBACnC,OAAO,IAAI,kCAAwB,EAAE,CAAC;gBACxC,CAAC;gBAED,KAAK,+BAAsB,CAAC,cAAc,CAAC,CAAC,CAAC;oBAC3C,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;wBAC1B,MAAM,IAAA,eAAQ,EAAC,EAAE,OAAO,EAAE,yCAAyC,EAAE,CAAC,CAAC;oBACzE,CAAC;oBAED,OAAO,IAAI,yCAA+B,CAAC;wBACzC,UAAU,EAAE,MAAM,CAAC,aAAa,CAAC,UAAU;qBAC5C,CAAC,CAAC;gBACL,CAAC;gBAED,KAAK,+BAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;oBACnC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;wBACnB,MAAM,IAAA,eAAQ,EAAC,EAAE,OAAO,EAAE,iCAAiC,EAAE,CAAC,CAAC;oBACjE,CAAC;oBAED,OAAO,IAAI,kCAAwB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACrD,CAAC;gBAED,OAAO,CAAC,CAAC,CAAC;oBACR,MAAM,IAAA,eAAQ,EAAC,EAAE,OAAO,EAAE,qCAAqC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAClF,CAAC;YACH,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;CACF;AAvCD,8DAuCC","sourcesContent":["import { BaseProvider } from '@venizia/ignis-kernel';\nimport type { Container } from '@/helpers';\nimport { getError } from '@venizia/ignis-helpers/core';\nimport type { IMailQueueExecutor, IMailQueueExecutorConfig } from '../common';\nimport { MailQueueExecutorTypes } from '../common';\nimport {\n BullMQMailExecutorHelper,\n DirectMailExecutorHelper,\n InternalQueueMailExecutorHelper,\n} from '../helpers';\n\nexport type TGetMailQueueExecutorFn = (config: IMailQueueExecutorConfig) => IMailQueueExecutor;\n\nexport class MailQueueExecutorProvider extends BaseProvider<TGetMailQueueExecutorFn> {\n constructor() {\n super({ scope: MailQueueExecutorProvider.name });\n }\n\n value(_container: Container): TGetMailQueueExecutorFn {\n return (config: IMailQueueExecutorConfig) => {\n this.logger\n .for(this.value.name)\n .info('Creating mail queue executor of type: %s', config.type);\n switch (config.type) {\n case MailQueueExecutorTypes.DIRECT: {\n return new DirectMailExecutorHelper();\n }\n\n case MailQueueExecutorTypes.INTERNAL_QUEUE: {\n if (!config.internalQueue) {\n throw getError({ message: 'Internal queue configuration is missing' });\n }\n\n return new InternalQueueMailExecutorHelper({\n identifier: config.internalQueue.identifier,\n });\n }\n\n case MailQueueExecutorTypes.BULLMQ: {\n if (!config.bullmq) {\n throw getError({ message: 'BullMQ configuration is missing' });\n }\n\n return new BullMQMailExecutorHelper(config.bullmq);\n }\n\n default: {\n throw getError({ message: `Unknown mail queue executor type: ${config.type}` });\n }\n }\n };\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mail-transporter.provider.js","sourceRoot":"","sources":["../../../../src/components/mail/providers/mail-transporter.provider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mail-transporter.provider.js","sourceRoot":"","sources":["../../../../src/components/mail/providers/mail-transporter.provider.ts"],"names":[],"mappings":"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","sourcesContent":["import { HTTP } from '@venizia/ignis-helpers/common';\nimport { BaseProvider } from '@venizia/ignis-kernel';\nimport type { Container } from '@/helpers';\nimport { getError } from '@venizia/ignis-helpers/core';\nimport type {\n IAmazonSesMailOptions,\n ICustomMailOptions,\n IMailgunMailOptions,\n IMailTransport,\n INodemailerMailOptions,\n TMailOptions,\n} from '../common';\nimport { MailErrorCodes, MailProviders } from '../common';\nimport {\n AmazonSesTransportHelper,\n MailgunTransportHelper,\n NodemailerTransportHelper,\n} from '../helpers';\nimport { isMailTransport } from '../utilities';\n\nexport type TGetMailTransportFn = (options: TMailOptions) => IMailTransport;\n\nexport class MailTransportProvider extends BaseProvider<TGetMailTransportFn> {\n constructor() {\n super({ scope: MailTransportProvider.name });\n }\n\n value(_container: Container): TGetMailTransportFn {\n return (options: TMailOptions) => {\n this.logger\n .for(this.value.name)\n .info('Creating mail transport for provider: %s', options.provider);\n\n switch (options.provider) {\n case MailProviders.NODEMAILER: {\n return this.createNodemailerTransport(options);\n }\n\n case MailProviders.MAILGUN: {\n return this.createMailgunTransport(options);\n }\n\n case MailProviders.AMAZON_SES: {\n return this.createAmazonSesTransport(options);\n }\n\n case MailProviders.CUSTOM: {\n return this.createCustomTransport(options);\n }\n\n default: {\n throw getError({\n statusCode: HTTP.ResultCodes.RS_5.InternalServerError,\n messageCode: MailErrorCodes.INVALID_CONFIGURATION,\n message: `Unsupported mail provider: ${options.provider}`,\n });\n }\n }\n };\n }\n\n private createNodemailerTransport(options: TMailOptions): NodemailerTransportHelper {\n if (this.isNodemailerOptions(options)) {\n this.logger\n .for(this.createNodemailerTransport.name)\n .info('Initializing Nodemailer transport');\n return new NodemailerTransportHelper({ config: options.config, module: options.module });\n }\n\n throw getError({\n statusCode: HTTP.ResultCodes.RS_5.InternalServerError,\n messageCode: MailErrorCodes.INVALID_CONFIGURATION,\n message: 'Invalid Nodemailer configuration',\n });\n }\n\n private createMailgunTransport(options: TMailOptions): MailgunTransportHelper {\n if (this.isMailgunOptions(options)) {\n this.logger.for(this.createMailgunTransport.name).info('Initializing Mailgun transport');\n return new MailgunTransportHelper({ config: options.config, module: options.module });\n }\n\n throw getError({\n statusCode: HTTP.ResultCodes.RS_5.InternalServerError,\n messageCode: MailErrorCodes.INVALID_CONFIGURATION,\n message: 'Invalid Mailgun configuration',\n });\n }\n\n private createAmazonSesTransport(options: TMailOptions): AmazonSesTransportHelper {\n if (this.isAmazonSesOptions(options)) {\n this.logger.for(this.createAmazonSesTransport.name).info('Initializing Amazon SES transport');\n return new AmazonSesTransportHelper({ config: options.config, module: options.module });\n }\n\n throw getError({\n statusCode: HTTP.ResultCodes.RS_5.InternalServerError,\n messageCode: MailErrorCodes.INVALID_CONFIGURATION,\n message: 'Invalid Amazon SES configuration',\n });\n }\n\n private createCustomTransport(options: TMailOptions): IMailTransport {\n if (!this.isCustomOptions(options)) {\n throw getError({\n statusCode: HTTP.ResultCodes.RS_5.InternalServerError,\n messageCode: MailErrorCodes.INVALID_CONFIGURATION,\n message: 'Invalid custom mail provider configuration',\n });\n }\n\n if (!isMailTransport(options.config)) {\n const missingMethods: string[] = [];\n const config = options.config as Record<string, unknown>;\n\n if (typeof config.send !== 'function') {\n missingMethods.push('send');\n }\n\n if (typeof config.verify !== 'function') {\n missingMethods.push('verify');\n }\n\n throw getError({\n statusCode: HTTP.ResultCodes.RS_5.InternalServerError,\n messageCode: MailErrorCodes.INVALID_CONFIGURATION,\n message: `Custom mail provider must implement IMailTransport interface. Missing methods: ${missingMethods.join(', ')}`,\n });\n }\n\n this.logger.for(this.createCustomTransport.name).info('Using custom mail transport');\n return options.config;\n }\n\n private isNodemailerOptions(options: TMailOptions): options is INodemailerMailOptions {\n return options.provider === MailProviders.NODEMAILER && 'config' in options;\n }\n\n private isMailgunOptions(options: TMailOptions): options is IMailgunMailOptions {\n return options.provider === MailProviders.MAILGUN && 'config' in options;\n }\n\n private isAmazonSesOptions(options: TMailOptions): options is IAmazonSesMailOptions {\n return options.provider === MailProviders.AMAZON_SES && 'config' in options;\n }\n\n private isCustomOptions(options: TMailOptions): options is ICustomMailOptions {\n return options.provider === MailProviders.CUSTOM && 'config' in options;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/mail/services/generators/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,iDAA+B;AAC/B,sDAAoC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/mail/services/generators/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,iDAA+B;AAC/B,sDAAoC","sourcesContent":["export * from './numeric-code';\nexport * from './random-token';\nexport * from './verification-data';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"numeric-code.js","sourceRoot":"","sources":["../../../../../src/components/mail/services/generators/numeric-code.ts"],"names":[],"mappings":";;;;;;AAAA,sDAAyD;AACzD,8DAAiC;AAGjC,MAAa,oBAAqB,SAAQ,iBAAU;IAClD;QACE,KAAK,CAAC,EAAE,KAAK,EAAE,oBAAoB,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,YAAY,CAAC,MAAc;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,qBAAM,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/C,CAAC;CACF;AAVD,oDAUC"}
|
|
1
|
+
{"version":3,"file":"numeric-code.js","sourceRoot":"","sources":["../../../../../src/components/mail/services/generators/numeric-code.ts"],"names":[],"mappings":";;;;;;AAAA,sDAAyD;AACzD,8DAAiC;AAGjC,MAAa,oBAAqB,SAAQ,iBAAU;IAClD;QACE,KAAK,CAAC,EAAE,KAAK,EAAE,oBAAoB,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,YAAY,CAAC,MAAc;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,qBAAM,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/C,CAAC;CACF;AAVD,oDAUC","sourcesContent":["import { BaseHelper } from '@venizia/ignis-helpers/core';\nimport crypto from 'node:crypto';\nimport type { IVerificationCodeGenerator } from '../../common';\n\nexport class NumericCodeGenerator extends BaseHelper implements IVerificationCodeGenerator {\n constructor() {\n super({ scope: NumericCodeGenerator.name });\n }\n\n generateCode(length: number): string {\n const max = Math.pow(10, length);\n const code = crypto.randomInt(0, max);\n return code.toString().padStart(length, '0');\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"random-token.js","sourceRoot":"","sources":["../../../../../src/components/mail/services/generators/random-token.ts"],"names":[],"mappings":";;;;;;AAAA,sDAAyD;AACzD,8DAAiC;AAGjC,MAAa,oBAAqB,SAAQ,iBAAU;IAClD;QACE,KAAK,CAAC,EAAE,KAAK,EAAE,oBAAoB,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,aAAa,CAAC,KAAa;QACzB,OAAO,qBAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACzD,CAAC;CACF;AARD,oDAQC"}
|
|
1
|
+
{"version":3,"file":"random-token.js","sourceRoot":"","sources":["../../../../../src/components/mail/services/generators/random-token.ts"],"names":[],"mappings":";;;;;;AAAA,sDAAyD;AACzD,8DAAiC;AAGjC,MAAa,oBAAqB,SAAQ,iBAAU;IAClD;QACE,KAAK,CAAC,EAAE,KAAK,EAAE,oBAAoB,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,aAAa,CAAC,KAAa;QACzB,OAAO,qBAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACzD,CAAC;CACF;AARD,oDAQC","sourcesContent":["import { BaseHelper } from '@venizia/ignis-helpers/core';\nimport crypto from 'node:crypto';\nimport type { IVerificationTokenGenerator } from '../../common';\n\nexport class RandomTokenGenerator extends BaseHelper implements IVerificationTokenGenerator {\n constructor() {\n super({ scope: RandomTokenGenerator.name });\n }\n\n generateToken(bytes: number): string {\n return crypto.randomBytes(bytes).toString('base64url');\n }\n}\n"]}
|
|
@@ -6,4 +6,3 @@ export declare class DefaultVerificationDataGenerator extends BaseHelper impleme
|
|
|
6
6
|
constructor(codeGenerator: IVerificationCodeGenerator, tokenGenerator: IVerificationTokenGenerator);
|
|
7
7
|
generateVerificationData(options: IVerificationGenerationOptions): IVerificationData;
|
|
8
8
|
}
|
|
9
|
-
//# sourceMappingURL=verification-data.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verification-data.js","sourceRoot":"","sources":["../../../../../src/components/mail/services/generators/verification-data.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAAyC;AACzC,sDAAyD;AASzD,yCAAwC;AACxC,+CAAsE;AAEtE,IAAa,gCAAgC,wCAA7C,MAAa,gCACX,SAAQ,iBAAU;IAGlB,YAEU,aAAyC,EAGzC,cAA2C;QAEnD,KAAK,CAAC,EAAE,KAAK,EAAE,kCAAgC,CAAC,IAAI,EAAE,CAAC,CAAC;QALhD,kBAAa,GAAb,aAAa,CAA4B;QAGzC,mBAAc,GAAd,cAAc,CAA6B;IAGrD,CAAC;IAED,wBAAwB,CAAC,OAAuC;QAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACjE,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACpE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAErC,OAAO;YACL,gBAAgB,EAAE,IAAI;YACtB,eAAe,EAAE,GAAG;YACpB,aAAa,EAAE,IAAA,yBAAa,EAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE;YACrE,YAAY,EAAE,CAAC;YAEf,iBAAiB,EAAE,KAAK;YACxB,gBAAgB,EAAE,GAAG;YACrB,cAAc,EAAE,IAAA,gCAAoB,EAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,WAAW,EAAE;YAE5E,cAAc,EAAE,GAAG;SACpB,CAAC;IACJ,CAAC;CACF,CAAA;AAhCY,4EAAgC;2CAAhC,gCAAgC;IAKxC,WAAA,IAAA,iBAAM,EAAC,EAAE,GAAG,EAAE,iBAAQ,CAAC,gCAAgC,EAAE,CAAC,CAAA;IAG1D,WAAA,IAAA,iBAAM,EAAC,EAAE,GAAG,EAAE,iBAAQ,CAAC,iCAAiC,EAAE,CAAC,CAAA;;GARnD,gCAAgC,CAgC5C"}
|
|
1
|
+
{"version":3,"file":"verification-data.js","sourceRoot":"","sources":["../../../../../src/components/mail/services/generators/verification-data.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAAyC;AACzC,sDAAyD;AASzD,yCAAwC;AACxC,+CAAsE;AAEtE,IAAa,gCAAgC,wCAA7C,MAAa,gCACX,SAAQ,iBAAU;IAGlB,YAEU,aAAyC,EAGzC,cAA2C;QAEnD,KAAK,CAAC,EAAE,KAAK,EAAE,kCAAgC,CAAC,IAAI,EAAE,CAAC,CAAC;QALhD,kBAAa,GAAb,aAAa,CAA4B;QAGzC,mBAAc,GAAd,cAAc,CAA6B;IAGrD,CAAC;IAED,wBAAwB,CAAC,OAAuC;QAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACjE,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACpE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAErC,OAAO;YACL,gBAAgB,EAAE,IAAI;YACtB,eAAe,EAAE,GAAG;YACpB,aAAa,EAAE,IAAA,yBAAa,EAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE;YACrE,YAAY,EAAE,CAAC;YAEf,iBAAiB,EAAE,KAAK;YACxB,gBAAgB,EAAE,GAAG;YACrB,cAAc,EAAE,IAAA,gCAAoB,EAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,WAAW,EAAE;YAE5E,cAAc,EAAE,GAAG;SACpB,CAAC;IACJ,CAAC;CACF,CAAA;AAhCY,4EAAgC;2CAAhC,gCAAgC;IAKxC,WAAA,IAAA,iBAAM,EAAC,EAAE,GAAG,EAAE,iBAAQ,CAAC,gCAAgC,EAAE,CAAC,CAAA;IAG1D,WAAA,IAAA,iBAAM,EAAC,EAAE,GAAG,EAAE,iBAAQ,CAAC,iCAAiC,EAAE,CAAC,CAAA;;GARnD,gCAAgC,CAgC5C","sourcesContent":["import { inject } from '@/base/metadata';\nimport { BaseHelper } from '@venizia/ignis-helpers/core';\n// Interfaces are `import type`: with emitDecoratorMetadata on, a value import of a type-only name survives transpilation and the ESM named-import check fails at load.\nimport type {\n IVerificationCodeGenerator,\n IVerificationData,\n IVerificationDataGenerator,\n IVerificationGenerationOptions,\n IVerificationTokenGenerator,\n} from '../../common';\nimport { MailKeys } from '../../common';\nimport { getExpiryTime, getExpiryTimeInHours } from '../../utilities';\n\nexport class DefaultVerificationDataGenerator\n extends BaseHelper\n implements IVerificationDataGenerator\n{\n constructor(\n @inject({ key: MailKeys.MAIL_VERIFICATION_CODE_GENERATOR })\n private codeGenerator: IVerificationCodeGenerator,\n\n @inject({ key: MailKeys.MAIL_VERIFICATION_TOKEN_GENERATOR })\n private tokenGenerator: IVerificationTokenGenerator,\n ) {\n super({ scope: DefaultVerificationDataGenerator.name });\n }\n\n generateVerificationData(options: IVerificationGenerationOptions): IVerificationData {\n const code = this.codeGenerator.generateCode(options.codeLength);\n const token = this.tokenGenerator.generateToken(options.tokenBytes);\n const now = new Date().toISOString();\n\n return {\n verificationCode: code,\n codeGeneratedAt: now,\n codeExpiresAt: getExpiryTime(options.codeExpiryMinutes).toISOString(),\n codeAttempts: 0,\n\n verificationToken: token,\n tokenGeneratedAt: now,\n tokenExpiresAt: getExpiryTimeInHours(options.tokenExpiryHours).toISOString(),\n\n lastCodeSentAt: now,\n };\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/mail/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,iDAA+B;AAC/B,qDAAmC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/mail/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,iDAA+B;AAC/B,qDAAmC","sourcesContent":["export * from './generators';\nexport * from './mail.service';\nexport * from './template.service';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mail.service.js","sourceRoot":"","sources":["../../../../src/components/mail/services/mail.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mail.service.js","sourceRoot":"","sources":["../../../../src/components/mail/services/mail.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { HTTP } from '@venizia/ignis-helpers/common';\nimport { BaseService } from '@venizia/ignis-kernel';\nimport type {\n IMailMessage,\n IMailSendResult,\n IMailService,\n IMailTemplateEngine,\n IMailTransport,\n TMailOptions,\n} from '../common';\nimport { MailDefaults, MailErrorCodes, MailErrors, MailKeys } from '../common';\nimport { inject } from '@/base/metadata';\nimport { getError, isApplicationError } from '@venizia/ignis-helpers/core';\nimport { type AnyType } from '@venizia/ignis-helpers/common';\nimport { executePromiseWithLimit } from '@venizia/ignis-helpers';\nimport { releaseAttachmentStreams, resolveMailAttachments } from '../utilities/attachment.utility';\nimport { assertMailBodyIsText } from '../utilities/body.utility';\n\nexport class MailService extends BaseService implements IMailService {\n constructor(\n @inject({ key: MailKeys.MAIL_OPTIONS })\n protected options: TMailOptions,\n @inject({ key: MailKeys.MAIL_TRANSPORT_INSTANCE })\n protected transport: IMailTransport,\n @inject({ key: MailKeys.MAIL_TEMPLATE_ENGINE, isOptional: true })\n protected templateEngine?: IMailTemplateEngine,\n ) {\n super({ scope: MailService.name });\n this.logger\n .for(this.constructor.name)\n .info('Mail service initialized with provider: %s', this.options.provider);\n }\n\n async send(message: IMailMessage): Promise<IMailSendResult> {\n try {\n this.validateMessage(message);\n\n const emailMessage: IMailMessage = {\n ...message,\n from: message.from ?? this.getDefaultFrom(),\n };\n\n // The one place the attachment policy applies: every transport receives bytes, never a path.\n if (message.attachments) {\n emailMessage.attachments = await resolveMailAttachments({\n attachments: message.attachments,\n attachmentRoot: this.options.attachmentRoot,\n maxBytes: this.options.maxAttachmentBytes ?? MailDefaults.MAX_ATTACHMENT_BYTES,\n });\n }\n\n this.logger.for(this.send.name).debug('Sending email to: %s', emailMessage.to);\n const result = await this.transport.send(emailMessage);\n\n if (result.success) {\n this.logger\n .for(this.send.name)\n .debug('Email sent successfully. MessageId: %s', result.messageId);\n } else {\n this.logger.for(this.send.name).debug('Email send failed: %s', result.error);\n }\n\n return result;\n } catch (error) {\n this.logger.for(this.send.name).error('Error sending email: %s', error);\n releaseAttachmentStreams({ attachments: message.attachments });\n\n // An error the framework already shaped carries its own status and message code; re-wrapping as 500 would report a caller mistake as a server fault.\n if (isApplicationError(error)) {\n throw error;\n }\n\n throw getError({\n statusCode: HTTP.ResultCodes.RS_5.InternalServerError,\n messageCode: MailErrorCodes.SEND_FAILED,\n // The raw text can carry a file path or a provider detail; it rides in `cause`, which only development responses show.\n message: 'Failed to send email',\n cause: error,\n });\n }\n }\n\n async sendBatch(\n messages: IMailMessage[],\n options?: { concurrency?: number },\n ): Promise<IMailSendResult[]> {\n try {\n const concurrency = options?.concurrency ?? MailDefaults.BATCH_CONCURRENCY;\n this.logger\n .for(this.sendBatch.name)\n .info('Sending batch of %d emails with concurrency: %d', messages.length, concurrency);\n\n const tasks = messages.map(message => async () => {\n try {\n return await this.send(message);\n } catch (error) {\n return {\n success: false,\n error: error instanceof Error ? error.message : 'Unknown error',\n };\n }\n });\n\n const results = await executePromiseWithLimit<IMailSendResult>({\n tasks,\n limit: concurrency,\n });\n\n const successCount = results.filter(r => r.success).length;\n this.logger\n .for(this.sendBatch.name)\n .info(\n 'Batch send completed. Success: %d, Failed: %d',\n successCount,\n results.length - successCount,\n );\n\n return results;\n } catch (error) {\n this.logger.for(this.sendBatch.name).error('Error sending batch emails: %s', error);\n throw getError({\n statusCode: HTTP.ResultCodes.RS_5.InternalServerError,\n messageCode: MailErrorCodes.BATCH_SEND_FAILED,\n message: 'Failed to send batch emails',\n cause: error,\n });\n }\n }\n\n async sendTemplate(opts: {\n templateName: string;\n data: Record<string, AnyType>;\n recipients: string | string[];\n options?: Partial<IMailMessage>;\n }): Promise<IMailSendResult> {\n const { templateName, data, recipients, options } = opts;\n\n try {\n if (!this.templateEngine) {\n throw getError({\n statusCode: HTTP.ResultCodes.RS_5.InternalServerError,\n messageCode: MailErrorCodes.INVALID_CONFIGURATION,\n message: 'Template engine not configured',\n });\n }\n\n this.logger.for(this.sendTemplate.name).debug('Rendering template: %s', templateName);\n const html = this.templateEngine.render({\n templateName,\n data,\n requireValidate: options?.requireValidate,\n });\n\n const templateData = this.templateEngine.getTemplate(templateName);\n\n const message: IMailMessage = {\n to: recipients,\n subject:\n options?.subject ??\n (templateData?.subject !== undefined\n ? this.templateEngine.render({\n templateData: templateData.subject,\n data,\n requireValidate: options?.requireValidate,\n })\n : 'No Subject'),\n html,\n ...options,\n };\n\n return await this.send(message);\n } catch (error) {\n this.logger.for(this.sendTemplate.name).error('Error sending template email: %s', error);\n throw error;\n }\n }\n\n async verify(): Promise<boolean> {\n try {\n this.logger.for(this.verify.name).debug('Verifying mail transport connection');\n const isValid = await this.transport.verify();\n this.logger.for(this.verify.name).debug('Verification result: %s', isValid);\n return isValid;\n } catch (error) {\n this.logger.for(this.verify.name).error('Verification failed: %s', error);\n throw getError({\n statusCode: HTTP.ResultCodes.RS_5.InternalServerError,\n messageCode: MailErrorCodes.VERIFICATION_FAILED,\n message: 'Mail transport verification failed',\n cause: error,\n });\n }\n }\n\n protected validateMessage(message: IMailMessage): void {\n if (!message.to || (Array.isArray(message.to) && message.to.length === 0)) {\n throw getError({\n error: MailErrors.INVALID_RECIPIENT,\n message: 'Recipient email address is required',\n });\n }\n\n if (!message.subject) {\n throw getError({\n error: MailErrors.INVALID_CONFIGURATION,\n message: 'Email subject is required',\n });\n }\n\n if (!message.text && !message.html) {\n throw getError({\n error: MailErrors.INVALID_CONFIGURATION,\n message: 'Email must have either text or html content',\n });\n }\n\n assertMailBodyIsText({ message });\n }\n\n protected getDefaultFrom(): string {\n const { from, fromName } = this.options;\n\n // A display name is only renderable around an address: `\"Name\" <undefined>` is not a sender.\n if (!from) {\n return MailDefaults.FALLBACK_FROM;\n }\n\n if (!fromName) {\n return from;\n }\n\n return `\"${fromName}\" <${from}>`;\n }\n}\n"]}
|