@mondart/nestjs-common-module 1.0.3
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/.eslintrc.js +25 -0
- package/.github/workflows/npm-publish.yml +34 -0
- package/.prettierrc +4 -0
- package/common/caching/caching.module.ts +28 -0
- package/common/caching/caching.service.ts +34 -0
- package/common/caching/index.ts +2 -0
- package/common/constants/index.ts +1 -0
- package/common/constants/validation-constraints.const.ts +14 -0
- package/common/controllers/core-crud.controller.ts +106 -0
- package/common/controllers/index.ts +1 -0
- package/common/decorators/entity-order.decorator.ts +19 -0
- package/common/decorators/index.ts +2 -0
- package/common/decorators/swagger-api-response.decorator.ts +30 -0
- package/common/decorators/validations/default/array-max-size.decorator.ts +9 -0
- package/common/decorators/validations/default/array-min-size.decorator.ts +9 -0
- package/common/decorators/validations/default/array-not-empty.decorator.ts +7 -0
- package/common/decorators/validations/default/index.ts +20 -0
- package/common/decorators/validations/default/is-array.decorator.ts +7 -0
- package/common/decorators/validations/default/is-boolean.decorator.ts +10 -0
- package/common/decorators/validations/default/is-date.decorator.ts +10 -0
- package/common/decorators/validations/default/is-enum.decorator.ts +9 -0
- package/common/decorators/validations/default/is-int.decorator.ts +10 -0
- package/common/decorators/validations/default/is-not-empty-object.decorator.ts +15 -0
- package/common/decorators/validations/default/is-not-empty.decorator.ts +7 -0
- package/common/decorators/validations/default/is-number-string.decorator.ts +12 -0
- package/common/decorators/validations/default/is-object.decorator.ts +7 -0
- package/common/decorators/validations/default/is-positive.decorator.ts +10 -0
- package/common/decorators/validations/default/is-string.decorator.ts +8 -0
- package/common/decorators/validations/default/is-uuid.decorator.ts +7 -0
- package/common/decorators/validations/default/matches.decorator.ts +13 -0
- package/common/decorators/validations/default/max-length.decorator.ts +9 -0
- package/common/decorators/validations/default/max.decorator.ts +13 -0
- package/common/decorators/validations/default/min-length.decorator.ts +9 -0
- package/common/decorators/validations/default/min.decorator.ts +13 -0
- package/common/decorators/validations/index.ts +3 -0
- package/common/decorators/validations/is-id.decorator.ts +20 -0
- package/common/decorators/validations/is-not-empty-string.decorator.ts +14 -0
- package/common/dto/index.ts +2 -0
- package/common/dto/request/base-request.dto.ts +11 -0
- package/common/dto/request/event.dto.ts +25 -0
- package/common/dto/request/id.dto.ts +10 -0
- package/common/dto/request/ids.dto.ts +13 -0
- package/common/dto/request/index.ts +4 -0
- package/common/dto/response/base-response-with-action-dates.dto.ts +19 -0
- package/common/dto/response/base-response.dto.ts +10 -0
- package/common/dto/response/error-response.dto.ts +22 -0
- package/common/dto/response/index.ts +5 -0
- package/common/dto/response/kafka-success-response.dto.ts +56 -0
- package/common/dto/response/success-response.dto.ts +32 -0
- package/common/dto/response/validation.dto.ts +80 -0
- package/common/entities/action-dates.entity.ts +30 -0
- package/common/entities/base.entity.ts +7 -0
- package/common/entities/index.ts +2 -0
- package/common/entities/parent.entity.ts +35 -0
- package/common/enums/environments.enum.ts +6 -0
- package/common/enums/index.ts +2 -0
- package/common/enums/shared-messages.enum.ts +40 -0
- package/common/filters/http-exception.filter.ts +74 -0
- package/common/filters/index.ts +1 -0
- package/common/filters/rpc-exception.filter.ts +40 -0
- package/common/helper/get-env.helper.ts +3 -0
- package/common/helper/get-env.ts +3 -0
- package/common/helper/index.ts +2 -0
- package/common/helper/message-formatter.helper.ts +30 -0
- package/common/helper/multi-inheritance.helper.ts +12 -0
- package/common/helper/multi-inheritance.util.ts +12 -0
- package/common/index.ts +14 -0
- package/common/interface/core-crud-service.option.ts +8 -0
- package/common/interface/custom-validation-arguments.interface.ts +20 -0
- package/common/interface/index.ts +2 -0
- package/common/interface/kafka-success-response.interfase.ts +9 -0
- package/common/interface/pagination-query.ts +39 -0
- package/common/lib/index.ts +1 -0
- package/common/lib/kafka/constant/consumer.const.ts +13 -0
- package/common/lib/kafka/constant/kafka.const.ts +9 -0
- package/common/lib/kafka/index.ts +5 -0
- package/common/lib/kafka/kafka-admin.service.ts +51 -0
- package/common/lib/kafka/kafka-consumer.service.ts +59 -0
- package/common/lib/kafka/kafka-instance.const.ts +9 -0
- package/common/lib/kafka/kafka-logger.ts +25 -0
- package/common/lib/kafka/kafka-producer.service.ts +97 -0
- package/common/lib/kafka/kafka.interface.ts +22 -0
- package/common/lib/kafka/kafka.module.ts +80 -0
- package/common/lib/kafka/kafka.provider.ts +10 -0
- package/common/lib/kafka/kafka.service.ts +224 -0
- package/common/services/core-crud.service.ts +457 -0
- package/common/services/index.ts +1 -0
- package/common/strategy/index.ts +1 -0
- package/common/strategy/type-orm-naming.strategy.ts +17 -0
- package/common/validators/does-exist.validator.ts +42 -0
- package/common/validators/env.validator.ts +28 -0
- package/common/validators/index.ts +4 -0
- package/common/validators/is-unique.validator.ts +70 -0
- package/common/validators/validation-options.ts +38 -0
- package/dist/caching/caching.module.d.ts +2 -0
- package/dist/caching/caching.module.js +41 -0
- package/dist/caching/caching.module.js.map +1 -0
- package/dist/caching/caching.service.d.ts +9 -0
- package/dist/caching/caching.service.js +45 -0
- package/dist/caching/caching.service.js.map +1 -0
- package/dist/caching/index.d.ts +2 -0
- package/dist/caching/index.js +19 -0
- package/dist/caching/index.js.map +1 -0
- package/dist/constants/index.d.ts +1 -0
- package/dist/constants/index.js +18 -0
- package/dist/constants/index.js.map +1 -0
- package/dist/constants/validation-constraints.const.d.ts +14 -0
- package/dist/constants/validation-constraints.const.js +19 -0
- package/dist/constants/validation-constraints.const.js.map +1 -0
- package/dist/controllers/core-crud.controller.d.ts +19 -0
- package/dist/controllers/core-crud.controller.js +72 -0
- package/dist/controllers/core-crud.controller.js.map +1 -0
- package/dist/controllers/index.d.ts +1 -0
- package/dist/controllers/index.js +18 -0
- package/dist/controllers/index.js.map +1 -0
- package/dist/decorators/entity-order.decorator.d.ts +2 -0
- package/dist/decorators/entity-order.decorator.js +18 -0
- package/dist/decorators/entity-order.decorator.js.map +1 -0
- package/dist/decorators/index.d.ts +2 -0
- package/dist/decorators/index.js +19 -0
- package/dist/decorators/index.js.map +1 -0
- package/dist/decorators/swagger-api-response.decorator.d.ts +5 -0
- package/dist/decorators/swagger-api-response.decorator.js +25 -0
- package/dist/decorators/swagger-api-response.decorator.js.map +1 -0
- package/dist/decorators/validations/default/array-max-size.decorator.d.ts +1 -0
- package/dist/decorators/validations/default/array-max-size.decorator.js +12 -0
- package/dist/decorators/validations/default/array-max-size.decorator.js.map +1 -0
- package/dist/decorators/validations/default/array-min-size.decorator.d.ts +1 -0
- package/dist/decorators/validations/default/array-min-size.decorator.js +12 -0
- package/dist/decorators/validations/default/array-min-size.decorator.js.map +1 -0
- package/dist/decorators/validations/default/array-not-empty.decorator.d.ts +1 -0
- package/dist/decorators/validations/default/array-not-empty.decorator.js +10 -0
- package/dist/decorators/validations/default/array-not-empty.decorator.js.map +1 -0
- package/dist/decorators/validations/default/index.d.ts +20 -0
- package/dist/decorators/validations/default/index.js +37 -0
- package/dist/decorators/validations/default/index.js.map +1 -0
- package/dist/decorators/validations/default/is-array.decorator.d.ts +1 -0
- package/dist/decorators/validations/default/is-array.decorator.js +10 -0
- package/dist/decorators/validations/default/is-array.decorator.js.map +1 -0
- package/dist/decorators/validations/default/is-boolean.decorator.d.ts +3 -0
- package/dist/decorators/validations/default/is-boolean.decorator.js +10 -0
- package/dist/decorators/validations/default/is-boolean.decorator.js.map +1 -0
- package/dist/decorators/validations/default/is-date.decorator.d.ts +3 -0
- package/dist/decorators/validations/default/is-date.decorator.js +10 -0
- package/dist/decorators/validations/default/is-date.decorator.js.map +1 -0
- package/dist/decorators/validations/default/is-enum.decorator.d.ts +1 -0
- package/dist/decorators/validations/default/is-enum.decorator.js +12 -0
- package/dist/decorators/validations/default/is-enum.decorator.js.map +1 -0
- package/dist/decorators/validations/default/is-int.decorator.d.ts +3 -0
- package/dist/decorators/validations/default/is-int.decorator.js +10 -0
- package/dist/decorators/validations/default/is-int.decorator.js.map +1 -0
- package/dist/decorators/validations/default/is-not-empty-object.decorator.d.ts +5 -0
- package/dist/decorators/validations/default/is-not-empty-object.decorator.js +13 -0
- package/dist/decorators/validations/default/is-not-empty-object.decorator.js.map +1 -0
- package/dist/decorators/validations/default/is-not-empty.decorator.d.ts +1 -0
- package/dist/decorators/validations/default/is-not-empty.decorator.js +10 -0
- package/dist/decorators/validations/default/is-not-empty.decorator.js.map +1 -0
- package/dist/decorators/validations/default/is-number-string.decorator.d.ts +3 -0
- package/dist/decorators/validations/default/is-number-string.decorator.js +10 -0
- package/dist/decorators/validations/default/is-number-string.decorator.js.map +1 -0
- package/dist/decorators/validations/default/is-object.decorator.d.ts +2 -0
- package/dist/decorators/validations/default/is-object.decorator.js +10 -0
- package/dist/decorators/validations/default/is-object.decorator.js.map +1 -0
- package/dist/decorators/validations/default/is-positive.decorator.d.ts +3 -0
- package/dist/decorators/validations/default/is-positive.decorator.js +10 -0
- package/dist/decorators/validations/default/is-positive.decorator.js.map +1 -0
- package/dist/decorators/validations/default/is-string.decorator.d.ts +3 -0
- package/dist/decorators/validations/default/is-string.decorator.js +11 -0
- package/dist/decorators/validations/default/is-string.decorator.js.map +1 -0
- package/dist/decorators/validations/default/is-uuid.decorator.d.ts +3 -0
- package/dist/decorators/validations/default/is-uuid.decorator.js +10 -0
- package/dist/decorators/validations/default/is-uuid.decorator.js.map +1 -0
- package/dist/decorators/validations/default/matches.decorator.d.ts +3 -0
- package/dist/decorators/validations/default/matches.decorator.js +10 -0
- package/dist/decorators/validations/default/matches.decorator.js.map +1 -0
- package/dist/decorators/validations/default/max-length.decorator.d.ts +1 -0
- package/dist/decorators/validations/default/max-length.decorator.js +12 -0
- package/dist/decorators/validations/default/max-length.decorator.js.map +1 -0
- package/dist/decorators/validations/default/max.decorator.d.ts +3 -0
- package/dist/decorators/validations/default/max.decorator.js +10 -0
- package/dist/decorators/validations/default/max.decorator.js.map +1 -0
- package/dist/decorators/validations/default/min-length.decorator.d.ts +1 -0
- package/dist/decorators/validations/default/min-length.decorator.js +12 -0
- package/dist/decorators/validations/default/min-length.decorator.js.map +1 -0
- package/dist/decorators/validations/default/min.decorator.d.ts +3 -0
- package/dist/decorators/validations/default/min.decorator.js +10 -0
- package/dist/decorators/validations/default/min.decorator.js.map +1 -0
- package/dist/decorators/validations/index.d.ts +3 -0
- package/dist/decorators/validations/index.js +20 -0
- package/dist/decorators/validations/index.js.map +1 -0
- package/dist/decorators/validations/is-id.decorator.d.ts +4 -0
- package/dist/decorators/validations/is-id.decorator.js +21 -0
- package/dist/decorators/validations/is-id.decorator.js.map +1 -0
- package/dist/decorators/validations/is-not-empty-string.decorator.d.ts +4 -0
- package/dist/decorators/validations/is-not-empty-string.decorator.js +15 -0
- package/dist/decorators/validations/is-not-empty-string.decorator.js.map +1 -0
- package/dist/dto/index.d.ts +2 -0
- package/dist/dto/index.js +19 -0
- package/dist/dto/index.js.map +1 -0
- package/dist/dto/request/base-request.dto.d.ts +4 -0
- package/dist/dto/request/base-request.dto.js +24 -0
- package/dist/dto/request/base-request.dto.js.map +1 -0
- package/dist/dto/request/event.dto.d.ts +8 -0
- package/dist/dto/request/event.dto.js +45 -0
- package/dist/dto/request/event.dto.js.map +1 -0
- package/dist/dto/request/id.dto.d.ts +3 -0
- package/dist/dto/request/id.dto.js +25 -0
- package/dist/dto/request/id.dto.js.map +1 -0
- package/dist/dto/request/ids.dto.d.ts +3 -0
- package/dist/dto/request/ids.dto.js +28 -0
- package/dist/dto/request/ids.dto.js.map +1 -0
- package/dist/dto/request/index.d.ts +4 -0
- package/dist/dto/request/index.js +21 -0
- package/dist/dto/request/index.js.map +1 -0
- package/dist/dto/response/base-response-with-action-dates.dto.d.ts +7 -0
- package/dist/dto/response/base-response-with-action-dates.dto.js +36 -0
- package/dist/dto/response/base-response-with-action-dates.dto.js.map +1 -0
- package/dist/dto/response/base-response.dto.d.ts +4 -0
- package/dist/dto/response/base-response.dto.js +24 -0
- package/dist/dto/response/base-response.dto.js.map +1 -0
- package/dist/dto/response/error-response.dto.d.ts +8 -0
- package/dist/dto/response/error-response.dto.js +38 -0
- package/dist/dto/response/error-response.dto.js.map +1 -0
- package/dist/dto/response/index.d.ts +5 -0
- package/dist/dto/response/index.js +22 -0
- package/dist/dto/response/index.js.map +1 -0
- package/dist/dto/response/kafka-success-response.dto.d.ts +14 -0
- package/dist/dto/response/kafka-success-response.dto.js +66 -0
- package/dist/dto/response/kafka-success-response.dto.js.map +1 -0
- package/dist/dto/response/success-response.dto.d.ts +9 -0
- package/dist/dto/response/success-response.dto.js +44 -0
- package/dist/dto/response/success-response.dto.js.map +1 -0
- package/dist/dto/response/validation.dto.d.ts +25 -0
- package/dist/dto/response/validation.dto.js +84 -0
- package/dist/dto/response/validation.dto.js.map +1 -0
- package/dist/entities/action-dates.entity.d.ts +8 -0
- package/dist/entities/action-dates.entity.js +43 -0
- package/dist/entities/action-dates.entity.js.map +1 -0
- package/dist/entities/base.entity.d.ts +4 -0
- package/dist/entities/base.entity.js +22 -0
- package/dist/entities/base.entity.js.map +1 -0
- package/dist/entities/index.d.ts +2 -0
- package/dist/entities/index.js +19 -0
- package/dist/entities/index.js.map +1 -0
- package/dist/entities/parent.entity.d.ts +8 -0
- package/dist/entities/parent.entity.js +45 -0
- package/dist/entities/parent.entity.js.map +1 -0
- package/dist/enums/environments.enum.d.ts +6 -0
- package/dist/enums/environments.enum.js +11 -0
- package/dist/enums/environments.enum.js.map +1 -0
- package/dist/enums/index.d.ts +2 -0
- package/dist/enums/index.js +19 -0
- package/dist/enums/index.js.map +1 -0
- package/dist/enums/shared-messages.enum.d.ts +25 -0
- package/dist/enums/shared-messages.enum.js +30 -0
- package/dist/enums/shared-messages.enum.js.map +1 -0
- package/dist/filters/http-exception.filter.d.ts +8 -0
- package/dist/filters/http-exception.filter.js +65 -0
- package/dist/filters/http-exception.filter.js.map +1 -0
- package/dist/filters/index.d.ts +1 -0
- package/dist/filters/index.js +18 -0
- package/dist/filters/index.js.map +1 -0
- package/dist/filters/rpc-exception.filter.d.ts +5 -0
- package/dist/filters/rpc-exception.filter.js +21 -0
- package/dist/filters/rpc-exception.filter.js.map +1 -0
- package/dist/helper/get-env.d.ts +1 -0
- package/dist/helper/get-env.helper.d.ts +1 -0
- package/dist/helper/get-env.helper.js +7 -0
- package/dist/helper/get-env.helper.js.map +1 -0
- package/dist/helper/get-env.js +7 -0
- package/dist/helper/get-env.js.map +1 -0
- package/dist/helper/index.d.ts +2 -0
- package/dist/helper/index.js +19 -0
- package/dist/helper/index.js.map +1 -0
- package/dist/helper/message-formatter.helper.d.ts +3 -0
- package/dist/helper/message-formatter.helper.js +27 -0
- package/dist/helper/message-formatter.helper.js.map +1 -0
- package/dist/helper/multi-inheritance.helper.d.ts +1 -0
- package/dist/helper/multi-inheritance.helper.js +13 -0
- package/dist/helper/multi-inheritance.helper.js.map +1 -0
- package/dist/helper/multi-inheritance.util.d.ts +1 -0
- package/dist/helper/multi-inheritance.util.js +13 -0
- package/dist/helper/multi-inheritance.util.js.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.js +18 -0
- package/dist/index.js.map +1 -0
- package/dist/interface/core-crud-service.option.d.ts +7 -0
- package/dist/interface/core-crud-service.option.js +10 -0
- package/dist/interface/core-crud-service.option.js.map +1 -0
- package/dist/interface/custom-validation-arguments.interface.d.ts +14 -0
- package/dist/interface/custom-validation-arguments.interface.js +3 -0
- package/dist/interface/custom-validation-arguments.interface.js.map +1 -0
- package/dist/interface/index.d.ts +2 -0
- package/dist/interface/index.js +19 -0
- package/dist/interface/index.js.map +1 -0
- package/dist/interface/kafka-success-response.interfase.d.ts +9 -0
- package/dist/interface/kafka-success-response.interfase.js +3 -0
- package/dist/interface/kafka-success-response.interfase.js.map +1 -0
- package/dist/interface/pagination-query.d.ts +13 -0
- package/dist/interface/pagination-query.js +55 -0
- package/dist/interface/pagination-query.js.map +1 -0
- package/dist/lib/index.d.ts +1 -0
- package/dist/lib/index.js +18 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/lib/kafka/constant/consumer.const.d.ts +12 -0
- package/dist/lib/kafka/constant/consumer.const.js +18 -0
- package/dist/lib/kafka/constant/consumer.const.js.map +1 -0
- package/dist/lib/kafka/constant/kafka.const.d.ts +9 -0
- package/dist/lib/kafka/constant/kafka.const.js +14 -0
- package/dist/lib/kafka/constant/kafka.const.js.map +1 -0
- package/dist/lib/kafka/index.d.ts +4 -0
- package/dist/lib/kafka/index.js +8 -0
- package/dist/lib/kafka/index.js.map +1 -0
- package/dist/lib/kafka/kafka-admin.service.d.ts +7 -0
- package/dist/lib/kafka/kafka-admin.service.js +47 -0
- package/dist/lib/kafka/kafka-admin.service.js.map +1 -0
- package/dist/lib/kafka/kafka-consumer.service.d.ts +9 -0
- package/dist/lib/kafka/kafka-consumer.service.js +50 -0
- package/dist/lib/kafka/kafka-consumer.service.js.map +1 -0
- package/dist/lib/kafka/kafka-instance.const.d.ts +2 -0
- package/dist/lib/kafka/kafka-instance.const.js +12 -0
- package/dist/lib/kafka/kafka-instance.const.js.map +1 -0
- package/dist/lib/kafka/kafka-logger.d.ts +2 -0
- package/dist/lib/kafka/kafka-logger.js +22 -0
- package/dist/lib/kafka/kafka-logger.js.map +1 -0
- package/dist/lib/kafka/kafka-producer.service.d.ts +10 -0
- package/dist/lib/kafka/kafka-producer.service.js +76 -0
- package/dist/lib/kafka/kafka-producer.service.js.map +1 -0
- package/dist/lib/kafka/kafka.interface.d.ts +15 -0
- package/dist/lib/kafka/kafka.interface.js +5 -0
- package/dist/lib/kafka/kafka.interface.js.map +1 -0
- package/dist/lib/kafka/kafka.module.d.ts +10 -0
- package/dist/lib/kafka/kafka.module.js +77 -0
- package/dist/lib/kafka/kafka.module.js.map +1 -0
- package/dist/lib/kafka/kafka.provider.d.ts +7 -0
- package/dist/lib/kafka/kafka.provider.js +12 -0
- package/dist/lib/kafka/kafka.provider.js.map +1 -0
- package/dist/lib/kafka/kafka.service.d.ts +38 -0
- package/dist/lib/kafka/kafka.service.js +124 -0
- package/dist/lib/kafka/kafka.service.js.map +1 -0
- package/dist/services/core-crud.service.d.ts +31 -0
- package/dist/services/core-crud.service.js +318 -0
- package/dist/services/core-crud.service.js.map +1 -0
- package/dist/services/index.d.ts +1 -0
- package/dist/services/index.js +18 -0
- package/dist/services/index.js.map +1 -0
- package/dist/strategy/index.d.ts +1 -0
- package/dist/strategy/index.js +18 -0
- package/dist/strategy/index.js.map +1 -0
- package/dist/strategy/type-orm-naming.strategy.d.ts +4 -0
- package/dist/strategy/type-orm-naming.strategy.js +12 -0
- package/dist/strategy/type-orm-naming.strategy.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/validators/does-exist.validator.d.ts +8 -0
- package/dist/validators/does-exist.validator.js +48 -0
- package/dist/validators/does-exist.validator.js.map +1 -0
- package/dist/validators/env.validator.d.ts +2 -0
- package/dist/validators/env.validator.js +27 -0
- package/dist/validators/env.validator.js.map +1 -0
- package/dist/validators/index.d.ts +4 -0
- package/dist/validators/index.js +21 -0
- package/dist/validators/index.js.map +1 -0
- package/dist/validators/is-unique.validator.d.ts +7 -0
- package/dist/validators/is-unique.validator.js +58 -0
- package/dist/validators/is-unique.validator.js.map +1 -0
- package/dist/validators/validation-options.d.ts +3 -0
- package/dist/validators/validation-options.js +28 -0
- package/dist/validators/validation-options.js.map +1 -0
- package/nest-cli.json +8 -0
- package/package.json +81 -0
- package/tsconfig.build.json +4 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./kafka"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../common/lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare enum ConsumerManagerTask {
|
|
2
|
+
Bootstrap = "bootstrap",
|
|
3
|
+
Start = "start",
|
|
4
|
+
Stop = "stop",
|
|
5
|
+
Pause = "pause",
|
|
6
|
+
Resume = "resume",
|
|
7
|
+
Check = "check"
|
|
8
|
+
}
|
|
9
|
+
export declare enum TaskStatus {
|
|
10
|
+
SuccessFull = "SuccessFull",
|
|
11
|
+
Failed = "Failed"
|
|
12
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TaskStatus = exports.ConsumerManagerTask = void 0;
|
|
4
|
+
var ConsumerManagerTask;
|
|
5
|
+
(function (ConsumerManagerTask) {
|
|
6
|
+
ConsumerManagerTask["Bootstrap"] = "bootstrap";
|
|
7
|
+
ConsumerManagerTask["Start"] = "start";
|
|
8
|
+
ConsumerManagerTask["Stop"] = "stop";
|
|
9
|
+
ConsumerManagerTask["Pause"] = "pause";
|
|
10
|
+
ConsumerManagerTask["Resume"] = "resume";
|
|
11
|
+
ConsumerManagerTask["Check"] = "check";
|
|
12
|
+
})(ConsumerManagerTask || (exports.ConsumerManagerTask = ConsumerManagerTask = {}));
|
|
13
|
+
var TaskStatus;
|
|
14
|
+
(function (TaskStatus) {
|
|
15
|
+
TaskStatus["SuccessFull"] = "SuccessFull";
|
|
16
|
+
TaskStatus["Failed"] = "Failed";
|
|
17
|
+
})(TaskStatus || (exports.TaskStatus = TaskStatus = {}));
|
|
18
|
+
//# sourceMappingURL=consumer.const.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consumer.const.js","sourceRoot":"","sources":["../../../../common/lib/kafka/constant/consumer.const.ts"],"names":[],"mappings":";;;AAAA,IAAY,mBAOX;AAPD,WAAY,mBAAmB;IAC7B,8CAAuB,CAAA;IACvB,sCAAe,CAAA;IACf,oCAAa,CAAA;IACb,sCAAe,CAAA;IACf,wCAAiB,CAAA;IACjB,sCAAe,CAAA;AACjB,CAAC,EAPW,mBAAmB,mCAAnB,mBAAmB,QAO9B;AAED,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,yCAA2B,CAAA;IAC3B,+BAAiB,CAAA;AACnB,CAAC,EAHW,UAAU,0BAAV,UAAU,QAGrB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.KafkaHealthState = void 0;
|
|
4
|
+
var KafkaHealthState;
|
|
5
|
+
(function (KafkaHealthState) {
|
|
6
|
+
KafkaHealthState["Unknown"] = "Unknown";
|
|
7
|
+
KafkaHealthState["PreparingRebalance"] = "PreparingRebalance";
|
|
8
|
+
KafkaHealthState["CompletingRebalance"] = "CompletingRebalance";
|
|
9
|
+
KafkaHealthState["Stable"] = "Stable";
|
|
10
|
+
KafkaHealthState["Dead"] = "Dead";
|
|
11
|
+
KafkaHealthState["Empty"] = "Empty";
|
|
12
|
+
KafkaHealthState["Pause"] = "Pause";
|
|
13
|
+
})(KafkaHealthState || (exports.KafkaHealthState = KafkaHealthState = {}));
|
|
14
|
+
//# sourceMappingURL=kafka.const.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kafka.const.js","sourceRoot":"","sources":["../../../../common/lib/kafka/constant/kafka.const.ts"],"names":[],"mappings":";;;AAAA,IAAY,gBAQX;AARD,WAAY,gBAAgB;IAC1B,uCAAmB,CAAA;IACnB,6DAAyC,CAAA;IACzC,+DAA2C,CAAA;IAC3C,qCAAiB,CAAA;IACjB,iCAAa,CAAA;IACb,mCAAe,CAAA;IACf,mCAAe,CAAA;AACjB,CAAC,EARW,gBAAgB,gCAAhB,gBAAgB,QAQ3B"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.KafkaService = exports.KafkaModule = void 0;
|
|
4
|
+
const kafka_module_1 = require("./kafka.module");
|
|
5
|
+
Object.defineProperty(exports, "KafkaModule", { enumerable: true, get: function () { return kafka_module_1.KafkaModule; } });
|
|
6
|
+
const kafka_service_1 = require("./kafka.service");
|
|
7
|
+
Object.defineProperty(exports, "KafkaService", { enumerable: true, get: function () { return kafka_service_1.KafkaService; } });
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../common/lib/kafka/index.ts"],"names":[],"mappings":";;;AAAA,iDAA6C;AAIpC,4FAJA,0BAAW,OAIA;AAFpB,mDAA+C;AAEzB,6FAFb,4BAAY,OAEa"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const common_1 = require("@nestjs/common");
|
|
4
|
+
const kafka_instance_const_1 = require("./kafka-instance.const");
|
|
5
|
+
class KafkaAdminService {
|
|
6
|
+
constructor(clientId, brokers) {
|
|
7
|
+
this.kafkaAdmin = this.createKafkaAdmin(clientId, brokers);
|
|
8
|
+
const errorTypes = ['unhandledRejection', 'uncaughtException'];
|
|
9
|
+
const signalTraps = ['SIGTERM', 'SIGINT', 'SIGUSR2'];
|
|
10
|
+
errorTypes.forEach((type) => {
|
|
11
|
+
process.on(type, async (e) => {
|
|
12
|
+
try {
|
|
13
|
+
common_1.Logger.log(`process.on ${type}`);
|
|
14
|
+
common_1.Logger.error(e);
|
|
15
|
+
await this.shutdown();
|
|
16
|
+
process.exit(0);
|
|
17
|
+
}
|
|
18
|
+
catch (_) {
|
|
19
|
+
process.exit(1);
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
signalTraps.forEach((type) => {
|
|
24
|
+
process.once(type, async () => {
|
|
25
|
+
try {
|
|
26
|
+
await this.shutdown();
|
|
27
|
+
}
|
|
28
|
+
finally {
|
|
29
|
+
process.kill(process.pid, type);
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
async getTopics() {
|
|
35
|
+
let topics = await this.kafkaAdmin.listTopics();
|
|
36
|
+
topics = topics.filter((topic) => topic.slice(0, 1) !== '_');
|
|
37
|
+
return topics;
|
|
38
|
+
}
|
|
39
|
+
async shutdown() {
|
|
40
|
+
await this.kafkaAdmin.disconnect();
|
|
41
|
+
}
|
|
42
|
+
createKafkaAdmin(clientId, brokers) {
|
|
43
|
+
return (0, kafka_instance_const_1.kafka)(clientId, brokers).admin();
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
exports.default = KafkaAdminService;
|
|
47
|
+
//# sourceMappingURL=kafka-admin.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kafka-admin.service.js","sourceRoot":"","sources":["../../../common/lib/kafka/kafka-admin.service.ts"],"names":[],"mappings":";;AACA,2CAAwC;AACxC,iEAA+C;AAE/C,MAAqB,iBAAiB;IAGpC,YAAmB,QAAgB,EAAE,OAAiB;QACpD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAE3D,MAAM,UAAU,GAAG,CAAC,oBAAoB,EAAE,mBAAmB,CAAC,CAAC;QAC/D,MAAM,WAAW,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QAErD,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC1B,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;gBAC3B,IAAI,CAAC;oBACH,eAAM,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC;oBACjC,eAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAChB,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACtB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC3B,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;gBAC5B,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACxB,CAAC;wBAAS,CAAC;oBACT,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,SAAS;QACb,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;QAChD,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;QAC7D,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,QAAQ;QACpB,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;IACrC,CAAC;IAEO,gBAAgB,CAAC,QAAQ,EAAE,OAAO;QACxC,OAAO,IAAA,4BAAK,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;IAC1C,CAAC;CACF;AA9CD,oCA8CC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Consumer } from 'kafkajs';
|
|
2
|
+
export default class KafkaConsumerService {
|
|
3
|
+
private kafkaConsumer;
|
|
4
|
+
constructor(clientId: any, brokers: any, groupId: any);
|
|
5
|
+
connectConsumer(): Promise<Consumer>;
|
|
6
|
+
healthCheck(): Promise<import("kafkajs").ConsumerGroupState>;
|
|
7
|
+
shutdown(): Promise<void>;
|
|
8
|
+
private createKafkaConsumer;
|
|
9
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const common_1 = require("@nestjs/common");
|
|
4
|
+
const kafka_instance_const_1 = require("./kafka-instance.const");
|
|
5
|
+
class KafkaConsumerService {
|
|
6
|
+
constructor(clientId, brokers, groupId) {
|
|
7
|
+
this.kafkaConsumer = this.createKafkaConsumer(clientId, brokers, groupId);
|
|
8
|
+
const errorTypes = ['unhandledRejection', 'uncaughtException'];
|
|
9
|
+
const signalTraps = ['SIGTERM', 'SIGINT', 'SIGUSR2'];
|
|
10
|
+
errorTypes.forEach((type) => {
|
|
11
|
+
process.on(type, async (e) => {
|
|
12
|
+
try {
|
|
13
|
+
common_1.Logger.log(`process.on ${type}`);
|
|
14
|
+
common_1.Logger.error(e);
|
|
15
|
+
await this.shutdown();
|
|
16
|
+
process.exit(0);
|
|
17
|
+
}
|
|
18
|
+
catch (_) {
|
|
19
|
+
process.exit(1);
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
signalTraps.forEach((type) => {
|
|
24
|
+
process.once(type, async () => {
|
|
25
|
+
try {
|
|
26
|
+
await this.shutdown();
|
|
27
|
+
}
|
|
28
|
+
finally {
|
|
29
|
+
process.kill(process.pid, type);
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
async connectConsumer() {
|
|
35
|
+
await this.kafkaConsumer.connect();
|
|
36
|
+
return this.kafkaConsumer;
|
|
37
|
+
}
|
|
38
|
+
async healthCheck() {
|
|
39
|
+
const describe = await this.kafkaConsumer.describeGroup();
|
|
40
|
+
return describe.state;
|
|
41
|
+
}
|
|
42
|
+
async shutdown() {
|
|
43
|
+
await this.kafkaConsumer.disconnect();
|
|
44
|
+
}
|
|
45
|
+
createKafkaConsumer(clientId, brokers, groupId = 'consumer-group') {
|
|
46
|
+
return (0, kafka_instance_const_1.kafka)(clientId, brokers).consumer({ groupId });
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.default = KafkaConsumerService;
|
|
50
|
+
//# sourceMappingURL=kafka-consumer.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kafka-consumer.service.js","sourceRoot":"","sources":["../../../common/lib/kafka/kafka-consumer.service.ts"],"names":[],"mappings":";;AACA,2CAAwC;AACxC,iEAA+C;AAE/C,MAAqB,oBAAoB;IAGvC,YAAmB,QAAQ,EAAE,OAAO,EAAE,OAAO;QAC3C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAE1E,MAAM,UAAU,GAAG,CAAC,oBAAoB,EAAE,mBAAmB,CAAC,CAAC;QAC/D,MAAM,WAAW,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QAErD,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC1B,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;gBAC3B,IAAI,CAAC;oBACH,eAAM,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC;oBACjC,eAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAChB,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACtB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC3B,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;gBAC5B,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACxB,CAAC;wBAAS,CAAC;oBACT,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,eAAe;QAC1B,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAEM,KAAK,CAAC,WAAW;QACtB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC;QAC1D,OAAO,QAAQ,CAAC,KAAK,CAAC;IACxB,CAAC;IAEM,KAAK,CAAC,QAAQ;QACnB,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;IACxC,CAAC;IAEO,mBAAmB,CACzB,QAAQ,EACR,OAAO,EACP,OAAO,GAAG,gBAAgB;QAE1B,OAAO,IAAA,4BAAK,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IACxD,CAAC;CACF;AAtDD,uCAsDC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.kafka = void 0;
|
|
4
|
+
const kafka_logger_1 = require("./kafka-logger");
|
|
5
|
+
const kafkajs_1 = require("kafkajs");
|
|
6
|
+
const kafka = (clientId, brokers) => new kafkajs_1.Kafka({
|
|
7
|
+
clientId,
|
|
8
|
+
brokers,
|
|
9
|
+
logCreator: kafka_logger_1.createKafkaLoggerAdapter,
|
|
10
|
+
});
|
|
11
|
+
exports.kafka = kafka;
|
|
12
|
+
//# sourceMappingURL=kafka-instance.const.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kafka-instance.const.js","sourceRoot":"","sources":["../../../common/lib/kafka/kafka-instance.const.ts"],"names":[],"mappings":";;;AAAA,iDAA0D;AAC1D,qCAAgC;AAEzB,MAAM,KAAK,GAAG,CAAC,QAAgB,EAAE,OAAiB,EAAE,EAAE,CAC3D,IAAI,eAAK,CAAC;IACR,QAAQ;IACR,OAAO;IACP,UAAU,EAAE,uCAAwB;CACrC,CAAC,CAAC;AALQ,QAAA,KAAK,SAKb"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createKafkaLoggerAdapter = void 0;
|
|
4
|
+
const common_1 = require("@nestjs/common");
|
|
5
|
+
const kafkajs_1 = require("kafkajs");
|
|
6
|
+
const createKafkaLoggerAdapter = () => {
|
|
7
|
+
const nestLogger = new common_1.Logger('KafkaJS', { timestamp: true });
|
|
8
|
+
const logMethodMap = {
|
|
9
|
+
[kafkajs_1.logLevel.ERROR]: 'error',
|
|
10
|
+
[kafkajs_1.logLevel.WARN]: 'warn',
|
|
11
|
+
[kafkajs_1.logLevel.INFO]: 'log',
|
|
12
|
+
[kafkajs_1.logLevel.DEBUG]: 'debug',
|
|
13
|
+
[kafkajs_1.logLevel.NOTHING]: 'verbose',
|
|
14
|
+
};
|
|
15
|
+
return ({ namespace, level, label, log }) => {
|
|
16
|
+
const { message, ...extra } = log;
|
|
17
|
+
const method = logMethodMap[level] || 'log';
|
|
18
|
+
nestLogger[method](`${label} [${namespace}] ${message}`, JSON.stringify(extra));
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
exports.createKafkaLoggerAdapter = createKafkaLoggerAdapter;
|
|
22
|
+
//# sourceMappingURL=kafka-logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kafka-logger.js","sourceRoot":"","sources":["../../../common/lib/kafka/kafka-logger.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AACxC,qCAAyD;AAGzD,MAAM,wBAAwB,GAAe,GAAG,EAAE;IAChD,MAAM,UAAU,GAAG,IAAI,eAAM,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE9D,MAAM,YAAY,GAAG;QACnB,CAAC,kBAAQ,CAAC,KAAK,CAAC,EAAE,OAAO;QACzB,CAAC,kBAAQ,CAAC,IAAI,CAAC,EAAE,MAAM;QACvB,CAAC,kBAAQ,CAAC,IAAI,CAAC,EAAE,KAAK;QACtB,CAAC,kBAAQ,CAAC,KAAK,CAAC,EAAE,OAAO;QACzB,CAAC,kBAAQ,CAAC,OAAO,CAAC,EAAE,SAAS;KAC9B,CAAC;IAEF,OAAO,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAY,EAAE,EAAE;QACpD,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,GAAG,GAAG,CAAC;QAClC,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;QAE5C,UAAU,CAAC,MAAM,CAAC,CAChB,GAAG,KAAK,KAAK,SAAS,KAAK,OAAO,EAAE,EACpC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CACtB,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC;AApBI,QAAA,wBAAwB,4BAoB5B"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export default class KafkaProducerService {
|
|
2
|
+
private producer;
|
|
3
|
+
constructor(clientId: string, brokers: string[]);
|
|
4
|
+
private setupGracefulShutdown;
|
|
5
|
+
start(): Promise<this>;
|
|
6
|
+
shutdown(): Promise<void>;
|
|
7
|
+
sendBatch(topic: string, messages: Array<object>): Promise<void>;
|
|
8
|
+
sendEvent(topic: string, message: unknown, partition?: number): Promise<void>;
|
|
9
|
+
private createProducer;
|
|
10
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const common_1 = require("@nestjs/common");
|
|
4
|
+
const kafka_instance_const_1 = require("./kafka-instance.const");
|
|
5
|
+
class KafkaProducerService {
|
|
6
|
+
constructor(clientId, brokers) {
|
|
7
|
+
this.producer = this.createProducer(clientId, brokers);
|
|
8
|
+
this.setupGracefulShutdown();
|
|
9
|
+
}
|
|
10
|
+
setupGracefulShutdown() {
|
|
11
|
+
const errorTypes = ['unhandledRejection', 'uncaughtException'];
|
|
12
|
+
const signalTraps = ['SIGTERM', 'SIGINT', 'SIGUSR2'];
|
|
13
|
+
errorTypes.forEach((type) => {
|
|
14
|
+
process.on(type, async (e) => {
|
|
15
|
+
try {
|
|
16
|
+
common_1.Logger.log(`process.on ${type}`);
|
|
17
|
+
common_1.Logger.error(e);
|
|
18
|
+
await this.shutdown();
|
|
19
|
+
process.exit(0);
|
|
20
|
+
}
|
|
21
|
+
catch (_) {
|
|
22
|
+
process.exit(1);
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
signalTraps.forEach((type) => {
|
|
27
|
+
process.once(type, async () => {
|
|
28
|
+
try {
|
|
29
|
+
await this.shutdown();
|
|
30
|
+
}
|
|
31
|
+
finally {
|
|
32
|
+
process.kill(process.pid, type);
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
async start() {
|
|
38
|
+
await this.producer.connect();
|
|
39
|
+
return this;
|
|
40
|
+
}
|
|
41
|
+
async shutdown() {
|
|
42
|
+
await this.producer.disconnect();
|
|
43
|
+
}
|
|
44
|
+
async sendBatch(topic, messages) {
|
|
45
|
+
const kafkaMessages = messages.map((message) => {
|
|
46
|
+
return {
|
|
47
|
+
value: JSON.stringify(message),
|
|
48
|
+
};
|
|
49
|
+
});
|
|
50
|
+
const topicMessages = {
|
|
51
|
+
topic,
|
|
52
|
+
messages: kafkaMessages,
|
|
53
|
+
};
|
|
54
|
+
const batch = {
|
|
55
|
+
topicMessages: [topicMessages],
|
|
56
|
+
};
|
|
57
|
+
await this.producer.sendBatch(batch);
|
|
58
|
+
}
|
|
59
|
+
async sendEvent(topic, message, partition = undefined) {
|
|
60
|
+
const producer = this.producer;
|
|
61
|
+
const kafkaMessage = {
|
|
62
|
+
value: typeof message == 'string' ? message : JSON.stringify(message),
|
|
63
|
+
};
|
|
64
|
+
kafkaMessage.partition = partition;
|
|
65
|
+
const sendOptions = {
|
|
66
|
+
topic,
|
|
67
|
+
messages: [kafkaMessage],
|
|
68
|
+
};
|
|
69
|
+
await producer.send(sendOptions);
|
|
70
|
+
}
|
|
71
|
+
createProducer(clientId, brokers) {
|
|
72
|
+
return (0, kafka_instance_const_1.kafka)(clientId, brokers).producer();
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
exports.default = KafkaProducerService;
|
|
76
|
+
//# sourceMappingURL=kafka-producer.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kafka-producer.service.js","sourceRoot":"","sources":["../../../common/lib/kafka/kafka-producer.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ModuleMetadata, Type } from '@nestjs/common';
|
|
2
|
+
export declare const KAFKA_MODULE_OPTIONS = "KAFKA_MODULE_OPTIONS";
|
|
3
|
+
export interface KafkaModuleOptions {
|
|
4
|
+
clientId: string;
|
|
5
|
+
brokers: string[];
|
|
6
|
+
}
|
|
7
|
+
export interface KafkaModuleFactory {
|
|
8
|
+
createModuleOptions: () => Promise<KafkaModuleOptions> | KafkaModuleOptions;
|
|
9
|
+
}
|
|
10
|
+
export interface KafkaModuleAsyncOptions extends Pick<ModuleMetadata, 'imports'> {
|
|
11
|
+
inject?: any[];
|
|
12
|
+
useClass?: Type<KafkaModuleFactory>;
|
|
13
|
+
useExisting?: Type<KafkaModuleFactory>;
|
|
14
|
+
useFactory?: (...args: any[]) => Promise<KafkaModuleOptions> | KafkaModuleOptions;
|
|
15
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kafka.interface.js","sourceRoot":"","sources":["../../../common/lib/kafka/kafka.interface.ts"],"names":[],"mappings":";;;AAEa,QAAA,oBAAoB,GAAG,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { DynamicModule } from '@nestjs/common';
|
|
2
|
+
import { KafkaModuleAsyncOptions, KafkaModuleOptions } from './kafka.interface';
|
|
3
|
+
export declare class KafkaModule {
|
|
4
|
+
static forRoot(options: KafkaModuleOptions): DynamicModule;
|
|
5
|
+
static forRootAsync(options: KafkaModuleAsyncOptions): DynamicModule;
|
|
6
|
+
private static createAsyncProviders;
|
|
7
|
+
private static createProviders;
|
|
8
|
+
private static createAsyncOptionsProvider;
|
|
9
|
+
private static createOptionsProvider;
|
|
10
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var KafkaModule_1;
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.KafkaModule = void 0;
|
|
11
|
+
const common_1 = require("@nestjs/common");
|
|
12
|
+
const kafka_interface_1 = require("./kafka.interface");
|
|
13
|
+
const index_1 = require("./index");
|
|
14
|
+
let KafkaModule = KafkaModule_1 = class KafkaModule {
|
|
15
|
+
static forRoot(options) {
|
|
16
|
+
return {
|
|
17
|
+
module: KafkaModule_1,
|
|
18
|
+
providers: [
|
|
19
|
+
{
|
|
20
|
+
provide: kafka_interface_1.KAFKA_MODULE_OPTIONS,
|
|
21
|
+
useValue: options,
|
|
22
|
+
},
|
|
23
|
+
index_1.KafkaService,
|
|
24
|
+
],
|
|
25
|
+
exports: [index_1.KafkaService],
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
static forRootAsync(options) {
|
|
29
|
+
return {
|
|
30
|
+
module: KafkaModule_1,
|
|
31
|
+
imports: [...options.imports],
|
|
32
|
+
providers: [...this.createAsyncProviders(options), index_1.KafkaService],
|
|
33
|
+
exports: [...this.createAsyncProviders(options), index_1.KafkaService],
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
static createAsyncProviders(options) {
|
|
37
|
+
if (options.useExisting || options.useFactory) {
|
|
38
|
+
return [this.createAsyncOptionsProvider(options)];
|
|
39
|
+
}
|
|
40
|
+
return [
|
|
41
|
+
this.createAsyncOptionsProvider(options),
|
|
42
|
+
{
|
|
43
|
+
provide: options.useClass,
|
|
44
|
+
useClass: options.useClass,
|
|
45
|
+
},
|
|
46
|
+
];
|
|
47
|
+
}
|
|
48
|
+
static createProviders(options) {
|
|
49
|
+
return [this.createOptionsProvider(options)];
|
|
50
|
+
}
|
|
51
|
+
static createAsyncOptionsProvider(options) {
|
|
52
|
+
if (options.useFactory) {
|
|
53
|
+
return {
|
|
54
|
+
provide: kafka_interface_1.KAFKA_MODULE_OPTIONS,
|
|
55
|
+
useFactory: options.useFactory,
|
|
56
|
+
inject: options.inject || [],
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
return {
|
|
60
|
+
provide: kafka_interface_1.KAFKA_MODULE_OPTIONS,
|
|
61
|
+
useFactory: async (optionsFactory) => await optionsFactory.createModuleOptions(),
|
|
62
|
+
inject: [options.useExisting || options.useClass],
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
static createOptionsProvider(options) {
|
|
66
|
+
return {
|
|
67
|
+
provide: kafka_interface_1.KAFKA_MODULE_OPTIONS,
|
|
68
|
+
useFactory: async (optionsFactory) => await optionsFactory.createModuleOptions(),
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
exports.KafkaModule = KafkaModule;
|
|
73
|
+
exports.KafkaModule = KafkaModule = KafkaModule_1 = __decorate([
|
|
74
|
+
(0, common_1.Global)(),
|
|
75
|
+
(0, common_1.Module)({})
|
|
76
|
+
], KafkaModule);
|
|
77
|
+
//# sourceMappingURL=kafka.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kafka.module.js","sourceRoot":"","sources":["../../../common/lib/kafka/kafka.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAyE;AAEzE,uDAK2B;AAC3B,mCAAuC;AAIhC,IAAM,WAAW,mBAAjB,MAAM,WAAW;IACtB,MAAM,CAAC,OAAO,CAAC,OAA2B;QACxC,OAAO;YACL,MAAM,EAAE,aAAW;YACnB,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,sCAAoB;oBAC7B,QAAQ,EAAE,OAAO;iBAClB;gBACD,oBAAY;aACb;YACD,OAAO,EAAE,CAAC,oBAAY,CAAC;SACxB,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,OAAgC;QAClD,OAAO;YACL,MAAM,EAAE,aAAW;YACnB,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;YAC7B,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,oBAAY,CAAC;YAChE,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,oBAAY,CAAC;SAC/D,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,oBAAoB,CACjC,OAAgC;QAEhC,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YAC9C,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC,CAAC;QACpD,CAAC;QACD,OAAO;YACL,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC;YACxC;gBACE,OAAO,EAAE,OAAO,CAAC,QAAQ;gBACzB,QAAQ,EAAE,OAAO,CAAC,QAAQ;aAC3B;SACF,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,eAAe,CAAC,OAA2B;QACxD,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,CAAC;IACO,MAAM,CAAC,0BAA0B,CACvC,OAAgC;QAEhC,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,OAAO;gBACL,OAAO,EAAE,sCAAoB;gBAC7B,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;aAC7B,CAAC;QACJ,CAAC;QACD,OAAO;YACL,OAAO,EAAE,sCAAoB;YAC7B,UAAU,EAAE,KAAK,EAAE,cAAkC,EAAE,EAAE,CACvD,MAAM,cAAc,CAAC,mBAAmB,EAAE;YAC5C,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC;SAClD,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,qBAAqB,CAAC,OAA2B;QAC9D,OAAO;YACL,OAAO,EAAE,sCAAoB;YAC7B,UAAU,EAAE,KAAK,EAAE,cAAkC,EAAE,EAAE,CACvD,MAAM,cAAc,CAAC,mBAAmB,EAAE;SAC7C,CAAC;IACJ,CAAC;CACF,CAAA;AAnEY,kCAAW;sBAAX,WAAW;IAFvB,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,WAAW,CAmEvB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.KafkaProviders = void 0;
|
|
4
|
+
const kafka_service_1 = require("./kafka.service");
|
|
5
|
+
exports.KafkaProviders = [
|
|
6
|
+
{
|
|
7
|
+
provide: 'KAFKA_MODEL',
|
|
8
|
+
useFactory: (options) => new kafka_service_1.KafkaService(options),
|
|
9
|
+
inject: ['DATABASE_CONNECTION'],
|
|
10
|
+
},
|
|
11
|
+
];
|
|
12
|
+
//# sourceMappingURL=kafka.provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kafka.provider.js","sourceRoot":"","sources":["../../../common/lib/kafka/kafka.provider.ts"],"names":[],"mappings":";;;AAAA,mDAA+C;AAGlC,QAAA,cAAc,GAAG;IAC5B;QACE,OAAO,EAAE,aAAa;QACtB,UAAU,EAAE,CAAC,OAA2B,EAAE,EAAE,CAAC,IAAI,4BAAY,CAAC,OAAO,CAAC;QACtE,MAAM,EAAE,CAAC,qBAAqB,CAAC;KAChC;CACF,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Consumer } from 'kafkajs';
|
|
2
|
+
import { KafkaModuleOptions } from './kafka.interface';
|
|
3
|
+
import { KafkaHealthState } from './constant/kafka.const';
|
|
4
|
+
export declare class KafkaService {
|
|
5
|
+
private kafkaModuleOptions;
|
|
6
|
+
private static instance;
|
|
7
|
+
private consumers;
|
|
8
|
+
private consumersInstance;
|
|
9
|
+
private producerInstance;
|
|
10
|
+
private adminInstance;
|
|
11
|
+
topics: {
|
|
12
|
+
[groupId: string]: string[];
|
|
13
|
+
};
|
|
14
|
+
groupIds: {
|
|
15
|
+
[item: string]: string;
|
|
16
|
+
};
|
|
17
|
+
constructor(kafkaModuleOptions: KafkaModuleOptions);
|
|
18
|
+
getAvailableTopics(): Promise<string[]>;
|
|
19
|
+
startProducer(): Promise<void>;
|
|
20
|
+
stopProducer(): Promise<void>;
|
|
21
|
+
sendProducerEvent(topic: string, message: unknown, partition?: number): Promise<void>;
|
|
22
|
+
setBulkConsumer(consumersInfo: {
|
|
23
|
+
groupIdKey: string;
|
|
24
|
+
topics: string[];
|
|
25
|
+
groupIdDefaultValue?: string;
|
|
26
|
+
}[]): Promise<void>;
|
|
27
|
+
setConsumer(consumersInfo: {
|
|
28
|
+
groupIdKey: string;
|
|
29
|
+
topics: string[];
|
|
30
|
+
groupIdDefaultValue?: string;
|
|
31
|
+
}): Promise<void>;
|
|
32
|
+
startAllConsumers(): Promise<void>;
|
|
33
|
+
stopAllConsumers(): Promise<void[]>;
|
|
34
|
+
startConsumerByGroupId(groupId: string, fromBeginning?: boolean): Promise<Consumer>;
|
|
35
|
+
stopConsumerByGroupId(groupId: string): Promise<void>;
|
|
36
|
+
healthCheck(groupId: string): Promise<KafkaHealthState>;
|
|
37
|
+
getConsumerInstanceByGroupId(groupId: string): Consumer;
|
|
38
|
+
}
|