@seidor-cloud-produtos/orbit-backend-lib 2.0.138 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/clean-arch/application/cache/cache.d.ts +32 -0
- package/dist/clean-arch/application/cache/cache.js +24 -0
- package/dist/clean-arch/application/cache/cache.spec.d.ts +1 -0
- package/dist/clean-arch/application/cache/cache.spec.js +178 -0
- package/dist/clean-arch/application/cache/client.d.ts +23 -0
- package/dist/clean-arch/application/cache/client.js +11 -0
- package/dist/clean-arch/application/consistency-event-dispatcher/consistency-event-dispatcher.d.ts +9 -0
- package/dist/clean-arch/application/consistency-event-dispatcher/consistency-event-dispatcher.js +26 -0
- package/dist/clean-arch/application/logger/base-audit-logger.d.ts +10 -0
- package/dist/clean-arch/application/logger/base-audit-logger.js +28 -0
- package/dist/clean-arch/application/logger/index.d.ts +94 -6
- package/dist/clean-arch/application/logger/index.js +69 -7
- package/dist/clean-arch/application/logger/logger.spec.d.ts +1 -0
- package/dist/clean-arch/application/logger/logger.spec.js +204 -0
- package/dist/clean-arch/application/queue/handler.d.ts +28 -0
- package/dist/clean-arch/application/queue/handler.js +23 -0
- package/dist/clean-arch/application/queue/messages-in-memory.d.ts +6 -0
- package/dist/clean-arch/application/queue/queue-connection.d.ts +22 -0
- package/dist/clean-arch/application/queue/queue.d.ts +39 -0
- package/dist/clean-arch/domain/entities/entity.d.ts +3 -0
- package/dist/clean-arch/domain/entities/entity.js +35 -0
- package/dist/clean-arch/domain/entities/entity.spec.d.ts +1 -0
- package/dist/clean-arch/domain/entities/entity.spec.js +130 -0
- package/dist/clean-arch/domain/entities/watched-list.d.ts +1 -0
- package/dist/clean-arch/domain/entities/watched-list.js +9 -0
- package/dist/clean-arch/domain/events/consistency-event/consistency-event.d.ts +15 -0
- package/dist/clean-arch/domain/events/consistency-event/consistency-event.js +15 -0
- package/dist/clean-arch/domain/events/consistency-event/consistency-event.spec.d.ts +1 -0
- package/dist/clean-arch/domain/events/consistency-event/consistency-event.spec.js +99 -0
- package/dist/clean-arch/domain/events/consistency-event/events-enum.d.ts +98 -0
- package/dist/clean-arch/domain/events/consistency-event/events-enum.js +151 -0
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/address/address-created.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/address/address-created.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/address/address-entity-event.d.ts +30 -0
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/address/address-entity-event.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/address/address-upserted.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/address/address-upserted.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/branch/branch-associated.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/branch/branch-associated.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/branch/branch-created.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/branch/branch-created.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/branch/branch-entity-event.d.ts +38 -0
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/branch/branch-entity-event.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/branch/branch-upserted.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/branch/branch-upserted.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/contact/contact-created.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/contact/contact-created.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/contact/contact-entity-event.d.ts +26 -0
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/contact/contact-entity-event.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/contact/contact-upserted.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/contact/contact-upserted.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/customer/customer-created.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/customer/customer-created.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/customer/customer-entity-event.d.ts +10 -0
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/customer/customer-entity-event.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/customer/customer-upserted.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/customer/customer-upserted.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/partner/partner-created.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/partner/partner-created.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/partner/partner-entity-event.d.ts +37 -0
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/partner/partner-entity-event.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/partner/partner-updated.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/partner/partner-updated.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/partner/partner-upserted.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/partner/partner-upserted.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/role/role-associated.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/role/role-associated.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/role/role-entity-event.d.ts +13 -0
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/role/role-entity-event.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/role/role-upserted.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/role/role-upserted.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/supplier/supplier-created.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/supplier/supplier-created.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/supplier/supplier-entity-event.d.ts +5 -0
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/supplier/supplier-entity-event.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/authorization/authorization-created.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/authorization/authorization-created.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/authorization/authorization-entity-event.d.ts +11 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/authorization/authorization-entity-event.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/authorization/authorization-updated.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/authorization/authorization-updated.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/external-provider/external-provider-created.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/external-provider/external-provider-created.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/external-provider/external-provider-entity-event.d.ts +14 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/external-provider/external-provider-entity-event.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/role/role-created.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/role/role-created.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/role/role-entity-event.d.ts +13 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/role/role-entity-event.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/role/role-updated.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/role/role-updated.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/tenant/tenant-created.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/tenant/tenant-created.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/tenant/tenant-entity-event.d.ts +50 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/tenant/tenant-entity-event.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/tenant/tenant-updated.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/tenant/tenant-updated.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/tenant-role/tenant-role-entity-event.d.ts +8 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/tenant-role/tenant-role-entity-event.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/tenant-role/tenant-role-updated.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/tenant-role/tenant-role-updated.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/tenant-user/tenant-user-entity-event.d.ts +10 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/tenant-user/tenant-user-entity-event.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/tenant-user/tenant-user-updated.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/tenant-user/tenant-user-updated.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/user/user-entity-event.d.ts +10 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/user/user-entity-event.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/user/user-forgot-password.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/user/user-forgot-password.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/user/user-temporary-password-generated.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/user/user-temporary-password-generated.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/user-tenant-role/user-tenant-role-entity-event.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/user-tenant-role/user-tenant-role-entity-event.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/user-tenant-role/user-tenant-roles-created.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/user-tenant-role/user-tenant-roles-created.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/user-tenant-role/user-tenant-roles-updated.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/user-tenant-role/user-tenant-roles-updated.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/branch/branch-created.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/branch/branch-created.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/branch/branch-entity-event.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/branch/branch-entity-event.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/branch/branch-upserted.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/branch/branch-upserted.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/brazilian-federal-revenue-api-credential/brazilian-federal-revenue-api-credential-created.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/brazilian-federal-revenue-api-credential/brazilian-federal-revenue-api-credential-created.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/brazilian-federal-revenue-api-credential/brazilian-federal-revenue-api-credential-deleted.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/brazilian-federal-revenue-api-credential/brazilian-federal-revenue-api-credential-deleted.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/brazilian-federal-revenue-api-credential/brazilian-federal-revenue-api-credential-entity-event.d.ts +10 -0
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/brazilian-federal-revenue-api-credential/brazilian-federal-revenue-api-credential-entity-event.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/brazilian-federal-revenue-api-credential/brazilian-federal-revenue-api-credential-updated.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/brazilian-federal-revenue-api-credential/brazilian-federal-revenue-api-credential-updated.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/certificate/certificate-created.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/certificate/certificate-created.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/certificate/certificate-deleted.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/certificate/certificate-deleted.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/certificate/certificate-entity-event.d.ts +38 -0
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/certificate/certificate-entity-event.js +8 -0
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/certificate/certificate-updated.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/certificate/certificate-updated.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/entity/entity-created.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/entity/entity-created.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/entity/entity-event.d.ts +21 -0
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/entity/entity-event.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/entity/entity-updated.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/entity/entity-updated.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/entity/entity-upserted.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/entity/entity-upserted.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/external-provider/external-provider-created.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/external-provider/external-provider-created.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/external-provider/external-provider-deleted.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/external-provider/external-provider-deleted.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/external-provider/external-provider-entity-event.d.ts +27 -0
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/external-provider/external-provider-entity-event.js +8 -0
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/external-provider/external-provider-updated.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/external-provider/external-provider-updated.js +2 -0
- package/dist/clean-arch/domain/events/domain-event.d.ts +5 -0
- package/dist/clean-arch/domain/interfaces/country.d.ts +1 -0
- package/dist/clean-arch/domain/value-objects/password.spec.d.ts +1 -0
- package/dist/clean-arch/domain/value-objects/password.spec.js +90 -0
- package/dist/clean-arch/infra/adapters/http-adapters.spec.d.ts +1 -0
- package/dist/clean-arch/infra/adapters/http-adapters.spec.js +318 -0
- package/dist/clean-arch/infra/authorizations/authorizer.spec.js +43 -0
- package/dist/clean-arch/infra/cache/cache-clients.spec.d.ts +1 -0
- package/dist/clean-arch/infra/cache/cache-clients.spec.js +161 -0
- package/dist/clean-arch/infra/cache/cache-in-memory.d.ts +5 -0
- package/dist/clean-arch/infra/cache/cache-in-memory.js +6 -0
- package/dist/clean-arch/infra/cache/clients/node-cache.d.ts +17 -0
- package/dist/clean-arch/infra/cache/clients/node-cache.js +20 -2
- package/dist/clean-arch/infra/cache/clients/redis.d.ts +15 -0
- package/dist/clean-arch/infra/cache/clients/redis.js +11 -0
- package/dist/clean-arch/infra/consistency-event-dispatcher/amqp-consistency-event-dispatcher.d.ts +8 -0
- package/dist/clean-arch/infra/consistency-event-dispatcher/amqp-consistency-event-dispatcher.js +18 -0
- package/dist/clean-arch/infra/consistency-event-dispatcher/exchanges-enum.d.ts +50 -0
- package/dist/clean-arch/infra/consistency-event-dispatcher/exchanges-enum.js +58 -0
- package/dist/clean-arch/infra/consistency-event-dispatcher/in-memory-consistency-event-dispatcher.d.ts +7 -0
- package/dist/clean-arch/infra/consistency-event-dispatcher/in-memory-consistency-event-dispatcher.js +15 -0
- package/dist/clean-arch/infra/http/controller.spec.js +170 -51
- package/dist/clean-arch/infra/http/handle-authorizer-headers.d.ts +25 -0
- package/dist/clean-arch/infra/http/handle-authorizer-headers.js +29 -0
- package/dist/clean-arch/infra/http/handle-user-headers.d.ts +5 -0
- package/dist/clean-arch/infra/http/handle-user-headers.js +2 -0
- package/dist/clean-arch/infra/http/helpers.spec.d.ts +1 -0
- package/dist/clean-arch/infra/http/helpers.spec.js +136 -0
- package/dist/clean-arch/infra/http/net.spec.d.ts +1 -0
- package/dist/clean-arch/infra/http/net.spec.js +46 -0
- package/dist/clean-arch/infra/logger/logger-in-memory.d.ts +31 -2
- package/dist/clean-arch/infra/logger/logger-in-memory.js +21 -2
- package/dist/clean-arch/infra/logger/logger-orbit.d.ts +81 -5
- package/dist/clean-arch/infra/logger/logger-orbit.js +63 -6
- package/dist/clean-arch/infra/logger/logger-orbit.spec.d.ts +1 -0
- package/dist/clean-arch/infra/logger/logger-orbit.spec.js +122 -0
- package/dist/clean-arch/infra/orbit-http-client/orbit-axios-client/orbit-axios-client.spec.d.ts +1 -0
- package/dist/clean-arch/infra/orbit-http-client/orbit-axios-client/orbit-axios-client.spec.js +143 -0
- package/dist/clean-arch/infra/orbit-notification-client/discord-client.spec.d.ts +1 -0
- package/dist/clean-arch/infra/orbit-notification-client/discord-client.spec.js +58 -0
- package/dist/clean-arch/infra/queue/create-consumers.d.ts +18 -0
- package/dist/clean-arch/infra/queue/create-consumers.js +15 -0
- package/dist/clean-arch/infra/queue/create-queues.d.ts +11 -0
- package/dist/clean-arch/infra/queue/create-queues.js +19 -0
- package/dist/clean-arch/infra/queue/in-memory/in-memory-queue.d.ts +16 -0
- package/dist/clean-arch/infra/queue/in-memory/in-memory-queue.js +19 -0
- package/dist/clean-arch/infra/queue/queue-controller.d.ts +14 -0
- package/dist/clean-arch/infra/queue/queue-controller.js +8 -0
- package/dist/clean-arch/infra/queue/queue-utils.spec.d.ts +1 -0
- package/dist/clean-arch/infra/queue/queue-utils.spec.js +170 -0
- package/dist/clean-arch/infra/queue/rabbitmq/amqp-lib.d.ts +5 -1
- package/dist/clean-arch/infra/queue/rabbitmq/amqp-lib.js +23 -12
- package/dist/clean-arch/infra/queue/rabbitmq/amqp-lib.spec.js +504 -89
- package/dist/clean-arch/infra/queue/rabbitmq/create-queues.d.ts +10 -0
- package/dist/clean-arch/infra/queue/rabbitmq/create-queues.js +7 -0
- package/dist/clean-arch/infra/queue/rabbitmq/types.d.ts +7 -1
- package/dist/clean-arch/infra/queue/worker.d.ts +9 -0
- package/dist/clean-arch/infra/queue/worker.js +9 -0
- package/dist/clean-arch/infra/scaledjob/amqp/runner.d.ts +35 -2
- package/dist/clean-arch/infra/scaledjob/amqp/runner.js +38 -3
- package/dist/clean-arch/infra/scaledjob/amqp/runner.spec.js +74 -84
- package/dist/clean-arch/infra/scaledjob/amqp/types.d.ts +19 -0
- package/dist/clean-arch/infra/scaledjob/sqs/runner.d.ts +23 -0
- package/dist/clean-arch/infra/scaledjob/sqs/runner.js +26 -2
- package/dist/clean-arch/infra/scaledjob/sqs/runner.spec.d.ts +1 -0
- package/dist/clean-arch/infra/scaledjob/sqs/runner.spec.js +150 -0
- package/dist/clean-arch/infra/scaledjob/sqs/types.d.ts +18 -0
- package/dist/clean-arch/infra/scaledjob/types/index.d.ts +5 -0
- package/dist/clean-arch/infra/tracing/start-tracing.d.ts +10 -0
- package/dist/clean-arch/infra/tracing/start-tracing.js +78 -0
- package/dist/clean-arch/infra/validations/zod/schemas/common-validation.d.ts +159 -0
- package/dist/clean-arch/infra/validations/zod/schemas/common-validation.js +53 -2
- package/dist/clean-arch/infra/validations/zod/validation-zod.d.ts +1 -1
- package/dist/clean-arch/infra/validations/zod/validation-zod.spec.js +23 -0
- package/dist/clean-arch/shared/pagination/get-take-and-skip.spec.d.ts +1 -0
- package/dist/clean-arch/shared/pagination/get-take-and-skip.spec.js +16 -0
- package/dist/clean-arch/shared/timeout.d.ts +8 -0
- package/dist/clean-arch/shared/timeout.js +8 -0
- package/dist/frameworks/express/api-gateway/mapping-model.spec.js +58 -0
- package/dist/frameworks/express/authorizations/authorization-express.spec.js +9 -0
- package/dist/frameworks/express/middleware-express.spec.d.ts +1 -0
- package/dist/frameworks/express/middleware-express.spec.js +51 -0
- package/dist/frameworks/nest/nest.spec.d.ts +1 -0
- package/dist/frameworks/nest/nest.spec.js +122 -0
- package/dist/infra/http/api-gateway/mapping-model.spec.js +42 -0
- package/dist/static/countries.js +241 -0
- package/package.json +5 -1
|
@@ -3,19 +3,34 @@ import { CacheClient, CacheClientOptions } from '../../../application/cache/clie
|
|
|
3
3
|
export type ListenersType = {
|
|
4
4
|
error?: (error: Error) => void;
|
|
5
5
|
} | undefined;
|
|
6
|
+
/**
|
|
7
|
+
* Opcoes do cliente Redis.
|
|
8
|
+
* Combina opcoes do ioredis com CacheClientOptions.
|
|
9
|
+
*/
|
|
6
10
|
export interface RedisOptions extends LibRedisOptions, CacheClientOptions {
|
|
7
11
|
}
|
|
12
|
+
/**
|
|
13
|
+
* Cliente Redis para a camada de cache.
|
|
14
|
+
*/
|
|
8
15
|
export declare class Redis extends CacheClient {
|
|
9
16
|
protected connection: RedisOptions;
|
|
10
17
|
private client;
|
|
11
18
|
constructor(connection: RedisOptions);
|
|
12
19
|
private delayOperation;
|
|
20
|
+
/** Inicializa o cliente Redis. */
|
|
13
21
|
start(): Promise<void>;
|
|
22
|
+
/** Busca uma chave e faz JSON.parse do valor. */
|
|
14
23
|
get(key: string): Promise<any>;
|
|
24
|
+
/** Grava uma chave com TTL em segundos. */
|
|
15
25
|
set(key: string, data: string, expiration?: number): Promise<void>;
|
|
26
|
+
/** Remove uma chave. */
|
|
16
27
|
del(keyCache: string): Promise<void>;
|
|
28
|
+
/** Remove varias chaves com pipeline. */
|
|
17
29
|
delBatch(keyCache: string[]): Promise<void>;
|
|
30
|
+
/** Lista chaves (pattern no formato do Redis). */
|
|
18
31
|
getKeys(pattern?: string | undefined): Promise<string[] | null>;
|
|
32
|
+
/** Limpa o banco atual do Redis. */
|
|
19
33
|
flush(): Promise<void>;
|
|
34
|
+
/** Fecha a conexao com o Redis. */
|
|
20
35
|
close(): Promise<void>;
|
|
21
36
|
}
|
|
@@ -4,6 +4,9 @@ exports.Redis = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const ioredis_1 = tslib_1.__importDefault(require("ioredis"));
|
|
6
6
|
const client_1 = require("../../../application/cache/client");
|
|
7
|
+
/**
|
|
8
|
+
* Cliente Redis para a camada de cache.
|
|
9
|
+
*/
|
|
7
10
|
class Redis extends client_1.CacheClient {
|
|
8
11
|
connection;
|
|
9
12
|
client;
|
|
@@ -19,9 +22,11 @@ class Redis extends client_1.CacheClient {
|
|
|
19
22
|
await new Promise(resolve => setTimeout(resolve, timeout || 2500));
|
|
20
23
|
return null;
|
|
21
24
|
}
|
|
25
|
+
/** Inicializa o cliente Redis. */
|
|
22
26
|
async start() {
|
|
23
27
|
this.client = new ioredis_1.default(this.connection);
|
|
24
28
|
}
|
|
29
|
+
/** Busca uma chave e faz JSON.parse do valor. */
|
|
25
30
|
async get(key) {
|
|
26
31
|
const get = async () => {
|
|
27
32
|
const data = await this.client.get(key);
|
|
@@ -32,6 +37,7 @@ class Redis extends client_1.CacheClient {
|
|
|
32
37
|
// If redis not connected the get method never returns
|
|
33
38
|
return await Promise.race([get(), this.delayOperation()]);
|
|
34
39
|
}
|
|
40
|
+
/** Grava uma chave com TTL em segundos. */
|
|
35
41
|
async set(key, data, expiration) {
|
|
36
42
|
const set = async () => {
|
|
37
43
|
if (expiration)
|
|
@@ -41,9 +47,11 @@ class Redis extends client_1.CacheClient {
|
|
|
41
47
|
// If redis not connected the set method never returns
|
|
42
48
|
await Promise.race([set(), this.delayOperation()]);
|
|
43
49
|
}
|
|
50
|
+
/** Remove uma chave. */
|
|
44
51
|
async del(keyCache) {
|
|
45
52
|
await Promise.race([this.client.del(keyCache), this.delayOperation()]);
|
|
46
53
|
}
|
|
54
|
+
/** Remove varias chaves com pipeline. */
|
|
47
55
|
async delBatch(keyCache) {
|
|
48
56
|
const delBatch = async () => {
|
|
49
57
|
const pipeline = this.client.pipeline();
|
|
@@ -52,15 +60,18 @@ class Redis extends client_1.CacheClient {
|
|
|
52
60
|
};
|
|
53
61
|
await Promise.race([delBatch(), this.delayOperation()]);
|
|
54
62
|
}
|
|
63
|
+
/** Lista chaves (pattern no formato do Redis). */
|
|
55
64
|
async getKeys(pattern) {
|
|
56
65
|
return await Promise.race([
|
|
57
66
|
this.client.keys(pattern || '*'),
|
|
58
67
|
this.delayOperation(),
|
|
59
68
|
]);
|
|
60
69
|
}
|
|
70
|
+
/** Limpa o banco atual do Redis. */
|
|
61
71
|
async flush() {
|
|
62
72
|
await this.client.flushdb();
|
|
63
73
|
}
|
|
74
|
+
/** Fecha a conexao com o Redis. */
|
|
64
75
|
async close() {
|
|
65
76
|
await Promise.race([this.client.quit(), this.delayOperation()]);
|
|
66
77
|
}
|
package/dist/clean-arch/infra/consistency-event-dispatcher/amqp-consistency-event-dispatcher.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ConsistencyEventDispatcher } from '../../application/consistency-event-dispatcher/consistency-event-dispatcher';
|
|
2
|
+
import AmqpQueue from '../queue/rabbitmq/amqp-lib';
|
|
3
|
+
import ConsistencyEvent from '../../domain/events/consistency-event/consistency-event';
|
|
4
|
+
export declare class AmqpConsistencyEventDispatcher extends ConsistencyEventDispatcher {
|
|
5
|
+
protected amqp: AmqpQueue;
|
|
6
|
+
constructor(amqp: AmqpQueue);
|
|
7
|
+
publish(event: ConsistencyEvent): Promise<void>;
|
|
8
|
+
}
|
package/dist/clean-arch/infra/consistency-event-dispatcher/amqp-consistency-event-dispatcher.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AmqpConsistencyEventDispatcher = void 0;
|
|
4
|
+
const consistency_event_dispatcher_1 = require("../../application/consistency-event-dispatcher/consistency-event-dispatcher");
|
|
5
|
+
const exchanges_enum_1 = require("./exchanges-enum");
|
|
6
|
+
class AmqpConsistencyEventDispatcher extends consistency_event_dispatcher_1.ConsistencyEventDispatcher {
|
|
7
|
+
amqp;
|
|
8
|
+
constructor(amqp) {
|
|
9
|
+
super();
|
|
10
|
+
this.amqp = amqp;
|
|
11
|
+
}
|
|
12
|
+
async publish(event) {
|
|
13
|
+
await this.amqp.publish(`${exchanges_enum_1.PREFIX}.${event.input.eventName}.${exchanges_enum_1.TYPE}`, event, {
|
|
14
|
+
storeMessageOnError: false,
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.AmqpConsistencyEventDispatcher = AmqpConsistencyEventDispatcher;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
export declare const PREFIX = "consistency";
|
|
2
|
+
export declare const TYPE = "fanout";
|
|
3
|
+
export declare enum ExchangesEnum {
|
|
4
|
+
CONSISTENCY_ROLE_UPDATED = "consistency.portal-admin.role-updated.fanout",
|
|
5
|
+
CONSISTENCY_ROLE_CREATED = "consistency.portal-admin.role-created.fanout",
|
|
6
|
+
CONSISTENCY_USER_TEMPORARY_PASSWORD_GENERATED = "consistency.user-temporary-password-generated.fanout",
|
|
7
|
+
CONSISTENCY_USER_CREATED = "consistency.portal-admin.user-created.fanout",
|
|
8
|
+
CONSISTENCY_USER_ROLES_ASSOCIATED = "consistency.portal-admin.user-roles-associated.fanout",
|
|
9
|
+
CONSISTENCY_USER_ROLES_DISSOCIATED = "consistency.portal-admin.user-roles-dissociated.fanout",
|
|
10
|
+
CONSISTENCY_USER_UPDATED = "consistency.portal-admin.user-updated.fanout",
|
|
11
|
+
CONSISTENCY_USER_TENANT_ROLES_UPDATED = "consistency.portal-admin.user-tenant-roles-updated.fanout",
|
|
12
|
+
CONSISTENCY_USER_TENANT_ROLES_CREATED = "consistency.portal-admin.user-tenant-roles-created.fanout",
|
|
13
|
+
CONSISTENCY_USER_FORGOT_PASSWORD = "consistency.portal-admin.user-forgot-password.fanout",
|
|
14
|
+
CONSISTENCY_TENANT_CREATED = "consistency.portal-admin.tenant-created.fanout",
|
|
15
|
+
CONSISTENCY_TENANT_UPDATED = "consistency.portal-admin.tenant-updated.fanout",
|
|
16
|
+
CONSISTENCY_TENANT_ROLE_UPDATED = "consistency.portal-admin.tenant-role-updated.fanout",
|
|
17
|
+
CONSISTENCY_TENANT_USER_UPDATED = "consistency.portal-admin.tenant-user-updated.fanout",
|
|
18
|
+
CONSISTENCY_AUTHORIZATION_CREATED = "consistency.portal-admin.authorization-created.fanout",
|
|
19
|
+
CONSISTENCY_AUTHORIZATION_UPDATED = "consistency.portal-admin.authorization-updated.fanout",
|
|
20
|
+
CONSISTENCY_EXTERNAL_PROVIDER_CREATED = "consistency.portal-admin.external-provider-created.fanout",
|
|
21
|
+
CONSISTENCY_ADDRESS_CREATED = "consistency.partner-service.address-created.fanout",
|
|
22
|
+
CONSISTENCY_ADDRESS_UPSERTED = "consistency.partner-service.address-upserted.fanout",
|
|
23
|
+
CONSISTENCY_BRANCH_CREATED = "consistency.partner-service.branch-created.fanout",
|
|
24
|
+
CONSISTENCY_BRANCH_UPSERTED = "consistency.partner-service.branch-upserted.fanout",
|
|
25
|
+
CONSISTENCY_BRANCH_UPDATED = "consistency.partner-service.branch-updated.fanout",
|
|
26
|
+
CONSISTENCY_CONTACT_CREATED = "consistency.partner-service.contact-created.fanout",
|
|
27
|
+
CONSISTENCY_CONTACT_UPSERTED = "consistency.partner-service.contact-upserted.fanout",
|
|
28
|
+
CONSISTENCY_CUSTOMER_CREATED = "consistency.partner-service.customer-created.fanout",
|
|
29
|
+
CONSISTENCY_CUSTOMER_UPSERTED = "consistency.partner-service.customer-upserted.fanout",
|
|
30
|
+
CONSISTENCY_PARTNER_UPDATED = "consistency.partner-service.partner-updated.fanout",
|
|
31
|
+
CONSISTENCY_PARTNER_CREATED = "consistency.partner-service.partner-created.fanout",
|
|
32
|
+
CONSISTENCY_PARTNER_UPSERTED = "consistency.partner-service.partner-upserted.fanout",
|
|
33
|
+
CONSISTENCY_ROLE_ASSOCIATED = "consistency.partner-service.role-associated-to-partner.fanout",
|
|
34
|
+
CONSISTENCY_SUPPLIER_CREATED = "consistency.partner-service.supplier-created.fanout",
|
|
35
|
+
CONSISTENCY_ROLE_UPSERTED = "consistency.partner-service.role-upserted.fanout",
|
|
36
|
+
CONSISTENCY_SECURITY_SERVICE_BRANCH_UPDATED = "consistency.security-service.branch-updated.fanout",
|
|
37
|
+
CONSISTENCY_SECURITY_SERVICE_BRANCH_CREATED = "consistency.security-service.branch-created.fanout",
|
|
38
|
+
CONSISTENCY_SECURITY_SERVICE_CERTIFICATE_CREATED = "consistency.security-service.certificate-created.fanout",
|
|
39
|
+
CONSISTENCY_SECURITY_SERVICE_CERTIFICATE_DELETED = "consistency.security-service.certificate-deleted.fanout",
|
|
40
|
+
CONSISTENCY_SECURITY_SERVICE_CERTIFICATE_UPDATED = "consistency.security-service.certificate-updated.fanout",
|
|
41
|
+
CONSISTENCY_SECURITY_SERVICE_EXTERNAL_PROVIDER_CREATED = "consistency.security-service.external-provider-created.fanout",
|
|
42
|
+
CONSISTENCY_SECURITY_SERVICE_EXTERNAL_PROVIDER_UPDATED = "consistency.security-service.external-provider-updated.fanout",
|
|
43
|
+
CONSISTENCY_SECURITY_SERVICE_EXTERNAL_PROVIDER_DELETED = "consistency.security-service.external-provider-deleted.fanout",
|
|
44
|
+
CONSISTENCY_SECURITY_SERVICE_ENTITY_CREATED = "consistency.security-service.entity-created.fanout",
|
|
45
|
+
CONSISTENCY_SECURITY_SERVICE_ENTITY_UPDATED = "consistency.security-service.entity-updated.fanout",
|
|
46
|
+
CONSISTENCY_SECURITY_SERVICE_ENTITY_UPSERTED = "consistency.security-service.entity-upserted.fanout",
|
|
47
|
+
CONSISTENCY_SECURITY_SERVICE_BRAZILIAN_FEDERAL_REVENUE_API_CREDENTIAL_CREATED = "consistency.security-service.brazilian-federal-revenue-api-credential-created.fanout",
|
|
48
|
+
CONSISTENCY_SECURITY_SERVICE_BRAZILIAN_FEDERAL_REVENUE_API_CREDENTIAL_UPDATED = "consistency.security-service.brazilian-federal-revenue-api-credential-updated.fanout",
|
|
49
|
+
CONSISTENCY_SECURITY_SERVICE_BRAZILIAN_FEDERAL_REVENUE_API_CREDENTIAL_DELETED = "consistency.security-service.brazilian-federal-revenue-api-credential-deleted.fanout"
|
|
50
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ExchangesEnum = exports.TYPE = exports.PREFIX = void 0;
|
|
4
|
+
const events_enum_1 = require("../../domain/events/consistency-event/events-enum");
|
|
5
|
+
exports.PREFIX = 'consistency';
|
|
6
|
+
exports.TYPE = 'fanout';
|
|
7
|
+
var ExchangesEnum;
|
|
8
|
+
(function (ExchangesEnum) {
|
|
9
|
+
// portal-admin
|
|
10
|
+
ExchangesEnum["CONSISTENCY_ROLE_UPDATED"] = "consistency.portal-admin.role-updated.fanout";
|
|
11
|
+
ExchangesEnum["CONSISTENCY_ROLE_CREATED"] = "consistency.portal-admin.role-created.fanout";
|
|
12
|
+
ExchangesEnum["CONSISTENCY_USER_TEMPORARY_PASSWORD_GENERATED"] = "consistency.user-temporary-password-generated.fanout";
|
|
13
|
+
ExchangesEnum["CONSISTENCY_USER_CREATED"] = "consistency.portal-admin.user-created.fanout";
|
|
14
|
+
ExchangesEnum["CONSISTENCY_USER_ROLES_ASSOCIATED"] = "consistency.portal-admin.user-roles-associated.fanout";
|
|
15
|
+
ExchangesEnum["CONSISTENCY_USER_ROLES_DISSOCIATED"] = "consistency.portal-admin.user-roles-dissociated.fanout";
|
|
16
|
+
ExchangesEnum["CONSISTENCY_USER_UPDATED"] = "consistency.portal-admin.user-updated.fanout";
|
|
17
|
+
ExchangesEnum["CONSISTENCY_USER_TENANT_ROLES_UPDATED"] = "consistency.portal-admin.user-tenant-roles-updated.fanout";
|
|
18
|
+
ExchangesEnum["CONSISTENCY_USER_TENANT_ROLES_CREATED"] = "consistency.portal-admin.user-tenant-roles-created.fanout";
|
|
19
|
+
ExchangesEnum["CONSISTENCY_USER_FORGOT_PASSWORD"] = "consistency.portal-admin.user-forgot-password.fanout";
|
|
20
|
+
ExchangesEnum["CONSISTENCY_TENANT_CREATED"] = "consistency.portal-admin.tenant-created.fanout";
|
|
21
|
+
ExchangesEnum["CONSISTENCY_TENANT_UPDATED"] = "consistency.portal-admin.tenant-updated.fanout";
|
|
22
|
+
ExchangesEnum["CONSISTENCY_TENANT_ROLE_UPDATED"] = "consistency.portal-admin.tenant-role-updated.fanout";
|
|
23
|
+
ExchangesEnum["CONSISTENCY_TENANT_USER_UPDATED"] = "consistency.portal-admin.tenant-user-updated.fanout";
|
|
24
|
+
ExchangesEnum["CONSISTENCY_AUTHORIZATION_CREATED"] = "consistency.portal-admin.authorization-created.fanout";
|
|
25
|
+
ExchangesEnum["CONSISTENCY_AUTHORIZATION_UPDATED"] = "consistency.portal-admin.authorization-updated.fanout";
|
|
26
|
+
ExchangesEnum["CONSISTENCY_EXTERNAL_PROVIDER_CREATED"] = "consistency.portal-admin.external-provider-created.fanout";
|
|
27
|
+
// partner-service
|
|
28
|
+
ExchangesEnum["CONSISTENCY_ADDRESS_CREATED"] = "consistency.partner-service.address-created.fanout";
|
|
29
|
+
ExchangesEnum["CONSISTENCY_ADDRESS_UPSERTED"] = "consistency.partner-service.address-upserted.fanout";
|
|
30
|
+
ExchangesEnum["CONSISTENCY_BRANCH_CREATED"] = "consistency.partner-service.branch-created.fanout";
|
|
31
|
+
ExchangesEnum["CONSISTENCY_BRANCH_UPSERTED"] = "consistency.partner-service.branch-upserted.fanout";
|
|
32
|
+
ExchangesEnum["CONSISTENCY_BRANCH_UPDATED"] = "consistency.partner-service.branch-updated.fanout";
|
|
33
|
+
ExchangesEnum["CONSISTENCY_CONTACT_CREATED"] = "consistency.partner-service.contact-created.fanout";
|
|
34
|
+
ExchangesEnum["CONSISTENCY_CONTACT_UPSERTED"] = "consistency.partner-service.contact-upserted.fanout";
|
|
35
|
+
ExchangesEnum["CONSISTENCY_CUSTOMER_CREATED"] = "consistency.partner-service.customer-created.fanout";
|
|
36
|
+
ExchangesEnum["CONSISTENCY_CUSTOMER_UPSERTED"] = "consistency.partner-service.customer-upserted.fanout";
|
|
37
|
+
ExchangesEnum["CONSISTENCY_PARTNER_UPDATED"] = "consistency.partner-service.partner-updated.fanout";
|
|
38
|
+
ExchangesEnum["CONSISTENCY_PARTNER_CREATED"] = "consistency.partner-service.partner-created.fanout";
|
|
39
|
+
ExchangesEnum["CONSISTENCY_PARTNER_UPSERTED"] = "consistency.partner-service.partner-upserted.fanout";
|
|
40
|
+
ExchangesEnum["CONSISTENCY_ROLE_ASSOCIATED"] = "consistency.partner-service.role-associated-to-partner.fanout";
|
|
41
|
+
ExchangesEnum["CONSISTENCY_SUPPLIER_CREATED"] = "consistency.partner-service.supplier-created.fanout";
|
|
42
|
+
ExchangesEnum["CONSISTENCY_ROLE_UPSERTED"] = "consistency.partner-service.role-upserted.fanout";
|
|
43
|
+
// security-service
|
|
44
|
+
ExchangesEnum["CONSISTENCY_SECURITY_SERVICE_BRANCH_UPDATED"] = "consistency.security-service.branch-updated.fanout";
|
|
45
|
+
ExchangesEnum["CONSISTENCY_SECURITY_SERVICE_BRANCH_CREATED"] = "consistency.security-service.branch-created.fanout";
|
|
46
|
+
ExchangesEnum["CONSISTENCY_SECURITY_SERVICE_CERTIFICATE_CREATED"] = "consistency.security-service.certificate-created.fanout";
|
|
47
|
+
ExchangesEnum["CONSISTENCY_SECURITY_SERVICE_CERTIFICATE_DELETED"] = "consistency.security-service.certificate-deleted.fanout";
|
|
48
|
+
ExchangesEnum["CONSISTENCY_SECURITY_SERVICE_CERTIFICATE_UPDATED"] = "consistency.security-service.certificate-updated.fanout";
|
|
49
|
+
ExchangesEnum["CONSISTENCY_SECURITY_SERVICE_EXTERNAL_PROVIDER_CREATED"] = "consistency.security-service.external-provider-created.fanout";
|
|
50
|
+
ExchangesEnum["CONSISTENCY_SECURITY_SERVICE_EXTERNAL_PROVIDER_UPDATED"] = "consistency.security-service.external-provider-updated.fanout";
|
|
51
|
+
ExchangesEnum["CONSISTENCY_SECURITY_SERVICE_EXTERNAL_PROVIDER_DELETED"] = "consistency.security-service.external-provider-deleted.fanout";
|
|
52
|
+
ExchangesEnum["CONSISTENCY_SECURITY_SERVICE_ENTITY_CREATED"] = "consistency.security-service.entity-created.fanout";
|
|
53
|
+
ExchangesEnum["CONSISTENCY_SECURITY_SERVICE_ENTITY_UPDATED"] = "consistency.security-service.entity-updated.fanout";
|
|
54
|
+
ExchangesEnum["CONSISTENCY_SECURITY_SERVICE_ENTITY_UPSERTED"] = "consistency.security-service.entity-upserted.fanout";
|
|
55
|
+
ExchangesEnum["CONSISTENCY_SECURITY_SERVICE_BRAZILIAN_FEDERAL_REVENUE_API_CREDENTIAL_CREATED"] = "consistency.security-service.brazilian-federal-revenue-api-credential-created.fanout";
|
|
56
|
+
ExchangesEnum["CONSISTENCY_SECURITY_SERVICE_BRAZILIAN_FEDERAL_REVENUE_API_CREDENTIAL_UPDATED"] = "consistency.security-service.brazilian-federal-revenue-api-credential-updated.fanout";
|
|
57
|
+
ExchangesEnum["CONSISTENCY_SECURITY_SERVICE_BRAZILIAN_FEDERAL_REVENUE_API_CREDENTIAL_DELETED"] = "consistency.security-service.brazilian-federal-revenue-api-credential-deleted.fanout";
|
|
58
|
+
})(ExchangesEnum || (exports.ExchangesEnum = ExchangesEnum = {}));
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ConsistencyEventDispatcher } from '../../application/consistency-event-dispatcher/consistency-event-dispatcher';
|
|
2
|
+
import ConsistencyEvent from '../../domain/events/consistency-event/consistency-event';
|
|
3
|
+
export declare class InMemoryConsistencyEventDispatcher extends ConsistencyEventDispatcher {
|
|
4
|
+
protected events: ConsistencyEvent[];
|
|
5
|
+
constructor(events?: ConsistencyEvent[]);
|
|
6
|
+
publish(event: ConsistencyEvent): Promise<void>;
|
|
7
|
+
}
|
package/dist/clean-arch/infra/consistency-event-dispatcher/in-memory-consistency-event-dispatcher.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InMemoryConsistencyEventDispatcher = void 0;
|
|
4
|
+
const consistency_event_dispatcher_1 = require("../../application/consistency-event-dispatcher/consistency-event-dispatcher");
|
|
5
|
+
class InMemoryConsistencyEventDispatcher extends consistency_event_dispatcher_1.ConsistencyEventDispatcher {
|
|
6
|
+
events;
|
|
7
|
+
constructor(events = []) {
|
|
8
|
+
super();
|
|
9
|
+
this.events = events;
|
|
10
|
+
}
|
|
11
|
+
async publish(event) {
|
|
12
|
+
this.events.push(event);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
exports.InMemoryConsistencyEventDispatcher = InMemoryConsistencyEventDispatcher;
|
|
@@ -1,60 +1,179 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
|
+
const api_error_1 = require("../../../infra/http/errors/api-error");
|
|
5
|
+
const application_error_1 = tslib_1.__importDefault(require("../../domain/errors/application-error"));
|
|
4
6
|
const conflict_error_1 = tslib_1.__importDefault(require("../../domain/errors/conflict-error"));
|
|
7
|
+
const domain_error_1 = tslib_1.__importDefault(require("../../domain/errors/domain-error"));
|
|
8
|
+
const validation_error_1 = tslib_1.__importDefault(require("../../domain/errors/validation-error"));
|
|
9
|
+
const not_allowed_1 = tslib_1.__importDefault(require("../authorizations/not-allowed"));
|
|
10
|
+
const infra_error_1 = tslib_1.__importDefault(require("../errors/infra-error"));
|
|
5
11
|
const controller_1 = tslib_1.__importDefault(require("./controller"));
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
try {
|
|
10
|
-
throw new conflict_error_1.default({ id: 'ID' });
|
|
11
|
-
}
|
|
12
|
-
catch (err) {
|
|
13
|
-
return this.throw(err);
|
|
14
|
-
}
|
|
15
|
-
}
|
|
12
|
+
class TestController extends controller_1.default {
|
|
13
|
+
async handle() {
|
|
14
|
+
return this.success({ ok: true });
|
|
16
15
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
code: 409,
|
|
23
|
-
message: 'Entity already exists.',
|
|
24
|
-
items: [
|
|
25
|
-
{
|
|
26
|
-
id: 'ID',
|
|
27
|
-
},
|
|
28
|
-
],
|
|
29
|
-
},
|
|
30
|
-
}));
|
|
31
|
-
});
|
|
32
|
-
test('conflict error with array of objects', async () => {
|
|
33
|
-
class ControllerError extends controller_1.default {
|
|
34
|
-
async handle() {
|
|
35
|
-
try {
|
|
36
|
-
throw new conflict_error_1.default([{ id: 'ID 1' }, { id: 'ID 2' }]);
|
|
37
|
-
}
|
|
38
|
-
catch (err) {
|
|
39
|
-
return this.throw(err);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
16
|
+
successResponse(dto) {
|
|
17
|
+
return this.success(dto);
|
|
18
|
+
}
|
|
19
|
+
noContentResponse() {
|
|
20
|
+
return this.noContent();
|
|
42
21
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
22
|
+
createdResponse(dto) {
|
|
23
|
+
return this.created(dto);
|
|
24
|
+
}
|
|
25
|
+
paginatedResponse(dto) {
|
|
26
|
+
return this.paginated(dto);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
describe('Controller', () => {
|
|
30
|
+
it('should build success responses', () => {
|
|
31
|
+
const controller = new TestController();
|
|
32
|
+
expect(controller.successResponse({ id: '1' })).toEqual({
|
|
33
|
+
code: 200,
|
|
34
|
+
data: { data: { id: '1' } },
|
|
35
|
+
});
|
|
36
|
+
expect(controller.noContentResponse()).toEqual({
|
|
37
|
+
code: 204,
|
|
38
|
+
data: undefined,
|
|
39
|
+
});
|
|
40
|
+
expect(controller.createdResponse({ id: '1' })).toEqual({
|
|
41
|
+
code: 201,
|
|
42
|
+
data: { data: { id: '1' } },
|
|
43
|
+
});
|
|
44
|
+
expect(controller.createdResponse()).toEqual({
|
|
45
|
+
code: 201,
|
|
46
|
+
data: undefined,
|
|
47
|
+
});
|
|
48
|
+
expect(controller.paginatedResponse({ items: [1, 2] })).toEqual({
|
|
49
|
+
code: 200,
|
|
50
|
+
data: { items: [1, 2] },
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
it('should return conflict error response with one object', () => {
|
|
54
|
+
const controller = new TestController();
|
|
55
|
+
expect(controller.throw(new conflict_error_1.default({ id: 'ID' }))).toEqual({
|
|
56
|
+
code: 409,
|
|
57
|
+
data: {
|
|
58
|
+
code: 409,
|
|
59
|
+
message: 'Entity already exists.',
|
|
60
|
+
items: [{ id: 'ID' }],
|
|
61
|
+
},
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
it('should return conflict error response with array of objects', () => {
|
|
65
|
+
const controller = new TestController();
|
|
66
|
+
expect(controller.throw(new conflict_error_1.default([{ id: 'ID 1' }, { id: 'ID 2' }]))).toEqual({
|
|
48
67
|
code: 409,
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
68
|
+
data: {
|
|
69
|
+
code: 409,
|
|
70
|
+
message: 'Entity already exists.',
|
|
71
|
+
items: [{ id: 'ID 1' }, { id: 'ID 2' }],
|
|
72
|
+
},
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
it.each([
|
|
76
|
+
[new domain_error_1.default('domain failed', 422), 422, 'domain failed'],
|
|
77
|
+
[
|
|
78
|
+
new application_error_1.default('application failed', 401),
|
|
79
|
+
401,
|
|
80
|
+
'application failed',
|
|
81
|
+
],
|
|
82
|
+
[new infra_error_1.default('infra failed', 503), 503, 'infra failed'],
|
|
83
|
+
])('should map known error types with code and message', (error, code, message) => {
|
|
84
|
+
const controller = new TestController();
|
|
85
|
+
expect(controller.throw(error)).toEqual({
|
|
86
|
+
code,
|
|
87
|
+
data: {
|
|
88
|
+
code,
|
|
89
|
+
message,
|
|
90
|
+
},
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
it('should map api errors', () => {
|
|
94
|
+
const controller = new TestController();
|
|
95
|
+
const error = new api_error_1.ApiError({
|
|
96
|
+
status: 401,
|
|
97
|
+
body: {
|
|
98
|
+
code: 401,
|
|
99
|
+
message: 'Unauthorized',
|
|
100
|
+
timestamp: new Date('2024-01-01T00:00:00.000Z'),
|
|
101
|
+
errors: [
|
|
102
|
+
{
|
|
103
|
+
code_error: '401',
|
|
104
|
+
location: 'authorization',
|
|
105
|
+
msg: 'Unauthorized',
|
|
106
|
+
},
|
|
107
|
+
],
|
|
108
|
+
},
|
|
109
|
+
headers: {},
|
|
110
|
+
});
|
|
111
|
+
expect(controller.throw(error)).toEqual({
|
|
112
|
+
code: 401,
|
|
113
|
+
data: error.error,
|
|
114
|
+
});
|
|
115
|
+
});
|
|
116
|
+
it('should map validation errors', () => {
|
|
117
|
+
const controller = new TestController();
|
|
118
|
+
const error = new validation_error_1.default([
|
|
119
|
+
{
|
|
120
|
+
property: 'email',
|
|
121
|
+
message: 'Required field',
|
|
122
|
+
},
|
|
123
|
+
]);
|
|
124
|
+
expect(controller.throw(error)).toEqual({
|
|
125
|
+
code: 400,
|
|
126
|
+
data: {
|
|
127
|
+
code: 400,
|
|
128
|
+
message: 'Validation Error',
|
|
129
|
+
errors: [
|
|
130
|
+
{
|
|
131
|
+
property: 'email',
|
|
132
|
+
message: 'Required field',
|
|
133
|
+
},
|
|
134
|
+
],
|
|
135
|
+
},
|
|
136
|
+
});
|
|
137
|
+
});
|
|
138
|
+
it('should map not allowed errors', () => {
|
|
139
|
+
const controller = new TestController();
|
|
140
|
+
const error = new not_allowed_1.default({
|
|
141
|
+
status: 403,
|
|
142
|
+
body: {
|
|
143
|
+
code: 403,
|
|
144
|
+
message: 'Forbidden',
|
|
145
|
+
timestamp: new Date('2024-02-02T00:00:00.000Z'),
|
|
146
|
+
errors: [
|
|
147
|
+
{
|
|
148
|
+
code_error: '403',
|
|
149
|
+
location: 'authorization',
|
|
150
|
+
msg: 'Forbidden',
|
|
151
|
+
},
|
|
152
|
+
],
|
|
153
|
+
},
|
|
154
|
+
headers: {
|
|
155
|
+
'content-type': 'application/json',
|
|
156
|
+
},
|
|
157
|
+
});
|
|
158
|
+
expect(controller.throw(error)).toEqual({
|
|
159
|
+
code: 403,
|
|
160
|
+
data: error.error,
|
|
161
|
+
});
|
|
162
|
+
});
|
|
163
|
+
it('should map unexpected errors to internal server error', () => {
|
|
164
|
+
const controller = new TestController();
|
|
165
|
+
const unexpectedError = new Error('boom');
|
|
166
|
+
const consoleError = vi
|
|
167
|
+
.spyOn(console, 'error')
|
|
168
|
+
.mockImplementation(() => undefined);
|
|
169
|
+
expect(controller.throw(unexpectedError)).toEqual({
|
|
170
|
+
code: 500,
|
|
171
|
+
data: {
|
|
172
|
+
code: 500,
|
|
173
|
+
message: 'Server failed. Contact the administrator!',
|
|
174
|
+
reason: unexpectedError,
|
|
175
|
+
},
|
|
176
|
+
});
|
|
177
|
+
expect(consoleError).toHaveBeenCalledWith(unexpectedError);
|
|
178
|
+
});
|
|
60
179
|
});
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { UserRequestDTO } from '../../domain/entities/common-dto';
|
|
2
|
+
type HeadersProps = {
|
|
3
|
+
username?: string;
|
|
4
|
+
useremail?: string;
|
|
5
|
+
userid?: string;
|
|
6
|
+
['app-id']?: string;
|
|
7
|
+
['app-name']?: string;
|
|
8
|
+
tenantid: string;
|
|
9
|
+
['x-trace-id']: string;
|
|
10
|
+
};
|
|
11
|
+
export type AuthorizerHeaders = {
|
|
12
|
+
userName?: string;
|
|
13
|
+
userEmail?: string;
|
|
14
|
+
appName?: string;
|
|
15
|
+
tenantId: string;
|
|
16
|
+
entityId: string;
|
|
17
|
+
traceId?: string;
|
|
18
|
+
};
|
|
19
|
+
export declare function handleAuthorizerHeaders(headers: HeadersProps): AuthorizerHeaders;
|
|
20
|
+
/**
|
|
21
|
+
*
|
|
22
|
+
* @deprecated E-mail and name not must be recorded as tracing.
|
|
23
|
+
*/
|
|
24
|
+
export declare function authorizerToLegacyDefaultHeaders(authorizerHeaders: AuthorizerHeaders): UserRequestDTO;
|
|
25
|
+
export {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.authorizerToLegacyDefaultHeaders = exports.handleAuthorizerHeaders = void 0;
|
|
4
|
+
function handleAuthorizerHeaders(headers) {
|
|
5
|
+
return {
|
|
6
|
+
userName: headers.username,
|
|
7
|
+
userEmail: headers.useremail,
|
|
8
|
+
appName: headers['app-name'],
|
|
9
|
+
entityId: headers['app-id'] || headers.userid || headers.useremail,
|
|
10
|
+
tenantId: headers.tenantid,
|
|
11
|
+
traceId: headers['x-trace-id'],
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
exports.handleAuthorizerHeaders = handleAuthorizerHeaders;
|
|
15
|
+
/**
|
|
16
|
+
*
|
|
17
|
+
* @deprecated E-mail and name not must be recorded as tracing.
|
|
18
|
+
*/
|
|
19
|
+
function authorizerToLegacyDefaultHeaders(authorizerHeaders) {
|
|
20
|
+
const email = authorizerHeaders.userEmail;
|
|
21
|
+
const name = authorizerHeaders.appName || authorizerHeaders.userName;
|
|
22
|
+
return {
|
|
23
|
+
createdByEmail: email,
|
|
24
|
+
createdByName: name,
|
|
25
|
+
updatedByEmail: email,
|
|
26
|
+
updatedByName: name,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
exports.authorizerToLegacyDefaultHeaders = authorizerToLegacyDefaultHeaders;
|
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
type HeadersProps = {
|
|
2
2
|
username: string;
|
|
3
3
|
useremail: string;
|
|
4
|
+
userid?: string;
|
|
5
|
+
['app-id']?: string;
|
|
6
|
+
tenantid: string;
|
|
4
7
|
};
|
|
5
8
|
export declare function handleUserHeaders(headers: HeadersProps): {
|
|
6
9
|
createdByName: string;
|
|
7
10
|
createdByEmail: string;
|
|
8
11
|
updatedByEmail: string;
|
|
9
12
|
updatedByName: string;
|
|
13
|
+
entityId: string | undefined;
|
|
14
|
+
tenantId: string;
|
|
10
15
|
};
|
|
11
16
|
export {};
|
|
@@ -7,6 +7,8 @@ function handleUserHeaders(headers) {
|
|
|
7
7
|
createdByEmail: headers.useremail,
|
|
8
8
|
updatedByEmail: headers.useremail,
|
|
9
9
|
updatedByName: headers.username,
|
|
10
|
+
entityId: headers.userid || headers['app-id'],
|
|
11
|
+
tenantId: headers.tenantid,
|
|
10
12
|
};
|
|
11
13
|
}
|
|
12
14
|
exports.handleUserHeaders = handleUserHeaders;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|