@rsdk/kafka.transport 3.0.2 → 3.1.0-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,12 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [3.1.0-next.0](https://github.com/R-Vision/rsdk/compare/v3.0.2...v3.1.0-next.0) (2023-08-08)
7
+
8
+ ### Features
9
+
10
+ * **kafka:** added option to consume by topic name ([#93](https://github.com/R-Vision/rsdk/issues/93)) ([09b4c1b](https://github.com/R-Vision/rsdk/commit/09b4c1bd515c1c2c3ccda17851fbe79e64ea8ac5))
11
+
6
12
  ## [3.0.2](https://github.com/R-Vision/rsdk/compare/v3.0.1...v3.0.2) (2023-08-07)
7
13
 
8
14
  **Note:** Version bump only for package @rsdk/kafka.transport
@@ -1,2 +1,2 @@
1
1
  import type { EventType } from '@rsdk/kafka.common';
2
- export declare const Consume: <T>(eventType: EventType<T>) => MethodDecorator;
2
+ export declare const Consume: <T>(eventType: string | EventType<T>) => MethodDecorator;
@@ -6,9 +6,15 @@ const microservices_1 = require("@nestjs/microservices");
6
6
  const kafka_common_1 = require("@rsdk/kafka.common");
7
7
  const metadata_1 = require("@rsdk/metadata");
8
8
  const lodash_1 = require("lodash");
9
- const constants_1 = require("../constants");
10
9
  const KafkaConsumeMetadata = (eventType) => (target) => {
11
- const rsdkMetadata = new metadata_1.RsdkMetadata(target.constructor, constants_1.KAFKA_CONSUME_RSDK_METADATA_SCOPE);
10
+ const rsdkMetadata = new metadata_1.RsdkMetadata(target.constructor, kafka_common_1.KAFKA_TOPIC_RSDK_METADATA_SCOPE);
11
+ if (typeof eventType === 'string') {
12
+ rsdkMetadata.add({
13
+ topicName: eventType,
14
+ type: kafka_common_1.KafkaTopicType.Consume,
15
+ });
16
+ return;
17
+ }
12
18
  rsdkMetadata.add({
13
19
  partitionKeyField: eventType.$partitionKeyField,
14
20
  topicName: (0, kafka_common_1.getTopicName)(eventType),
@@ -1 +1 @@
1
- {"version":3,"file":"consume.decorator.js","sourceRoot":"","sources":["../../src/decorators/consume.decorator.ts"],"names":[],"mappings":";;;AAAA,2CAAiD;AACjD,yDAAqD;AAErD,qDAAkE;AAClE,6CAA8C;AAC9C,mCAA8B;AAE9B,4CAAiE;AAEjE,MAAM,oBAAoB,GACxB,CAAI,SAAuB,EAAmB,EAAE,CAChD,CAAC,MAAM,EAAE,EAAE;IACT,MAAM,YAAY,GAAG,IAAI,uBAAY,CACnC,MAAM,CAAC,WAAW,EAClB,6CAAiC,CAClC,CAAC;IAEF,YAAY,CAAC,GAAG,CAAC;QACf,iBAAiB,EAAE,SAAS,CAAC,kBAAkB;QAC/C,SAAS,EAAE,IAAA,2BAAY,EAAC,SAAS,CAAC;QAClC,KAAK,EAAE,SAAS,CAAC,MAAM;QACvB,IAAI,EAAE,6BAAc,CAAC,OAAO;QAC5B,SAAS,EAAE,IAAA,aAAI,EAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;KACzD,CAAC,CAAC;AACL,CAAC,CAAC;AAEG,MAAM,OAAO,GAAG,CAAI,SAAuB,EAAmB,EAAE;IACrE,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE;QACzC,IAAA,4BAAY,EAAC,SAAS,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;QACzD,IAAA,wBAAe,EAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAC9C,MAAM,EACN,WAAW,EACX,UAAU,CACX,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC;AATW,QAAA,OAAO,WASlB"}
1
+ {"version":3,"file":"consume.decorator.js","sourceRoot":"","sources":["../../src/decorators/consume.decorator.ts"],"names":[],"mappings":";;;AAAA,2CAAiD;AACjD,yDAAqD;AAErD,qDAI4B;AAC5B,6CAA8C;AAC9C,mCAA8B;AAE9B,MAAM,oBAAoB,GACxB,CAAI,SAAgC,EAAmB,EAAE,CACzD,CAAC,MAAM,EAAE,EAAE;IACT,MAAM,YAAY,GAAG,IAAI,uBAAY,CACnC,MAAM,CAAC,WAAW,EAClB,8CAA+B,CAChC,CAAC;IAEF,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;QACjC,YAAY,CAAC,GAAG,CAAC;YACf,SAAS,EAAE,SAAS;YACpB,IAAI,EAAE,6BAAc,CAAC,OAAO;SAC7B,CAAC,CAAC;QACH,OAAO;KACR;IACD,YAAY,CAAC,GAAG,CAAC;QACf,iBAAiB,EAAE,SAAS,CAAC,kBAAkB;QAC/C,SAAS,EAAE,IAAA,2BAAY,EAAC,SAAS,CAAC;QAClC,KAAK,EAAE,SAAS,CAAC,MAAM;QACvB,IAAI,EAAE,6BAAc,CAAC,OAAO;QAC5B,SAAS,EAAE,IAAA,aAAI,EAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;KACzD,CAAC,CAAC;AACL,CAAC,CAAC;AAEG,MAAM,OAAO,GAAG,CACrB,SAAgC,EACf,EAAE;IACnB,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE;QACzC,IAAA,4BAAY,EAAC,SAAS,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;QACzD,IAAA,wBAAe,EAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAC9C,MAAM,EACN,WAAW,EACX,UAAU,CACX,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC;AAXW,QAAA,OAAO,WAWlB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rsdk/kafka.transport",
3
- "version": "3.0.2",
3
+ "version": "3.1.0-next.0",
4
4
  "description": "Transport that consumes messages from kafka",
5
5
  "license": "Apache License 2.0",
6
6
  "publishConfig": {
@@ -13,15 +13,15 @@
13
13
  "peerDependencies": {
14
14
  "@nestjs/common": "^10.1.3",
15
15
  "@nestjs/microservices": "^10.1.3",
16
- "@rsdk/core": "^3.0.2",
17
- "@rsdk/kafka.common": "^3.0.2",
18
- "@rsdk/logging": "^3.0.2",
19
- "@rsdk/metadata": "^3.0.2",
16
+ "@rsdk/core": "^3.1.0-next.0",
17
+ "@rsdk/kafka.common": "^3.1.0-next.0",
18
+ "@rsdk/logging": "^3.1.0-next.0",
19
+ "@rsdk/metadata": "^3.1.0-next.0",
20
20
  "kafkajs": "^2.2.4",
21
21
  "rxjs": "^7.0.0"
22
22
  },
23
23
  "dependencies": {
24
24
  "lodash": "^4.17.21"
25
25
  },
26
- "gitHead": "3ee33710bf18bfadf87a6da92b060e6a17481110"
26
+ "gitHead": "55598931db264fb6d5b5c4787c48298ed86bbc0d"
27
27
  }
@@ -1,20 +1,29 @@
1
1
  import { applyDecorators } from '@nestjs/common';
2
2
  import { EventPattern } from '@nestjs/microservices';
3
3
  import type { EventType, KafkaTopicMetadata } from '@rsdk/kafka.common';
4
- import { getTopicName, KafkaTopicType } from '@rsdk/kafka.common';
4
+ import {
5
+ getTopicName,
6
+ KAFKA_TOPIC_RSDK_METADATA_SCOPE,
7
+ KafkaTopicType,
8
+ } from '@rsdk/kafka.common';
5
9
  import { RsdkMetadata } from '@rsdk/metadata';
6
10
  import { omit } from 'lodash';
7
11
 
8
- import { KAFKA_CONSUME_RSDK_METADATA_SCOPE } from '../constants';
9
-
10
12
  const KafkaConsumeMetadata =
11
- <T>(eventType: EventType<T>): MethodDecorator =>
13
+ <T>(eventType: EventType<T> | string): MethodDecorator =>
12
14
  (target) => {
13
15
  const rsdkMetadata = new RsdkMetadata<KafkaTopicMetadata>(
14
16
  target.constructor,
15
- KAFKA_CONSUME_RSDK_METADATA_SCOPE,
17
+ KAFKA_TOPIC_RSDK_METADATA_SCOPE,
16
18
  );
17
19
 
20
+ if (typeof eventType === 'string') {
21
+ rsdkMetadata.add({
22
+ topicName: eventType,
23
+ type: KafkaTopicType.Consume,
24
+ });
25
+ return;
26
+ }
18
27
  rsdkMetadata.add({
19
28
  partitionKeyField: eventType.$partitionKeyField,
20
29
  topicName: getTopicName(eventType),
@@ -24,7 +33,9 @@ const KafkaConsumeMetadata =
24
33
  });
25
34
  };
26
35
 
27
- export const Consume = <T>(eventType: EventType<T>): MethodDecorator => {
36
+ export const Consume = <T>(
37
+ eventType: EventType<T> | string,
38
+ ): MethodDecorator => {
28
39
  return (target, propertyKey, descriptor) => {
29
40
  EventPattern(eventType)(target, propertyKey, descriptor);
30
41
  applyDecorators(KafkaConsumeMetadata(eventType))(
@@ -1 +0,0 @@
1
- export declare const KAFKA_CONSUME_RSDK_METADATA_SCOPE = "kafka-consume";
package/dist/constants.js DELETED
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.KAFKA_CONSUME_RSDK_METADATA_SCOPE = void 0;
4
- exports.KAFKA_CONSUME_RSDK_METADATA_SCOPE = 'kafka-consume';
5
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,iCAAiC,GAAG,eAAe,CAAC"}
@@ -1,6 +0,0 @@
1
- import { RsdkMetadataProvider } from '@rsdk/core';
2
- export declare class ConsumedTopicsProvider {
3
- private readonly rsdkMetadataProvider;
4
- constructor(rsdkMetadataProvider: RsdkMetadataProvider);
5
- getTopics(): string[];
6
- }
@@ -1,34 +0,0 @@
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 __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.ConsumedTopicsProvider = void 0;
13
- const common_1 = require("@nestjs/common");
14
- const core_1 = require("@rsdk/core");
15
- const kafka_common_1 = require("@rsdk/kafka.common");
16
- const constants_1 = require("./constants");
17
- let ConsumedTopicsProvider = class ConsumedTopicsProvider {
18
- rsdkMetadataProvider;
19
- constructor(rsdkMetadataProvider) {
20
- this.rsdkMetadataProvider = rsdkMetadataProvider;
21
- }
22
- getTopics() {
23
- const resources = this.rsdkMetadataProvider.get(constants_1.KAFKA_CONSUME_RSDK_META_KEY);
24
- return resources.map((value) => {
25
- return (0, kafka_common_1.getTopicName)(value.value.eventType);
26
- });
27
- }
28
- };
29
- ConsumedTopicsProvider = __decorate([
30
- (0, common_1.Injectable)(),
31
- __metadata("design:paramtypes", [core_1.RsdkMetadataProvider])
32
- ], ConsumedTopicsProvider);
33
- exports.ConsumedTopicsProvider = ConsumedTopicsProvider;
34
- //# sourceMappingURL=consume-topic-provider.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"consume-topic-provider.service.js","sourceRoot":"","sources":["../src/consume-topic-provider.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,qCAAkD;AAElD,qDAAkD;AAGlD,2CAA0D;AAGnD,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IACJ;IAA7B,YAA6B,oBAA0C;QAA1C,yBAAoB,GAApB,oBAAoB,CAAsB;IAAG,CAAC;IAE3E,SAAS;QACP,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAE5C,uCAA2B,CAAC,CAAC;QAEhC,OAAO,SAAS,CAAC,GAAG,CAClB,CAAC,KAAyC,EAAU,EAAE;YACpD,OAAO,IAAA,2BAAY,EAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC7C,CAAC,CACF,CAAC;IACJ,CAAC;CACF,CAAA;AAdY,sBAAsB;IADlC,IAAA,mBAAU,GAAE;qCAEwC,2BAAoB;GAD5D,sBAAsB,CAclC;AAdY,wDAAsB"}
@@ -1,2 +0,0 @@
1
- export declare class KafkaClientModule {
2
- }
@@ -1,30 +0,0 @@
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
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.KafkaClientModule = void 0;
10
- const common_1 = require("@nestjs/common");
11
- const core_1 = require("@rsdk/core");
12
- const consume_topic_provider_service_1 = require("./consume-topic-provider.service");
13
- const kafka_client_1 = require("./kafka.client");
14
- const kafka_config_1 = require("./kafka.config");
15
- const kafka_healthcheck_1 = require("./kafka.healthcheck");
16
- let KafkaClientModule = class KafkaClientModule {
17
- };
18
- KafkaClientModule = __decorate([
19
- (0, common_1.Module)({
20
- imports: [core_1.PlatformConfigModule.forFeature(kafka_config_1.KafkaConfig)],
21
- providers: [
22
- kafka_client_1.KafkaClient,
23
- kafka_healthcheck_1.KafkaProducerDirectHealthIndicator,
24
- consume_topic_provider_service_1.ConsumedTopicsProvider,
25
- ],
26
- exports: [kafka_client_1.KafkaClient],
27
- })
28
- ], KafkaClientModule);
29
- exports.KafkaClientModule = KafkaClientModule;
30
- //# sourceMappingURL=kafka-client.module.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"kafka-client.module.js","sourceRoot":"","sources":["../src/kafka-client.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,qCAAkD;AAElD,qFAA0E;AAC1E,iDAA6C;AAC7C,iDAA6C;AAC7C,2DAAyE;AAWlE,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;CAAG,CAAA;AAApB,iBAAiB;IAT7B,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,2BAAoB,CAAC,UAAU,CAAC,0BAAW,CAAC,CAAC;QACvD,SAAS,EAAE;YACT,0BAAW;YACX,sDAAkC;YAClC,uDAAsB;SACvB;QACD,OAAO,EAAE,CAAC,0BAAW,CAAC;KACvB,CAAC;GACW,iBAAiB,CAAG;AAApB,8CAAiB"}
@@ -1,4 +0,0 @@
1
- import { type FactoryProvider } from '@nestjs/common';
2
- export declare const KAFKA_INJECTION_TOKEN: unique symbol;
3
- export declare const InjectKafka: () => ParameterDecorator;
4
- export declare const KafkaClient: FactoryProvider;
@@ -1,26 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.KafkaClient = exports.InjectKafka = exports.KAFKA_INJECTION_TOKEN = void 0;
4
- const common_1 = require("@nestjs/common");
5
- const manifest_1 = require("@rsdk/core/dist/manifest/manifest");
6
- const kafka_common_1 = require("@rsdk/kafka.common");
7
- const logging_1 = require("@rsdk/logging");
8
- const kafkajs_1 = require("kafkajs");
9
- const kafka_config_1 = require("./kafka.config");
10
- exports.KAFKA_INJECTION_TOKEN = Symbol('Kafka');
11
- const InjectKafka = () => (0, common_1.Inject)(exports.KAFKA_INJECTION_TOKEN);
12
- exports.InjectKafka = InjectKafka;
13
- exports.KafkaClient = {
14
- inject: [kafka_config_1.KafkaConfig],
15
- provide: exports.KAFKA_INJECTION_TOKEN,
16
- useFactory(config) {
17
- const logger = logging_1.LoggerFactory.create('NativeKafkaProducer');
18
- const { name } = manifest_1.Manifest.getData();
19
- return new kafkajs_1.Kafka({
20
- clientId: `${name}-${process.pid}`,
21
- brokers: config.brokers,
22
- logCreator: (0, kafka_common_1.createLoggerAdapter)(logger),
23
- });
24
- },
25
- };
26
- //# sourceMappingURL=kafka.client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"kafka.client.js","sourceRoot":"","sources":["../src/kafka.client.ts"],"names":[],"mappings":";;;AAAA,2CAA8D;AAC9D,gEAA6D;AAC7D,qDAAyD;AACzD,2CAA8C;AAC9C,qCAAgC;AAEhC,iDAA6C;AAEhC,QAAA,qBAAqB,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;AAE9C,MAAM,WAAW,GAAG,GAAuB,EAAE,CAClD,IAAA,eAAM,EAAC,6BAAqB,CAAC,CAAC;AADnB,QAAA,WAAW,eACQ;AAEnB,QAAA,WAAW,GAAoB;IAC1C,MAAM,EAAE,CAAC,0BAAW,CAAC;IACrB,OAAO,EAAE,6BAAqB;IAC9B,UAAU,CAAC,MAAmB;QAC5B,MAAM,MAAM,GAAG,uBAAa,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAC3D,MAAM,EAAE,IAAI,EAAE,GAAG,mBAAQ,CAAC,OAAO,EAAE,CAAC;QAEpC,OAAO,IAAI,eAAK,CAAC;YACf,QAAQ,EAAE,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE;YAClC,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,UAAU,EAAE,IAAA,kCAAmB,EAAC,MAAM,CAAC;SACxC,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
@@ -1,4 +0,0 @@
1
- import { Config } from '@rsdk/core';
2
- export declare class KafkaConfig extends Config {
3
- readonly brokers: string[];
4
- }
@@ -1,27 +0,0 @@
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 __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.KafkaConfig = void 0;
13
- const core_1 = require("@rsdk/core");
14
- let KafkaConfig = class KafkaConfig extends core_1.Config {
15
- brokers;
16
- };
17
- __decorate([
18
- (0, core_1.Property)('KAFKA_BROKERS', new core_1.ArrayParser(new core_1.StringParser()), {
19
- description: 'List of Kafka brokers',
20
- }),
21
- __metadata("design:type", Array)
22
- ], KafkaConfig.prototype, "brokers", void 0);
23
- KafkaConfig = __decorate([
24
- (0, core_1.ConfigSection)()
25
- ], KafkaConfig);
26
- exports.KafkaConfig = KafkaConfig;
27
- //# sourceMappingURL=kafka.config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"kafka.config.js","sourceRoot":"","sources":["../src/kafka.config.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAMoB;AAGb,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,aAAM;IAI5B,OAAO,CAAW;CAC5B,CAAA;AAJC;IAAC,IAAA,eAAQ,EAAC,eAAe,EAAE,IAAI,kBAAW,CAAC,IAAI,mBAAY,EAAE,CAAC,EAAE;QAC9D,WAAW,EAAE,uBAAuB;KACrC,CAAC;;4CACyB;AAJhB,WAAW;IADvB,IAAA,oBAAa,GAAE;GACH,WAAW,CAKvB;AALY,kCAAW"}
@@ -1,9 +0,0 @@
1
- import type { CheckResult, HealthIndicator } from '@rsdk/core';
2
- import { Kafka } from 'kafkajs';
3
- import { ConsumedTopicsProvider } from './consume-topic-provider.service';
4
- export declare class KafkaProducerDirectHealthIndicator implements HealthIndicator {
5
- private readonly kafkaClient;
6
- private consumedTopicsProvider;
7
- constructor(kafkaClient: Kafka, consumedTopicsProvider: ConsumedTopicsProvider);
8
- check(): Promise<CheckResult>;
9
- }
@@ -1,42 +0,0 @@
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 __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- var __param = (this && this.__param) || function (paramIndex, decorator) {
12
- return function (target, key) { decorator(target, key, paramIndex); }
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.KafkaProducerDirectHealthIndicator = void 0;
16
- const common_1 = require("@nestjs/common");
17
- const core_1 = require("@rsdk/core");
18
- const kafka_common_1 = require("@rsdk/kafka.common");
19
- const kafkajs_1 = require("kafkajs");
20
- const consume_topic_provider_service_1 = require("./consume-topic-provider.service");
21
- const kafka_client_1 = require("./kafka.client");
22
- let KafkaProducerDirectHealthIndicator = class KafkaProducerDirectHealthIndicator {
23
- kafkaClient;
24
- consumedTopicsProvider;
25
- constructor(kafkaClient, consumedTopicsProvider) {
26
- this.kafkaClient = kafkaClient;
27
- this.consumedTopicsProvider = consumedTopicsProvider;
28
- }
29
- async check() {
30
- return new kafka_common_1.KafkaHealthcheck(this.kafkaClient, this.consumedTopicsProvider.getTopics()).check();
31
- }
32
- };
33
- KafkaProducerDirectHealthIndicator = __decorate([
34
- (0, core_1.Indicator)('kafka-transport', {
35
- description: 'Check kafka connection and hosted topic-partition',
36
- }),
37
- __param(0, (0, common_1.Inject)(kafka_client_1.KAFKA_INJECTION_TOKEN)),
38
- __metadata("design:paramtypes", [kafkajs_1.Kafka,
39
- consume_topic_provider_service_1.ConsumedTopicsProvider])
40
- ], KafkaProducerDirectHealthIndicator);
41
- exports.KafkaProducerDirectHealthIndicator = KafkaProducerDirectHealthIndicator;
42
- //# sourceMappingURL=kafka.healthcheck.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"kafka.healthcheck.js","sourceRoot":"","sources":["../src/kafka.healthcheck.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAwC;AAExC,qCAAuC;AACvC,qDAAsD;AACtD,qCAAgC;AAEhC,qFAA0E;AAC1E,iDAAuD;AAKhD,IAAM,kCAAkC,GAAxC,MAAM,kCAAkC;IAEK;IACxC;IAFV,YACkD,WAAkB,EAC1D,sBAA8C;QADN,gBAAW,GAAX,WAAW,CAAO;QAC1D,2BAAsB,GAAtB,sBAAsB,CAAwB;IACrD,CAAC;IAEJ,KAAK,CAAC,KAAK;QACT,OAAO,IAAI,+BAAgB,CACzB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,sBAAsB,CAAC,SAAS,EAAE,CACxC,CAAC,KAAK,EAAE,CAAC;IACZ,CAAC;CACF,CAAA;AAZY,kCAAkC;IAH9C,IAAA,gBAAS,EAAC,iBAAiB,EAAE;QAC5B,WAAW,EAAE,mDAAmD;KACjE,CAAC;IAGG,WAAA,IAAA,eAAM,EAAC,oCAAqB,CAAC,CAAA;qCAA+B,eAAK;QAClC,uDAAsB;GAH7C,kCAAkC,CAY9C;AAZY,gFAAkC"}
@@ -1,24 +0,0 @@
1
- import type { ConsumerSubscribeTopic } from '@nestjs/microservices/external/kafka.interface';
2
- import { InternalException } from '@rsdk/core';
3
- declare class ServerKafkaException extends InternalException {
4
- }
5
- export declare class ServerKafkaExceptionFactory {
6
- readonly pattern: string;
7
- readonly consumerSubscribeOptions?: Omit<ConsumerSubscribeTopic, "topic"> | undefined;
8
- readonly cause?: unknown;
9
- constructor(pattern: string, consumerSubscribeOptions?: Omit<ConsumerSubscribeTopic, "topic"> | undefined, cause?: unknown);
10
- unknown(): UnknownException;
11
- missingTopics(): MissingTopics;
12
- wrapAndThrow(error: unknown): void | never;
13
- }
14
- export declare class MissingTopics extends ServerKafkaException {
15
- readonly topics: string[];
16
- readonly consumerSubscribeOptions?: Omit<ConsumerSubscribeTopic, "topic"> | undefined;
17
- constructor(topics: string[], consumerSubscribeOptions?: Omit<ConsumerSubscribeTopic, "topic"> | undefined, cause?: unknown);
18
- }
19
- export declare class UnknownException extends ServerKafkaException {
20
- readonly pattern: string;
21
- readonly consumerSubscribeOptions?: Omit<ConsumerSubscribeTopic, "topic"> | undefined;
22
- constructor(cause: unknown, pattern: string, consumerSubscribeOptions?: Omit<ConsumerSubscribeTopic, "topic"> | undefined);
23
- }
24
- export {};
@@ -1,67 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UnknownException = exports.MissingTopics = exports.ServerKafkaExceptionFactory = void 0;
4
- const core_1 = require("@rsdk/core");
5
- const kafkajs_1 = require("kafkajs");
6
- class ServerKafkaException extends core_1.InternalException {
7
- }
8
- class ServerKafkaExceptionFactory {
9
- pattern;
10
- consumerSubscribeOptions;
11
- cause;
12
- constructor(pattern, consumerSubscribeOptions, cause) {
13
- this.pattern = pattern;
14
- this.consumerSubscribeOptions = consumerSubscribeOptions;
15
- this.cause = cause;
16
- }
17
- unknown() {
18
- return new UnknownException(this.cause, this.pattern, this.consumerSubscribeOptions);
19
- }
20
- missingTopics() {
21
- return new MissingTopics([this.pattern], this.consumerSubscribeOptions, this.cause);
22
- }
23
- wrapAndThrow(error) {
24
- if (!(error instanceof kafkajs_1.KafkaJSProtocolError)) {
25
- throw this.unknown();
26
- }
27
- // https://github.com/tulios/kafkajs/blob/master/src/protocol/error.js#L26
28
- if (error.code === 3) {
29
- throw this.missingTopics();
30
- }
31
- throw this.unknown();
32
- }
33
- }
34
- exports.ServerKafkaExceptionFactory = ServerKafkaExceptionFactory;
35
- class MissingTopics extends ServerKafkaException {
36
- topics;
37
- consumerSubscribeOptions;
38
- constructor(topics, consumerSubscribeOptions, cause) {
39
- super('Expected topics or partitions is missing!', {
40
- details: {
41
- topics,
42
- consumerSubscribeOptions,
43
- },
44
- cause,
45
- });
46
- this.topics = topics;
47
- this.consumerSubscribeOptions = consumerSubscribeOptions;
48
- }
49
- }
50
- exports.MissingTopics = MissingTopics;
51
- class UnknownException extends ServerKafkaException {
52
- pattern;
53
- consumerSubscribeOptions;
54
- constructor(cause, pattern, consumerSubscribeOptions) {
55
- super('Unknown exception from ServerKafka!', {
56
- details: {
57
- pattern,
58
- consumerSubscribeOptions,
59
- },
60
- cause,
61
- });
62
- this.pattern = pattern;
63
- this.consumerSubscribeOptions = consumerSubscribeOptions;
64
- }
65
- }
66
- exports.UnknownException = UnknownException;
67
- //# sourceMappingURL=exception.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"exception.js","sourceRoot":"","sources":["../../src/patched-server-kafka/exception.ts"],"names":[],"mappings":";;;AACA,qCAA+C;AAC/C,qCAA+C;AAE/C,MAAM,oBAAqB,SAAQ,wBAAiB;CAAG;AAEvD,MAAa,2BAA2B;IAE3B;IACA;IACA;IAHX,YACW,OAAe,EACf,wBAAgE,EAChE,KAAe;QAFf,YAAO,GAAP,OAAO,CAAQ;QACf,6BAAwB,GAAxB,wBAAwB,CAAwC;QAChE,UAAK,GAAL,KAAK,CAAU;IACvB,CAAC;IAEJ,OAAO;QACL,OAAO,IAAI,gBAAgB,CACzB,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,wBAAwB,CAC9B,CAAC;IACJ,CAAC;IAED,aAAa;QACX,OAAO,IAAI,aAAa,CACtB,CAAC,IAAI,CAAC,OAAO,CAAC,EACd,IAAI,CAAC,wBAAwB,EAC7B,IAAI,CAAC,KAAK,CACX,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,KAAc;QACzB,IAAI,CAAC,CAAC,KAAK,YAAY,8BAAoB,CAAC,EAAE;YAC5C,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;SACtB;QACD,0EAA0E;QAC1E,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE;YACpB,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;SAC5B;QACD,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;CACF;AAjCD,kEAiCC;AAED,MAAa,aAAc,SAAQ,oBAAoB;IAE1C;IACA;IAFX,YACW,MAAgB,EAChB,wBAAgE,EACzE,KAAe;QAEf,KAAK,CAAC,2CAA2C,EAAE;YACjD,OAAO,EAAE;gBACP,MAAM;gBACN,wBAAwB;aACzB;YACD,KAAK;SACN,CAAC,CAAC;QAVM,WAAM,GAAN,MAAM,CAAU;QAChB,6BAAwB,GAAxB,wBAAwB,CAAwC;IAU3E,CAAC;CACF;AAdD,sCAcC;AAED,MAAa,gBAAiB,SAAQ,oBAAoB;IAG7C;IACA;IAHX,YACE,KAAc,EACL,OAAe,EACf,wBAAgE;QAEzE,KAAK,CAAC,qCAAqC,EAAE;YAC3C,OAAO,EAAE;gBACP,OAAO;gBACP,wBAAwB;aACzB;YACD,KAAK;SACN,CAAC,CAAC;QATM,YAAO,GAAP,OAAO,CAAQ;QACf,6BAAwB,GAAxB,wBAAwB,CAAwC;IAS3E,CAAC;CACF;AAdD,4CAcC"}
@@ -1 +0,0 @@
1
- export { PatchedServerKafka } from './patched-server-kafka';
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PatchedServerKafka = void 0;
4
- var patched_server_kafka_1 = require("./patched-server-kafka");
5
- Object.defineProperty(exports, "PatchedServerKafka", { enumerable: true, get: function () { return patched_server_kafka_1.PatchedServerKafka; } });
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/patched-server-kafka/index.ts"],"names":[],"mappings":";;;AAAA,+DAA4D;AAAnD,0HAAA,kBAAkB,OAAA"}
package/src/constants.ts DELETED
@@ -1 +0,0 @@
1
- export const KAFKA_CONSUME_RSDK_METADATA_SCOPE = 'kafka-consume';