@seidor-cloud-produtos/orbit-backend-lib 2.0.136 → 2.0.138
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 +0 -32
- package/dist/clean-arch/application/cache/cache.js +0 -24
- package/dist/clean-arch/application/cache/client.d.ts +0 -23
- package/dist/clean-arch/application/cache/client.js +0 -11
- package/dist/clean-arch/application/logger/index.d.ts +6 -94
- package/dist/clean-arch/application/logger/index.js +7 -69
- package/dist/clean-arch/application/queue/handler.d.ts +0 -28
- package/dist/clean-arch/application/queue/handler.js +0 -23
- package/dist/clean-arch/application/queue/messages-in-memory.d.ts +0 -6
- package/dist/clean-arch/application/queue/queue-connection.d.ts +0 -22
- package/dist/clean-arch/application/queue/queue.d.ts +0 -39
- package/dist/clean-arch/domain/entities/entity.d.ts +0 -3
- package/dist/clean-arch/domain/entities/entity.js +0 -35
- package/dist/clean-arch/domain/entities/watched-list.d.ts +0 -1
- package/dist/clean-arch/domain/entities/watched-list.js +0 -9
- package/dist/clean-arch/domain/events/domain-event.d.ts +0 -5
- package/dist/clean-arch/domain/interfaces/country.d.ts +0 -1
- package/dist/clean-arch/infra/authorizations/authorizer.spec.js +0 -43
- package/dist/clean-arch/infra/cache/cache-in-memory.d.ts +0 -5
- package/dist/clean-arch/infra/cache/cache-in-memory.js +0 -6
- package/dist/clean-arch/infra/cache/clients/node-cache.d.ts +0 -17
- package/dist/clean-arch/infra/cache/clients/node-cache.js +2 -20
- package/dist/clean-arch/infra/cache/clients/redis.d.ts +0 -15
- package/dist/clean-arch/infra/cache/clients/redis.js +0 -11
- package/dist/clean-arch/infra/http/controller.spec.js +51 -170
- package/dist/clean-arch/infra/http/handle-user-headers.d.ts +0 -5
- package/dist/clean-arch/infra/http/handle-user-headers.js +0 -2
- package/dist/clean-arch/infra/logger/logger-in-memory.d.ts +2 -31
- package/dist/clean-arch/infra/logger/logger-in-memory.js +2 -21
- package/dist/clean-arch/infra/logger/logger-orbit.d.ts +5 -81
- package/dist/clean-arch/infra/logger/logger-orbit.js +6 -63
- package/dist/clean-arch/infra/queue/create-consumers.d.ts +0 -18
- package/dist/clean-arch/infra/queue/create-consumers.js +0 -15
- package/dist/clean-arch/infra/queue/in-memory/in-memory-queue.d.ts +0 -16
- package/dist/clean-arch/infra/queue/in-memory/in-memory-queue.js +0 -19
- package/dist/clean-arch/infra/queue/queue-controller.d.ts +0 -14
- package/dist/clean-arch/infra/queue/queue-controller.js +0 -8
- package/dist/clean-arch/infra/queue/rabbitmq/amqp-lib.d.ts +1 -5
- package/dist/clean-arch/infra/queue/rabbitmq/amqp-lib.js +12 -23
- package/dist/clean-arch/infra/queue/rabbitmq/amqp-lib.spec.js +89 -504
- package/dist/clean-arch/infra/queue/rabbitmq/types.d.ts +1 -7
- package/dist/clean-arch/infra/queue/worker.d.ts +0 -9
- package/dist/clean-arch/infra/queue/worker.js +0 -9
- package/dist/clean-arch/infra/scaledjob/amqp/runner.d.ts +2 -35
- package/dist/clean-arch/infra/scaledjob/amqp/runner.js +3 -38
- package/dist/clean-arch/infra/scaledjob/amqp/runner.spec.js +84 -74
- package/dist/clean-arch/infra/scaledjob/amqp/types.d.ts +0 -19
- package/dist/clean-arch/infra/scaledjob/sqs/runner.d.ts +0 -23
- package/dist/clean-arch/infra/scaledjob/sqs/runner.js +2 -26
- package/dist/clean-arch/infra/scaledjob/sqs/types.d.ts +0 -18
- package/dist/clean-arch/infra/scaledjob/types/index.d.ts +0 -5
- package/dist/clean-arch/infra/validations/zod/schemas/common-validation.d.ts +0 -159
- package/dist/clean-arch/infra/validations/zod/schemas/common-validation.js +2 -53
- package/dist/clean-arch/infra/validations/zod/validation-zod.d.ts +1 -1
- package/dist/clean-arch/infra/validations/zod/validation-zod.spec.js +0 -23
- package/dist/clean-arch/shared/timeout.d.ts +0 -8
- package/dist/clean-arch/shared/timeout.js +0 -8
- package/dist/frameworks/express/api-gateway/mapping-model.spec.js +0 -58
- package/dist/frameworks/express/authorizations/authorization-express.spec.js +0 -9
- package/dist/infra/http/api-gateway/mapping-model.spec.js +0 -42
- package/dist/static/countries.js +0 -241
- package/package.json +1 -5
- package/dist/clean-arch/application/cache/cache.spec.d.ts +0 -1
- package/dist/clean-arch/application/cache/cache.spec.js +0 -178
- package/dist/clean-arch/application/consistency-event-dispatcher/consistency-event-dispatcher.d.ts +0 -9
- package/dist/clean-arch/application/consistency-event-dispatcher/consistency-event-dispatcher.js +0 -26
- package/dist/clean-arch/application/logger/base-audit-logger.d.ts +0 -10
- package/dist/clean-arch/application/logger/base-audit-logger.js +0 -28
- package/dist/clean-arch/application/logger/logger.spec.d.ts +0 -1
- package/dist/clean-arch/application/logger/logger.spec.js +0 -204
- package/dist/clean-arch/domain/entities/entity.spec.d.ts +0 -1
- package/dist/clean-arch/domain/entities/entity.spec.js +0 -130
- package/dist/clean-arch/domain/events/consistency-event/consistency-event.d.ts +0 -15
- package/dist/clean-arch/domain/events/consistency-event/consistency-event.js +0 -15
- package/dist/clean-arch/domain/events/consistency-event/consistency-event.spec.d.ts +0 -1
- package/dist/clean-arch/domain/events/consistency-event/consistency-event.spec.js +0 -99
- package/dist/clean-arch/domain/events/consistency-event/events-enum.d.ts +0 -94
- package/dist/clean-arch/domain/events/consistency-event/events-enum.js +0 -145
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/address/address-created.d.ts +0 -9
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/address/address-created.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/address/address-entity-event.d.ts +0 -30
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/address/address-entity-event.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/address/address-upserted.d.ts +0 -9
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/address/address-upserted.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/branch/branch-associated.d.ts +0 -9
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/branch/branch-associated.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/branch/branch-created.d.ts +0 -9
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/branch/branch-created.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/branch/branch-entity-event.d.ts +0 -38
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/branch/branch-entity-event.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/branch/branch-upserted.d.ts +0 -9
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/branch/branch-upserted.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/contact/contact-created.d.ts +0 -9
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/contact/contact-created.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/contact/contact-entity-event.d.ts +0 -26
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/contact/contact-entity-event.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/contact/contact-upserted.d.ts +0 -9
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/contact/contact-upserted.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/customer/customer-created.d.ts +0 -9
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/customer/customer-created.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/customer/customer-entity-event.d.ts +0 -10
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/customer/customer-entity-event.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/customer/customer-upserted.d.ts +0 -9
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/customer/customer-upserted.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/partner/partner-created.d.ts +0 -9
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/partner/partner-created.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/partner/partner-entity-event.d.ts +0 -37
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/partner/partner-entity-event.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/partner/partner-updated.d.ts +0 -9
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/partner/partner-updated.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/partner/partner-upserted.d.ts +0 -9
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/partner/partner-upserted.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/role/role-associated.d.ts +0 -9
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/role/role-associated.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/role/role-entity-event.d.ts +0 -13
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/role/role-entity-event.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/role/role-upserted.d.ts +0 -9
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/role/role-upserted.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/supplier/supplier-created.d.ts +0 -9
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/supplier/supplier-created.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/supplier/supplier-entity-event.d.ts +0 -5
- package/dist/clean-arch/domain/events/consistency-event/types/partner-service/supplier/supplier-entity-event.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/authorization/authorization-created.d.ts +0 -9
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/authorization/authorization-created.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/authorization/authorization-entity-event.d.ts +0 -11
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/authorization/authorization-entity-event.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/authorization/authorization-updated.d.ts +0 -9
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/authorization/authorization-updated.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/external-provider/external-provider-created.d.ts +0 -9
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/external-provider/external-provider-created.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/external-provider/external-provider-entity-event.d.ts +0 -14
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/external-provider/external-provider-entity-event.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/role/role-created.d.ts +0 -9
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/role/role-created.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/role/role-entity-event.d.ts +0 -13
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/role/role-entity-event.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/role/role-updated.d.ts +0 -9
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/role/role-updated.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/tenant/tenant-created.d.ts +0 -9
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/tenant/tenant-created.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/tenant/tenant-entity-event.d.ts +0 -50
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/tenant/tenant-entity-event.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/tenant/tenant-updated.d.ts +0 -9
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/tenant/tenant-updated.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/tenant-role/tenant-role-entity-event.d.ts +0 -8
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/tenant-role/tenant-role-entity-event.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/tenant-role/tenant-role-updated.d.ts +0 -9
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/tenant-role/tenant-role-updated.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/tenant-user/tenant-user-entity-event.d.ts +0 -10
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/tenant-user/tenant-user-entity-event.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/tenant-user/tenant-user-updated.d.ts +0 -9
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/tenant-user/tenant-user-updated.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/user/user-entity-event.d.ts +0 -10
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/user/user-entity-event.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/user/user-forgot-password.d.ts +0 -9
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/user/user-forgot-password.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/user/user-temporary-password-generated.d.ts +0 -9
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/user/user-temporary-password-generated.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/user-tenant-role/user-tenant-role-entity-event.d.ts +0 -9
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/user-tenant-role/user-tenant-role-entity-event.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/user-tenant-role/user-tenant-roles-created.d.ts +0 -9
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/user-tenant-role/user-tenant-roles-created.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/user-tenant-role/user-tenant-roles-updated.d.ts +0 -9
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/user-tenant-role/user-tenant-roles-updated.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/branch/branch-created.d.ts +0 -9
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/branch/branch-created.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/branch/branch-entity-event.d.ts +0 -8
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/branch/branch-entity-event.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/branch/branch-upserted.d.ts +0 -9
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/branch/branch-upserted.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/brazilian-federal-revenue-api-credential/brazilian-federal-revenue-api-credential-created.d.ts +0 -9
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/brazilian-federal-revenue-api-credential/brazilian-federal-revenue-api-credential-created.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/brazilian-federal-revenue-api-credential/brazilian-federal-revenue-api-credential-deleted.d.ts +0 -9
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/brazilian-federal-revenue-api-credential/brazilian-federal-revenue-api-credential-deleted.js +0 -2
- 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 +0 -11
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/brazilian-federal-revenue-api-credential/brazilian-federal-revenue-api-credential-entity-event.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/brazilian-federal-revenue-api-credential/brazilian-federal-revenue-api-credential-updated.d.ts +0 -9
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/brazilian-federal-revenue-api-credential/brazilian-federal-revenue-api-credential-updated.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/certificate/certificate-created.d.ts +0 -9
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/certificate/certificate-created.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/certificate/certificate-deleted.d.ts +0 -9
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/certificate/certificate-deleted.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/certificate/certificate-entity-event.d.ts +0 -37
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/certificate/certificate-entity-event.js +0 -8
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/certificate/certificate-updated.d.ts +0 -9
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/certificate/certificate-updated.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/entity/entity-event.d.ts +0 -21
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/entity/entity-event.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/entity/entity-updated.d.ts +0 -9
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/entity/entity-updated.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/external-provider/external-provider-created.d.ts +0 -9
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/external-provider/external-provider-created.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/external-provider/external-provider-deleted.d.ts +0 -9
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/external-provider/external-provider-deleted.js +0 -2
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/external-provider/external-provider-entity-event.d.ts +0 -27
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/external-provider/external-provider-entity-event.js +0 -8
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/external-provider/external-provider-updated.d.ts +0 -9
- package/dist/clean-arch/domain/events/consistency-event/types/security-service/external-provider/external-provider-updated.js +0 -2
- package/dist/clean-arch/domain/value-objects/password.spec.d.ts +0 -1
- package/dist/clean-arch/domain/value-objects/password.spec.js +0 -90
- package/dist/clean-arch/infra/adapters/http-adapters.spec.d.ts +0 -1
- package/dist/clean-arch/infra/adapters/http-adapters.spec.js +0 -318
- package/dist/clean-arch/infra/cache/cache-clients.spec.d.ts +0 -1
- package/dist/clean-arch/infra/cache/cache-clients.spec.js +0 -161
- package/dist/clean-arch/infra/consistency-event-dispatcher/amqp-consistency-event-dispatcher.d.ts +0 -8
- package/dist/clean-arch/infra/consistency-event-dispatcher/amqp-consistency-event-dispatcher.js +0 -18
- package/dist/clean-arch/infra/consistency-event-dispatcher/exchanges-enum.d.ts +0 -48
- package/dist/clean-arch/infra/consistency-event-dispatcher/exchanges-enum.js +0 -56
- package/dist/clean-arch/infra/consistency-event-dispatcher/in-memory-consistency-event-dispatcher.d.ts +0 -7
- package/dist/clean-arch/infra/consistency-event-dispatcher/in-memory-consistency-event-dispatcher.js +0 -15
- package/dist/clean-arch/infra/http/handle-authorizer-headers.d.ts +0 -25
- package/dist/clean-arch/infra/http/handle-authorizer-headers.js +0 -29
- package/dist/clean-arch/infra/http/helpers.spec.d.ts +0 -1
- package/dist/clean-arch/infra/http/helpers.spec.js +0 -136
- package/dist/clean-arch/infra/http/net.spec.d.ts +0 -1
- package/dist/clean-arch/infra/http/net.spec.js +0 -46
- package/dist/clean-arch/infra/logger/logger-orbit.spec.d.ts +0 -1
- package/dist/clean-arch/infra/logger/logger-orbit.spec.js +0 -122
- package/dist/clean-arch/infra/orbit-http-client/orbit-axios-client/orbit-axios-client.spec.d.ts +0 -1
- package/dist/clean-arch/infra/orbit-http-client/orbit-axios-client/orbit-axios-client.spec.js +0 -143
- package/dist/clean-arch/infra/orbit-notification-client/discord-client.spec.d.ts +0 -1
- package/dist/clean-arch/infra/orbit-notification-client/discord-client.spec.js +0 -58
- package/dist/clean-arch/infra/queue/create-queues.d.ts +0 -11
- package/dist/clean-arch/infra/queue/create-queues.js +0 -19
- package/dist/clean-arch/infra/queue/queue-utils.spec.d.ts +0 -1
- package/dist/clean-arch/infra/queue/queue-utils.spec.js +0 -170
- package/dist/clean-arch/infra/queue/rabbitmq/create-queues.d.ts +0 -10
- package/dist/clean-arch/infra/queue/rabbitmq/create-queues.js +0 -7
- package/dist/clean-arch/infra/scaledjob/sqs/runner.spec.d.ts +0 -1
- package/dist/clean-arch/infra/scaledjob/sqs/runner.spec.js +0 -150
- package/dist/clean-arch/infra/tracing/start-tracing.d.ts +0 -10
- package/dist/clean-arch/infra/tracing/start-tracing.js +0 -78
- package/dist/clean-arch/shared/pagination/get-take-and-skip.spec.d.ts +0 -1
- package/dist/clean-arch/shared/pagination/get-take-and-skip.spec.js +0 -16
- package/dist/frameworks/express/middleware-express.spec.d.ts +0 -1
- package/dist/frameworks/express/middleware-express.spec.js +0 -51
- package/dist/frameworks/nest/nest.spec.d.ts +0 -1
- package/dist/frameworks/nest/nest.spec.js +0 -122
|
@@ -1,63 +1,31 @@
|
|
|
1
1
|
import { Logger } from '../logger';
|
|
2
2
|
import { CacheClient } from './client';
|
|
3
|
-
/**
|
|
4
|
-
* Opcoes por metodo (sobrescrevem CacheOptions).
|
|
5
|
-
*/
|
|
6
3
|
export type MethodOptions = {
|
|
7
4
|
throwOnError?: boolean;
|
|
8
5
|
};
|
|
9
|
-
/**
|
|
10
|
-
* Opcoes globais do cache.
|
|
11
|
-
* - throwOnError: quando true, propaga erros.
|
|
12
|
-
* - contingencyClients: lista de clientes alternativos para fallback.
|
|
13
|
-
*/
|
|
14
6
|
export type CacheOptions = {
|
|
15
7
|
throwOnError?: boolean;
|
|
16
8
|
contingencyClients?: CacheClient[];
|
|
17
9
|
};
|
|
18
|
-
/**
|
|
19
|
-
* Camada de cache padrao da lib.
|
|
20
|
-
* Responsavel por:
|
|
21
|
-
* - controlar TTL padrao
|
|
22
|
-
* - serializacao JSON
|
|
23
|
-
* - fallback entre clientes
|
|
24
|
-
*/
|
|
25
10
|
export declare abstract class Cache {
|
|
26
11
|
protected logger: Logger;
|
|
27
12
|
protected abstract client: CacheClient;
|
|
28
13
|
protected elegibleClients: CacheClient[];
|
|
29
|
-
/** TTL padrao (segundos). */
|
|
30
14
|
protected DEFAULT_EXPIRATION_SECONDS: number;
|
|
31
15
|
private options?;
|
|
32
16
|
constructor(options?: CacheOptions, logger?: Logger);
|
|
33
17
|
private setElegibleClients;
|
|
34
18
|
private setOptions;
|
|
35
19
|
private setRunningClient;
|
|
36
|
-
/** Inicia o cliente de cache. */
|
|
37
20
|
start(options?: MethodOptions): Promise<void>;
|
|
38
|
-
/** Busca um valor do cache. */
|
|
39
21
|
get(keyCache: string, options?: MethodOptions): Promise<any>;
|
|
40
|
-
/** Grava um valor no cache com TTL (segundos). */
|
|
41
22
|
set(keyCache: string, data: any, expiration?: number, options?: MethodOptions): Promise<void>;
|
|
42
|
-
/** Remove uma chave do cache. */
|
|
43
23
|
del(keyCache: string, options?: MethodOptions): Promise<void>;
|
|
44
|
-
/** Lista chaves; o pattern varia por cliente. */
|
|
45
24
|
getKeys(pattern?: string, options?: MethodOptions): Promise<string[] | null>;
|
|
46
|
-
/** Remove varias chaves de uma vez. */
|
|
47
25
|
delBatch(patterns: string[], options?: MethodOptions): Promise<void>;
|
|
48
|
-
/** Limpa o banco/instancia de cache. */
|
|
49
26
|
flush(): Promise<void>;
|
|
50
|
-
/**
|
|
51
|
-
* Health-check do cache.
|
|
52
|
-
* - se falhar, tenta alternar para um cliente elegivel
|
|
53
|
-
*/
|
|
54
27
|
isRunning(options?: MethodOptions, isContingency?: boolean): Promise<boolean>;
|
|
55
|
-
/** Encerra o cliente de cache. */
|
|
56
28
|
close(options?: MethodOptions): Promise<void>;
|
|
57
|
-
/** Padroniza o log/propagacao de erros. */
|
|
58
29
|
protected handleException(e: Error): Promise<void>;
|
|
59
|
-
/**
|
|
60
|
-
* Busca do cache e, se nao existir, executa a promise e grava o resultado.
|
|
61
|
-
*/
|
|
62
30
|
getOrFetchAndCache<T>(keyCache: string, expiration: number | undefined, promise: () => Promise<T>, options?: MethodOptions): Promise<T | undefined>;
|
|
63
31
|
}
|
|
@@ -2,17 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Cache = void 0;
|
|
4
4
|
const env_1 = require("../../infra/environment/env");
|
|
5
|
-
/**
|
|
6
|
-
* Camada de cache padrao da lib.
|
|
7
|
-
* Responsavel por:
|
|
8
|
-
* - controlar TTL padrao
|
|
9
|
-
* - serializacao JSON
|
|
10
|
-
* - fallback entre clientes
|
|
11
|
-
*/
|
|
12
5
|
class Cache {
|
|
13
6
|
logger;
|
|
14
7
|
elegibleClients;
|
|
15
|
-
/** TTL padrao (segundos). */
|
|
16
8
|
DEFAULT_EXPIRATION_SECONDS = env_1.env?.DEFAULT_CACHE_EXPIRATION || 360;
|
|
17
9
|
options;
|
|
18
10
|
constructor(options, logger = console) {
|
|
@@ -59,7 +51,6 @@ class Cache {
|
|
|
59
51
|
this.logger.warn(`Changed cache client to ${this.client.constructor.name}`);
|
|
60
52
|
return this;
|
|
61
53
|
}
|
|
62
|
-
/** Inicia o cliente de cache. */
|
|
63
54
|
async start(options) {
|
|
64
55
|
try {
|
|
65
56
|
await this.client.start();
|
|
@@ -75,7 +66,6 @@ class Cache {
|
|
|
75
66
|
}
|
|
76
67
|
this.logger.info('💾 Cache Connected');
|
|
77
68
|
}
|
|
78
|
-
/** Busca um valor do cache. */
|
|
79
69
|
async get(keyCache, options) {
|
|
80
70
|
try {
|
|
81
71
|
const dataFromCache = await this.client.get(keyCache);
|
|
@@ -88,7 +78,6 @@ class Cache {
|
|
|
88
78
|
return null;
|
|
89
79
|
}
|
|
90
80
|
}
|
|
91
|
-
/** Grava um valor no cache com TTL (segundos). */
|
|
92
81
|
async set(keyCache, data, expiration = this.DEFAULT_EXPIRATION_SECONDS, options) {
|
|
93
82
|
try {
|
|
94
83
|
return await this.client.set(keyCache, JSON.stringify(data), expiration);
|
|
@@ -100,7 +89,6 @@ class Cache {
|
|
|
100
89
|
return;
|
|
101
90
|
}
|
|
102
91
|
}
|
|
103
|
-
/** Remove uma chave do cache. */
|
|
104
92
|
async del(keyCache, options) {
|
|
105
93
|
try {
|
|
106
94
|
return await this.client.del(keyCache);
|
|
@@ -112,7 +100,6 @@ class Cache {
|
|
|
112
100
|
return;
|
|
113
101
|
}
|
|
114
102
|
}
|
|
115
|
-
/** Lista chaves; o pattern varia por cliente. */
|
|
116
103
|
async getKeys(pattern, options) {
|
|
117
104
|
try {
|
|
118
105
|
return await this.client.getKeys(pattern);
|
|
@@ -124,7 +111,6 @@ class Cache {
|
|
|
124
111
|
return null;
|
|
125
112
|
}
|
|
126
113
|
}
|
|
127
|
-
/** Remove varias chaves de uma vez. */
|
|
128
114
|
async delBatch(patterns, options) {
|
|
129
115
|
try {
|
|
130
116
|
return await this.client.delBatch(patterns);
|
|
@@ -136,7 +122,6 @@ class Cache {
|
|
|
136
122
|
return;
|
|
137
123
|
}
|
|
138
124
|
}
|
|
139
|
-
/** Limpa o banco/instancia de cache. */
|
|
140
125
|
async flush() {
|
|
141
126
|
try {
|
|
142
127
|
return await this.client.flush();
|
|
@@ -145,10 +130,6 @@ class Cache {
|
|
|
145
130
|
await this.handleException(e);
|
|
146
131
|
}
|
|
147
132
|
}
|
|
148
|
-
/**
|
|
149
|
-
* Health-check do cache.
|
|
150
|
-
* - se falhar, tenta alternar para um cliente elegivel
|
|
151
|
-
*/
|
|
152
133
|
async isRunning(options, isContingency = false) {
|
|
153
134
|
let isRunning = false;
|
|
154
135
|
try {
|
|
@@ -165,7 +146,6 @@ class Cache {
|
|
|
165
146
|
}
|
|
166
147
|
return isRunning;
|
|
167
148
|
}
|
|
168
|
-
/** Encerra o cliente de cache. */
|
|
169
149
|
async close(options) {
|
|
170
150
|
this.logger.info('💾 Cache closed');
|
|
171
151
|
try {
|
|
@@ -178,14 +158,10 @@ class Cache {
|
|
|
178
158
|
return;
|
|
179
159
|
}
|
|
180
160
|
}
|
|
181
|
-
/** Padroniza o log/propagacao de erros. */
|
|
182
161
|
async handleException(e) {
|
|
183
162
|
this.logger.error(JSON.stringify(e));
|
|
184
163
|
throw e;
|
|
185
164
|
}
|
|
186
|
-
/**
|
|
187
|
-
* Busca do cache e, se nao existir, executa a promise e grava o resultado.
|
|
188
|
-
*/
|
|
189
165
|
async getOrFetchAndCache(keyCache, expiration = this.DEFAULT_EXPIRATION_SECONDS, promise, options) {
|
|
190
166
|
let data = await this.get(keyCache, options);
|
|
191
167
|
if (!data) {
|
|
@@ -1,39 +1,16 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Opcoes basicas para clientes de cache.
|
|
3
|
-
* - timeout: segundos usados como timeout de operacoes e ping.
|
|
4
|
-
*/
|
|
5
1
|
export interface CacheClientOptions {
|
|
6
2
|
timeout?: number;
|
|
7
3
|
}
|
|
8
|
-
/**
|
|
9
|
-
* Contrato minimo de um cliente de cache.
|
|
10
|
-
* Cada implementacao deve cuidar de:
|
|
11
|
-
* - conexao (start/close)
|
|
12
|
-
* - operacoes basicas (get/set/del/getKeys/flush)
|
|
13
|
-
*/
|
|
14
4
|
export declare abstract class CacheClient {
|
|
15
5
|
protected connection?: CacheClientOptions | undefined;
|
|
16
6
|
constructor(connection?: CacheClientOptions | undefined);
|
|
17
|
-
/** Inicializa o cliente/conexao. */
|
|
18
7
|
abstract start(): Promise<void>;
|
|
19
|
-
/** Encerra o cliente/conexao. */
|
|
20
8
|
abstract close(): Promise<void>;
|
|
21
|
-
/** Recupera um valor pelo nome da chave. */
|
|
22
9
|
abstract get(keyCache: string): Promise<any>;
|
|
23
|
-
/** Grava um valor com TTL opcional (segundos). */
|
|
24
10
|
abstract set(keyCache: string, data: any, expiration?: number): Promise<void>;
|
|
25
|
-
/** Remove uma chave. */
|
|
26
11
|
abstract del(keyCache: string): Promise<void>;
|
|
27
|
-
/** Remove varias chaves. */
|
|
28
12
|
abstract delBatch(keyCache: string[]): Promise<void>;
|
|
29
|
-
/** Lista chaves; o pattern depende do cliente. */
|
|
30
13
|
abstract getKeys(pattern?: string): Promise<string[] | null>;
|
|
31
|
-
/** Limpa o banco/instancia. */
|
|
32
14
|
abstract flush(): Promise<void>;
|
|
33
|
-
/**
|
|
34
|
-
* Health-check simples:
|
|
35
|
-
* - grava um ping
|
|
36
|
-
* - le de volta e valida
|
|
37
|
-
*/
|
|
38
15
|
isRunning(): Promise<any>;
|
|
39
16
|
}
|
|
@@ -2,22 +2,11 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.CacheClient = void 0;
|
|
4
4
|
const unique_entity_id_1 = require("../../domain/entities/unique-entity-id");
|
|
5
|
-
/**
|
|
6
|
-
* Contrato minimo de um cliente de cache.
|
|
7
|
-
* Cada implementacao deve cuidar de:
|
|
8
|
-
* - conexao (start/close)
|
|
9
|
-
* - operacoes basicas (get/set/del/getKeys/flush)
|
|
10
|
-
*/
|
|
11
5
|
class CacheClient {
|
|
12
6
|
connection;
|
|
13
7
|
constructor(connection) {
|
|
14
8
|
this.connection = connection;
|
|
15
9
|
}
|
|
16
|
-
/**
|
|
17
|
-
* Health-check simples:
|
|
18
|
-
* - grava um ping
|
|
19
|
-
* - le de volta e valida
|
|
20
|
-
*/
|
|
21
10
|
async isRunning() {
|
|
22
11
|
const key = new unique_entity_id_1.UniqueEntityId().toValue();
|
|
23
12
|
await this.set(key, JSON.stringify({ ping: true }), this.connection?.timeout || 60);
|
|
@@ -1,139 +1,51 @@
|
|
|
1
1
|
import { LOG_LEVEL } from '../../infra/environment/types';
|
|
2
2
|
import { Cache } from '../cache/cache';
|
|
3
|
-
export interface Trace {
|
|
4
|
-
mainId?: string;
|
|
5
|
-
ids: string[];
|
|
6
|
-
}
|
|
7
|
-
/**
|
|
8
|
-
* Identifica o tipo de ator que originou o log.
|
|
9
|
-
*/
|
|
10
3
|
export declare enum ActorEnum {
|
|
11
4
|
SYSTEM = "system",
|
|
12
5
|
USER = "user"
|
|
13
6
|
}
|
|
14
|
-
/**
|
|
15
|
-
* Categoriza o log em negócio ou técnico.
|
|
16
|
-
*/
|
|
17
7
|
export declare enum CategoryEnum {
|
|
18
8
|
BUSINESS = "business",
|
|
19
9
|
TECHNICAL = "technical"
|
|
20
10
|
}
|
|
21
|
-
/**
|
|
22
|
-
* Propriedades obrigatórias após a construção do log.
|
|
23
|
-
*/
|
|
24
11
|
export interface LogProperties {
|
|
25
12
|
level: LOG_LEVEL;
|
|
26
13
|
actor: string;
|
|
27
14
|
type: string;
|
|
28
15
|
dateTime: Date;
|
|
29
16
|
}
|
|
30
|
-
/**
|
|
31
|
-
* Propriedades mínimas de entrada para logar.
|
|
32
|
-
*/
|
|
33
17
|
export interface LogPropertiesInput {
|
|
34
18
|
level: LOG_LEVEL;
|
|
35
19
|
}
|
|
36
|
-
/**
|
|
37
|
-
* Parâmetros padrão usados para construir propriedades de log.
|
|
38
|
-
*/
|
|
39
20
|
export interface LogParams {
|
|
40
21
|
actor: string;
|
|
41
22
|
type: string;
|
|
42
23
|
}
|
|
43
|
-
export type LogParamsInput = Partial<LogParams>;
|
|
44
|
-
/**
|
|
45
|
-
* Opções de comportamento do logger.
|
|
46
|
-
*/
|
|
47
24
|
export interface LogOptions {
|
|
48
|
-
/**
|
|
49
|
-
* Quando `true`, assume que o último argumento do log é `params` adicionais.
|
|
50
|
-
*/
|
|
51
25
|
lastArgIsParams?: boolean;
|
|
52
26
|
}
|
|
53
|
-
/**
|
|
54
|
-
* Interface mínima de um logger.
|
|
55
|
-
*/
|
|
56
27
|
export interface Logger {
|
|
57
28
|
info: (...input: any[]) => Promise<void> | void;
|
|
58
29
|
warn: (...input: any[]) => Promise<void> | void;
|
|
59
30
|
error: (...input: any[]) => Promise<void> | void;
|
|
60
31
|
debug: (...input: any[]) => Promise<void> | void;
|
|
61
32
|
}
|
|
62
|
-
export type LoggerGatewayProps = {
|
|
63
|
-
cache?: Cache;
|
|
64
|
-
options?: LogOptions;
|
|
65
|
-
params?: LogParamsInput;
|
|
66
|
-
};
|
|
67
|
-
/**
|
|
68
|
-
* Classe base para loggers.
|
|
69
|
-
*
|
|
70
|
-
* Responsável por:
|
|
71
|
-
* - Montar propriedades padrão (`actor`, `type`, `level`, `dateTime`).
|
|
72
|
-
* - Aplicar filtros por nível com apoio opcional de cache.
|
|
73
|
-
* - Delegar o envio para a implementação concreta (`register`).
|
|
74
|
-
*/
|
|
75
33
|
export default abstract class LoggerGateway implements Logger {
|
|
76
|
-
protected cache?: Cache;
|
|
77
|
-
protected options?: LogOptions;
|
|
78
|
-
protected params?:
|
|
79
|
-
constructor(
|
|
34
|
+
protected cache?: Cache | undefined;
|
|
35
|
+
protected options?: LogOptions | undefined;
|
|
36
|
+
protected params?: LogParams | undefined;
|
|
37
|
+
constructor(cache?: Cache | undefined, options?: LogOptions | undefined, params?: LogParams | undefined);
|
|
80
38
|
private static cacheKey;
|
|
81
|
-
/**
|
|
82
|
-
* Loga com nível `info`.
|
|
83
|
-
*/
|
|
84
39
|
info(...input: any[]): Promise<void>;
|
|
85
|
-
/**
|
|
86
|
-
* Loga com nível `warn`.
|
|
87
|
-
*/
|
|
88
40
|
warn(...input: any[]): Promise<void>;
|
|
89
|
-
/**
|
|
90
|
-
* Loga com nível `error`.
|
|
91
|
-
*/
|
|
92
41
|
error(...input: any[]): Promise<void>;
|
|
93
|
-
/**
|
|
94
|
-
* Loga com nível `debug`.
|
|
95
|
-
*/
|
|
96
42
|
debug(...input: any[]): Promise<void>;
|
|
97
|
-
/**
|
|
98
|
-
* Fluxo principal de logging.
|
|
99
|
-
*
|
|
100
|
-
* - Extrai params extras quando `lastArgIsParams` estiver habilitado.
|
|
101
|
-
* - Monta propriedades finais.
|
|
102
|
-
* - Checa se deve logar (nível/cache).
|
|
103
|
-
* - Delegada envio para `register`.
|
|
104
|
-
*/
|
|
105
43
|
log(props: LogPropertiesInput, dataToLog: any): Promise<void>;
|
|
106
|
-
/**
|
|
107
|
-
* Implementação concreta deve persistir/enviar o log.
|
|
108
|
-
*/
|
|
109
44
|
protected abstract register(props: LogProperties, dataToLog: any, params?: LogParams): Promise<void> | void;
|
|
110
|
-
/**
|
|
111
|
-
* Constrói a lista de níveis aceitos com base no nível configurado.
|
|
112
|
-
*/
|
|
113
45
|
private static buildAcceptLogLevelValues;
|
|
114
|
-
/**
|
|
115
|
-
* Decide se o log deve ser emitido.
|
|
116
|
-
*
|
|
117
|
-
* - `error` sempre é emitido.
|
|
118
|
-
* - Sem cache, sempre emite.
|
|
119
|
-
* - Com cache, consulta o nível permitido por tipo/actor.
|
|
120
|
-
*/
|
|
121
46
|
protected isToLog(props: LogProperties, dataToLog: any): Promise<boolean>;
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
*/
|
|
125
|
-
protected buildProps(props?: LogPropertiesInput, params?: LogParamsInput): LogProperties;
|
|
126
|
-
/**
|
|
127
|
-
* Monta propriedades padrão.
|
|
128
|
-
*/
|
|
129
|
-
protected buildDefaultProps(params?: LogParamsInput): LogProperties;
|
|
130
|
-
/**
|
|
131
|
-
* Define o nível de log no cache para um filtro (type/actor).
|
|
132
|
-
*
|
|
133
|
-
* @param level Nível mínimo a ser aceito.
|
|
134
|
-
* @param filter Filtro de log por tipo e ator.
|
|
135
|
-
* @param ttl Tempo em segundos (default 4 dias).
|
|
136
|
-
*/
|
|
47
|
+
protected buildProps(props?: LogPropertiesInput, params?: LogParams): LogProperties;
|
|
48
|
+
protected buildDefaultProps(params?: LogParams): LogProperties;
|
|
137
49
|
setLevel(level: LOG_LEVEL, filter: {
|
|
138
50
|
logType: string;
|
|
139
51
|
logActor: string;
|
|
@@ -2,82 +2,44 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.CategoryEnum = exports.ActorEnum = void 0;
|
|
4
4
|
const types_1 = require("../../infra/environment/types");
|
|
5
|
-
/**
|
|
6
|
-
* Identifica o tipo de ator que originou o log.
|
|
7
|
-
*/
|
|
8
5
|
var ActorEnum;
|
|
9
6
|
(function (ActorEnum) {
|
|
10
7
|
ActorEnum["SYSTEM"] = "system";
|
|
11
8
|
ActorEnum["USER"] = "user";
|
|
12
9
|
})(ActorEnum || (exports.ActorEnum = ActorEnum = {}));
|
|
13
|
-
/**
|
|
14
|
-
* Categoriza o log em negócio ou técnico.
|
|
15
|
-
*/
|
|
16
10
|
var CategoryEnum;
|
|
17
11
|
(function (CategoryEnum) {
|
|
18
12
|
CategoryEnum["BUSINESS"] = "business";
|
|
19
13
|
CategoryEnum["TECHNICAL"] = "technical";
|
|
20
14
|
})(CategoryEnum || (exports.CategoryEnum = CategoryEnum = {}));
|
|
21
|
-
/**
|
|
22
|
-
* Classe base para loggers.
|
|
23
|
-
*
|
|
24
|
-
* Responsável por:
|
|
25
|
-
* - Montar propriedades padrão (`actor`, `type`, `level`, `dateTime`).
|
|
26
|
-
* - Aplicar filtros por nível com apoio opcional de cache.
|
|
27
|
-
* - Delegar o envio para a implementação concreta (`register`).
|
|
28
|
-
*/
|
|
29
15
|
class LoggerGateway {
|
|
30
16
|
cache;
|
|
31
17
|
options;
|
|
32
18
|
params;
|
|
33
|
-
constructor(
|
|
34
|
-
this.cache =
|
|
35
|
-
this.options =
|
|
36
|
-
this.params =
|
|
19
|
+
constructor(cache, options, params) {
|
|
20
|
+
this.cache = cache;
|
|
21
|
+
this.options = options;
|
|
22
|
+
this.params = params;
|
|
37
23
|
}
|
|
38
24
|
static cacheKey = 'LOG_LEVEL';
|
|
39
|
-
/**
|
|
40
|
-
* Loga com nível `info`.
|
|
41
|
-
*/
|
|
42
25
|
async info(...input) {
|
|
43
26
|
return await this.log({ level: types_1.LOG_LEVEL.info }, input);
|
|
44
27
|
}
|
|
45
|
-
/**
|
|
46
|
-
* Loga com nível `warn`.
|
|
47
|
-
*/
|
|
48
28
|
async warn(...input) {
|
|
49
29
|
return await this.log({ level: types_1.LOG_LEVEL.warn }, input);
|
|
50
30
|
}
|
|
51
|
-
/**
|
|
52
|
-
* Loga com nível `error`.
|
|
53
|
-
*/
|
|
54
31
|
async error(...input) {
|
|
55
32
|
return await this.log({ level: types_1.LOG_LEVEL.error }, input);
|
|
56
33
|
}
|
|
57
|
-
/**
|
|
58
|
-
* Loga com nível `debug`.
|
|
59
|
-
*/
|
|
60
34
|
async debug(...input) {
|
|
61
35
|
return await this.log({ level: types_1.LOG_LEVEL.debug }, input);
|
|
62
36
|
}
|
|
63
|
-
/**
|
|
64
|
-
* Fluxo principal de logging.
|
|
65
|
-
*
|
|
66
|
-
* - Extrai params extras quando `lastArgIsParams` estiver habilitado.
|
|
67
|
-
* - Monta propriedades finais.
|
|
68
|
-
* - Checa se deve logar (nível/cache).
|
|
69
|
-
* - Delegada envio para `register`.
|
|
70
|
-
*/
|
|
71
37
|
async log(props, dataToLog) {
|
|
72
38
|
try {
|
|
73
39
|
let params = this.params;
|
|
74
40
|
if (this.options?.lastArgIsParams && dataToLog instanceof Array) {
|
|
75
|
-
params =
|
|
76
|
-
...(params || {}),
|
|
77
|
-
...dataToLog[dataToLog.length - 1],
|
|
78
|
-
};
|
|
41
|
+
params = dataToLog[dataToLog.length - 1];
|
|
79
42
|
dataToLog = dataToLog.slice(0, dataToLog.length - 1);
|
|
80
|
-
dataToLog = dataToLog.length === 1 ? dataToLog[0] : dataToLog;
|
|
81
43
|
}
|
|
82
44
|
const buildedProperties = this.buildProps(props, params);
|
|
83
45
|
const isToLog = await this.isToLog(buildedProperties, dataToLog);
|
|
@@ -91,9 +53,6 @@ class LoggerGateway {
|
|
|
91
53
|
console.log('Input', props, dataToLog);
|
|
92
54
|
}
|
|
93
55
|
}
|
|
94
|
-
/**
|
|
95
|
-
* Constrói a lista de níveis aceitos com base no nível configurado.
|
|
96
|
-
*/
|
|
97
56
|
static buildAcceptLogLevelValues(level) {
|
|
98
57
|
const acceptValues = [types_1.LOG_LEVEL.error];
|
|
99
58
|
if (level === types_1.LOG_LEVEL.warn) {
|
|
@@ -107,13 +66,6 @@ class LoggerGateway {
|
|
|
107
66
|
}
|
|
108
67
|
return acceptValues;
|
|
109
68
|
}
|
|
110
|
-
/**
|
|
111
|
-
* Decide se o log deve ser emitido.
|
|
112
|
-
*
|
|
113
|
-
* - `error` sempre é emitido.
|
|
114
|
-
* - Sem cache, sempre emite.
|
|
115
|
-
* - Com cache, consulta o nível permitido por tipo/actor.
|
|
116
|
-
*/
|
|
117
69
|
async isToLog(props, dataToLog) {
|
|
118
70
|
if (props.level === types_1.LOG_LEVEL.error || !this.cache) {
|
|
119
71
|
return true;
|
|
@@ -142,9 +94,6 @@ class LoggerGateway {
|
|
|
142
94
|
const acceptValues = LoggerGateway.buildAcceptLogLevelValues(cachedValue);
|
|
143
95
|
return acceptValues.includes(props.level);
|
|
144
96
|
}
|
|
145
|
-
/**
|
|
146
|
-
* Monta as propriedades finais do log.
|
|
147
|
-
*/
|
|
148
97
|
buildProps(props, params) {
|
|
149
98
|
const defaultProps = this.buildDefaultProps(params);
|
|
150
99
|
if (props) {
|
|
@@ -155,25 +104,14 @@ class LoggerGateway {
|
|
|
155
104
|
}
|
|
156
105
|
return defaultProps;
|
|
157
106
|
}
|
|
158
|
-
/**
|
|
159
|
-
* Monta propriedades padrão.
|
|
160
|
-
*/
|
|
161
107
|
buildDefaultProps(params) {
|
|
162
108
|
return {
|
|
163
109
|
level: types_1.LOG_LEVEL.info,
|
|
164
110
|
dateTime: new Date(),
|
|
165
|
-
actor: 'default',
|
|
166
|
-
type: 'default',
|
|
167
|
-
...(params || {}),
|
|
111
|
+
actor: params?.actor || 'default',
|
|
112
|
+
type: params?.type || 'default',
|
|
168
113
|
};
|
|
169
114
|
}
|
|
170
|
-
/**
|
|
171
|
-
* Define o nível de log no cache para um filtro (type/actor).
|
|
172
|
-
*
|
|
173
|
-
* @param level Nível mínimo a ser aceito.
|
|
174
|
-
* @param filter Filtro de log por tipo e ator.
|
|
175
|
-
* @param ttl Tempo em segundos (default 4 dias).
|
|
176
|
-
*/
|
|
177
115
|
async setLevel(level, filter, ttl) {
|
|
178
116
|
if (!this.cache) {
|
|
179
117
|
return;
|
|
@@ -1,35 +1,7 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Classe base para consumidores de fila.
|
|
3
|
-
*
|
|
4
|
-
* A ideia é estender esta classe e implementar o método `handle`.
|
|
5
|
-
* A lib usa os metadados abaixo para controlar concorrência e timeout.
|
|
6
|
-
*/
|
|
7
1
|
export default abstract class Handler {
|
|
8
|
-
/**
|
|
9
|
-
* Quantas mensagens podem ser processadas em paralelo.
|
|
10
|
-
*
|
|
11
|
-
* No RabbitMQ (`AmqpQueue.on`), este valor é aplicado como `prefetch`.
|
|
12
|
-
* Nos runners de ScaledJob, ele é usado como limite por execução.
|
|
13
|
-
*/
|
|
14
2
|
protected simultaneity: number;
|
|
15
|
-
/**
|
|
16
|
-
* Timeout por mensagem, em segundos.
|
|
17
|
-
*
|
|
18
|
-
* Quando definido, alguns runners competem o `handle` contra um timeout.
|
|
19
|
-
*/
|
|
20
3
|
protected timeoutPerMessageSeconds: number | undefined;
|
|
21
|
-
/**
|
|
22
|
-
* Retorna o nível de concorrência configurado para o handler.
|
|
23
|
-
*/
|
|
24
4
|
getSimultaneity(): number;
|
|
25
|
-
/**
|
|
26
|
-
* Retorna o timeout por mensagem, em segundos, se definido.
|
|
27
|
-
*/
|
|
28
5
|
getTimeoutPerMessageSeconds(): number | undefined;
|
|
29
|
-
/**
|
|
30
|
-
* Processa uma única mensagem.
|
|
31
|
-
*
|
|
32
|
-
* @param message Mensagem já desserializada (normalmente um objeto JSON).
|
|
33
|
-
*/
|
|
34
6
|
abstract handle(message: any): Promise<void>;
|
|
35
7
|
}
|
|
@@ -1,34 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
/**
|
|
4
|
-
* Classe base para consumidores de fila.
|
|
5
|
-
*
|
|
6
|
-
* A ideia é estender esta classe e implementar o método `handle`.
|
|
7
|
-
* A lib usa os metadados abaixo para controlar concorrência e timeout.
|
|
8
|
-
*/
|
|
9
3
|
class Handler {
|
|
10
|
-
/**
|
|
11
|
-
* Quantas mensagens podem ser processadas em paralelo.
|
|
12
|
-
*
|
|
13
|
-
* No RabbitMQ (`AmqpQueue.on`), este valor é aplicado como `prefetch`.
|
|
14
|
-
* Nos runners de ScaledJob, ele é usado como limite por execução.
|
|
15
|
-
*/
|
|
16
4
|
simultaneity = 1;
|
|
17
|
-
/**
|
|
18
|
-
* Timeout por mensagem, em segundos.
|
|
19
|
-
*
|
|
20
|
-
* Quando definido, alguns runners competem o `handle` contra um timeout.
|
|
21
|
-
*/
|
|
22
5
|
timeoutPerMessageSeconds = undefined;
|
|
23
|
-
/**
|
|
24
|
-
* Retorna o nível de concorrência configurado para o handler.
|
|
25
|
-
*/
|
|
26
6
|
getSimultaneity() {
|
|
27
7
|
return this.simultaneity;
|
|
28
8
|
}
|
|
29
|
-
/**
|
|
30
|
-
* Retorna o timeout por mensagem, em segundos, se definido.
|
|
31
|
-
*/
|
|
32
9
|
getTimeoutPerMessageSeconds() {
|
|
33
10
|
return this.timeoutPerMessageSeconds;
|
|
34
11
|
}
|
|
@@ -1,10 +1,4 @@
|
|
|
1
1
|
import DomainEvent from '../../domain/events/domain-event';
|
|
2
|
-
/**
|
|
3
|
-
* Representa uma publicação que falhou e foi guardada em memória.
|
|
4
|
-
*
|
|
5
|
-
* A implementação AMQP usa esta estrutura para re-publicar mensagens
|
|
6
|
-
* após reconexões.
|
|
7
|
-
*/
|
|
8
2
|
export type MessagesInMemory = {
|
|
9
3
|
exchangeName: string;
|
|
10
4
|
domainEvent: DomainEvent;
|
|
@@ -1,28 +1,6 @@
|
|
|
1
1
|
import Queue from './queue';
|
|
2
|
-
/**
|
|
3
|
-
* Contrato de conexão com a infraestrutura de filas.
|
|
4
|
-
*
|
|
5
|
-
* Estende o contrato de `Queue` com ciclo de vida (`connect`/`close`)
|
|
6
|
-
* e com a capacidade opcional de declarar topologia (`createConsumers`).
|
|
7
|
-
*/
|
|
8
2
|
export default interface QueueConnection extends Queue {
|
|
9
|
-
/**
|
|
10
|
-
* Abre a conexão com o provedor de fila.
|
|
11
|
-
*
|
|
12
|
-
* @param props Parâmetros de conexão (ex.: vHost no RabbitMQ).
|
|
13
|
-
*/
|
|
14
3
|
connect(props: unknown): Promise<any>;
|
|
15
|
-
/**
|
|
16
|
-
* Encerra a conexão atual.
|
|
17
|
-
*/
|
|
18
4
|
close(): Promise<void>;
|
|
19
|
-
/**
|
|
20
|
-
* Declara a topologia necessária para um consumidor.
|
|
21
|
-
*
|
|
22
|
-
* Este método é opcional porque algumas implementações não precisam
|
|
23
|
-
* (ou não conseguem) declarar topologia programaticamente.
|
|
24
|
-
* @deprecated Use createQueues() instead.
|
|
25
|
-
*/
|
|
26
5
|
createConsumers?<T>(queueName: string, configs: T | any): Promise<void>;
|
|
27
|
-
createQueues?<T>(queueName: string, configs: T | any): Promise<void>;
|
|
28
6
|
}
|
|
@@ -1,46 +1,7 @@
|
|
|
1
1
|
import DomainEvent from '../../domain/events/domain-event';
|
|
2
2
|
import Handler from './handler';
|
|
3
|
-
/**
|
|
4
|
-
* Contrato mínimo de uma implementação de fila.
|
|
5
|
-
*
|
|
6
|
-
* A interface foi pensada para suportar tanto consumo contínuo (`on`)
|
|
7
|
-
* quanto publicação baseada em eventos de domínio (`publish`).
|
|
8
|
-
*/
|
|
9
3
|
export default interface Queue {
|
|
10
|
-
/**
|
|
11
|
-
* Inicia o consumo contínuo de uma fila.
|
|
12
|
-
*
|
|
13
|
-
* @param queueName Nome da fila (e, por convenção, também o routing key).
|
|
14
|
-
* @param callback Handler responsável por processar cada mensagem.
|
|
15
|
-
*/
|
|
16
4
|
on(queueName: string, callback: Handler): Promise<void>;
|
|
17
|
-
/**
|
|
18
|
-
* Publica um evento de domínio em um exchange.
|
|
19
|
-
*
|
|
20
|
-
* Em implementações AMQP, o `domainEvent.name` costuma ser usado como
|
|
21
|
-
* routing key e como nome da fila por convenção.
|
|
22
|
-
*
|
|
23
|
-
* @param exchangeName Nome do exchange de destino.
|
|
24
|
-
* @param domainEvent Evento a ser publicado.
|
|
25
|
-
* @param configs Configurações específicas da implementação (ex.: TTL).
|
|
26
|
-
*/
|
|
27
5
|
publish(exchangeName: string, domainEvent: DomainEvent, configs?: Record<string, any>): Promise<void>;
|
|
28
|
-
/**
|
|
29
|
-
* Publica um evento de domínio em um exchange e aguarda a confirmação do broker.
|
|
30
|
-
*
|
|
31
|
-
* @param exchangeName Nome do exchange de destino.
|
|
32
|
-
* @param domainEvent Evento a ser publicado.
|
|
33
|
-
* @param configs Configurações específicas da implementação.
|
|
34
|
-
*/
|
|
35
|
-
publishWaitForConfirms(exchangeName: string, domainEvent: DomainEvent, configs?: Record<string, any>): Promise<boolean>;
|
|
36
|
-
/**
|
|
37
|
-
* Faz polling (pull) de uma mensagem.
|
|
38
|
-
*
|
|
39
|
-
* Este método é opcional porque nem toda implementação precisa suportar
|
|
40
|
-
* o modelo de consumo por polling.
|
|
41
|
-
*
|
|
42
|
-
* @param queueName Nome da fila.
|
|
43
|
-
* @param options Opções específicas da implementação (ex.: `noAck` no AMQP).
|
|
44
|
-
*/
|
|
45
6
|
get?(queueName: string, options?: any): Promise<unknown>;
|
|
46
7
|
}
|