@futdevpro/nts-dynamo 1.9.25 → 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 +38 -26
- 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/app-extended.server.d.ts.map +1 -1
- package/build/_modules/socket/_services/app-extended.server.js +27 -10
- package/build/_modules/socket/_services/app-extended.server.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 +28 -20
- 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 -1
- package/build/_modules/socket/index.d.ts.map +1 -1
- package/build/_modules/socket/index.js +0 -1
- 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/api.service.d.ts.map +1 -1
- package/build/_services/core/api.service.js +12 -12
- package/build/_services/core/api.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/core/global.service.d.ts.map +1 -1
- package/build/_services/core/global.service.js +6 -10
- package/build/_services/core/global.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 +45 -9
- 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 +57 -40
- 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/app-extended.server.ts +38 -24
- package/src/_modules/socket/_services/socket-client.service.ts +43 -31
- package/src/_modules/socket/_services/socket-server.service.ts +129 -109
- package/src/_modules/socket/index.ts +1 -1
- 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/api.service.ts +12 -18
- package/src/_services/core/email.service.ts +1 -1
- package/src/_services/core/global.service.ts +16 -21
- package/src/_services/server/app.server.ts +69 -26
- 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
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import * as SocketIO from 'socket.io';
|
|
3
3
|
import * as Http from 'http';
|
|
4
4
|
|
|
5
|
-
import { DyFM_Array, DyFM_Error, DyFM_Log, second, DyFM_wait } from '@futdevpro/fsm-dynamo';
|
|
5
|
+
import { DyFM_Array, DyFM_Error, DyFM_Log, second, DyFM_wait, DyFM_AnyError } from '@futdevpro/fsm-dynamo';
|
|
6
6
|
|
|
7
7
|
import { DyNTS_App } from '../../../_services/server/app.server';
|
|
8
8
|
import { DyNTS_RouteSecurity } from '../../../_enums/route-security.enum';
|
|
@@ -139,19 +139,20 @@ export abstract class DyNTS_AppExtended extends DyNTS_App {
|
|
|
139
139
|
constructor(){
|
|
140
140
|
super(true);
|
|
141
141
|
|
|
142
|
-
this.asyncConstructExt().catch((error:
|
|
143
|
-
if (
|
|
142
|
+
this.asyncConstructExt().catch((error: DyFM_AnyError): void => {
|
|
143
|
+
if (
|
|
144
|
+
DyNTS_global_settings.log_settings.highDetailedLogs ||
|
|
145
|
+
!(error instanceof DyFM_Error)
|
|
146
|
+
) {
|
|
144
147
|
DyFM_Log.H_error(
|
|
145
|
-
`Extended Application: ${this.params?.name} start failed
|
|
146
|
-
|
|
148
|
+
`Extended Application: ${this.params?.name} start failed. ` +
|
|
149
|
+
`(DyNTS_AppExtended constructor catch)`,
|
|
150
|
+
`\n ERROR:`, error
|
|
147
151
|
);
|
|
148
152
|
} else {
|
|
149
|
-
|
|
150
|
-
`Extended Application: ${this.params?.name} start failed
|
|
151
|
-
|
|
152
|
-
`\nErrorCode: ${(error as DyFM_Error)._errorCode}`,
|
|
153
|
-
`\nUserMessage: ${(error as DyFM_Error).__userMessage}`,
|
|
154
|
-
`\nStack: ${(error as DyFM_Error).error.stack}`,
|
|
153
|
+
error.logSimple(
|
|
154
|
+
`Extended Application: "${this.params?.name}" start failed. ` +
|
|
155
|
+
`(DyNTS_AppExtended constructor catch)`
|
|
155
156
|
);
|
|
156
157
|
}
|
|
157
158
|
});
|
|
@@ -188,18 +189,17 @@ export abstract class DyNTS_AppExtended extends DyNTS_App {
|
|
|
188
189
|
DyFM_Log.H_success(`${this.params.name} started successfully.`);
|
|
189
190
|
|
|
190
191
|
} catch (error) {
|
|
191
|
-
if (
|
|
192
|
+
if (
|
|
193
|
+
DyNTS_global_settings.log_settings.highDetailedLogs ||
|
|
194
|
+
!(error instanceof DyFM_Error)
|
|
195
|
+
) {
|
|
192
196
|
DyFM_Log.H_error(
|
|
193
|
-
`Extended Application: ${this.params?.name} start failed
|
|
194
|
-
`\
|
|
197
|
+
`Extended Application: ${this.params?.name} start failed. (asyncConstructExt catch)` +
|
|
198
|
+
`\n ERROR:`, error
|
|
195
199
|
);
|
|
196
200
|
} else {
|
|
197
|
-
|
|
198
|
-
`Extended Application: ${this.params?.name} start failed
|
|
199
|
-
`\nErrorMessage: ${(error as DyFM_Error)._message}`,
|
|
200
|
-
`\nErrorCode: ${(error as DyFM_Error)._errorCode}`,
|
|
201
|
-
`\nUserMessage: ${(error as DyFM_Error).__userMessage}`,
|
|
202
|
-
`\nStack: ${(error as DyFM_Error).error.stack}`,
|
|
201
|
+
error.logSimple(
|
|
202
|
+
`Extended Application: "${this.params?.name}" start failed. (asyncConstructExt catch)`
|
|
203
203
|
);
|
|
204
204
|
}
|
|
205
205
|
|
|
@@ -233,8 +233,15 @@ export abstract class DyNTS_AppExtended extends DyNTS_App {
|
|
|
233
233
|
|
|
234
234
|
if (this.constructErrors.length) {
|
|
235
235
|
DyFM_Log.H_error(
|
|
236
|
-
`Extended Application: ${this.params?.name} start failed
|
|
237
|
-
|
|
236
|
+
`Extended Application: ${this.params?.name} start failed. (ready constructErrors check)`,
|
|
237
|
+
`\n construct ERRORS:\n`,
|
|
238
|
+
this.constructErrors.map((error: any): any => {
|
|
239
|
+
if (error instanceof DyFM_Error) {
|
|
240
|
+
return error.getErrorSimplified();
|
|
241
|
+
} else {
|
|
242
|
+
return error;
|
|
243
|
+
}
|
|
244
|
+
}),
|
|
238
245
|
);
|
|
239
246
|
|
|
240
247
|
throw new DyFM_Error({
|
|
@@ -262,8 +269,15 @@ export abstract class DyNTS_AppExtended extends DyNTS_App {
|
|
|
262
269
|
|
|
263
270
|
if (this.constructErrors.length) {
|
|
264
271
|
DyFM_Log.H_error(
|
|
265
|
-
`Extended Application: ${this.params?.name} start failed. TIMEOUT`,
|
|
266
|
-
`\
|
|
272
|
+
`Extended Application: ${this.params?.name} start failed. (ready TIMEOUT check)`,
|
|
273
|
+
`\n construct ERRORS:\n`,
|
|
274
|
+
this.constructErrors.map((error: any): any => {
|
|
275
|
+
if (error instanceof DyFM_Error) {
|
|
276
|
+
return error.getErrorSimplified();
|
|
277
|
+
} else {
|
|
278
|
+
return error;
|
|
279
|
+
}
|
|
280
|
+
}),
|
|
267
281
|
);
|
|
268
282
|
|
|
269
283
|
throw new DyFM_Error({
|
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
import * as
|
|
4
|
+
import * as SocketIOClient from 'socket.io-client';
|
|
5
5
|
|
|
6
|
-
import { DyNTS_SingletonService } from '../../../_services/base/singleton.service';
|
|
7
6
|
import {
|
|
8
7
|
DyFM_Error, DyFM_Log, DyFM_delay, DyFM_Array, DyFM_errorFlag
|
|
9
8
|
} from '@futdevpro/fsm-dynamo';
|
|
9
|
+
import { DyFM_SocketEvent, DyFM_SocketEvent_Key } from '@futdevpro/fsm-dynamo/socket';
|
|
10
|
+
|
|
11
|
+
import { DyNTS_SingletonService } from '../../../_services/base/singleton.service';
|
|
12
|
+
import { DyNTS_global_settings } from '../../../_collections/global-settings.const';
|
|
10
13
|
import {
|
|
11
14
|
DyNTS_SocketClientService_Params
|
|
12
15
|
} from '../_models/socket-client-service-params.control-model';
|
|
13
|
-
import { DyNTS_global_settings } from '../../../_collections/global-settings.const';
|
|
14
|
-
import { DyNTS_SocketEvent } from '../_models/socket-event.control-model';
|
|
15
|
-
import { DyNTS_SocketEventKey } from '../_enums/socket-event-key.enum';
|
|
16
16
|
|
|
17
|
-
export abstract class
|
|
17
|
+
export abstract class DyNTS_SocketClient_ServiceBase extends DyNTS_SingletonService /* DyFM_SocketClient_ServiceBase */ {
|
|
18
18
|
|
|
19
19
|
private _params: DyNTS_SocketClientService_Params;
|
|
20
20
|
protected get params(): DyNTS_SocketClientService_Params { return this._params; }
|
|
21
21
|
get name(): string { return this.params.name; }
|
|
22
22
|
|
|
23
|
-
protected socket:
|
|
23
|
+
protected socket: SocketIOClient.Socket;
|
|
24
24
|
|
|
25
|
-
protected incomingEvents:
|
|
25
|
+
protected incomingEvents: DyFM_SocketEvent<any>[];
|
|
26
26
|
|
|
27
27
|
protected _connected: boolean = false;
|
|
28
28
|
get connected(): boolean { return this._connected; }
|
|
@@ -30,9 +30,9 @@ export abstract class DyNTS_SocketClientService extends DyNTS_SingletonService {
|
|
|
30
30
|
protected debugLog: boolean = DyNTS_global_settings.log_settings.setup;
|
|
31
31
|
protected logFn: boolean = DyNTS_global_settings.log_settings.functions;
|
|
32
32
|
|
|
33
|
-
private defaultEvents:
|
|
34
|
-
new
|
|
35
|
-
eventKey:
|
|
33
|
+
private defaultEvents: DyFM_SocketEvent<any>[] = [
|
|
34
|
+
new DyFM_SocketEvent<any>({
|
|
35
|
+
eventKey: DyFM_SocketEvent_Key.connect,
|
|
36
36
|
tasks: [
|
|
37
37
|
async () => {
|
|
38
38
|
this._connected = true;
|
|
@@ -41,8 +41,8 @@ export abstract class DyNTS_SocketClientService extends DyNTS_SingletonService {
|
|
|
41
41
|
],
|
|
42
42
|
}),
|
|
43
43
|
|
|
44
|
-
new
|
|
45
|
-
eventKey:
|
|
44
|
+
new DyFM_SocketEvent<any>({
|
|
45
|
+
eventKey: DyFM_SocketEvent_Key.disconnect,
|
|
46
46
|
tasks: [
|
|
47
47
|
async () => {
|
|
48
48
|
this._connected = false;
|
|
@@ -56,8 +56,8 @@ export abstract class DyNTS_SocketClientService extends DyNTS_SingletonService {
|
|
|
56
56
|
],
|
|
57
57
|
}),
|
|
58
58
|
|
|
59
|
-
new
|
|
60
|
-
eventKey:
|
|
59
|
+
new DyFM_SocketEvent<any>({
|
|
60
|
+
eventKey: DyFM_SocketEvent_Key.subscriptionSuccessful,
|
|
61
61
|
tasks: [
|
|
62
62
|
async () => {
|
|
63
63
|
DyFM_Log.success(`<=--> socket-client(${this.params.name}) subscription successful!`);
|
|
@@ -65,8 +65,8 @@ export abstract class DyNTS_SocketClientService extends DyNTS_SingletonService {
|
|
|
65
65
|
],
|
|
66
66
|
}),
|
|
67
67
|
|
|
68
|
-
new
|
|
69
|
-
eventKey:
|
|
68
|
+
new DyFM_SocketEvent<any>({
|
|
69
|
+
eventKey: DyFM_SocketEvent_Key.error,
|
|
70
70
|
tasks: [
|
|
71
71
|
async (content: any) => {
|
|
72
72
|
DyFM_Log.error(`=--> socket-client(${this.params.name}) ERROR!:`, content);
|
|
@@ -79,14 +79,19 @@ export abstract class DyNTS_SocketClientService extends DyNTS_SingletonService {
|
|
|
79
79
|
super();
|
|
80
80
|
|
|
81
81
|
this.asyncConstructor().catch((error: any) => {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
`\
|
|
82
|
+
if (
|
|
83
|
+
DyNTS_global_settings.log_settings.highDetailedLogs ||
|
|
84
|
+
!(error instanceof DyFM_Error)
|
|
85
|
+
) {
|
|
86
|
+
DyFM_Log.H_error(
|
|
87
|
+
`socket-client "${this.params?.name}" Service setup failed! ` +
|
|
88
|
+
`(DyNTS_SocketClientService constructor catch)`,
|
|
89
|
+
`\n ERROR:`, error
|
|
90
|
+
);
|
|
91
|
+
} else {
|
|
92
|
+
error.logSimple(
|
|
93
|
+
`socket-client "${this.params?.name}" Service setup failed! ` +
|
|
94
|
+
`(DyNTS_SocketClientService constructor catch)`
|
|
90
95
|
);
|
|
91
96
|
}
|
|
92
97
|
});
|
|
@@ -96,7 +101,14 @@ export abstract class DyNTS_SocketClientService extends DyNTS_SingletonService {
|
|
|
96
101
|
try {
|
|
97
102
|
this._params = this.getParams();
|
|
98
103
|
this.incomingEvents = this.getIncomingEvents() ?? [];
|
|
99
|
-
this.socket =
|
|
104
|
+
this.socket = SocketIOClient.io(
|
|
105
|
+
`${this.params.address}:${this.params.port}`,
|
|
106
|
+
{
|
|
107
|
+
reconnection: this.params.reconnect,
|
|
108
|
+
reconnectionDelay: this.params.reconnectDelay,
|
|
109
|
+
...this.params.socketOptions,
|
|
110
|
+
}
|
|
111
|
+
);
|
|
100
112
|
|
|
101
113
|
await this.setupDefaultEvents();
|
|
102
114
|
|
|
@@ -119,10 +131,10 @@ export abstract class DyNTS_SocketClientService extends DyNTS_SingletonService {
|
|
|
119
131
|
try {
|
|
120
132
|
if (this.logFn) console.log('\nFn:. setupDefaultEvents');
|
|
121
133
|
|
|
122
|
-
this.defaultEvents.forEach((defaultEvent:
|
|
134
|
+
this.defaultEvents.forEach((defaultEvent: DyFM_SocketEvent<any>) => {
|
|
123
135
|
defaultEvent.serviceName = this.params.name;
|
|
124
136
|
const eventDeclared = this.incomingEvents.find(
|
|
125
|
-
(event:
|
|
137
|
+
(event: DyFM_SocketEvent<any>) => event.eventKey === defaultEvent.eventKey
|
|
126
138
|
);
|
|
127
139
|
|
|
128
140
|
if (!eventDeclared) {
|
|
@@ -147,14 +159,14 @@ export abstract class DyNTS_SocketClientService extends DyNTS_SingletonService {
|
|
|
147
159
|
|
|
148
160
|
await DyFM_Array.asyncForEach(
|
|
149
161
|
this.incomingEvents,
|
|
150
|
-
async (event:
|
|
162
|
+
async (event: DyFM_SocketEvent<any>) => {
|
|
151
163
|
event.serviceName = this.params.name;
|
|
152
164
|
this.socket.on(event.eventKey, async (content: any) => {
|
|
153
165
|
try {
|
|
154
166
|
await event.executeEventTasks(content, this.params.service);
|
|
155
167
|
} catch (error) {
|
|
156
168
|
DyFM_Log.error(`socket-client(${this.params.name}) Event failed, ERROR:`, error);
|
|
157
|
-
await this.emitEvent(
|
|
169
|
+
await this.emitEvent(DyFM_SocketEvent_Key.error, error);
|
|
158
170
|
}
|
|
159
171
|
});
|
|
160
172
|
}
|
|
@@ -236,5 +248,5 @@ export abstract class DyNTS_SocketClientService extends DyNTS_SingletonService {
|
|
|
236
248
|
/**
|
|
237
249
|
* You must setup events and required services in this function
|
|
238
250
|
*/
|
|
239
|
-
abstract getIncomingEvents():
|
|
251
|
+
abstract getIncomingEvents(): DyFM_SocketEvent<any>[];
|
|
240
252
|
}
|