@cryptexlabs/codex-nodejs-common 0.10.0 → 0.10.2

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/lib/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cryptexlabs/codex-nodejs-common",
3
- "version": "0.10.0",
3
+ "version": "0.10.2",
4
4
  "description": "Common code for Codex framework",
5
5
  "main": "lib/src/index.js",
6
6
  "repository": "git@gitlab.com:cryptexlabs/public/codex-nodejs-common.git",
@@ -1,6 +1,14 @@
1
- import { LoggerService } from "@nestjs/common";
1
+ import { Message } from "kafkajs";
2
2
  import { MessageInterface } from "@cryptexlabs/codex-data-model";
3
3
  export interface KafkaServiceInterface {
4
- startProducer(): Promise<any>;
5
- send(payload: MessageInterface<any>, logger: LoggerService): Promise<any>;
4
+ stopConsumer(): Promise<void>;
5
+ connect(): Promise<void>;
6
+ disconnect(): Promise<void>;
7
+ initializeConsumer(consumerGroup: string, config?: any): Promise<void>;
8
+ initializeProducer(): Promise<void>;
9
+ startConsumer(topics: (string | RegExp)[], callback: (topic: string, message: Message) => Promise<void>, err?: (error: string) => Promise<void>): Promise<void>;
10
+ startManualConsumer(topics: (string | RegExp)[], callback: (topic: string, message: Message) => Promise<void>): Promise<void>;
11
+ publish(topic: string, payload: MessageInterface<any>): Promise<void>;
12
+ publishBulk(topic: string, payloads: any[]): Promise<void>;
13
+ ensureTopicsExist(topics: (string | RegExp)[]): Promise<void>;
6
14
  }
@@ -1,8 +1,10 @@
1
1
  import { LoggerService } from "@nestjs/common";
2
- import { Message } from "kafkajs";
2
+ import { ConsumerConfig, Message } from "kafkajs";
3
3
  import { DefaultConfig } from "../../config";
4
4
  import { ConsumerServiceDelegateInterface } from "../consumer";
5
- export declare class KafkaService implements ConsumerServiceDelegateInterface {
5
+ import { KafkaServiceInterface } from "./kafka-service.interface";
6
+ import { MessageInterface } from "@cryptexlabs/codex-data-model";
7
+ export declare class KafkaService implements KafkaServiceInterface, ConsumerServiceDelegateInterface {
6
8
  private readonly config;
7
9
  private readonly logger;
8
10
  private _kafka;
@@ -13,12 +15,12 @@ export declare class KafkaService implements ConsumerServiceDelegateInterface {
13
15
  stopConsumer(): Promise<void>;
14
16
  connect(): Promise<void>;
15
17
  disconnect(): Promise<void>;
16
- initializeConsumer(consumerGroup: string, config?: {}): Promise<void>;
18
+ initializeConsumer(consumerGroup: string, config?: ConsumerConfig): Promise<void>;
17
19
  initializeProducer(): Promise<void>;
18
20
  startConsumer(topics: (string | RegExp)[], callback: (topic: string, message: Message) => Promise<void>, err?: (error: string) => Promise<void>): Promise<void>;
19
21
  startManualConsumer(topics: (string | RegExp)[], callback: (topic: string, message: Message) => Promise<void>): Promise<void>;
20
- private _ensureTopicsExist;
21
- publish(topic: string, payload: any): Promise<void>;
22
+ ensureTopicsExist(topics: (string | RegExp)[]): Promise<void>;
23
+ publish(topic: string, payload: MessageInterface<any>): Promise<void>;
22
24
  publishBulk(topic: string, payloads: any[]): Promise<void>;
23
25
  private _setManualConsume;
24
26
  }
@@ -73,7 +73,7 @@ let KafkaService = class KafkaService {
73
73
  catch (e) {
74
74
  this.logger.error(e.message, e.trace);
75
75
  }
76
- await this._ensureTopicsExist(topics);
76
+ await this.ensureTopicsExist(topics);
77
77
  await this._kafkaConsumer.run({
78
78
  autoCommit: true,
79
79
  eachMessage: async ({ topic, partition, message }) => {
@@ -106,7 +106,7 @@ let KafkaService = class KafkaService {
106
106
  }
107
107
  try {
108
108
  await Promise.all(promises);
109
- await this._ensureTopicsExist(topics);
109
+ await this.ensureTopicsExist(topics);
110
110
  const results = [
111
111
  this._kafkaConsumer.run({
112
112
  eachMessage: async (messagePayload) => {
@@ -121,7 +121,7 @@ let KafkaService = class KafkaService {
121
121
  this.logger.error(e.message, e.trace);
122
122
  }
123
123
  }
124
- async _ensureTopicsExist(topics) {
124
+ async ensureTopicsExist(topics) {
125
125
  const stringTopics = [];
126
126
  for (const topic of topics) {
127
127
  if (typeof topic === "string") {
@@ -1 +1 @@
1
- {"version":3,"file":"kafka.service.js","sourceRoot":"","sources":["../../../../src/service/kafka/kafka.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kafka.service.js","sourceRoot":"","sources":["../../../../src/service/kafka/kafka.service.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,18 @@
1
1
  import { LoggerService } from "@nestjs/common";
2
2
  import { KafkaServiceInterface } from "./kafka-service.interface";
3
3
  import { MessageInterface } from "@cryptexlabs/codex-data-model";
4
+ import { Message } from "kafkajs";
4
5
  export declare class KafkaStubService implements KafkaServiceInterface {
5
- startProducer(): Promise<any>;
6
+ connect(): Promise<void>;
7
+ disconnect(): Promise<void>;
8
+ initializeConsumer(consumerGroup: string, config?: {}): Promise<void>;
9
+ initializeProducer(): Promise<void>;
10
+ publish(topic: string, payload: any): Promise<void>;
11
+ publishBulk(topic: string, payloads: any[]): Promise<void>;
6
12
  send(payload: MessageInterface<any>, logger: LoggerService): Promise<any>;
13
+ startConsumer(topics: (string | RegExp)[], callback: (topic: string, message: Message) => Promise<void>, err?: (error: string) => Promise<void>): Promise<void>;
14
+ startManualConsumer(topics: (string | RegExp)[], callback: (topic: string, message: Message) => Promise<void>): Promise<void>;
15
+ startProducer(): Promise<any>;
16
+ stopConsumer(): Promise<void>;
17
+ ensureTopicsExist(topics: (string | RegExp)[]): Promise<void>;
7
18
  }
@@ -9,8 +9,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.KafkaStubService = void 0;
10
10
  const common_1 = require("@nestjs/common");
11
11
  let KafkaStubService = class KafkaStubService {
12
- async startProducer() { }
12
+ async connect() { }
13
+ async disconnect() { }
14
+ async initializeConsumer(consumerGroup, config) { }
15
+ async initializeProducer() { }
16
+ async publish(topic, payload) { }
17
+ async publishBulk(topic, payloads) { }
13
18
  async send(payload, logger) { }
19
+ async startConsumer(topics, callback, err) { }
20
+ async startManualConsumer(topics, callback) { }
21
+ async startProducer() { }
22
+ async stopConsumer() { }
23
+ async ensureTopicsExist(topics) { }
14
24
  };
15
25
  exports.KafkaStubService = KafkaStubService;
16
26
  exports.KafkaStubService = KafkaStubService = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"kafka.stub.service.js","sourceRoot":"","sources":["../../../../src/service/kafka/kafka.stub.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA2D;AAKpD,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IACpB,KAAK,CAAC,aAAa,KAAkB,CAAC;IAEtC,KAAK,CAAC,IAAI,CACf,OAA8B,EAC9B,MAAqB,IACN,CAAC;CACnB,CAAA;AAPY,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,mBAAU,GAAE;GACA,gBAAgB,CAO5B"}
1
+ {"version":3,"file":"kafka.stub.service.js","sourceRoot":"","sources":["../../../../src/service/kafka/kafka.stub.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA2D;AAMpD,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAC3B,KAAK,CAAC,OAAO,KAAmB,CAAC;IAEjC,KAAK,CAAC,UAAU,KAAmB,CAAC;IAEpC,KAAK,CAAC,kBAAkB,CAAC,aAAqB,EAAE,MAAW,IAAkB,CAAC;IAE9E,KAAK,CAAC,kBAAkB,KAAmB,CAAC;IAE5C,KAAK,CAAC,OAAO,CAAC,KAAa,EAAE,OAAY,IAAkB,CAAC;IAE5D,KAAK,CAAC,WAAW,CAAC,KAAa,EAAE,QAAe,IAAkB,CAAC;IAEnE,KAAK,CAAC,IAAI,CACR,OAA8B,EAC9B,MAAqB,IACN,CAAC;IAElB,KAAK,CAAC,aAAa,CACjB,MAA2B,EAC3B,QAA4D,EAC5D,GAAsC,IACtB,CAAC;IAEnB,KAAK,CAAC,mBAAmB,CACvB,MAA2B,EAC3B,QAA4D,IAC5C,CAAC;IAEnB,KAAK,CAAC,aAAa,KAAkB,CAAC;IAEtC,KAAK,CAAC,YAAY,KAAmB,CAAC;IAEtC,KAAK,CAAC,iBAAiB,CAAC,MAA2B,IAAkB,CAAC;CACvE,CAAA;AAlCY,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,mBAAU,GAAE;GACA,gBAAgB,CAkC5B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cryptexlabs/codex-nodejs-common",
3
- "version": "0.10.0",
3
+ "version": "0.10.2",
4
4
  "description": "Common code for Codex framework",
5
5
  "main": "lib/src/index.js",
6
6
  "repository": "git@gitlab.com:cryptexlabs/public/codex-nodejs-common.git",
@@ -1,8 +1,31 @@
1
- import { LoggerService } from "@nestjs/common";
1
+ import { Message } from "kafkajs";
2
2
  import { MessageInterface } from "@cryptexlabs/codex-data-model";
3
3
 
4
4
  export interface KafkaServiceInterface {
5
- startProducer(): Promise<any>;
5
+ stopConsumer(): Promise<void>;
6
6
 
7
- send(payload: MessageInterface<any>, logger: LoggerService): Promise<any>;
7
+ connect(): Promise<void>;
8
+
9
+ disconnect(): Promise<void>;
10
+
11
+ initializeConsumer(consumerGroup: string, config?): Promise<void>;
12
+
13
+ initializeProducer(): Promise<void>;
14
+
15
+ startConsumer(
16
+ topics: (string | RegExp)[],
17
+ callback: (topic: string, message: Message) => Promise<void>,
18
+ err?: (error: string) => Promise<void>
19
+ ): Promise<void>;
20
+
21
+ startManualConsumer(
22
+ topics: (string | RegExp)[],
23
+ callback: (topic: string, message: Message) => Promise<void>
24
+ ): Promise<void>;
25
+
26
+ publish(topic: string, payload: MessageInterface<any>): Promise<void>;
27
+
28
+ publishBulk(topic: string, payloads: any[]): Promise<void>;
29
+
30
+ ensureTopicsExist(topics: (string | RegExp)[]): Promise<void>;
8
31
  }
@@ -2,6 +2,7 @@ import { Inject, Injectable, LoggerService } from "@nestjs/common";
2
2
  import {
3
3
  Admin,
4
4
  Consumer,
5
+ ConsumerConfig,
5
6
  EachMessagePayload,
6
7
  ITopicConfig,
7
8
  Kafka,
@@ -12,9 +13,12 @@ import {
12
13
  import { DefaultConfig } from "../../config";
13
14
  import { ConsumerServiceDelegateInterface } from "../consumer";
14
15
  import { KafkaLogger } from "./kafka.logger";
16
+ import { KafkaServiceInterface } from "./kafka-service.interface";
17
+ import { MessageInterface } from "@cryptexlabs/codex-data-model";
15
18
 
16
19
  @Injectable()
17
- export class KafkaService implements ConsumerServiceDelegateInterface {
20
+ export class KafkaService
21
+ implements KafkaServiceInterface, ConsumerServiceDelegateInterface {
18
22
  private _kafka: Kafka;
19
23
  private _kafkaConsumer: Consumer;
20
24
  private _kafkaProducer: Producer;
@@ -78,7 +82,7 @@ export class KafkaService implements ConsumerServiceDelegateInterface {
78
82
 
79
83
  public async initializeConsumer(
80
84
  consumerGroup: string,
81
- config = {}
85
+ config: ConsumerConfig = {} as ConsumerConfig
82
86
  ): Promise<void> {
83
87
  this._kafkaConsumer = this._kafka.consumer({
84
88
  groupId: consumerGroup,
@@ -107,7 +111,7 @@ export class KafkaService implements ConsumerServiceDelegateInterface {
107
111
  this.logger.error(e.message, e.trace);
108
112
  }
109
113
 
110
- await this._ensureTopicsExist(topics);
114
+ await this.ensureTopicsExist(topics);
111
115
  await this._kafkaConsumer.run({
112
116
  autoCommit: true,
113
117
  eachMessage: async ({ topic, partition, message }) => {
@@ -148,7 +152,7 @@ export class KafkaService implements ConsumerServiceDelegateInterface {
148
152
  try {
149
153
  await Promise.all(promises);
150
154
 
151
- await this._ensureTopicsExist(topics);
155
+ await this.ensureTopicsExist(topics);
152
156
 
153
157
  const results = [
154
158
  this._kafkaConsumer.run({
@@ -164,7 +168,7 @@ export class KafkaService implements ConsumerServiceDelegateInterface {
164
168
  }
165
169
  }
166
170
 
167
- private async _ensureTopicsExist(topics: (string | RegExp)[]): Promise<void> {
171
+ public async ensureTopicsExist(topics: (string | RegExp)[]): Promise<void> {
168
172
  const stringTopics = [];
169
173
  for (const topic of topics) {
170
174
  if (typeof topic === "string") {
@@ -193,7 +197,10 @@ export class KafkaService implements ConsumerServiceDelegateInterface {
193
197
  }
194
198
 
195
199
  // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
196
- public async publish(topic: string, payload: any): Promise<void> {
200
+ public async publish(
201
+ topic: string,
202
+ payload: MessageInterface<any>
203
+ ): Promise<void> {
197
204
  const json = JSON.stringify(payload);
198
205
  this.logger.debug(`Publishing kafka message: ${json} to topic ${topic}`);
199
206
  await this._kafkaProducer.send({
@@ -1,13 +1,41 @@
1
1
  import { Injectable, LoggerService } from "@nestjs/common";
2
2
  import { KafkaServiceInterface } from "./kafka-service.interface";
3
3
  import { MessageInterface } from "@cryptexlabs/codex-data-model";
4
+ import { Message } from "kafkajs";
4
5
 
5
6
  @Injectable()
6
7
  export class KafkaStubService implements KafkaServiceInterface {
7
- public async startProducer(): Promise<any> {}
8
+ async connect(): Promise<void> {}
8
9
 
9
- public async send(
10
+ async disconnect(): Promise<void> {}
11
+
12
+ async initializeConsumer(consumerGroup: string, config?: {}): Promise<void> {}
13
+
14
+ async initializeProducer(): Promise<void> {}
15
+
16
+ async publish(topic: string, payload: any): Promise<void> {}
17
+
18
+ async publishBulk(topic: string, payloads: any[]): Promise<void> {}
19
+
20
+ async send(
10
21
  payload: MessageInterface<any>,
11
22
  logger: LoggerService
12
23
  ): Promise<any> {}
24
+
25
+ async startConsumer(
26
+ topics: (string | RegExp)[],
27
+ callback: (topic: string, message: Message) => Promise<void>,
28
+ err?: (error: string) => Promise<void>
29
+ ): Promise<void> {}
30
+
31
+ async startManualConsumer(
32
+ topics: (string | RegExp)[],
33
+ callback: (topic: string, message: Message) => Promise<void>
34
+ ): Promise<void> {}
35
+
36
+ async startProducer(): Promise<any> {}
37
+
38
+ async stopConsumer(): Promise<void> {}
39
+
40
+ async ensureTopicsExist(topics: (string | RegExp)[]): Promise<void> {}
13
41
  }