@haku-sci/utils 1.2.3 → 1.2.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/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/microservice/microservice.module.d.ts +0 -5
- package/dist/microservice/microservice.module.js +7 -47
- package/dist/microservice/microservice.module.js.map +1 -1
- package/dist/microservice/{microservice.libs.d.ts → microservice.service.d.ts} +3 -1
- package/dist/microservice/microservice.service.js +89 -0
- package/dist/microservice/microservice.service.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +10 -4
- package/utils/src/index.ts +2 -2
- package/utils/src/microservice/microservice.module.ts +8 -0
- package/utils/src/microservice/{microservice.libs.ts → microservice.service.ts} +6 -5
- package/dist/health/health.controller.d.ts +0 -6
- package/dist/health/health.controller.js +0 -31
- package/dist/health/health.controller.js.map +0 -1
- package/dist/health/health.module.d.ts +0 -4
- package/dist/health/health.module.js +0 -25
- package/dist/health/health.module.js.map +0 -1
- package/dist/microservice/microservice.libs.js +0 -45
- package/dist/microservice/microservice.libs.js.map +0 -1
- package/dist/utils.module.d.ts +0 -2
- package/dist/utils.module.js +0 -17
- package/dist/utils.module.js.map +0 -1
- package/dist/utils.service.d.ts +0 -7
- package/dist/utils.service.js +0 -61
- package/dist/utils.service.js.map +0 -1
- package/dist/utils.service.spec.d.ts +0 -1
- package/dist/utils.service.spec.js +0 -3
- package/dist/utils.service.spec.js.map +0 -1
- package/utils/src/utils.module.ts +0 -4
- package/utils/src/utils.service.spec.ts +0 -19
package/dist/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './
|
|
2
|
-
export * from './microservice/microservice.
|
|
1
|
+
export * from './microservice/microservice.module';
|
|
2
|
+
export * from './microservice/microservice.service';
|
package/dist/index.js
CHANGED
|
@@ -14,6 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./
|
|
18
|
-
__exportStar(require("./microservice/microservice.
|
|
17
|
+
__exportStar(require("./microservice/microservice.module"), exports);
|
|
18
|
+
__exportStar(require("./microservice/microservice.service"), exports);
|
|
19
19
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../utils/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../utils/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qEAAmD;AACnD,sEAAoD"}
|
|
@@ -1,7 +1,2 @@
|
|
|
1
|
-
import { INestMicroservice } from '@nestjs/common';
|
|
2
1
|
export declare class MicroserviceModule {
|
|
3
|
-
static projectName(): Promise<string>;
|
|
4
|
-
private static registerService;
|
|
5
|
-
private static register;
|
|
6
|
-
static bootstrapMicroservice(appModule: any, customControllers?: any): Promise<INestMicroservice>;
|
|
7
2
|
}
|
|
@@ -5,57 +5,17 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
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
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
7
|
};
|
|
8
|
-
var MicroserviceModule_1;
|
|
9
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
9
|
exports.MicroserviceModule = void 0;
|
|
11
10
|
const common_1 = require("@nestjs/common");
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
const core_1 = require("@nestjs/core");
|
|
15
|
-
const microservices_1 = require("@nestjs/microservices");
|
|
16
|
-
const axios_1 = require("axios");
|
|
17
|
-
const health_module_1 = require("../health/health.module");
|
|
18
|
-
let MicroserviceModule = MicroserviceModule_1 = class MicroserviceModule {
|
|
19
|
-
static async projectName() {
|
|
20
|
-
var data = await (0, promises_1.readFile)(path.join(process.cwd(), 'package.json'));
|
|
21
|
-
const { name } = JSON.parse(data.toString());
|
|
22
|
-
return name;
|
|
23
|
-
}
|
|
24
|
-
static async registerService(address) {
|
|
25
|
-
const projectName = await this.projectName();
|
|
26
|
-
const serviceData = {
|
|
27
|
-
ID: projectName,
|
|
28
|
-
Name: projectName,
|
|
29
|
-
Address: address.address,
|
|
30
|
-
Port: address.port,
|
|
31
|
-
Check: {
|
|
32
|
-
TCP: `${address.address}:${address.port}`,
|
|
33
|
-
Interval: "10s",
|
|
34
|
-
Timeout: "5s",
|
|
35
|
-
DeregisterCriticalServiceAfter: "1m"
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
await axios_1.default.put(process.env["CONSUL_URL"], serviceData);
|
|
39
|
-
console.log(`Service registered with Consul on ${address.address}:${address.port}`);
|
|
40
|
-
}
|
|
41
|
-
static register(appModule, additionalModules = []) {
|
|
42
|
-
return {
|
|
43
|
-
module: MicroserviceModule_1,
|
|
44
|
-
imports: [appModule, health_module_1.HealthModule, ...additionalModules],
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
static async bootstrapMicroservice(appModule, customControllers) {
|
|
48
|
-
const app = await core_1.NestFactory.createMicroservice(MicroserviceModule_1.register(appModule, customControllers), {
|
|
49
|
-
transport: microservices_1.Transport.TCP,
|
|
50
|
-
});
|
|
51
|
-
await app.listen();
|
|
52
|
-
const tcpServer = app.server.server;
|
|
53
|
-
this.registerService(tcpServer.address());
|
|
54
|
-
return app;
|
|
55
|
-
}
|
|
11
|
+
const microservice_service_1 = require("./microservice.service");
|
|
12
|
+
let MicroserviceModule = class MicroserviceModule {
|
|
56
13
|
};
|
|
57
14
|
exports.MicroserviceModule = MicroserviceModule;
|
|
58
|
-
exports.MicroserviceModule = MicroserviceModule =
|
|
59
|
-
(0, common_1.Module)({
|
|
15
|
+
exports.MicroserviceModule = MicroserviceModule = __decorate([
|
|
16
|
+
(0, common_1.Module)({
|
|
17
|
+
providers: [microservice_service_1.MicroserviceService],
|
|
18
|
+
exports: [microservice_service_1.MicroserviceService],
|
|
19
|
+
})
|
|
60
20
|
], MicroserviceModule);
|
|
61
21
|
//# sourceMappingURL=microservice.module.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"microservice.module.js","sourceRoot":"","sources":["../../utils/src/microservice/microservice.module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"microservice.module.js","sourceRoot":"","sources":["../../utils/src/microservice/microservice.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,iEAA6D;AAMtD,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;CAAI,CAAA;AAAtB,gDAAkB;6BAAlB,kBAAkB;IAJ9B,IAAA,eAAM,EAAC;QACN,SAAS,EAAE,CAAC,0CAAmB,CAAC;QAChC,OAAO,EAAE,CAAC,0CAAmB,CAAC;KAC/B,CAAC;GACW,kBAAkB,CAAI"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { INestMicroservice } from '@nestjs/common';
|
|
2
|
-
export declare class
|
|
2
|
+
export declare class MicroserviceService {
|
|
3
3
|
static projectName(): Promise<string>;
|
|
4
|
+
private static getServiceURI;
|
|
5
|
+
static sendTCPMessage(service: any, messagePattern: any, payload?: any): Promise<any>;
|
|
4
6
|
private static registerService;
|
|
5
7
|
static bootstrapMicroservice(appModule: any): Promise<INestMicroservice>;
|
|
6
8
|
}
|
|
@@ -0,0 +1,89 @@
|
|
|
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 MicroserviceService_1;
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.MicroserviceService = void 0;
|
|
11
|
+
const common_1 = require("@nestjs/common");
|
|
12
|
+
const promises_1 = require("fs/promises");
|
|
13
|
+
const path = require("path");
|
|
14
|
+
const core_1 = require("@nestjs/core");
|
|
15
|
+
const microservices_1 = require("@nestjs/microservices");
|
|
16
|
+
const axios_1 = require("axios");
|
|
17
|
+
const rxjs_1 = require("rxjs");
|
|
18
|
+
let MicroserviceService = MicroserviceService_1 = class MicroserviceService {
|
|
19
|
+
static async projectName() {
|
|
20
|
+
var data = await (0, promises_1.readFile)(path.join(process.cwd(), 'package.json'));
|
|
21
|
+
const { name } = JSON.parse(data.toString());
|
|
22
|
+
return name;
|
|
23
|
+
}
|
|
24
|
+
static async getServiceURI(serviceName) {
|
|
25
|
+
const response = await axios_1.default.get(`${process.env["CONSUL_URL"]}/v1/catalog/service/${serviceName}`);
|
|
26
|
+
const serviceInfo = response.data;
|
|
27
|
+
if (serviceInfo.length > 0) {
|
|
28
|
+
const service = serviceInfo[0];
|
|
29
|
+
const address = service.ServiceAddress || service.Address;
|
|
30
|
+
const port = service.ServicePort;
|
|
31
|
+
return {
|
|
32
|
+
host: address,
|
|
33
|
+
port: port,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
throw new common_1.NotFoundException(`Service ${serviceName} not found in Consul catalog`);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
static async sendTCPMessage(service, messagePattern, payload) {
|
|
41
|
+
const client = microservices_1.ClientProxyFactory.create({
|
|
42
|
+
transport: microservices_1.Transport.TCP,
|
|
43
|
+
options: await MicroserviceService_1.getServiceURI(service),
|
|
44
|
+
});
|
|
45
|
+
try {
|
|
46
|
+
const result = await (0, rxjs_1.lastValueFrom)(await client.send(messagePattern, payload));
|
|
47
|
+
return result;
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
throw error;
|
|
51
|
+
}
|
|
52
|
+
finally {
|
|
53
|
+
client.close();
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
static async registerService(address) {
|
|
57
|
+
const projectName = await this.projectName();
|
|
58
|
+
const serviceData = {
|
|
59
|
+
ID: projectName,
|
|
60
|
+
Name: projectName,
|
|
61
|
+
Address: address.address,
|
|
62
|
+
Port: address.port,
|
|
63
|
+
Check: {
|
|
64
|
+
TCP: `${address.address}:${address.port}`,
|
|
65
|
+
Interval: "10s",
|
|
66
|
+
Timeout: "5s",
|
|
67
|
+
DeregisterCriticalServiceAfter: "1m"
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
await axios_1.default.put(`${process.env["CONSUL_URL"]}/v1/agent/service/register`, serviceData);
|
|
71
|
+
console.log(`Service registered with Consul on ${address.address}:${address.port}`);
|
|
72
|
+
}
|
|
73
|
+
static async bootstrapMicroservice(appModule) {
|
|
74
|
+
const app = await core_1.NestFactory.createMicroservice(appModule, {
|
|
75
|
+
transport: microservices_1.Transport.TCP,
|
|
76
|
+
});
|
|
77
|
+
await app.listen();
|
|
78
|
+
if (process.env["CONSUL_URL"]) {
|
|
79
|
+
const tcpServer = app.server.server;
|
|
80
|
+
this.registerService(tcpServer.address());
|
|
81
|
+
}
|
|
82
|
+
return app;
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
exports.MicroserviceService = MicroserviceService;
|
|
86
|
+
exports.MicroserviceService = MicroserviceService = MicroserviceService_1 = __decorate([
|
|
87
|
+
(0, common_1.Injectable)()
|
|
88
|
+
], MicroserviceService);
|
|
89
|
+
//# sourceMappingURL=microservice.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"microservice.service.js","sourceRoot":"","sources":["../../utils/src/microservice/microservice.service.ts"],"names":[],"mappings":"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"}
|