@futdevpro/nts-dynamo 1.9.26 → 1.9.28
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/build/_collections/global-settings.const.d.ts.map +1 -1
- package/build/_collections/global-settings.const.js +1 -0
- package/build/_collections/global-settings.const.js.map +1 -1
- package/build/_models/control-models/endpoint-params.control-model.d.ts +2 -0
- package/build/_models/control-models/endpoint-params.control-model.d.ts.map +1 -1
- package/build/_models/control-models/endpoint-params.control-model.js +34 -20
- package/build/_models/control-models/endpoint-params.control-model.js.map +1 -1
- package/build/_models/interfaces/global-log-settings.interface.d.ts +4 -0
- package/build/_models/interfaces/global-log-settings.interface.d.ts.map +1 -1
- package/build/_modules/mock/socket-client.mock.d.ts +4 -4
- package/build/_modules/mock/socket-client.mock.d.ts.map +1 -1
- package/build/_modules/mock/socket-client.mock.js +4 -5
- package/build/_modules/mock/socket-client.mock.js.map +1 -1
- package/build/_modules/mock/socket-server.mock.d.ts +3 -3
- package/build/_modules/mock/socket-server.mock.d.ts.map +1 -1
- package/build/_modules/mock/socket-server.mock.js +2 -2
- package/build/_modules/mock/socket-server.mock.js.map +1 -1
- package/build/_modules/socket/_models/socket-client-service-params.control-model.d.ts +2 -8
- package/build/_modules/socket/_models/socket-client-service-params.control-model.d.ts.map +1 -1
- package/build/_modules/socket/_models/socket-client-service-params.control-model.js +4 -12
- package/build/_modules/socket/_models/socket-client-service-params.control-model.js.map +1 -1
- package/build/_modules/socket/_models/socket-presence.control-model.d.ts +5 -4
- package/build/_modules/socket/_models/socket-presence.control-model.d.ts.map +1 -1
- package/build/_modules/socket/_models/socket-presence.control-model.js +10 -8
- package/build/_modules/socket/_models/socket-presence.control-model.js.map +1 -1
- package/build/_modules/socket/_services/socket-client.service.d.ts +6 -6
- package/build/_modules/socket/_services/socket-client.service.d.ts.map +1 -1
- package/build/_modules/socket/_services/socket-client.service.js +20 -17
- package/build/_modules/socket/_services/socket-client.service.js.map +1 -1
- package/build/_modules/socket/_services/socket-server.service.d.ts +18 -18
- package/build/_modules/socket/_services/socket-server.service.d.ts.map +1 -1
- package/build/_modules/socket/_services/socket-server.service.js +79 -68
- package/build/_modules/socket/_services/socket-server.service.js.map +1 -1
- package/build/_modules/socket/index.d.ts +0 -2
- package/build/_modules/socket/index.d.ts.map +1 -1
- package/build/_modules/socket/index.js +0 -2
- package/build/_modules/socket/index.js.map +1 -1
- package/build/_modules/usage/usage.data-service.js +1 -1
- package/build/_modules/usage/usage.data-service.js.map +1 -1
- package/build/_services/base/data.service.js +4 -4
- package/build/_services/base/data.service.js.map +1 -1
- package/build/_services/base/db.service.js +3 -3
- package/build/_services/base/db.service.js.map +1 -1
- package/build/_services/core/email.service.js +1 -1
- package/build/_services/core/email.service.js.map +1 -1
- package/build/_services/server/app.server.d.ts +1 -1
- package/build/_services/server/app.server.d.ts.map +1 -1
- package/build/_services/server/app.server.js +1 -1
- package/build/_services/server/app.server.js.map +1 -1
- package/package.json +9 -19
- package/src/_collections/global-settings.const.ts +1 -0
- package/src/_models/control-models/endpoint-params.control-model.ts +51 -31
- package/src/_models/interfaces/global-log-settings.interface.ts +5 -0
- package/src/_modules/mock/socket-client.mock.ts +7 -7
- package/src/_modules/mock/socket-server.mock.ts +5 -4
- package/src/_modules/socket/_models/socket-client-service-params.control-model.ts +6 -15
- package/src/_modules/socket/_models/socket-presence.control-model.ts +13 -11
- package/src/_modules/socket/_services/socket-client.service.ts +30 -23
- package/src/_modules/socket/_services/socket-server.service.ts +129 -109
- package/src/_modules/socket/index.ts +0 -2
- package/src/_modules/usage/usage.data-service.ts +1 -1
- package/src/_services/base/data.service.ts +4 -4
- package/src/_services/base/db.service.ts +3 -3
- package/src/_services/core/email.service.ts +1 -1
- package/src/_services/server/app.server.ts +2 -2
- package/build/_modules/socket/_enums/socket-event-key.enum.d.ts +0 -15
- package/build/_modules/socket/_enums/socket-event-key.enum.d.ts.map +0 -1
- package/build/_modules/socket/_enums/socket-event-key.enum.js +0 -19
- package/build/_modules/socket/_enums/socket-event-key.enum.js.map +0 -1
- package/build/_modules/socket/_models/socket-event.control-model.d.ts +0 -61
- package/build/_modules/socket/_models/socket-event.control-model.d.ts.map +0 -1
- package/build/_modules/socket/_models/socket-event.control-model.js +0 -90
- package/build/_modules/socket/_models/socket-event.control-model.js.map +0 -1
- package/src/_modules/socket/_enums/socket-event-key.enum.ts +0 -18
- package/src/_modules/socket/_models/socket-event.control-model.ts +0 -150
|
@@ -273,7 +273,7 @@ export abstract class DyNTS_App extends DyNTS_SingletonService {
|
|
|
273
273
|
'Unhandled Rejection: ', p_passWhatIsThis.toString().split('at')[0],
|
|
274
274
|
'\n Rejection reason:', reason.toString().split('at')[0],
|
|
275
275
|
'\n\n Stack:',
|
|
276
|
-
(reason as any).stack.toString()
|
|
276
|
+
(reason as any).stack.toString()?.split('\n at')?.shift()?.join('\n at')
|
|
277
277
|
);
|
|
278
278
|
|
|
279
279
|
try {
|
|
@@ -1216,7 +1216,7 @@ export abstract class DyNTS_App extends DyNTS_SingletonService {
|
|
|
1216
1216
|
/**
|
|
1217
1217
|
* MISSING Description (TODO)
|
|
1218
1218
|
*/
|
|
1219
|
-
getRootServices?(): Promise<
|
|
1219
|
+
getRootServices?(): Promise<any[]>;
|
|
1220
1220
|
|
|
1221
1221
|
/**
|
|
1222
1222
|
* MISSING Description (TODO)
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export declare enum DyNTS_SocketEventKey {
|
|
2
|
-
/** incoming connection */
|
|
3
|
-
connection = "connection",
|
|
4
|
-
/** outgoing connection */
|
|
5
|
-
connect = "connect",
|
|
6
|
-
subscribe = "subscribe",
|
|
7
|
-
subscriptionSuccessful = "subscriptionSuccessful",
|
|
8
|
-
unsubscribe = "unsubscribe",
|
|
9
|
-
unsubscribeSuccessful = "unsubscribeSuccessful",
|
|
10
|
-
disconnect = "disconnection",
|
|
11
|
-
ping = "ping",
|
|
12
|
-
event = "event",
|
|
13
|
-
error = "error"
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=socket-event-key.enum.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"socket-event-key.enum.d.ts","sourceRoot":"","sources":["../../../../src/_modules/socket/_enums/socket-event-key.enum.ts"],"names":[],"mappings":"AACA,oBAAY,oBAAoB;IAC9B,0BAA0B;IAC1B,UAAU,eAAe;IACzB,0BAA0B;IAC1B,OAAO,YAAY;IAEnB,SAAS,cAAc;IACvB,sBAAsB,2BAA2B;IACjD,WAAW,gBAAgB;IAC3B,qBAAqB,0BAA0B;IAC/C,UAAU,kBAAkB;IAE5B,IAAI,SAAS;IACb,KAAK,UAAU;IACf,KAAK,UAAU;CAChB"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DyNTS_SocketEventKey = void 0;
|
|
4
|
-
var DyNTS_SocketEventKey;
|
|
5
|
-
(function (DyNTS_SocketEventKey) {
|
|
6
|
-
/** incoming connection */
|
|
7
|
-
DyNTS_SocketEventKey["connection"] = "connection";
|
|
8
|
-
/** outgoing connection */
|
|
9
|
-
DyNTS_SocketEventKey["connect"] = "connect";
|
|
10
|
-
DyNTS_SocketEventKey["subscribe"] = "subscribe";
|
|
11
|
-
DyNTS_SocketEventKey["subscriptionSuccessful"] = "subscriptionSuccessful";
|
|
12
|
-
DyNTS_SocketEventKey["unsubscribe"] = "unsubscribe";
|
|
13
|
-
DyNTS_SocketEventKey["unsubscribeSuccessful"] = "unsubscribeSuccessful";
|
|
14
|
-
DyNTS_SocketEventKey["disconnect"] = "disconnection";
|
|
15
|
-
DyNTS_SocketEventKey["ping"] = "ping";
|
|
16
|
-
DyNTS_SocketEventKey["event"] = "event";
|
|
17
|
-
DyNTS_SocketEventKey["error"] = "error";
|
|
18
|
-
})(DyNTS_SocketEventKey || (exports.DyNTS_SocketEventKey = DyNTS_SocketEventKey = {}));
|
|
19
|
-
//# sourceMappingURL=socket-event-key.enum.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"socket-event-key.enum.js","sourceRoot":"","sources":["../../../../src/_modules/socket/_enums/socket-event-key.enum.ts"],"names":[],"mappings":";;;AACA,IAAY,oBAeX;AAfD,WAAY,oBAAoB;IAC9B,0BAA0B;IAC1B,iDAAyB,CAAA;IACzB,0BAA0B;IAC1B,2CAAmB,CAAA;IAEnB,+CAAuB,CAAA;IACvB,yEAAiD,CAAA;IACjD,mDAA2B,CAAA;IAC3B,uEAA+C,CAAA;IAC/C,oDAA4B,CAAA;IAE5B,qCAAa,CAAA;IACb,uCAAe,CAAA;IACf,uCAAe,CAAA;AACjB,CAAC,EAfW,oBAAoB,oCAApB,oBAAoB,QAe/B"}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { DyNTS_SocketEventKey } from '../_enums/socket-event-key.enum';
|
|
2
|
-
export type DyNTS_SocketEventPreprocessTask<T = any, R = any> = (content?: T, issuer?: string) => Promise<R>;
|
|
3
|
-
export type DyNTS_SocketEventTask<T> = (content?: T, issuer?: string) => Promise<void>;
|
|
4
|
-
/**
|
|
5
|
-
* socket handling and clarification is under development
|
|
6
|
-
*/
|
|
7
|
-
export declare class DyNTS_SocketEvent<T> {
|
|
8
|
-
socketName?: string;
|
|
9
|
-
eventKey: DyNTS_SocketEventKey | string;
|
|
10
|
-
serviceName?: string;
|
|
11
|
-
preProcesses?: DyNTS_SocketEventPreprocessTask<any, any>[];
|
|
12
|
-
tasks?: DyNTS_SocketEventTask<T>[];
|
|
13
|
-
logEvent?: boolean;
|
|
14
|
-
logEventContent?: boolean;
|
|
15
|
-
constructor(set: {
|
|
16
|
-
/**
|
|
17
|
-
* naming the socket will help to follow events on service,
|
|
18
|
-
* if not set, the eventKey will be used
|
|
19
|
-
*/
|
|
20
|
-
name?: string;
|
|
21
|
-
/**
|
|
22
|
-
* define socket event type such as;
|
|
23
|
-
* connection, connect, disconnect, message, error, or anything else
|
|
24
|
-
*/
|
|
25
|
-
eventKey: DyNTS_SocketEventKey | string;
|
|
26
|
-
/**
|
|
27
|
-
* serviceName is the name of the service that will be used for logging
|
|
28
|
-
*/
|
|
29
|
-
serviceName?: string;
|
|
30
|
-
/**
|
|
31
|
-
* preprocesses are the functions the service needs to run before the actual function,
|
|
32
|
-
* these can be used for authentications, or translating data
|
|
33
|
-
*
|
|
34
|
-
* the last function in the array should return the content in the type(T) of the socket<T>
|
|
35
|
-
*/
|
|
36
|
-
preProcesses?: DyNTS_SocketEventPreprocessTask<any, any>[];
|
|
37
|
-
/**
|
|
38
|
-
* tasks are the functions the service needs to run
|
|
39
|
-
*/
|
|
40
|
-
tasks?: DyNTS_SocketEventTask<T>[];
|
|
41
|
-
/**
|
|
42
|
-
* logEvent will create a log for the event triggered
|
|
43
|
-
*/
|
|
44
|
-
logEvent?: boolean;
|
|
45
|
-
/**
|
|
46
|
-
* logEventContent will create a log for the event triggered with the content
|
|
47
|
-
*/
|
|
48
|
-
logEventContent?: boolean;
|
|
49
|
-
});
|
|
50
|
-
/**
|
|
51
|
-
*
|
|
52
|
-
* @returns
|
|
53
|
-
*/
|
|
54
|
-
private getPreLog;
|
|
55
|
-
/**
|
|
56
|
-
*
|
|
57
|
-
* @returns
|
|
58
|
-
*/
|
|
59
|
-
executeEventTasks(content?: T, issuer?: string): Promise<void>;
|
|
60
|
-
}
|
|
61
|
-
//# sourceMappingURL=socket-event.control-model.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"socket-event.control-model.d.ts","sourceRoot":"","sources":["../../../../src/_modules/socket/_models/socket-event.control-model.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAGvE,MAAM,MAAM,+BAA+B,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,IAC1D,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;AAC/C,MAAM,MAAM,qBAAqB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEvF;;GAEG;AACH,qBAAa,iBAAiB,CAAC,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,oBAAoB,GAAG,MAAM,CAAC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,YAAY,CAAC,EAAE,+BAA+B,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;IAC3D,KAAK,CAAC,EAAE,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC;IAEnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;gBAGxB,GAAG,EAAE;QACH;;;WAGG;QACH,IAAI,CAAC,EAAE,MAAM,CAAC;QACd;;;WAGG;QACH,QAAQ,EAAE,oBAAoB,GAAG,MAAM,CAAC;QACxC;;WAEG;QACH,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB;;;;;WAKG;QACH,YAAY,CAAC,EAAE,+BAA+B,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;QAC3D;;WAEG;QACH,KAAK,CAAC,EAAE,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC;;WAEG;QACH,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB;;WAEG;QACH,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B;IAsCH;;;OAGG;YACW,SAAS;IAevB;;;OAGG;IACG,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAyBrE"}
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DyNTS_SocketEvent = void 0;
|
|
4
|
-
const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
|
|
5
|
-
const global_settings_const_1 = require("../../../_collections/global-settings.const");
|
|
6
|
-
const socket_event_key_enum_1 = require("../_enums/socket-event-key.enum");
|
|
7
|
-
/**
|
|
8
|
-
* socket handling and clarification is under development
|
|
9
|
-
*/
|
|
10
|
-
class DyNTS_SocketEvent {
|
|
11
|
-
socketName;
|
|
12
|
-
eventKey;
|
|
13
|
-
serviceName;
|
|
14
|
-
preProcesses;
|
|
15
|
-
tasks;
|
|
16
|
-
logEvent;
|
|
17
|
-
logEventContent;
|
|
18
|
-
constructor(set) {
|
|
19
|
-
try {
|
|
20
|
-
this.socketName = set.name ?? set.eventKey;
|
|
21
|
-
this.eventKey = set.eventKey;
|
|
22
|
-
this.serviceName = set.serviceName ?? 'UnknownSocketService';
|
|
23
|
-
this.preProcesses = set.preProcesses ?? [];
|
|
24
|
-
this.tasks = set.tasks ?? [];
|
|
25
|
-
if (set.logEvent !== undefined) {
|
|
26
|
-
this.logEvent = set.logEvent;
|
|
27
|
-
}
|
|
28
|
-
else if (this.eventKey === socket_event_key_enum_1.DyNTS_SocketEventKey.subscribe) {
|
|
29
|
-
this.logEvent = false;
|
|
30
|
-
}
|
|
31
|
-
else if ([
|
|
32
|
-
socket_event_key_enum_1.DyNTS_SocketEventKey.connection,
|
|
33
|
-
socket_event_key_enum_1.DyNTS_SocketEventKey.connect,
|
|
34
|
-
socket_event_key_enum_1.DyNTS_SocketEventKey.disconnect,
|
|
35
|
-
].includes(this.eventKey)) {
|
|
36
|
-
this.logEvent = global_settings_const_1.DyNTS_global_settings.log_settings.socket_mainEvents ||
|
|
37
|
-
global_settings_const_1.DyNTS_global_settings.log_settings.socket_allEvents;
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
this.logEvent = global_settings_const_1.DyNTS_global_settings.log_settings.socket_allEvents;
|
|
41
|
-
}
|
|
42
|
-
this.logEventContent = set.logEventContent ??
|
|
43
|
-
global_settings_const_1.DyNTS_global_settings.log_settings.socket_eventContent;
|
|
44
|
-
}
|
|
45
|
-
catch (error) {
|
|
46
|
-
fsm_dynamo_1.DyFM_Log.error(`\nSocket Event params setup failed (${this.serviceName}): ${set.eventKey}`, error);
|
|
47
|
-
throw error;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
*
|
|
52
|
-
* @returns
|
|
53
|
-
*/
|
|
54
|
-
async getPreLog(content) {
|
|
55
|
-
try {
|
|
56
|
-
if (this.logEventContent && this.eventKey !== socket_event_key_enum_1.DyNTS_SocketEventKey.connection) {
|
|
57
|
-
fsm_dynamo_1.DyFM_Log.log(`---> incoming socket(${this.serviceName}) event: ${this.eventKey};
|
|
58
|
-
\ncontent:`, content);
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
fsm_dynamo_1.DyFM_Log.log(`---> incoming socket(${this.serviceName}) event: ${this.eventKey}...`);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
catch (error) {
|
|
65
|
-
fsm_dynamo_1.DyFM_Log.error(`PreLog failed... (socket: ${this.serviceName})`, error);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
*
|
|
70
|
-
* @returns
|
|
71
|
-
*/
|
|
72
|
-
async executeEventTasks(content, issuer) {
|
|
73
|
-
try {
|
|
74
|
-
if (this.logEvent || this.logEventContent) {
|
|
75
|
-
await this.getPreLog(content);
|
|
76
|
-
}
|
|
77
|
-
await fsm_dynamo_1.DyFM_Array.asyncForEach(this.preProcesses, async (preProcess) => {
|
|
78
|
-
content = await preProcess(content);
|
|
79
|
-
});
|
|
80
|
-
await fsm_dynamo_1.DyFM_Array.asyncForEach(this.tasks, async (task) => {
|
|
81
|
-
await task(content, issuer);
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
catch (error) {
|
|
85
|
-
fsm_dynamo_1.DyFM_Log.error(`Socket Event tasks failed to execute on ${this.serviceName}.... (${this.eventKey})`, error, 'content:', content);
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
exports.DyNTS_SocketEvent = DyNTS_SocketEvent;
|
|
90
|
-
//# sourceMappingURL=socket-event.control-model.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"socket-event.control-model.js","sourceRoot":"","sources":["../../../../src/_modules/socket/_models/socket-event.control-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
export enum DyNTS_SocketEventKey {
|
|
3
|
-
/** incoming connection */
|
|
4
|
-
connection = 'connection',
|
|
5
|
-
/** outgoing connection */
|
|
6
|
-
connect = 'connect',
|
|
7
|
-
|
|
8
|
-
subscribe = 'subscribe',
|
|
9
|
-
subscriptionSuccessful = 'subscriptionSuccessful',
|
|
10
|
-
unsubscribe = 'unsubscribe',
|
|
11
|
-
unsubscribeSuccessful = 'unsubscribeSuccessful',
|
|
12
|
-
disconnect = 'disconnection',
|
|
13
|
-
|
|
14
|
-
ping = 'ping',
|
|
15
|
-
event = 'event',
|
|
16
|
-
error = 'error',
|
|
17
|
-
}
|
|
18
|
-
|
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import { DyFM_Array, DyFM_Log } from '@futdevpro/fsm-dynamo';
|
|
3
|
-
import { DyNTS_global_settings } from '../../../_collections/global-settings.const';
|
|
4
|
-
import { DyNTS_SocketEventKey } from '../_enums/socket-event-key.enum';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
export type DyNTS_SocketEventPreprocessTask<T = any, R = any> =
|
|
8
|
-
(content?: T, issuer?: string) => Promise<R>;
|
|
9
|
-
export type DyNTS_SocketEventTask<T> = (content?: T, issuer?: string) => Promise<void>;
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* socket handling and clarification is under development
|
|
13
|
-
*/
|
|
14
|
-
export class DyNTS_SocketEvent<T>{
|
|
15
|
-
socketName?: string;
|
|
16
|
-
eventKey: DyNTS_SocketEventKey | string;
|
|
17
|
-
serviceName?: string;
|
|
18
|
-
|
|
19
|
-
preProcesses?: DyNTS_SocketEventPreprocessTask<any, any>[];
|
|
20
|
-
tasks?: DyNTS_SocketEventTask<T>[];
|
|
21
|
-
|
|
22
|
-
logEvent?: boolean;
|
|
23
|
-
logEventContent?: boolean;
|
|
24
|
-
|
|
25
|
-
constructor(
|
|
26
|
-
set: {
|
|
27
|
-
/**
|
|
28
|
-
* naming the socket will help to follow events on service,
|
|
29
|
-
* if not set, the eventKey will be used
|
|
30
|
-
*/
|
|
31
|
-
name?: string,
|
|
32
|
-
/**
|
|
33
|
-
* define socket event type such as;
|
|
34
|
-
* connection, connect, disconnect, message, error, or anything else
|
|
35
|
-
*/
|
|
36
|
-
eventKey: DyNTS_SocketEventKey | string,
|
|
37
|
-
/**
|
|
38
|
-
* serviceName is the name of the service that will be used for logging
|
|
39
|
-
*/
|
|
40
|
-
serviceName?: string,
|
|
41
|
-
/**
|
|
42
|
-
* preprocesses are the functions the service needs to run before the actual function,
|
|
43
|
-
* these can be used for authentications, or translating data
|
|
44
|
-
*
|
|
45
|
-
* the last function in the array should return the content in the type(T) of the socket<T>
|
|
46
|
-
*/
|
|
47
|
-
preProcesses?: DyNTS_SocketEventPreprocessTask<any, any>[],
|
|
48
|
-
/**
|
|
49
|
-
* tasks are the functions the service needs to run
|
|
50
|
-
*/
|
|
51
|
-
tasks?: DyNTS_SocketEventTask<T>[],
|
|
52
|
-
/**
|
|
53
|
-
* logEvent will create a log for the event triggered
|
|
54
|
-
*/
|
|
55
|
-
logEvent?: boolean,
|
|
56
|
-
/**
|
|
57
|
-
* logEventContent will create a log for the event triggered with the content
|
|
58
|
-
*/
|
|
59
|
-
logEventContent?: boolean,
|
|
60
|
-
}
|
|
61
|
-
) {
|
|
62
|
-
try {
|
|
63
|
-
this.socketName = set.name ?? set.eventKey;
|
|
64
|
-
this.eventKey = set.eventKey;
|
|
65
|
-
this.serviceName = set.serviceName ?? 'UnknownSocketService';
|
|
66
|
-
|
|
67
|
-
this.preProcesses = set.preProcesses ?? [];
|
|
68
|
-
this.tasks = set.tasks ?? [];
|
|
69
|
-
|
|
70
|
-
if (set.logEvent !== undefined) {
|
|
71
|
-
this.logEvent = set.logEvent;
|
|
72
|
-
} else if (this.eventKey === DyNTS_SocketEventKey.subscribe) {
|
|
73
|
-
this.logEvent = false;
|
|
74
|
-
} else if (
|
|
75
|
-
([
|
|
76
|
-
DyNTS_SocketEventKey.connection,
|
|
77
|
-
DyNTS_SocketEventKey.connect,
|
|
78
|
-
DyNTS_SocketEventKey.disconnect,
|
|
79
|
-
] as string[]).includes(this.eventKey)
|
|
80
|
-
) {
|
|
81
|
-
this.logEvent = DyNTS_global_settings.log_settings.socket_mainEvents ||
|
|
82
|
-
DyNTS_global_settings.log_settings.socket_allEvents;
|
|
83
|
-
} else {
|
|
84
|
-
this.logEvent = DyNTS_global_settings.log_settings.socket_allEvents;
|
|
85
|
-
}
|
|
86
|
-
this.logEventContent = set.logEventContent ??
|
|
87
|
-
DyNTS_global_settings.log_settings.socket_eventContent;
|
|
88
|
-
} catch (error) {
|
|
89
|
-
DyFM_Log.error(
|
|
90
|
-
`\nSocket Event params setup failed (${this.serviceName}): ${set.eventKey}`,
|
|
91
|
-
error
|
|
92
|
-
);
|
|
93
|
-
|
|
94
|
-
throw error;
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
/**
|
|
99
|
-
*
|
|
100
|
-
* @returns
|
|
101
|
-
*/
|
|
102
|
-
private async getPreLog(content: T): Promise<void> {
|
|
103
|
-
try {
|
|
104
|
-
if (this.logEventContent && this.eventKey !== DyNTS_SocketEventKey.connection) {
|
|
105
|
-
DyFM_Log.log(
|
|
106
|
-
`---> incoming socket(${this.serviceName}) event: ${this.eventKey};
|
|
107
|
-
\ncontent:`, content
|
|
108
|
-
);
|
|
109
|
-
} else {
|
|
110
|
-
DyFM_Log.log(`---> incoming socket(${this.serviceName}) event: ${this.eventKey}...`);
|
|
111
|
-
}
|
|
112
|
-
} catch (error) {
|
|
113
|
-
DyFM_Log.error(`PreLog failed... (socket: ${this.serviceName})`, error);
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
/**
|
|
118
|
-
*
|
|
119
|
-
* @returns
|
|
120
|
-
*/
|
|
121
|
-
async executeEventTasks(content?: T, issuer?: string): Promise<void> {
|
|
122
|
-
try {
|
|
123
|
-
if (this.logEvent || this.logEventContent) {
|
|
124
|
-
await this.getPreLog(content);
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
await DyFM_Array.asyncForEach(
|
|
128
|
-
this.preProcesses,
|
|
129
|
-
async (preProcess: DyNTS_SocketEventPreprocessTask<any, any>) => {
|
|
130
|
-
content = await preProcess(content);
|
|
131
|
-
}
|
|
132
|
-
);
|
|
133
|
-
|
|
134
|
-
await DyFM_Array.asyncForEach(this.tasks, async (task: DyNTS_SocketEventTask<T>) => {
|
|
135
|
-
await task(content, issuer);
|
|
136
|
-
});
|
|
137
|
-
} catch (error) {
|
|
138
|
-
DyFM_Log.error(
|
|
139
|
-
`Socket Event tasks failed to execute on ${this.serviceName}.... (${this.eventKey})`,
|
|
140
|
-
error,
|
|
141
|
-
'content:',
|
|
142
|
-
content
|
|
143
|
-
);
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|