phx-node 1.0.126 → 1.0.127
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/module/cronjob-manager/cronjob-manager.service.d.ts +3 -3
- package/dist/module/cronjob-manager/cronjob-manager.service.js +13 -11
- package/dist/module/cronjob-manager/cronjob-manager.service.js.map +1 -1
- package/dist/module/cronjob-manager/query.d.ts +2 -0
- package/dist/module/cronjob-manager/query.js +13 -0
- package/dist/module/cronjob-manager/query.js.map +1 -0
- package/dist/module/cronjob-manager/schoollist.service.d.ts +16 -0
- package/dist/module/cronjob-manager/schoollist.service.js +76 -0
- package/dist/module/cronjob-manager/schoollist.service.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { PHXCloneCronjob } from "./clone-cronjob.service";
|
|
2
2
|
import { ServiceItem } from "src/lib/types/cronjob-manager";
|
|
3
|
-
import { PHXHostnameService } from "../hostname/hostname.service";
|
|
4
3
|
import { PHXConfigByHostNameService } from "src/module/cronjob-manager/config-by-hostname.service";
|
|
4
|
+
import { SchoolListService } from "./schoollist.service";
|
|
5
5
|
export declare class PHXCronjobManagerService {
|
|
6
6
|
private readonly cloneCronjob;
|
|
7
|
-
private readonly hostnameService;
|
|
8
7
|
private readonly configByHostNameService;
|
|
8
|
+
private readonly schoolListService;
|
|
9
9
|
private readonly logger;
|
|
10
|
-
constructor(cloneCronjob: PHXCloneCronjob,
|
|
10
|
+
constructor(cloneCronjob: PHXCloneCronjob, configByHostNameService: PHXConfigByHostNameService, schoolListService: SchoolListService);
|
|
11
11
|
init(listService: Array<ServiceItem>): Promise<void>;
|
|
12
12
|
}
|
|
@@ -22,13 +22,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
22
22
|
exports.PHXCronjobManagerService = void 0;
|
|
23
23
|
const common_1 = require("@nestjs/common");
|
|
24
24
|
const clone_cronjob_service_1 = require("./clone-cronjob.service");
|
|
25
|
-
const hostname_service_1 = require("../hostname/hostname.service");
|
|
26
25
|
const config_by_hostname_service_1 = require("./config-by-hostname.service");
|
|
26
|
+
const schoollist_service_1 = require("./schoollist.service");
|
|
27
|
+
const query_1 = require("./query");
|
|
27
28
|
let PHXCronjobManagerService = PHXCronjobManagerService_1 = class PHXCronjobManagerService {
|
|
28
|
-
constructor(cloneCronjob,
|
|
29
|
+
constructor(cloneCronjob, configByHostNameService, schoolListService) {
|
|
29
30
|
this.cloneCronjob = cloneCronjob;
|
|
30
|
-
this.hostnameService = hostnameService;
|
|
31
31
|
this.configByHostNameService = configByHostNameService;
|
|
32
|
+
this.schoolListService = schoolListService;
|
|
32
33
|
this.logger = new common_1.Logger(PHXCronjobManagerService_1.name);
|
|
33
34
|
}
|
|
34
35
|
init(listService) {
|
|
@@ -40,14 +41,14 @@ let PHXCronjobManagerService = PHXCronjobManagerService_1 = class PHXCronjobMana
|
|
|
40
41
|
task: () => __awaiter(this, void 0, void 0, function* () {
|
|
41
42
|
var _a, _b;
|
|
42
43
|
const [listHostName, listConfigCronjobByHostname] = yield Promise.all([
|
|
43
|
-
this.
|
|
44
|
+
this.schoolListService.getAllSchool(),
|
|
44
45
|
this.configByHostNameService.getCronConfig(),
|
|
45
46
|
]);
|
|
46
47
|
if (listHostName.length === 0 ||
|
|
47
48
|
listConfigCronjobByHostname.length === 0) {
|
|
48
49
|
return;
|
|
49
50
|
}
|
|
50
|
-
for (const {
|
|
51
|
+
for (const { hostname, school_id, isTenantMode } of listHostName) {
|
|
51
52
|
const configItem = listConfigCronjobByHostname.find((item) => (item === null || item === void 0 ? void 0 : item.school.hostname) === hostname);
|
|
52
53
|
if (!configItem) {
|
|
53
54
|
this.logger.error(`Chưa cấu hình cronjob cho hostname: ${hostname}`);
|
|
@@ -63,12 +64,13 @@ let PHXCronjobManagerService = PHXCronjobManagerService_1 = class PHXCronjobMana
|
|
|
63
64
|
if (!isCronJobEnable)
|
|
64
65
|
continue;
|
|
65
66
|
try {
|
|
66
|
-
this.logger.log(`[${hostname}, ${
|
|
67
|
-
|
|
68
|
-
|
|
67
|
+
this.logger.log(`[${hostname}, ${cronName}] start processing`);
|
|
68
|
+
const hostnameRun = isTenantMode ? `${query_1.HOSTNAME_MULTI_TESTING}?tenant_id=${school_id}` : hostname;
|
|
69
|
+
yield taskService.init(hostnameRun);
|
|
70
|
+
this.logger.log(`[${hostname}, ${cronName}] completed`);
|
|
69
71
|
}
|
|
70
72
|
catch (error) {
|
|
71
|
-
this.logger.error(`[${hostname}, ${
|
|
73
|
+
this.logger.error(`[${hostname}, ${cronName}] failed`, (error === null || error === void 0 ? void 0 : error.stack) || error);
|
|
72
74
|
}
|
|
73
75
|
}
|
|
74
76
|
}),
|
|
@@ -81,7 +83,7 @@ exports.PHXCronjobManagerService = PHXCronjobManagerService;
|
|
|
81
83
|
exports.PHXCronjobManagerService = PHXCronjobManagerService = PHXCronjobManagerService_1 = __decorate([
|
|
82
84
|
(0, common_1.Injectable)(),
|
|
83
85
|
__metadata("design:paramtypes", [clone_cronjob_service_1.PHXCloneCronjob,
|
|
84
|
-
|
|
85
|
-
|
|
86
|
+
config_by_hostname_service_1.PHXConfigByHostNameService,
|
|
87
|
+
schoollist_service_1.SchoolListService])
|
|
86
88
|
], PHXCronjobManagerService);
|
|
87
89
|
//# sourceMappingURL=cronjob-manager.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cronjob-manager.service.js","sourceRoot":"","sources":["../../../src/module/cronjob-manager/cronjob-manager.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAoD;AACpD,mEAA0D;
|
|
1
|
+
{"version":3,"file":"cronjob-manager.service.js","sourceRoot":"","sources":["../../../src/module/cronjob-manager/cronjob-manager.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.QUERY_GET_LIST_SCHOOL_MULTI = exports.HOSTNAME_MULTI_TESTING = void 0;
|
|
4
|
+
exports.HOSTNAME_MULTI_TESTING = 'https://fly.phx-smartschool.com';
|
|
5
|
+
exports.QUERY_GET_LIST_SCHOOL_MULTI = `
|
|
6
|
+
query GetListSchoolMainWrapV4 {
|
|
7
|
+
school(where: {deleted_at: {_is_null: true}}) {
|
|
8
|
+
id
|
|
9
|
+
name
|
|
10
|
+
hostname
|
|
11
|
+
}
|
|
12
|
+
}`;
|
|
13
|
+
//# sourceMappingURL=query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/module/cronjob-manager/query.ts"],"names":[],"mappings":";;;AAAa,QAAA,sBAAsB,GAAG,iCAAiC,CAAA;AAC1D,QAAA,2BAA2B,GAAE;;;;;;;EAOxC,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { HttpService } from "@nestjs/axios";
|
|
2
|
+
import { ConfigService } from "@nestjs/config";
|
|
3
|
+
import { PHXGrpcClientSystemService } from "../grpc-client/grpc-client-system.service";
|
|
4
|
+
export declare class SchoolListService {
|
|
5
|
+
private readonly configService;
|
|
6
|
+
private readonly httpService;
|
|
7
|
+
private readonly grpc;
|
|
8
|
+
private readonly logger;
|
|
9
|
+
constructor(configService: ConfigService, httpService: HttpService, grpc: PHXGrpcClientSystemService);
|
|
10
|
+
getAllSchool(): Promise<Array<{
|
|
11
|
+
hostname: string;
|
|
12
|
+
school_id: number;
|
|
13
|
+
isTenantMode?: boolean;
|
|
14
|
+
}>>;
|
|
15
|
+
private getListSchoolMultiDB;
|
|
16
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
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 __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
12
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
13
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
14
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
15
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
16
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
17
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
var SchoolListService_1;
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.SchoolListService = void 0;
|
|
23
|
+
const axios_1 = require("@nestjs/axios");
|
|
24
|
+
const common_1 = require("@nestjs/common");
|
|
25
|
+
const config_1 = require("@nestjs/config");
|
|
26
|
+
const query_1 = require("./query");
|
|
27
|
+
const grpc_client_system_service_1 = require("../grpc-client/grpc-client-system.service");
|
|
28
|
+
let SchoolListService = SchoolListService_1 = class SchoolListService {
|
|
29
|
+
constructor(configService, httpService, grpc) {
|
|
30
|
+
this.configService = configService;
|
|
31
|
+
this.httpService = httpService;
|
|
32
|
+
this.grpc = grpc;
|
|
33
|
+
this.logger = new common_1.Logger(SchoolListService_1.name);
|
|
34
|
+
}
|
|
35
|
+
getAllSchool() {
|
|
36
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
37
|
+
try {
|
|
38
|
+
const internalGrpcGateway = this.configService.get("INTERNAL_GRPC_GATEWAY");
|
|
39
|
+
if (!internalGrpcGateway) {
|
|
40
|
+
this.logger.error("INTERNAL_GRPC_GATEWAY is not configured");
|
|
41
|
+
return [];
|
|
42
|
+
}
|
|
43
|
+
const response = yield this.httpService
|
|
44
|
+
.get(`${internalGrpcGateway}/list-school`)
|
|
45
|
+
.toPromise();
|
|
46
|
+
const listSchoolDataCenter = response.data.data || [];
|
|
47
|
+
const listSchoolMulti = yield this.getListSchoolMultiDB();
|
|
48
|
+
return [...listSchoolMulti, listSchoolDataCenter];
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
this.logger.error(`Error occurred while sending request: ${error.message}`, error.stack);
|
|
52
|
+
return [];
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
getListSchoolMultiDB() {
|
|
57
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
58
|
+
try {
|
|
59
|
+
const response = yield this.grpc.query({ query: query_1.QUERY_GET_LIST_SCHOOL_MULTI, hostname: query_1.HOSTNAME_MULTI_TESTING });
|
|
60
|
+
const school = (response === null || response === void 0 ? void 0 : response.school) || [];
|
|
61
|
+
return school.map((item) => (Object.assign(Object.assign({}, item), { isTenantMode: true })));
|
|
62
|
+
}
|
|
63
|
+
catch (e) {
|
|
64
|
+
this.logger.error(`Error get list school multi: ${e.message}`, e.stack);
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
exports.SchoolListService = SchoolListService;
|
|
70
|
+
exports.SchoolListService = SchoolListService = SchoolListService_1 = __decorate([
|
|
71
|
+
(0, common_1.Injectable)(),
|
|
72
|
+
__metadata("design:paramtypes", [config_1.ConfigService,
|
|
73
|
+
axios_1.HttpService,
|
|
74
|
+
grpc_client_system_service_1.PHXGrpcClientSystemService])
|
|
75
|
+
], SchoolListService);
|
|
76
|
+
//# sourceMappingURL=schoollist.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schoollist.service.js","sourceRoot":"","sources":["../../../src/module/cronjob-manager/schoollist.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,yCAA4C;AAC5C,2CAAoD;AACpD,2CAA+C;AAC/C,mCAA4E;AAC5E,0FAAqF;AAG9E,IAAM,iBAAiB,yBAAvB,MAAM,iBAAiB;IAE5B,YACmB,aAA4B,EAC5B,WAAwB,EACxB,IAAgC;QAFhC,kBAAa,GAAb,aAAa,CAAe;QAC5B,gBAAW,GAAX,WAAW,CAAa;QACxB,SAAI,GAAJ,IAAI,CAA4B;QAJlC,WAAM,GAAG,IAAI,eAAM,CAAC,mBAAiB,CAAC,IAAI,CAAC,CAAC;IAK1D,CAAC;IAES,YAAY;;YACvB,IAAI,CAAC;gBACH,MAAM,mBAAmB,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAS,uBAAuB,CAAC,CAAC;gBACpF,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;oBAC7D,OAAO,EAAE,CAAC;gBACZ,CAAC;gBAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW;qBACpC,GAAG,CAAC,GAAG,mBAAmB,cAAc,CAAC;qBACzC,SAAS,EAAE,CAAC;gBACf,MAAM,oBAAoB,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;gBAGtD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAA;gBAEzD,OAAO,CAAC,GAAG,eAAe,EAAE,oBAAoB,CAAC,CAAC;YACpD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,yCAAyC,KAAK,CAAC,OAAO,EAAE,EACxD,KAAK,CAAC,KAAK,CACZ,CAAC;gBACF,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;KAAA;IAEa,oBAAoB;;YAChC,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAC,KAAK,EAAE,mCAA2B,EAAE,QAAQ,EAAE,8BAAsB,EAAC,CAAC,CAAA;gBAC9G,MAAM,MAAM,GAAG,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,KAAI,EAAE,CAAA;gBACrC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iCAAK,IAAI,KAAE,YAAY,EAAE,IAAI,IAAE,CAAC,CAAA;YAC9D,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,gCAAgC,CAAC,CAAC,OAAO,EAAE,EAC3C,CAAC,CAAC,KAAK,CACV,CAAC;YACJ,CAAC;QACH,CAAC;KAAA;CACF,CAAA;AA9CY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;qCAIuB,sBAAa;QACf,mBAAW;QAClB,uDAA0B;GALxC,iBAAiB,CA8C7B"}
|