@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
|
@@ -6,7 +6,4 @@ export declare abstract class Entity<Props> {
|
|
|
6
6
|
set id(id: UniqueEntityId);
|
|
7
7
|
protected constructor(props: Props, id?: UniqueEntityId);
|
|
8
8
|
equals(entity: Entity<any>): boolean;
|
|
9
|
-
private serializeValue;
|
|
10
|
-
toObject(): Record<string, unknown>;
|
|
11
|
-
toEventDispatchObject(): Record<string, unknown>;
|
|
12
9
|
}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Entity = void 0;
|
|
4
4
|
const unique_entity_id_1 = require("./unique-entity-id");
|
|
5
|
-
const watched_list_1 = require("./watched-list");
|
|
6
5
|
class Entity {
|
|
7
6
|
_id;
|
|
8
7
|
props;
|
|
@@ -25,39 +24,5 @@ class Entity {
|
|
|
25
24
|
}
|
|
26
25
|
return false;
|
|
27
26
|
}
|
|
28
|
-
serializeValue(value) {
|
|
29
|
-
if (value instanceof Entity) {
|
|
30
|
-
return value.toObject();
|
|
31
|
-
}
|
|
32
|
-
if (value instanceof Date) {
|
|
33
|
-
return value.toISOString();
|
|
34
|
-
}
|
|
35
|
-
if (value instanceof unique_entity_id_1.UniqueEntityId) {
|
|
36
|
-
return value.toString();
|
|
37
|
-
}
|
|
38
|
-
if (value instanceof watched_list_1.WatchedList) {
|
|
39
|
-
return value.toObject();
|
|
40
|
-
}
|
|
41
|
-
if (Array.isArray(value)) {
|
|
42
|
-
return value.map(item => this.serializeValue(item));
|
|
43
|
-
}
|
|
44
|
-
if (value && typeof value === 'object') {
|
|
45
|
-
return Object.fromEntries(Object.entries(value).map(([key, item]) => [
|
|
46
|
-
key,
|
|
47
|
-
this.serializeValue(item),
|
|
48
|
-
]));
|
|
49
|
-
}
|
|
50
|
-
return value;
|
|
51
|
-
}
|
|
52
|
-
toObject() {
|
|
53
|
-
const object = this.serializeValue(this.props);
|
|
54
|
-
return {
|
|
55
|
-
...object,
|
|
56
|
-
id: this.id.toString(),
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
toEventDispatchObject() {
|
|
60
|
-
return this.toObject();
|
|
61
|
-
}
|
|
62
27
|
}
|
|
63
28
|
exports.Entity = Entity;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.WatchedList = void 0;
|
|
4
|
-
const entity_1 = require("./entity");
|
|
5
4
|
class WatchedList {
|
|
6
5
|
currentItems;
|
|
7
6
|
initial;
|
|
@@ -90,13 +89,5 @@ class WatchedList {
|
|
|
90
89
|
this.removed = removedItems;
|
|
91
90
|
this.updated = updatedItems;
|
|
92
91
|
}
|
|
93
|
-
toObject() {
|
|
94
|
-
return this.currentItems.map(item => {
|
|
95
|
-
if (item instanceof entity_1.Entity) {
|
|
96
|
-
return item.toObject();
|
|
97
|
-
}
|
|
98
|
-
return item;
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
92
|
}
|
|
102
93
|
exports.WatchedList = WatchedList;
|
|
@@ -142,47 +142,4 @@ describe('Authorizer', () => {
|
|
|
142
142
|
});
|
|
143
143
|
expect(response.data).toEqual({ message: 'ok' });
|
|
144
144
|
});
|
|
145
|
-
it('should be able to fallback to auths header', async () => {
|
|
146
|
-
let Test = class Test {
|
|
147
|
-
async handle(_) {
|
|
148
|
-
return {
|
|
149
|
-
data: { message: 'ok' },
|
|
150
|
-
};
|
|
151
|
-
}
|
|
152
|
-
};
|
|
153
|
-
Test = tslib_1.__decorate([
|
|
154
|
-
(0, authorizer_1.default)({ $and: ['arch.user.create'] })
|
|
155
|
-
], Test);
|
|
156
|
-
const controller = new Test();
|
|
157
|
-
const response = await controller.handle({
|
|
158
|
-
headers: {
|
|
159
|
-
auths: JSON.stringify(['arch.user.create']),
|
|
160
|
-
},
|
|
161
|
-
body: {},
|
|
162
|
-
params: {},
|
|
163
|
-
query: {},
|
|
164
|
-
});
|
|
165
|
-
expect(response.data).toEqual({ message: 'ok' });
|
|
166
|
-
});
|
|
167
|
-
it('should return error when authorizations header is invalid JSON', async () => {
|
|
168
|
-
let Test = class Test {
|
|
169
|
-
async handle(_) {
|
|
170
|
-
return {
|
|
171
|
-
data: { message: 'ok' },
|
|
172
|
-
};
|
|
173
|
-
}
|
|
174
|
-
};
|
|
175
|
-
Test = tslib_1.__decorate([
|
|
176
|
-
(0, authorizer_1.default)({ $and: ['arch.user.create'] })
|
|
177
|
-
], Test);
|
|
178
|
-
const controller = new Test();
|
|
179
|
-
await expect(() => controller.handle({
|
|
180
|
-
headers: {
|
|
181
|
-
authorizations: 'invalid-json',
|
|
182
|
-
},
|
|
183
|
-
body: {},
|
|
184
|
-
params: {},
|
|
185
|
-
query: {},
|
|
186
|
-
})).rejects.toBeInstanceOf(Error);
|
|
187
|
-
});
|
|
188
145
|
});
|
|
@@ -1,12 +1,7 @@
|
|
|
1
1
|
import { Cache } from '../../application/cache/cache';
|
|
2
2
|
import { CacheClient } from '../../application/cache/client';
|
|
3
|
-
/**
|
|
4
|
-
* Cache em memoria pronto para uso na lib.
|
|
5
|
-
* Usa NodeCache como cliente.
|
|
6
|
-
*/
|
|
7
3
|
declare class LibCache extends Cache {
|
|
8
4
|
protected client: CacheClient;
|
|
9
5
|
}
|
|
10
|
-
/** Singleton do cache em memoria. */
|
|
11
6
|
declare const libCacheInstance: LibCache;
|
|
12
7
|
export default libCacheInstance;
|
|
@@ -2,15 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const cache_1 = require("../../application/cache/cache");
|
|
4
4
|
const node_cache_1 = require("./clients/node-cache");
|
|
5
|
-
/**
|
|
6
|
-
* Cache em memoria pronto para uso na lib.
|
|
7
|
-
* Usa NodeCache como cliente.
|
|
8
|
-
*/
|
|
9
5
|
class LibCache extends cache_1.Cache {
|
|
10
6
|
client = new node_cache_1.NodeCache();
|
|
11
7
|
}
|
|
12
|
-
/** Singleton do cache em memoria. */
|
|
13
8
|
const libCacheInstance = new LibCache();
|
|
14
|
-
/** Inicializa no import. */
|
|
15
9
|
libCacheInstance.start();
|
|
16
10
|
exports.default = libCacheInstance;
|
|
@@ -1,32 +1,15 @@
|
|
|
1
1
|
import { CacheClient } from '../../../application/cache/client';
|
|
2
|
-
/**
|
|
3
|
-
* Cliente em memoria (NodeCache).
|
|
4
|
-
* Ideal para ambientes locais, testes ou quando o cache nao precisa ser compartilhado.
|
|
5
|
-
*/
|
|
6
2
|
export declare class NodeCache extends CacheClient {
|
|
7
3
|
private client;
|
|
8
|
-
/** Inicializa o cache em memoria. */
|
|
9
4
|
start(): Promise<void>;
|
|
10
|
-
/** Busca uma chave e faz JSON.parse do valor. */
|
|
11
5
|
get(key: string): Promise<any>;
|
|
12
|
-
/**
|
|
13
|
-
* Guard simples para evitar crescimento indefinido.
|
|
14
|
-
* Limite atual: 50MB somando vsize + ksize.
|
|
15
|
-
*/
|
|
16
6
|
protected hasFreeMemory(): boolean;
|
|
17
|
-
/** Grava um valor com TTL em segundos. */
|
|
18
7
|
set(key: string, data: string, expiration: number): Promise<void>;
|
|
19
|
-
/** Remove uma chave. */
|
|
20
8
|
del(keyCache: string): Promise<void>;
|
|
21
|
-
/** Remove varias chaves. */
|
|
22
9
|
delBatch(keyCache: string[]): Promise<void>;
|
|
23
|
-
/** Lista chaves; se pattern existir, filtra via RegExp. */
|
|
24
10
|
getKeys(pattern?: string | undefined): Promise<string[]>;
|
|
25
|
-
/** Encerra e limpa a instancia. */
|
|
26
11
|
close(): Promise<void>;
|
|
27
|
-
/** Limpa a instancia. */
|
|
28
12
|
flush(): Promise<void>;
|
|
29
13
|
}
|
|
30
|
-
/** Instancia padrao do NodeCache (opcional). */
|
|
31
14
|
declare const _default: NodeCache;
|
|
32
15
|
export default _default;
|
|
@@ -4,27 +4,17 @@ exports.NodeCache = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const node_cache_1 = tslib_1.__importDefault(require("node-cache"));
|
|
6
6
|
const client_1 = require("../../../application/cache/client");
|
|
7
|
-
/**
|
|
8
|
-
* Cliente em memoria (NodeCache).
|
|
9
|
-
* Ideal para ambientes locais, testes ou quando o cache nao precisa ser compartilhado.
|
|
10
|
-
*/
|
|
11
7
|
class NodeCache extends client_1.CacheClient {
|
|
12
8
|
client;
|
|
13
|
-
/** Inicializa o cache em memoria. */
|
|
14
9
|
async start() {
|
|
15
10
|
this.client = new node_cache_1.default();
|
|
16
11
|
}
|
|
17
|
-
/** Busca uma chave e faz JSON.parse do valor. */
|
|
18
12
|
async get(key) {
|
|
19
13
|
const data = await this.client.get(key);
|
|
20
14
|
if (!data)
|
|
21
15
|
return null;
|
|
22
16
|
return JSON.parse(data);
|
|
23
17
|
}
|
|
24
|
-
/**
|
|
25
|
-
* Guard simples para evitar crescimento indefinido.
|
|
26
|
-
* Limite atual: 50MB somando vsize + ksize.
|
|
27
|
-
*/
|
|
28
18
|
hasFreeMemory() {
|
|
29
19
|
const maxSizeMB = 50;
|
|
30
20
|
const maxSizeByte = maxSizeMB * 1000000;
|
|
@@ -32,37 +22,29 @@ class NodeCache extends client_1.CacheClient {
|
|
|
32
22
|
const currentSize = stats.vsize + stats.ksize;
|
|
33
23
|
return currentSize < maxSizeByte;
|
|
34
24
|
}
|
|
35
|
-
/** Grava um valor com TTL em segundos. */
|
|
36
25
|
async set(key, data, expiration) {
|
|
37
26
|
if (!this.hasFreeMemory())
|
|
38
27
|
return;
|
|
39
28
|
this.client.set(key, data, expiration);
|
|
40
29
|
}
|
|
41
|
-
/** Remove uma chave. */
|
|
42
30
|
async del(keyCache) {
|
|
43
31
|
this.client.del(keyCache);
|
|
44
32
|
}
|
|
45
|
-
/** Remove varias chaves. */
|
|
46
33
|
async delBatch(keyCache) {
|
|
47
|
-
await Promise.all(keyCache.map(
|
|
34
|
+
await Promise.all(keyCache.map(this.del));
|
|
48
35
|
}
|
|
49
|
-
/** Lista chaves; se pattern existir, filtra via RegExp. */
|
|
50
36
|
async getKeys(pattern) {
|
|
51
37
|
const keys = this.client.keys();
|
|
52
38
|
if (!pattern)
|
|
53
39
|
return keys;
|
|
54
|
-
|
|
55
|
-
return keys.filter(key => regex.test(key));
|
|
40
|
+
return keys.filter(new RegExp(pattern).test);
|
|
56
41
|
}
|
|
57
|
-
/** Encerra e limpa a instancia. */
|
|
58
42
|
async close() {
|
|
59
43
|
this.client.flushAll();
|
|
60
44
|
}
|
|
61
|
-
/** Limpa a instancia. */
|
|
62
45
|
async flush() {
|
|
63
46
|
return await this.client.flushAll();
|
|
64
47
|
}
|
|
65
48
|
}
|
|
66
49
|
exports.NodeCache = NodeCache;
|
|
67
|
-
/** Instancia padrao do NodeCache (opcional). */
|
|
68
50
|
exports.default = new NodeCache();
|
|
@@ -3,34 +3,19 @@ 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
|
-
*/
|
|
10
6
|
export interface RedisOptions extends LibRedisOptions, CacheClientOptions {
|
|
11
7
|
}
|
|
12
|
-
/**
|
|
13
|
-
* Cliente Redis para a camada de cache.
|
|
14
|
-
*/
|
|
15
8
|
export declare class Redis extends CacheClient {
|
|
16
9
|
protected connection: RedisOptions;
|
|
17
10
|
private client;
|
|
18
11
|
constructor(connection: RedisOptions);
|
|
19
12
|
private delayOperation;
|
|
20
|
-
/** Inicializa o cliente Redis. */
|
|
21
13
|
start(): Promise<void>;
|
|
22
|
-
/** Busca uma chave e faz JSON.parse do valor. */
|
|
23
14
|
get(key: string): Promise<any>;
|
|
24
|
-
/** Grava uma chave com TTL em segundos. */
|
|
25
15
|
set(key: string, data: string, expiration?: number): Promise<void>;
|
|
26
|
-
/** Remove uma chave. */
|
|
27
16
|
del(keyCache: string): Promise<void>;
|
|
28
|
-
/** Remove varias chaves com pipeline. */
|
|
29
17
|
delBatch(keyCache: string[]): Promise<void>;
|
|
30
|
-
/** Lista chaves (pattern no formato do Redis). */
|
|
31
18
|
getKeys(pattern?: string | undefined): Promise<string[] | null>;
|
|
32
|
-
/** Limpa o banco atual do Redis. */
|
|
33
19
|
flush(): Promise<void>;
|
|
34
|
-
/** Fecha a conexao com o Redis. */
|
|
35
20
|
close(): Promise<void>;
|
|
36
21
|
}
|
|
@@ -4,9 +4,6 @@ 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
|
-
*/
|
|
10
7
|
class Redis extends client_1.CacheClient {
|
|
11
8
|
connection;
|
|
12
9
|
client;
|
|
@@ -22,11 +19,9 @@ class Redis extends client_1.CacheClient {
|
|
|
22
19
|
await new Promise(resolve => setTimeout(resolve, timeout || 2500));
|
|
23
20
|
return null;
|
|
24
21
|
}
|
|
25
|
-
/** Inicializa o cliente Redis. */
|
|
26
22
|
async start() {
|
|
27
23
|
this.client = new ioredis_1.default(this.connection);
|
|
28
24
|
}
|
|
29
|
-
/** Busca uma chave e faz JSON.parse do valor. */
|
|
30
25
|
async get(key) {
|
|
31
26
|
const get = async () => {
|
|
32
27
|
const data = await this.client.get(key);
|
|
@@ -37,7 +32,6 @@ class Redis extends client_1.CacheClient {
|
|
|
37
32
|
// If redis not connected the get method never returns
|
|
38
33
|
return await Promise.race([get(), this.delayOperation()]);
|
|
39
34
|
}
|
|
40
|
-
/** Grava uma chave com TTL em segundos. */
|
|
41
35
|
async set(key, data, expiration) {
|
|
42
36
|
const set = async () => {
|
|
43
37
|
if (expiration)
|
|
@@ -47,11 +41,9 @@ class Redis extends client_1.CacheClient {
|
|
|
47
41
|
// If redis not connected the set method never returns
|
|
48
42
|
await Promise.race([set(), this.delayOperation()]);
|
|
49
43
|
}
|
|
50
|
-
/** Remove uma chave. */
|
|
51
44
|
async del(keyCache) {
|
|
52
45
|
await Promise.race([this.client.del(keyCache), this.delayOperation()]);
|
|
53
46
|
}
|
|
54
|
-
/** Remove varias chaves com pipeline. */
|
|
55
47
|
async delBatch(keyCache) {
|
|
56
48
|
const delBatch = async () => {
|
|
57
49
|
const pipeline = this.client.pipeline();
|
|
@@ -60,18 +52,15 @@ class Redis extends client_1.CacheClient {
|
|
|
60
52
|
};
|
|
61
53
|
await Promise.race([delBatch(), this.delayOperation()]);
|
|
62
54
|
}
|
|
63
|
-
/** Lista chaves (pattern no formato do Redis). */
|
|
64
55
|
async getKeys(pattern) {
|
|
65
56
|
return await Promise.race([
|
|
66
57
|
this.client.keys(pattern || '*'),
|
|
67
58
|
this.delayOperation(),
|
|
68
59
|
]);
|
|
69
60
|
}
|
|
70
|
-
/** Limpa o banco atual do Redis. */
|
|
71
61
|
async flush() {
|
|
72
62
|
await this.client.flushdb();
|
|
73
63
|
}
|
|
74
|
-
/** Fecha a conexao com o Redis. */
|
|
75
64
|
async close() {
|
|
76
65
|
await Promise.race([this.client.quit(), this.delayOperation()]);
|
|
77
66
|
}
|
|
@@ -1,179 +1,60 @@
|
|
|
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"));
|
|
6
4
|
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"));
|
|
11
5
|
const controller_1 = tslib_1.__importDefault(require("./controller"));
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
6
|
+
test('conflict error with one object', async () => {
|
|
7
|
+
class ControllerError extends controller_1.default {
|
|
8
|
+
async handle() {
|
|
9
|
+
try {
|
|
10
|
+
throw new conflict_error_1.default({ id: 'ID' });
|
|
11
|
+
}
|
|
12
|
+
catch (err) {
|
|
13
|
+
return this.throw(err);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
15
16
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
}
|
|
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({
|
|
17
|
+
const executeController = new ControllerError();
|
|
18
|
+
const responseError = await executeController.handle();
|
|
19
|
+
expect(responseError).toEqual(expect.objectContaining({
|
|
20
|
+
code: 409,
|
|
21
|
+
data: {
|
|
56
22
|
code: 409,
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
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
|
+
}
|
|
42
|
+
}
|
|
43
|
+
const executeController = new ControllerError();
|
|
44
|
+
const responseError = await executeController.handle();
|
|
45
|
+
expect(responseError).toEqual(expect.objectContaining({
|
|
46
|
+
code: 409,
|
|
47
|
+
data: {
|
|
67
48
|
code: 409,
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
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
|
-
});
|
|
49
|
+
message: 'Entity already exists.',
|
|
50
|
+
items: [
|
|
51
|
+
{
|
|
52
|
+
id: 'ID 1',
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
id: 'ID 2',
|
|
56
|
+
},
|
|
57
|
+
],
|
|
58
|
+
},
|
|
59
|
+
}));
|
|
179
60
|
});
|
|
@@ -1,16 +1,11 @@
|
|
|
1
1
|
type HeadersProps = {
|
|
2
2
|
username: string;
|
|
3
3
|
useremail: string;
|
|
4
|
-
userid?: string;
|
|
5
|
-
['app-id']?: string;
|
|
6
|
-
tenantid: string;
|
|
7
4
|
};
|
|
8
5
|
export declare function handleUserHeaders(headers: HeadersProps): {
|
|
9
6
|
createdByName: string;
|
|
10
7
|
createdByEmail: string;
|
|
11
8
|
updatedByEmail: string;
|
|
12
9
|
updatedByName: string;
|
|
13
|
-
entityId: string | undefined;
|
|
14
|
-
tenantId: string;
|
|
15
10
|
};
|
|
16
11
|
export {};
|
|
@@ -7,8 +7,6 @@ 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,
|
|
12
10
|
};
|
|
13
11
|
}
|
|
14
12
|
exports.handleUserHeaders = handleUserHeaders;
|
|
@@ -1,40 +1,11 @@
|
|
|
1
|
+
import LoggerGateway, { LogOptions, LogParams, LogPropertiesInput } from '../../application/logger';
|
|
1
2
|
import { Cache } from '../../../clean-arch/application/cache/cache';
|
|
2
|
-
import LoggerGateway, { LogOptions, LogPropertiesInput } from '../../application/logger';
|
|
3
|
-
import { LogOrbitParamsInput } from './logger-orbit';
|
|
4
3
|
export interface LoggerInMemoryOptions extends LogOptions {
|
|
5
|
-
/**
|
|
6
|
-
* Quando `true`, inclui as propriedades do log na saída do console.
|
|
7
|
-
* Útil para depuração local.
|
|
8
|
-
*/
|
|
9
4
|
showProps?: boolean;
|
|
10
5
|
}
|
|
11
|
-
export type LoggerInMemoryProps = {
|
|
12
|
-
cache?: Cache;
|
|
13
|
-
options?: LoggerInMemoryOptions;
|
|
14
|
-
params?: LogOrbitParamsInput;
|
|
15
|
-
};
|
|
16
|
-
/**
|
|
17
|
-
* Logger simples que escreve no console.
|
|
18
|
-
*
|
|
19
|
-
* Observação: esta implementação NÃO persiste logs em memória.
|
|
20
|
-
* O nome "InMemory" refere-se ao uso local/leve, sem dependências externas.
|
|
21
|
-
*/
|
|
22
6
|
export declare class LoggerInMemory extends LoggerGateway {
|
|
23
7
|
protected options: LoggerInMemoryOptions;
|
|
24
|
-
|
|
25
|
-
* @param cache Cache opcional para filtro de nível (pode ser em memória ou Redis).
|
|
26
|
-
* @param options Opções de comportamento do logger.
|
|
27
|
-
* @param params Parâmetros padrão de log (actor/type).
|
|
28
|
-
*/
|
|
29
|
-
constructor(props?: LoggerInMemoryProps);
|
|
30
|
-
/**
|
|
31
|
-
* Delegado para o fluxo comum de LoggerGateway.
|
|
32
|
-
* Mantido como atalho para compatibilidade com outros loggers.
|
|
33
|
-
*/
|
|
8
|
+
constructor(cache?: Cache, options?: LoggerInMemoryOptions, params?: LogParams);
|
|
34
9
|
log(props: LogPropertiesInput, dataToLog: any): Promise<void>;
|
|
35
|
-
/**
|
|
36
|
-
* Escreve no console usando o nível de log.
|
|
37
|
-
* Quando `showProps` é true, adiciona as props como último argumento.
|
|
38
|
-
*/
|
|
39
10
|
protected register(props: LogPropertiesInput, dataToLog: any): void;
|
|
40
11
|
}
|