@haku-sci/utils 1.2.10 → 1.4.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/README.md CHANGED
@@ -1,9 +1,39 @@
1
1
  # Description of the utils inside this package
2
2
 
3
- This package is used by Haku-Sci, to handle microservices.
3
+ This package is used by Haku-Sci, to handle different contents.
4
+
5
+ ## Microservices
6
+
4
7
  Loading the class MicroserviceLib, it allows to fetch:
5
8
 
6
9
  * The name of the current microservice
7
10
  * default bootstrap for microservices
8
11
 
9
- if consul is used, and env variabe CONSUL_URI is defined, then the lib allows as well to send messages to other services via TCP, and fetch the response if any.
12
+ ### Consul
13
+
14
+ if consul is used, and env variabe CONSUL_URI is defined, then the lib allows as well:
15
+
16
+ * to send messages to other services via TCP, and fetch the response if any
17
+ * to emit message for all services via RabbitMQ
18
+
19
+ ## Docker
20
+
21
+ the start_docker_services.bat method allows to run all required services from docker:
22
+
23
+ * Consul
24
+ * Neo4j
25
+ * Postgresql
26
+ * RabbitMQ
27
+
28
+ ## Database
29
+
30
+ if the service uses a database, and this database doesn't exist in the system, it will be created automatically
31
+
32
+ ## launch.json
33
+
34
+ The launch.json file allows to run all services (the project libs must be in the same directory as "services", which contains all services)
35
+
36
+ ## other
37
+
38
+ Finally, the method executeFunction into the utils library lets call dynamically the function of an object, with parameters
39
+ (Format: object as class, function name as string, parameters as dictionary)
@@ -1,8 +1,13 @@
1
- import { INestMicroservice } from '@nestjs/common';
1
+ import { INestApplication } from '@nestjs/common';
2
2
  export declare class MicroserviceService {
3
+ private static serviceAddress;
4
+ private static msName;
3
5
  static projectName(): Promise<string>;
4
6
  private static getServiceURI;
5
7
  static sendTCPMessage(service: any, messagePattern: any, payload?: any): Promise<any>;
8
+ static emitTCPEvent(messagePattern: any, queue?: any, payload?: any): Promise<void>;
6
9
  private static registerService;
7
- static bootstrapMicroservice(appModule: any): Promise<INestMicroservice>;
10
+ private static getLocalServerAddress;
11
+ static bootstrapMicroservice(appModule: any): Promise<INestApplication>;
12
+ private static createDatabaseIfNotExists;
8
13
  }
@@ -16,11 +16,16 @@ 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 pg_1 = require("pg");
20
+ const HAKU_SCI_EXCHANGE = 'Haku-SciExchange';
19
21
  let MicroserviceService = MicroserviceService_1 = class MicroserviceService {
20
22
  static async projectName() {
21
- var data = await (0, promises_1.readFile)(path.join(process.cwd(), 'package.json'));
22
- const { name } = JSON.parse(data.toString());
23
- return name;
23
+ if (!this.msName) {
24
+ var data = await (0, promises_1.readFile)(path.join(process.cwd(), 'package.json'));
25
+ const { name } = JSON.parse(data.toString());
26
+ this.msName = name;
27
+ }
28
+ return this.msName;
24
29
  }
25
30
  static async getServiceURI(serviceName) {
26
31
  const response = await axios_1.default.get(`${process.env["CONSUL_URL"]}/v1/catalog/service/${serviceName}`);
@@ -47,48 +52,109 @@ let MicroserviceService = MicroserviceService_1 = class MicroserviceService {
47
52
  const result = await (0, rxjs_1.lastValueFrom)(await client.send(messagePattern, payload));
48
53
  return result;
49
54
  }
50
- catch (error) {
51
- throw error;
55
+ finally {
56
+ client.close();
57
+ }
58
+ }
59
+ static async emitTCPEvent(messagePattern, queue, payload) {
60
+ const client = microservices_1.ClientProxyFactory.create({
61
+ options: {
62
+ urls: [`amqp://${process.env["RABBITMQ_URL"]}`],
63
+ queue: queue,
64
+ queueOptions: {
65
+ durable: false,
66
+ },
67
+ exchange: HAKU_SCI_EXCHANGE,
68
+ },
69
+ });
70
+ try {
71
+ await client.emit(messagePattern, payload);
52
72
  }
53
73
  finally {
54
74
  client.close();
55
75
  }
56
76
  }
57
- static async registerService(address) {
77
+ static async registerService() {
58
78
  const projectName = await this.projectName();
59
79
  const serviceData = {
60
80
  ID: projectName,
61
81
  Name: projectName,
62
- Address: address.address,
63
- Port: address.port,
82
+ Address: this.serviceAddress.address,
83
+ Port: this.serviceAddress.port,
64
84
  Check: {
65
- TCP: `${address.address}:${address.port}`,
85
+ TCP: `${this.serviceAddress.address}:${this.serviceAddress.port}`,
66
86
  Interval: "10s",
67
87
  Timeout: "5s",
68
88
  DeregisterCriticalServiceAfter: "1m"
69
89
  }
70
90
  };
71
91
  await axios_1.default.put(`${process.env["CONSUL_URL"]}/v1/agent/service/register`, serviceData);
72
- console.log(`Service registered with Consul on ${address.address}:${address.port}`);
92
+ console.log(`Service registered with Consul on ${this.serviceAddress.address}:${this.serviceAddress.port}`);
73
93
  }
74
- static async bootstrapMicroservice(appModule) {
94
+ static async getLocalServerAddress() {
75
95
  const server = net.createServer();
76
96
  server.listen(0);
77
97
  await new Promise((resolve) => server.once('listening', resolve));
78
98
  const address = server.address();
79
- const app = await core_1.NestFactory.createMicroservice(appModule, {
99
+ address.address = "localhost";
100
+ server.close();
101
+ return address;
102
+ }
103
+ static async bootstrapMicroservice(appModule) {
104
+ this.serviceAddress = !process.env["AWS_REGION"] ?
105
+ await this.getLocalServerAddress() :
106
+ {
107
+ address: `haku-sci-${process.env["AWS_APPLICATION"]}-${process.env["AWS_BRANCH"]}.${process.env["AWS_REGION"]}.elasticbeanstalk.com`,
108
+ port: 3000
109
+ };
110
+ if (process.env["RDS_DBNAME"])
111
+ this.createDatabaseIfNotExists();
112
+ const app = await core_1.NestFactory.create(appModule);
113
+ app.connectMicroservice({
80
114
  transport: microservices_1.Transport.TCP,
81
115
  options: {
82
- port: address.port
116
+ port: this.serviceAddress.port
83
117
  }
84
118
  });
85
- await app.listen();
86
- if (process.env["CONSUL_URL"]) {
87
- const tcpServer = app.server.server;
88
- this.registerService(tcpServer.address());
119
+ if (process.env["RABBITMQ_URL"]) {
120
+ app.connectMicroservice({
121
+ transport: microservices_1.Transport.RMQ,
122
+ options: {
123
+ urls: [`amqp://${process.env["RABBITMQ_URL"]}`],
124
+ queue: await this.projectName(),
125
+ queueOptions: {
126
+ durable: false,
127
+ },
128
+ },
129
+ });
89
130
  }
131
+ await app.startAllMicroservices();
132
+ await app.listen(0);
133
+ if (process.env["CONSUL_URL"])
134
+ this.registerService();
90
135
  return app;
91
136
  }
137
+ static async createDatabaseIfNotExists() {
138
+ const client = new pg_1.Client({
139
+ host: process.env["RDS_HOSTNAME"],
140
+ port: process.env["RDS_PORT"],
141
+ user: process.env["RDS_USERNAME"],
142
+ password: process.env["RDS_PASSWORD"],
143
+ database: "postgres",
144
+ });
145
+ try {
146
+ await client.connect();
147
+ const result = await client.query(`SELECT 1 FROM pg_database WHERE datname = $1`, [process.env["RDS_DBNAME"]]);
148
+ if (result.rowCount === 0) {
149
+ console.log(`Database "${process.env["RDS_DBNAME"]}" does not exist. Creating...`);
150
+ await client.query(`CREATE DATABASE "${process.env["RDS_DBNAME"]}"`);
151
+ console.log(`Database "${process.env["RDS_DBNAME"]}" created successfully.`);
152
+ }
153
+ }
154
+ finally {
155
+ await client.end();
156
+ }
157
+ }
92
158
  };
93
159
  exports.MicroserviceService = MicroserviceService;
94
160
  exports.MicroserviceService = MicroserviceService = MicroserviceService_1 = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"microservice.service.js","sourceRoot":"","sources":["../../src/microservice/microservice.service.ts"],"names":[],"mappings":"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"}
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,16 +1,13 @@
1
1
  {
2
2
  "name": "@haku-sci/utils",
3
- "version": "1.2.10",
3
+ "version": "1.4.0",
4
4
  "description": "utils from haku-sci. Library only",
5
5
  "main": "./dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "peerdependencies": {
8
8
  "@nestjs/common": "^10.4.1",
9
9
  "@nestjs/microservices": "^10.4.1",
10
- "axios": "^1.7.9",
11
- "utils": "^0.3.1"
12
- },
13
- "dependencies": {
10
+ "utils": "^0.3.1",
14
11
  "@nestjs/typeorm": "^10.0.2",
15
12
  "axios": "^1.7.9"
16
13
  },
@@ -18,12 +15,12 @@
18
15
  "@nestjs/testing": "^10.4.1",
19
16
  "@types/jest": "^29.5.12",
20
17
  "rimraf": "^6.0.1",
21
- "typescript": "^5.7.2"
18
+ "typescript": "^5.7.3"
22
19
  },
23
20
  "scripts": {
24
21
  "test": "echo \"Error: no test specified\" && exit 1",
25
- "build": "tsc",
26
- "clean": "rimraf dist"
22
+ "build": "tsc --build",
23
+ "clean": "tsc --build --clean"
27
24
  },
28
25
  "author": "Nicolas Blexmann",
29
26
  "license": "ISC",
@@ -38,5 +35,11 @@
38
35
  "microservices",
39
36
  "ports",
40
37
  "hosts"
41
- ]
38
+ ],
39
+ "dependencies": {
40
+ "@nestjs/microservices": "^10.4.15",
41
+ "@nestjs/platform-express": "^10.4.15",
42
+ "axios": "^1.7.9",
43
+ "pg": "^8.13.1"
44
+ }
42
45
  }