@haku-sci/utils 1.4.8 → 1.4.9

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/README.md CHANGED
@@ -18,7 +18,7 @@ if consul is used, and env variabe CONSUL_URI is defined, then the lib allows as
18
18
 
19
19
  ## Docker
20
20
 
21
- the start_docker_services.bat method allows to run all required services from docker:
21
+ the start_services.bat method allows to run all required services from docker:
22
22
 
23
23
  * Consul
24
24
  * Neo4j
@@ -1,12 +1,14 @@
1
- import { INestApplication } from '@nestjs/common';
1
+ import { INestMicroservice } from '@nestjs/common';
2
2
  export declare class MicroserviceService {
3
3
  private static serviceAddress;
4
4
  private static msName;
5
- static projectName(): Promise<string>;
6
5
  private static getServiceURI;
6
+ private static registerService;
7
+ private static getServerAddress;
8
+ private static startMainMicroService;
9
+ private static startRabbitMQMicroService;
10
+ static bootstrapMicroservice(appModule: any, routingKeys?: ("post" | "delete" | "patch" | "put")[]): Promise<INestMicroservice>;
7
11
  static sendTCPMessage(service: any, messagePattern: any, payload?: any): Promise<any>;
8
12
  static emitTCPEvent(messagePattern: any, queue?: any, payload?: any): Promise<void>;
9
- private static registerService;
10
- private static getLocalServerAddress;
11
- static bootstrapMicroservice(appModule: any): Promise<INestApplication>;
13
+ static projectName(): Promise<string>;
12
14
  }
@@ -16,16 +16,9 @@ const microservices_1 = require("@nestjs/microservices");
16
16
  const net = require("net");
17
17
  const axios_1 = require("axios");
18
18
  const rxjs_1 = require("rxjs");
19
+ const amqp = require("amqplib");
19
20
  const HAKU_SCI_EXCHANGE = 'Haku-SciExchange';
20
21
  let MicroserviceService = MicroserviceService_1 = class MicroserviceService {
21
- static async projectName() {
22
- if (!this.msName) {
23
- var data = await (0, promises_1.readFile)(path.join(process.cwd(), 'package.json'));
24
- const { name } = JSON.parse(data.toString());
25
- this.msName = name;
26
- }
27
- return this.msName;
28
- }
29
22
  static async getServiceURI(serviceName) {
30
23
  const response = await axios_1.default.get(`${process.env["CONSUL_URL"]}/v1/catalog/service/${serviceName}`);
31
24
  const serviceInfo = response.data;
@@ -42,37 +35,6 @@ let MicroserviceService = MicroserviceService_1 = class MicroserviceService {
42
35
  throw new common_1.NotFoundException(`Service ${serviceName} not found in Consul catalog`);
43
36
  }
44
37
  }
45
- static async sendTCPMessage(service, messagePattern, payload) {
46
- const client = microservices_1.ClientProxyFactory.create({
47
- transport: microservices_1.Transport.TCP,
48
- options: await MicroserviceService_1.getServiceURI(service),
49
- });
50
- try {
51
- const result = await (0, rxjs_1.lastValueFrom)(await client.send(messagePattern, payload));
52
- return result;
53
- }
54
- finally {
55
- client.close();
56
- }
57
- }
58
- static async emitTCPEvent(messagePattern, queue, payload) {
59
- const client = microservices_1.ClientProxyFactory.create({
60
- options: {
61
- urls: [`${process.env["RABBITMQ_URL"]}`],
62
- queue: queue,
63
- queueOptions: {
64
- durable: false,
65
- },
66
- exchange: HAKU_SCI_EXCHANGE,
67
- },
68
- });
69
- try {
70
- await client.emit(messagePattern, payload);
71
- }
72
- finally {
73
- client.close();
74
- }
75
- }
76
38
  static async registerService() {
77
39
  const projectName = await this.projectName();
78
40
  const serviceData = {
@@ -90,51 +52,114 @@ let MicroserviceService = MicroserviceService_1 = class MicroserviceService {
90
52
  await axios_1.default.put(`${process.env["CONSUL_URL"]}/v1/agent/service/register`, serviceData);
91
53
  console.log(`Service registered with Consul on ${this.serviceAddress.address}:${this.serviceAddress.port}`);
92
54
  }
93
- static async getLocalServerAddress() {
55
+ static async getServerAddress() {
56
+ if (process.env.AWS_REGION)
57
+ return {
58
+ address: `haku-sci-${await this.projectName()}-${process.env.BRANCH}.${process.env.AWS_REGION}.elasticbeanstalk.com`,
59
+ port: 3000
60
+ };
94
61
  const server = net.createServer();
95
62
  server.listen(0);
96
63
  await new Promise((resolve) => server.once('listening', resolve));
97
64
  const address = server.address();
98
- address.address = "localhost";
99
65
  server.close();
100
66
  return address;
101
67
  }
102
- static async bootstrapMicroservice(appModule) {
103
- this.serviceAddress = !process.env["AWS_REGION"] ?
104
- await this.getLocalServerAddress() :
105
- {
106
- address: `haku-sci-${process.env["AWS_APPLICATION"]}-${process.env["AWS_BRANCH"]}.${process.env["AWS_REGION"]}.elasticbeanstalk.com`,
107
- port: 3000
108
- };
109
- if (process.env["RDS_DBNAME"]) {
110
- const postGresService = require('./postgres.service');
111
- postGresService.createDatabaseIfNotExists();
112
- }
113
- const app = await core_1.NestFactory.create(appModule);
114
- app.connectMicroservice({
68
+ static async startMainMicroService(appModule) {
69
+ const app = await core_1.NestFactory.createMicroservice(appModule, {
115
70
  transport: microservices_1.Transport.TCP,
116
71
  options: {
117
72
  port: this.serviceAddress.port
118
73
  }
119
74
  });
120
- if (process.env["RABBITMQ_URL"]) {
121
- app.connectMicroservice({
122
- transport: microservices_1.Transport.RMQ,
123
- options: {
124
- urls: [`${process.env["RABBITMQ_URL"]}`],
125
- queue: await this.projectName(),
126
- queueOptions: {
127
- durable: false,
128
- },
75
+ await app.listen();
76
+ const tcpServer = app.server.server;
77
+ this.serviceAddress = tcpServer.address();
78
+ return app;
79
+ }
80
+ static async startRabbitMQMicroService(appModule, routingKeys) {
81
+ const queue = await this.projectName();
82
+ const app = await core_1.NestFactory.createMicroservice(appModule, {
83
+ transport: microservices_1.Transport.RMQ,
84
+ options: {
85
+ urls: [process.env.RABBITMQ_URL],
86
+ queue: queue,
87
+ queueOptions: {
88
+ durable: false,
129
89
  },
130
- });
90
+ noAck: false,
91
+ },
92
+ });
93
+ await app.listen();
94
+ if (!routingKeys)
95
+ return app;
96
+ const connection = await amqp.connect(process.env.RABBITMQ_URL);
97
+ const channel = await connection.createChannel();
98
+ await channel.assertExchange(HAKU_SCI_EXCHANGE, 'direct', { durable: true });
99
+ await channel.assertQueue(queue, { durable: false });
100
+ const bindingPromises = routingKeys.map(async (routingKey) => {
101
+ await channel.bindQueue(queue, HAKU_SCI_EXCHANGE, routingKey);
102
+ });
103
+ await Promise.all([
104
+ channel.assertQueue(queue, { durable: false }),
105
+ ...bindingPromises,
106
+ ]);
107
+ await channel.close();
108
+ await connection.close();
109
+ return app;
110
+ }
111
+ static async bootstrapMicroservice(appModule, routingKeys) {
112
+ this.serviceAddress = await this.getServerAddress();
113
+ if (process.env["RDS_DBNAME"]) {
114
+ const postGresService = require('./postgres.service');
115
+ postGresService.createDatabaseIfNotExists();
131
116
  }
132
- await app.startAllMicroservices();
133
- await app.listen(0);
117
+ const app = await this.startMainMicroService(appModule);
118
+ if (process.env.RABBITMQ_URL)
119
+ await this.startRabbitMQMicroService(appModule, routingKeys);
134
120
  if (process.env["CONSUL_URL"])
135
121
  this.registerService();
136
122
  return app;
137
123
  }
124
+ static async sendTCPMessage(service, messagePattern, payload) {
125
+ const client = microservices_1.ClientProxyFactory.create({
126
+ transport: microservices_1.Transport.TCP,
127
+ options: await MicroserviceService_1.getServiceURI(service),
128
+ });
129
+ try {
130
+ const result = await (0, rxjs_1.lastValueFrom)(await client.send(messagePattern, payload));
131
+ return result;
132
+ }
133
+ finally {
134
+ client.close();
135
+ }
136
+ }
137
+ static async emitTCPEvent(messagePattern, queue, payload) {
138
+ const client = microservices_1.ClientProxyFactory.create({
139
+ options: {
140
+ urls: [process.env.RABBITMQ_URL],
141
+ queue: queue,
142
+ queueOptions: {
143
+ durable: false,
144
+ },
145
+ exchange: HAKU_SCI_EXCHANGE,
146
+ },
147
+ });
148
+ try {
149
+ await client.emit(messagePattern, payload);
150
+ }
151
+ finally {
152
+ client.close();
153
+ }
154
+ }
155
+ static async projectName() {
156
+ if (!this.msName) {
157
+ var data = await (0, promises_1.readFile)(path.join(process.cwd(), 'package.json'));
158
+ const { name } = JSON.parse(data.toString());
159
+ this.msName = name;
160
+ }
161
+ return this.msName;
162
+ }
138
163
  };
139
164
  exports.MicroserviceService = MicroserviceService;
140
165
  exports.MicroserviceService = MicroserviceService = MicroserviceService_1 = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"microservice.service.js","sourceRoot":"","sources":["../../src/microservice/microservice.service.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAiF;AACjF,0CAAuC;AACvC,6BAA6B;AAC7B,uCAA2C;AAC3C,yDAA0H;AAC1H,2BAA2B;AAC3B,iCAA0B;AAC1B,+BAAqC;AAErC,MAAM,iBAAiB,GAAG,kBAAkB,CAAC;AAGtC,IAAM,mBAAmB,2BAAzB,MAAM,mBAAmB;IAI9B,MAAM,CAAC,KAAK,CAAC,WAAW;QACtB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,IAAI,GAAG,MAAM,IAAA,mBAAQ,EACvB,IAAI,CAAC,IAAI,CACP,OAAO,CAAC,GAAG,EAAE,EACb,cAAc,CACf,CACF,CAAA;YACD,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,WAAmB;QACpD,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,uBAAuB,WAAW,EAAE,CAAC,CAAC;QACnG,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC;QAElC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;YAC1D,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC;YACjC,OAAO;gBACL,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,IAAI;aACX,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,0BAAiB,CAAC,WAAW,WAAW,8BAA8B,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,OAAQ;QAC3D,MAAM,MAAM,GAAgB,kCAAkB,CAAC,MAAM,CAAC;YACpD,SAAS,EAAE,yBAAS,CAAC,GAAG;YACxB,OAAO,EAAE,MAAM,qBAAmB,CAAC,aAAa,CAAC,OAAO,CAAC;SAC1D,CAAC,CAAC;QACH,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAA,oBAAa,EAAC,MAAM,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;YAC/E,OAAO,MAAM,CAAC;QAChB,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,EAAE,KAAM,EAAE,OAAQ;QACxD,MAAM,MAAM,GAAgB,kCAAkB,CAAC,MAAM,CAAC;YAEpD,OAAO,EAAE;gBACP,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;gBACxC,KAAK,EAAE,KAAK;gBACZ,YAAY,EAAE;oBACZ,OAAO,EAAE,KAAK;iBACf;gBACD,QAAQ,EAAE,iBAAiB;aAC5B;SACF,CAAC,CAAC;QACH,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAC7C,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,eAAe;QAClC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,WAAW,GAAG;YAClB,EAAE,EAAE,WAAW;YACf,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO;YACpC,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI;YAC9B,KAAK,EAAE;gBACL,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE;gBACjE,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,IAAI;gBACb,8BAA8B,EAAE,IAAI;aACrC;SACF,CAAC;QAEF,MAAM,eAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,4BAA4B,EAAE,WAAW,CAAC,CAAC;QACvF,OAAO,CAAC,GAAG,CAAC,qCAAqC,IAAI,CAAC,cAAc,CAAC,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9G,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,qBAAqB;QAExC,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACjB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;QAClE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAqB,CAAC;QACpD,OAAO,CAAC,OAAO,GAAG,WAAW,CAAC;QAC9B,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,SAAS;QAC1C,IAAI,CAAC,cAAc,GAAC,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA,CAAC;YAC7C,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAA,CAAC;YACnC;gBACE,OAAO,EAAC,YAAY,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,uBAAuB;gBACnI,IAAI,EAAC,IAAI;aACS,CAAA;QAGtB,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAC,CAAC;YAC7B,MAAM,eAAe,GAAC,OAAO,CAAE,oBAAoB,CAAC,CAAC;YACrD,eAAe,CAAC,yBAAyB,EAAE,CAAA;QAC7C,CAAC;QAGD,MAAM,GAAG,GAAG,MAAM,kBAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QAC/C,GAAG,CAAC,mBAAmB,CACrB;YACE,SAAS,EAAE,yBAAS,CAAC,GAAG;YACxB,OAAO,EAAE;gBACP,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI;aAC/B;SACF,CACF,CAAC;QAGF,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;YAChC,GAAG,CAAC,mBAAmB,CAAsB;gBAC3C,SAAS,EAAE,yBAAS,CAAC,GAAG;gBACxB,OAAO,EAAE;oBACP,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;oBACxC,KAAK,EAAE,MAAM,IAAI,CAAC,WAAW,EAAE;oBAC/B,YAAY,EAAE;wBACZ,OAAO,EAAE,KAAK;qBACf;iBACF;aACF,CAAC,CAAC;QACL,CAAC;QAGD,MAAM,GAAG,CAAC,qBAAqB,EAAE,CAAA;QACjC,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;YAC3B,IAAI,CAAC,eAAe,EAAE,CAAA;QACxB,OAAO,GAAG,CAAA;IACZ,CAAC;CACF,CAAA;AA9IY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,mBAAU,GAAE;GACA,mBAAmB,CA8I/B"}
1
+ {"version":3,"file":"microservice.service.js","sourceRoot":"","sources":["../../src/microservice/microservice.service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haku-sci/utils",
3
- "version": "1.4.8",
3
+ "version": "1.4.9",
4
4
  "description": "utils from haku-sci. Library only",
5
5
  "main": "./dist/index.js",
6
6
  "types": "dist/index.d.ts",