@minimaltech/node-infra 0.4.2 → 0.4.4
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/base/controllers/relational.controller.d.ts +3 -1
- package/dist/helpers/cron.helper.d.ts +10 -1
- package/dist/helpers/cron.helper.js +22 -1
- package/dist/helpers/cron.helper.js.map +1 -1
- package/dist/helpers/network/network-tcp-server.helper.d.ts +16 -14
- package/dist/helpers/network/network-tcp-server.helper.js +62 -11
- package/dist/helpers/network/network-tcp-server.helper.js.map +1 -1
- package/dist/helpers/storage/minio.helper.d.ts +1 -1
- package/package.json +2 -2
@@ -31,7 +31,9 @@ export interface IRelationCrudControllerOptions {
|
|
31
31
|
endPoint?: string;
|
32
32
|
};
|
33
33
|
}
|
34
|
-
export declare const defineRelationViewController: <S extends BaseTzEntity,
|
34
|
+
export declare const defineRelationViewController: <S extends BaseTzEntity, // Source Entity Type
|
35
|
+
T extends BaseTzEntity, // Target Entity Type
|
36
|
+
TE extends BaseTzEntity = any>(opts: {
|
35
37
|
baseClass?: Class<BaseController>;
|
36
38
|
entities: {
|
37
39
|
source: string;
|
@@ -3,9 +3,10 @@ import { CronJob, CronOnCompleteCommand } from 'cron';
|
|
3
3
|
export interface ICronHelperOptions {
|
4
4
|
cronTime: string;
|
5
5
|
onTick: () => void | Promise<void>;
|
6
|
-
onCompleted?: CronOnCompleteCommand;
|
6
|
+
onCompleted?: CronOnCompleteCommand | null;
|
7
7
|
autoStart?: boolean;
|
8
8
|
tz?: string;
|
9
|
+
errorHandler?: (error: unknown) => void | null;
|
9
10
|
}
|
10
11
|
export declare class CronHelper extends BaseHelper {
|
11
12
|
private cronTime;
|
@@ -13,9 +14,17 @@ export declare class CronHelper extends BaseHelper {
|
|
13
14
|
private onCompleted?;
|
14
15
|
private autoStart;
|
15
16
|
private tz?;
|
17
|
+
private errorHandler?;
|
16
18
|
instance: CronJob;
|
17
19
|
constructor(opts: ICronHelperOptions);
|
18
20
|
static newInstance(opts: ICronHelperOptions): CronHelper;
|
19
21
|
configure(): void;
|
20
22
|
start(): void;
|
23
|
+
modifyCronTime(opts: {
|
24
|
+
cronTime: string;
|
25
|
+
shouldFireOnTick?: boolean;
|
26
|
+
}): void;
|
27
|
+
duplicate(opts: {
|
28
|
+
cronTime: string;
|
29
|
+
}): CronHelper;
|
21
30
|
}
|
@@ -13,12 +13,13 @@ class CronHelper extends base_helper_1.BaseHelper {
|
|
13
13
|
constructor(opts) {
|
14
14
|
var _a;
|
15
15
|
super({ scope: CronHelper.name, identifier: (_a = opts.cronTime) !== null && _a !== void 0 ? _a : CronHelper.name });
|
16
|
-
const { cronTime, onTick, onCompleted, autoStart = false, tz } = opts;
|
16
|
+
const { cronTime, onTick, onCompleted, autoStart = false, tz, errorHandler } = opts;
|
17
17
|
this.cronTime = cronTime;
|
18
18
|
this.onTick = onTick;
|
19
19
|
this.onCompleted = onCompleted;
|
20
20
|
this.autoStart = autoStart !== null && autoStart !== void 0 ? autoStart : false;
|
21
21
|
this.tz = tz;
|
22
|
+
this.errorHandler = errorHandler;
|
22
23
|
this.configure();
|
23
24
|
}
|
24
25
|
static newInstance(opts) {
|
@@ -45,6 +46,7 @@ class CronHelper extends base_helper_1.BaseHelper {
|
|
45
46
|
onTick: this.onTick,
|
46
47
|
onComplete: this.onCompleted,
|
47
48
|
start: this.autoStart,
|
49
|
+
errorHandler: this.errorHandler,
|
48
50
|
timeZone: this.tz,
|
49
51
|
});
|
50
52
|
}
|
@@ -55,6 +57,25 @@ class CronHelper extends base_helper_1.BaseHelper {
|
|
55
57
|
}
|
56
58
|
this.instance.start();
|
57
59
|
}
|
60
|
+
modifyCronTime(opts) {
|
61
|
+
const { cronTime, shouldFireOnTick = false } = opts;
|
62
|
+
this.instance.setTime(new cron_1.CronTime(cronTime));
|
63
|
+
if (shouldFireOnTick) {
|
64
|
+
this.instance.fireOnTick();
|
65
|
+
}
|
66
|
+
}
|
67
|
+
duplicate(opts) {
|
68
|
+
const { cronTime } = opts;
|
69
|
+
const options = {
|
70
|
+
cronTime: cronTime,
|
71
|
+
onTick: this.onTick,
|
72
|
+
onCompleted: this.onCompleted,
|
73
|
+
autoStart: this.autoStart,
|
74
|
+
tz: this.tz,
|
75
|
+
errorHandler: this.errorHandler,
|
76
|
+
};
|
77
|
+
return CronHelper.newInstance(options);
|
78
|
+
}
|
58
79
|
}
|
59
80
|
exports.CronHelper = CronHelper;
|
60
81
|
//# sourceMappingURL=cron.helper.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"cron.helper.js","sourceRoot":"","sources":["../../src/helpers/cron.helper.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAgD;AAChD,2CAAuC;AACvC,+
|
1
|
+
{"version":3,"file":"cron.helper.js","sourceRoot":"","sources":["../../src/helpers/cron.helper.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAgD;AAChD,2CAAuC;AACvC,+BAAgE;AAChE,6DAAqC;AAWrC,2DAA2D;AAC3D,MAAa,UAAW,SAAQ,wBAAU;IAUxC,YAAY,IAAwB;;QAClC,KAAK,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,MAAA,IAAI,CAAC,QAAQ,mCAAI,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QAEhF,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,GAAG,KAAK,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;QACpF,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,KAAK,CAAC;QACpC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QAEjC,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,IAAwB;QACzC,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,SAAS;QACP,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAA,iBAAO,EAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAA,oBAAQ,EAAC;gBACb,OAAO,EAAE,yEAAyE;aACnF,CAAC,CAAC;QACL,CAAC;QAED;;;;;;;;;aASK;QAEL,IAAI,CAAC,QAAQ,GAAG,cAAO,CAAC,IAAI,CAAC;YAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,KAAK,EAAE,IAAI,CAAC,SAAS;YACrB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,QAAQ,EAAE,IAAI,CAAC,EAAE;SAClB,CAAC,CAAC;IACL,CAAC;IAED,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;YACjF,OAAO;QACT,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;IAED,cAAc,CAAC,IAAsD;QACnE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC;QAEpD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,eAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE9C,IAAI,gBAAgB,EAAE,CAAC;YACrB,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,SAAS,CAAC,IAA0B;QAClC,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAE1B,MAAM,OAAO,GAAuB;YAClC,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC;QAEF,OAAO,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;CACF;AAzFD,gCAyFC"}
|
@@ -1,31 +1,29 @@
|
|
1
1
|
import { BaseHelper } from '../../base/base.helper';
|
2
|
-
import {
|
2
|
+
import { ValueOrPromise } from '../../common/types';
|
3
|
+
import { dayjs } from '../../utilities/date.utility';
|
3
4
|
import { ListenOptions, Socket as SocketClient, createServer } from 'net';
|
4
5
|
interface ITcpSocketClient {
|
5
6
|
id: string;
|
6
7
|
socket: SocketClient;
|
7
8
|
state: 'unauthorized' | 'authenticating' | 'authenticated';
|
8
9
|
subscriptions: Set<string>;
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
};
|
14
|
-
localAddress?: {
|
15
|
-
host?: string;
|
16
|
-
port?: number;
|
17
|
-
family?: string;
|
10
|
+
storage: {
|
11
|
+
connectedAt: dayjs.Dayjs;
|
12
|
+
authenticatedAt: dayjs.Dayjs | null;
|
13
|
+
[additionField: symbol | string]: any;
|
18
14
|
};
|
19
15
|
}
|
20
16
|
export interface ITcpSocketServerOptions {
|
21
17
|
identifier: string;
|
22
18
|
serverOptions: Partial<ListenOptions>;
|
23
|
-
|
24
|
-
|
19
|
+
authenticateOptions: {
|
20
|
+
required: boolean;
|
21
|
+
duration?: number;
|
22
|
+
};
|
25
23
|
extraEvents?: Record<string, (opts: {
|
26
24
|
id: string;
|
27
25
|
socket: SocketClient;
|
28
|
-
|
26
|
+
args: any;
|
29
27
|
}) => ValueOrPromise<void>>;
|
30
28
|
onServerReady?: (opts: {
|
31
29
|
server: ReturnType<typeof createServer>;
|
@@ -51,9 +49,9 @@ export interface ITcpSocketServerOptions {
|
|
51
49
|
}
|
52
50
|
export declare class NetworkTcpServer extends BaseHelper {
|
53
51
|
private serverOptions;
|
52
|
+
private authenticateOptions;
|
54
53
|
private clients;
|
55
54
|
private server;
|
56
|
-
private parser?;
|
57
55
|
private extraEvents;
|
58
56
|
private onServerReady?;
|
59
57
|
private onClientConnected?;
|
@@ -71,6 +69,10 @@ export declare class NetworkTcpServer extends BaseHelper {
|
|
71
69
|
id: string;
|
72
70
|
}): ITcpSocketClient;
|
73
71
|
getServer(): import("net").Server;
|
72
|
+
doAuthenticate(opts: {
|
73
|
+
id: string;
|
74
|
+
state: 'unauthorized' | 'authenticating' | 'authenticated';
|
75
|
+
}): void;
|
74
76
|
emit(opts: {
|
75
77
|
clientId: string;
|
76
78
|
payload: Buffer | string;
|
@@ -1,8 +1,14 @@
|
|
1
1
|
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
6
|
exports.NetworkTcpServer = void 0;
|
4
7
|
const base_helper_1 = require("../../base/base.helper");
|
8
|
+
const utilities_1 = require("../../utilities");
|
9
|
+
const date_utility_1 = require("../../utilities/date.utility");
|
5
10
|
const parse_utility_1 = require("../../utilities/parse.utility");
|
11
|
+
const omit_1 = __importDefault(require("lodash/omit"));
|
6
12
|
const net_1 = require("net");
|
7
13
|
class NetworkTcpServer extends base_helper_1.BaseHelper {
|
8
14
|
constructor(opts) {
|
@@ -11,7 +17,13 @@ class NetworkTcpServer extends base_helper_1.BaseHelper {
|
|
11
17
|
this.serverOptions = {};
|
12
18
|
this.clients = Object.assign({});
|
13
19
|
this.serverOptions = opts.serverOptions;
|
14
|
-
this.
|
20
|
+
this.authenticateOptions = opts.authenticateOptions;
|
21
|
+
if (this.authenticateOptions.required &&
|
22
|
+
(!this.authenticateOptions.duration || this.authenticateOptions.duration < 0)) {
|
23
|
+
throw (0, utilities_1.getError)({
|
24
|
+
message: 'TCP Server | Invalid authenticate duration | Required duration for authenticateOptions',
|
25
|
+
});
|
26
|
+
}
|
15
27
|
this.extraEvents = (_a = opts.extraEvents) !== null && _a !== void 0 ? _a : {};
|
16
28
|
this.onServerReady = opts.onServerReady;
|
17
29
|
this.onClientConnected = opts.onClientConnected;
|
@@ -38,37 +50,53 @@ class NetworkTcpServer extends base_helper_1.BaseHelper {
|
|
38
50
|
const id = (0, parse_utility_1.getUID)();
|
39
51
|
socket.on('data', (data) => {
|
40
52
|
var _a;
|
41
|
-
this.
|
42
|
-
(_a = this.onClientData) === null || _a === void 0 ? void 0 : _a.call(this, { id, socket, data: this.parser ? this.parser(data) : data });
|
53
|
+
(_a = this.onClientData) === null || _a === void 0 ? void 0 : _a.call(this, { id, socket, data });
|
43
54
|
});
|
44
55
|
socket.on('error', (error) => {
|
45
56
|
var _a;
|
46
57
|
this.logger.error('[onClientConnect][error] ID: %s | Error: %s', id, error);
|
47
58
|
(_a = this.onClientError) === null || _a === void 0 ? void 0 : _a.call(this, { id, socket, error });
|
59
|
+
socket.end();
|
48
60
|
});
|
49
61
|
socket.on('close', (hasError) => {
|
50
62
|
var _a;
|
51
63
|
this.logger.info('[onClientConnect][close] ID: %s | hasError: %s', id, hasError);
|
52
64
|
(_a = this.onClientClose) === null || _a === void 0 ? void 0 : _a.call(this, { id, socket });
|
65
|
+
this.clients = (0, omit_1.default)(this.clients, [id]);
|
53
66
|
});
|
54
67
|
for (const extraEvent in this.extraEvents) {
|
55
|
-
socket.on(extraEvent,
|
56
|
-
this.extraEvents[extraEvent]({ id, socket,
|
68
|
+
socket.on(extraEvent, args => {
|
69
|
+
this.extraEvents[extraEvent]({ id, socket, args });
|
57
70
|
});
|
58
71
|
}
|
59
72
|
this.clients[id] = {
|
60
73
|
id,
|
61
74
|
socket,
|
62
|
-
state: 'unauthorized',
|
75
|
+
state: this.authenticateOptions.required ? 'unauthorized' : 'authenticated',
|
63
76
|
subscriptions: new Set([]),
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
family: socket.remoteFamily,
|
77
|
+
storage: {
|
78
|
+
connectedAt: (0, date_utility_1.dayjs)(),
|
79
|
+
authenticatedAt: this.authenticateOptions.required ? null : (0, date_utility_1.dayjs)(),
|
68
80
|
},
|
69
81
|
};
|
70
|
-
this.logger.info('[onClientConnect] New TCP SocketClient | Client: %s', `${id} - ${socket.remoteAddress} - ${socket.remotePort} - ${socket.remoteFamily}
|
82
|
+
this.logger.info('[onClientConnect] New TCP SocketClient | Client: %s | authenticateOptions: %s %s', `${id} - ${socket.remoteAddress} - ${socket.remotePort} - ${socket.remoteFamily}`, this.authenticateOptions.required, this.authenticateOptions.duration);
|
71
83
|
(_a = this.onClientConnected) === null || _a === void 0 ? void 0 : _a.call(this, { id, socket });
|
84
|
+
// Check client authentication
|
85
|
+
if (this.authenticateOptions.required &&
|
86
|
+
this.authenticateOptions.duration &&
|
87
|
+
this.authenticateOptions.duration > 0) {
|
88
|
+
setTimeout(() => {
|
89
|
+
const client = this.getClient({ id });
|
90
|
+
if (!client) {
|
91
|
+
return;
|
92
|
+
}
|
93
|
+
if (client.state === 'authenticated') {
|
94
|
+
return;
|
95
|
+
}
|
96
|
+
this.emit({ clientId: id, payload: 'Unauthorized Client' });
|
97
|
+
client.socket.end();
|
98
|
+
}, this.authenticateOptions.duration);
|
99
|
+
}
|
72
100
|
}
|
73
101
|
getClients() {
|
74
102
|
return this.clients;
|
@@ -80,6 +108,29 @@ class NetworkTcpServer extends base_helper_1.BaseHelper {
|
|
80
108
|
getServer() {
|
81
109
|
return this.server;
|
82
110
|
}
|
111
|
+
doAuthenticate(opts) {
|
112
|
+
const { id, state } = opts;
|
113
|
+
const client = this.getClient({ id });
|
114
|
+
if (!client) {
|
115
|
+
this.logger.error('[authenticateClient][%s] Client %s NOT FOUND', id);
|
116
|
+
return;
|
117
|
+
}
|
118
|
+
client.state = state;
|
119
|
+
switch (state) {
|
120
|
+
case 'unauthorized':
|
121
|
+
case 'authenticating': {
|
122
|
+
client.storage.authenticatedAt = null;
|
123
|
+
break;
|
124
|
+
}
|
125
|
+
case 'authenticated': {
|
126
|
+
client.storage.authenticatedAt = (0, date_utility_1.dayjs)();
|
127
|
+
break;
|
128
|
+
}
|
129
|
+
default: {
|
130
|
+
break;
|
131
|
+
}
|
132
|
+
}
|
133
|
+
}
|
83
134
|
emit(opts) {
|
84
135
|
const { clientId, payload } = opts;
|
85
136
|
const client = this.getClient({ id: clientId });
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"network-tcp-server.helper.js","sourceRoot":"","sources":["../../../src/helpers/network/network-tcp-server.helper.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"network-tcp-server.helper.js","sourceRoot":"","sources":["../../../src/helpers/network/network-tcp-server.helper.ts"],"names":[],"mappings":"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"}
|
@@ -58,5 +58,5 @@ export declare class MinioHelper extends BaseHelper {
|
|
58
58
|
bucket: string;
|
59
59
|
prefix?: string;
|
60
60
|
useRecursive?: boolean;
|
61
|
-
}): import("minio").BucketStream<import("minio").
|
61
|
+
}): import("minio").BucketStream<import("minio/dist/main/internal/type.js").ObjectInfo>;
|
62
62
|
}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@minimaltech/node-infra",
|
3
|
-
"version": "0.4.
|
3
|
+
"version": "0.4.4",
|
4
4
|
"description": "Minimal Technology NodeJS Infrastructure - Loopback 4 Framework",
|
5
5
|
"keywords": [
|
6
6
|
"web",
|
@@ -130,7 +130,7 @@
|
|
130
130
|
"axios": "^1.7.8",
|
131
131
|
"bullmq": "^5.31.0",
|
132
132
|
"casbin": "^5.36.0",
|
133
|
-
"cron": "^
|
133
|
+
"cron": "^4.1.0",
|
134
134
|
"dayjs": "^1.11.13",
|
135
135
|
"dotenv-flow": "4.1.0",
|
136
136
|
"ejs": "^3.1.10",
|