@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.
@@ -31,7 +31,9 @@ export interface IRelationCrudControllerOptions {
31
31
  endPoint?: string;
32
32
  };
33
33
  }
34
- export declare const defineRelationViewController: <S extends BaseTzEntity, T extends BaseTzEntity, TE extends BaseTzEntity = any>(opts: {
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,+BAAsD;AACtD,6DAAqC;AAUrC,2DAA2D;AAC3D,MAAa,UAAW,SAAQ,wBAAU;IASxC,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,GAAG,IAAI,CAAC;QACtE,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;QAEb,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;QACL,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,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;CACF;AA5DD,gCA4DC"}
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 { IHandshake, ValueOrPromise } from '../../common/types';
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
- remoteAddress: {
10
- host?: string;
11
- port?: number;
12
- family?: string;
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
- parser?: <T>(data: Buffer | string) => T;
24
- authenticateFn: (args: IHandshake) => Promise<boolean>;
19
+ authenticateOptions: {
20
+ required: boolean;
21
+ duration?: number;
22
+ };
25
23
  extraEvents?: Record<string, (opts: {
26
24
  id: string;
27
25
  socket: SocketClient;
28
- data: Buffer | string;
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.parser = opts.parser;
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.logger.info('[onClientConnect][data] ID: %s | Data: %s', id, data);
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, (data) => {
56
- this.extraEvents[extraEvent]({ id, socket, data });
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
- remoteAddress: {
65
- host: socket.remoteAddress,
66
- port: socket.remotePort,
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":"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"}
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").BucketItem>;
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.2",
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": "^3.2.1",
133
+ "cron": "^4.1.0",
134
134
  "dayjs": "^1.11.13",
135
135
  "dotenv-flow": "4.1.0",
136
136
  "ejs": "^3.1.10",