@cryptexlabs/codex-nodejs-common 0.8.4 → 0.8.5

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.8.4",
3
+ "version": "0.8.5",
4
4
  "description": "Common code for Assistant applications",
5
5
  "main": "lib/src/index.js",
6
6
  "repository": "git@gitlab.com:cryptexlabs/public/codex-nodejs-common.git",
@@ -3,15 +3,17 @@ import { ConsumerServiceDelegateInterface } from "./consumer-service-delegate.in
3
3
  import { DefaultConfig } from "../../config";
4
4
  import { EventHandlerFactoryInterface } from "../../event/event.handler.factory.interface";
5
5
  import { HealthzService } from "../healthz";
6
+ import { BroadcasterService } from "../socket";
6
7
  export declare class WebsocketConsumerService {
7
8
  private readonly healthzService;
8
9
  private readonly consumerDelegateService;
9
10
  private readonly config;
10
11
  private readonly logger;
11
12
  private readonly internalFactory;
13
+ private readonly broadcasterService;
12
14
  private topics;
13
15
  private eventHandler;
14
- constructor(healthzService: HealthzService, consumerDelegateService: ConsumerServiceDelegateInterface, config: DefaultConfig, logger: LoggerService, internalFactory: EventHandlerFactoryInterface);
16
+ constructor(healthzService: HealthzService, consumerDelegateService: ConsumerServiceDelegateInterface, config: DefaultConfig, logger: LoggerService, internalFactory: EventHandlerFactoryInterface, broadcasterService: BroadcasterService);
15
17
  init(): Promise<void>;
16
18
  restart(topics: string[]): Promise<void>;
17
19
  }
@@ -20,14 +20,16 @@ const fs = require("fs");
20
20
  const event_handler_1 = require("../../event/event-handler");
21
21
  const consumer_util_1 = require("./consumer.util");
22
22
  const healthz_1 = require("../healthz");
23
+ const socket_1 = require("../socket");
23
24
  const randomstring = require("randomstring");
24
25
  let WebsocketConsumerService = class WebsocketConsumerService {
25
- constructor(healthzService, consumerDelegateService, config, logger, internalFactory) {
26
+ constructor(healthzService, consumerDelegateService, config, logger, internalFactory, broadcasterService) {
26
27
  this.healthzService = healthzService;
27
28
  this.consumerDelegateService = consumerDelegateService;
28
29
  this.config = config;
29
30
  this.logger = logger;
30
31
  this.internalFactory = internalFactory;
32
+ this.broadcasterService = broadcasterService;
31
33
  this.topics = jsYaml.safeLoad(fs.readFileSync(config.kafka.topicsConfigPath).toString());
32
34
  this.eventHandler = new event_handler_1.EventHandler(logger);
33
35
  }
@@ -39,11 +41,18 @@ let WebsocketConsumerService = class WebsocketConsumerService {
39
41
  }
40
42
  async restart(topics) {
41
43
  try {
44
+ this.logger.verbose(`Stopping consumer`);
42
45
  await this.consumerDelegateService.stopConsumer();
46
+ this.logger.verbose(`Consumer stopped`);
43
47
  const finalTopics = consumer_util_1.ConsumerUtil.getTopics(topics);
48
+ this.logger.verbose(`Final topics`, { finalTopics });
44
49
  await this.consumerDelegateService.startConsumer(finalTopics, async (topic, message) => {
45
- const handler = this.internalFactory.getHandler(topic);
46
- await this.eventHandler.handle(message, topic, handler);
50
+ try {
51
+ this.broadcasterService.broadcast(topic, message);
52
+ }
53
+ catch (e) {
54
+ this.logger.error(e);
55
+ }
47
56
  });
48
57
  }
49
58
  catch (e) {
@@ -58,7 +67,8 @@ WebsocketConsumerService = __decorate([
58
67
  __param(2, common_1.Inject("CONFIG")),
59
68
  __param(3, common_1.Inject("LOGGER")),
60
69
  __param(4, common_1.Inject("INTERNAL_DOMAIN_EVENT_HANDLER_FACTORY")),
61
- __metadata("design:paramtypes", [healthz_1.HealthzService, Object, config_1.DefaultConfig, Object, Object])
70
+ __param(5, common_1.Inject("BROADCASTER")),
71
+ __metadata("design:paramtypes", [healthz_1.HealthzService, Object, config_1.DefaultConfig, Object, Object, socket_1.BroadcasterService])
62
72
  ], WebsocketConsumerService);
63
73
  exports.WebsocketConsumerService = WebsocketConsumerService;
64
74
  //# sourceMappingURL=websocket-consumer.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"websocket-consumer.service.js","sourceRoot":"","sources":["../../../../src/service/consumer/websocket-consumer.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAmE;AAGnE,yCAA6C;AAE7C,kCAAkC;AAClC,yBAAyB;AAEzB,6DAAyD;AACzD,mDAA+C;AAC/C,wCAAkE;AAIlE,MAAM,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAG7C,IAAa,wBAAwB,GAArC,MAAa,wBAAwB;IAInC,YAC8C,cAA8B,EAEzD,uBAAyD,EACvC,MAAqB,EACrB,MAAqB,EAEvC,eAA6C;QANlB,mBAAc,GAAd,cAAc,CAAgB;QAEzD,4BAAuB,GAAvB,uBAAuB,CAAkC;QACvC,WAAM,GAAN,MAAM,CAAe;QACrB,WAAM,GAAN,MAAM,CAAe;QAEvC,oBAAe,GAAf,eAAe,CAA8B;QAE9D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAC3B,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE,CACjC,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,IAAI,4BAAY,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CACrC,8BAAoB,CAAC,oBAAoB,CAC1C,CAAC;QACF,MAAM,IAAI,CAAC,uBAAuB,CAAC,kBAAkB,CACnD,YAAY,CAAC,QAAQ,EAAE,CACxB,CAAC;QACF,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,CAAC;QAC7C,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CACnC,8BAAoB,CAAC,oBAAoB,CAC1C,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAgB;QAC5B,IAAI;YACF,MAAM,IAAI,CAAC,uBAAuB,CAAC,YAAY,EAAE,CAAC;YAClD,MAAM,WAAW,GAAG,4BAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACnD,MAAM,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAC9C,WAAW,EACX,KAAK,EAAE,KAAa,EAAE,OAAgB,EAAE,EAAE;gBACxC,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBACvD,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAC1D,CAAC,CACF,CAAC;SACH;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CACrC,8BAAoB,CAAC,oBAAoB,CAC1C,CAAC;SACH;IACH,CAAC;CACF,CAAA;AAjDY,wBAAwB;IADpC,mBAAU,EAAE;IAMR,WAAA,eAAM,CAAC,iBAAiB,CAAC,CAAA;IACzB,WAAA,eAAM,CAAC,2BAA2B,CAAC,CAAA;IAEnC,WAAA,eAAM,CAAC,QAAQ,CAAC,CAAA;IAChB,WAAA,eAAM,CAAC,QAAQ,CAAC,CAAA;IAChB,WAAA,eAAM,CAAC,uCAAuC,CAAC,CAAA;qCALY,wBAAc,UAG/B,sBAAa;GAR/C,wBAAwB,CAiDpC;AAjDY,4DAAwB"}
1
+ {"version":3,"file":"websocket-consumer.service.js","sourceRoot":"","sources":["../../../../src/service/consumer/websocket-consumer.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAmE;AAGnE,yCAA6C;AAE7C,kCAAkC;AAClC,yBAAyB;AAEzB,6DAAyD;AACzD,mDAA+C;AAC/C,wCAAkE;AAClE,sCAA+C;AAI/C,MAAM,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAG7C,IAAa,wBAAwB,GAArC,MAAa,wBAAwB;IAInC,YAC8C,cAA8B,EAEzD,uBAAyD,EACvC,MAAqB,EACrB,MAAqB,EAEvC,eAA6C,EAE7C,kBAAsC;QARX,mBAAc,GAAd,cAAc,CAAgB;QAEzD,4BAAuB,GAAvB,uBAAuB,CAAkC;QACvC,WAAM,GAAN,MAAM,CAAe;QACrB,WAAM,GAAN,MAAM,CAAe;QAEvC,oBAAe,GAAf,eAAe,CAA8B;QAE7C,uBAAkB,GAAlB,kBAAkB,CAAoB;QAEvD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAC3B,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE,CACjC,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,IAAI,4BAAY,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CACrC,8BAAoB,CAAC,oBAAoB,CAC1C,CAAC;QACF,MAAM,IAAI,CAAC,uBAAuB,CAAC,kBAAkB,CACnD,YAAY,CAAC,QAAQ,EAAE,CACxB,CAAC;QACF,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,CAAC;QAC7C,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CACnC,8BAAoB,CAAC,oBAAoB,CAC1C,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAgB;QAC5B,IAAI;YACF,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;YACzC,MAAM,IAAI,CAAC,uBAAuB,CAAC,YAAY,EAAE,CAAC;YAClD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;YACxC,MAAM,WAAW,GAAG,4BAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACnD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;YACrD,MAAM,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAC9C,WAAW,EACX,KAAK,EAAE,KAAa,EAAE,OAAgB,EAAE,EAAE;gBACxC,IAAI;oBACF,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;iBACnD;gBAAC,OAAO,CAAC,EAAE;oBACV,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;iBACtB;YACH,CAAC,CACF,CAAC;SACH;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CACrC,8BAAoB,CAAC,oBAAoB,CAC1C,CAAC;SACH;IACH,CAAC;CACF,CAAA;AAzDY,wBAAwB;IADpC,mBAAU,EAAE;IAMR,WAAA,eAAM,CAAC,iBAAiB,CAAC,CAAA;IACzB,WAAA,eAAM,CAAC,2BAA2B,CAAC,CAAA;IAEnC,WAAA,eAAM,CAAC,QAAQ,CAAC,CAAA;IAChB,WAAA,eAAM,CAAC,QAAQ,CAAC,CAAA;IAChB,WAAA,eAAM,CAAC,uCAAuC,CAAC,CAAA;IAE/C,WAAA,eAAM,CAAC,aAAa,CAAC,CAAA;qCAPsC,wBAAc,UAG/B,sBAAa,kBAKnB,2BAAkB;GAb9C,wBAAwB,CAyDpC;AAzDY,4DAAwB"}
@@ -111,11 +111,19 @@ let WebsocketGateway = class WebsocketGateway {
111
111
  for (const subscription of topics) {
112
112
  if (!this.subscribedTopics.includes(subscription)) {
113
113
  didChangeSubscriptions = true;
114
+ this.logger.verbose(`Subscribing to new topic: ${subscription}`);
114
115
  this.subscribedTopics.push(subscription);
115
116
  }
116
117
  }
117
118
  if (didChangeSubscriptions) {
119
+ this.logger.verbose(`Subscriptions changed`, {
120
+ subscribedTopics: this.subscribedTopics,
121
+ });
118
122
  await this.consumerService.restart(this.subscribedTopics);
123
+ this.logger.verbose(`Consumer restarted`);
124
+ }
125
+ else {
126
+ this.logger.verbose(`Subscriptions did not change`);
119
127
  }
120
128
  }
121
129
  handleDisconnect(client) {
@@ -1 +1 @@
1
- {"version":3,"file":"websocket.gateway.js","sourceRoot":"","sources":["../../../../src/service/socket/websocket.gateway.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websocket.gateway.js","sourceRoot":"","sources":["../../../../src/service/socket/websocket.gateway.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cryptexlabs/codex-nodejs-common",
3
- "version": "0.8.4",
3
+ "version": "0.8.5",
4
4
  "description": "Common code for Assistant applications",
5
5
  "main": "lib/src/index.js",
6
6
  "repository": "git@gitlab.com:cryptexlabs/public/codex-nodejs-common.git",
@@ -9,6 +9,7 @@ import { TopicsConfigInterface } from "../../config/topics-config.interface";
9
9
  import { EventHandler } from "../../event/event-handler";
10
10
  import { ConsumerUtil } from "./consumer.util";
11
11
  import { HealthzComponentEnum, HealthzService } from "../healthz";
12
+ import { BroadcasterService } from "../socket";
12
13
 
13
14
  // eslint-disable-next-line @typescript-eslint/no-var-requires
14
15
  // tslint:disable-next-line:no-var-requires
@@ -26,7 +27,9 @@ export class WebsocketConsumerService {
26
27
  @Inject("CONFIG") private readonly config: DefaultConfig,
27
28
  @Inject("LOGGER") private readonly logger: LoggerService,
28
29
  @Inject("INTERNAL_DOMAIN_EVENT_HANDLER_FACTORY")
29
- private readonly internalFactory: EventHandlerFactoryInterface
30
+ private readonly internalFactory: EventHandlerFactoryInterface,
31
+ @Inject("BROADCASTER")
32
+ private readonly broadcasterService: BroadcasterService
30
33
  ) {
31
34
  this.topics = jsYaml.safeLoad(
32
35
  fs.readFileSync(config.kafka.topicsConfigPath).toString()
@@ -49,13 +52,19 @@ export class WebsocketConsumerService {
49
52
 
50
53
  async restart(topics: string[]) {
51
54
  try {
55
+ this.logger.verbose(`Stopping consumer`);
52
56
  await this.consumerDelegateService.stopConsumer();
57
+ this.logger.verbose(`Consumer stopped`);
53
58
  const finalTopics = ConsumerUtil.getTopics(topics);
59
+ this.logger.verbose(`Final topics`, { finalTopics });
54
60
  await this.consumerDelegateService.startConsumer(
55
61
  finalTopics,
56
62
  async (topic: string, message: Message) => {
57
- const handler = this.internalFactory.getHandler(topic);
58
- await this.eventHandler.handle(message, topic, handler);
63
+ try {
64
+ this.broadcasterService.broadcast(topic, message);
65
+ } catch (e) {
66
+ this.logger.error(e);
67
+ }
59
68
  }
60
69
  );
61
70
  } catch (e) {
@@ -186,11 +186,18 @@ export class WebsocketGateway
186
186
  for (const subscription of topics) {
187
187
  if (!this.subscribedTopics.includes(subscription)) {
188
188
  didChangeSubscriptions = true;
189
+ this.logger.verbose(`Subscribing to new topic: ${subscription}`);
189
190
  this.subscribedTopics.push(subscription);
190
191
  }
191
192
  }
192
193
  if (didChangeSubscriptions) {
194
+ this.logger.verbose(`Subscriptions changed`, {
195
+ subscribedTopics: this.subscribedTopics,
196
+ });
193
197
  await this.consumerService.restart(this.subscribedTopics);
198
+ this.logger.verbose(`Consumer restarted`);
199
+ } else {
200
+ this.logger.verbose(`Subscriptions did not change`);
194
201
  }
195
202
  }
196
203