@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.
Files changed (87) hide show
  1. package/build/_collections/global-settings.const.d.ts.map +1 -1
  2. package/build/_collections/global-settings.const.js +1 -0
  3. package/build/_collections/global-settings.const.js.map +1 -1
  4. package/build/_models/control-models/endpoint-params.control-model.d.ts +2 -0
  5. package/build/_models/control-models/endpoint-params.control-model.d.ts.map +1 -1
  6. package/build/_models/control-models/endpoint-params.control-model.js +38 -26
  7. package/build/_models/control-models/endpoint-params.control-model.js.map +1 -1
  8. package/build/_models/interfaces/global-log-settings.interface.d.ts +4 -0
  9. package/build/_models/interfaces/global-log-settings.interface.d.ts.map +1 -1
  10. package/build/_modules/mock/socket-client.mock.d.ts +4 -4
  11. package/build/_modules/mock/socket-client.mock.d.ts.map +1 -1
  12. package/build/_modules/mock/socket-client.mock.js +4 -5
  13. package/build/_modules/mock/socket-client.mock.js.map +1 -1
  14. package/build/_modules/mock/socket-server.mock.d.ts +3 -3
  15. package/build/_modules/mock/socket-server.mock.d.ts.map +1 -1
  16. package/build/_modules/mock/socket-server.mock.js +2 -2
  17. package/build/_modules/mock/socket-server.mock.js.map +1 -1
  18. package/build/_modules/socket/_models/socket-client-service-params.control-model.d.ts +2 -8
  19. package/build/_modules/socket/_models/socket-client-service-params.control-model.d.ts.map +1 -1
  20. package/build/_modules/socket/_models/socket-client-service-params.control-model.js +4 -12
  21. package/build/_modules/socket/_models/socket-client-service-params.control-model.js.map +1 -1
  22. package/build/_modules/socket/_models/socket-presence.control-model.d.ts +5 -4
  23. package/build/_modules/socket/_models/socket-presence.control-model.d.ts.map +1 -1
  24. package/build/_modules/socket/_models/socket-presence.control-model.js +10 -8
  25. package/build/_modules/socket/_models/socket-presence.control-model.js.map +1 -1
  26. package/build/_modules/socket/_services/app-extended.server.d.ts.map +1 -1
  27. package/build/_modules/socket/_services/app-extended.server.js +27 -10
  28. package/build/_modules/socket/_services/app-extended.server.js.map +1 -1
  29. package/build/_modules/socket/_services/socket-client.service.d.ts +6 -6
  30. package/build/_modules/socket/_services/socket-client.service.d.ts.map +1 -1
  31. package/build/_modules/socket/_services/socket-client.service.js +28 -20
  32. package/build/_modules/socket/_services/socket-client.service.js.map +1 -1
  33. package/build/_modules/socket/_services/socket-server.service.d.ts +18 -18
  34. package/build/_modules/socket/_services/socket-server.service.d.ts.map +1 -1
  35. package/build/_modules/socket/_services/socket-server.service.js +79 -68
  36. package/build/_modules/socket/_services/socket-server.service.js.map +1 -1
  37. package/build/_modules/socket/index.d.ts +0 -1
  38. package/build/_modules/socket/index.d.ts.map +1 -1
  39. package/build/_modules/socket/index.js +0 -1
  40. package/build/_modules/socket/index.js.map +1 -1
  41. package/build/_modules/usage/usage.data-service.js +1 -1
  42. package/build/_modules/usage/usage.data-service.js.map +1 -1
  43. package/build/_services/base/data.service.js +4 -4
  44. package/build/_services/base/data.service.js.map +1 -1
  45. package/build/_services/base/db.service.js +3 -3
  46. package/build/_services/base/db.service.js.map +1 -1
  47. package/build/_services/core/api.service.d.ts.map +1 -1
  48. package/build/_services/core/api.service.js +12 -12
  49. package/build/_services/core/api.service.js.map +1 -1
  50. package/build/_services/core/email.service.js +1 -1
  51. package/build/_services/core/email.service.js.map +1 -1
  52. package/build/_services/core/global.service.d.ts.map +1 -1
  53. package/build/_services/core/global.service.js +6 -10
  54. package/build/_services/core/global.service.js.map +1 -1
  55. package/build/_services/server/app.server.d.ts +1 -1
  56. package/build/_services/server/app.server.d.ts.map +1 -1
  57. package/build/_services/server/app.server.js +45 -9
  58. package/build/_services/server/app.server.js.map +1 -1
  59. package/package.json +9 -19
  60. package/src/_collections/global-settings.const.ts +1 -0
  61. package/src/_models/control-models/endpoint-params.control-model.ts +57 -40
  62. package/src/_models/interfaces/global-log-settings.interface.ts +5 -0
  63. package/src/_modules/mock/socket-client.mock.ts +7 -7
  64. package/src/_modules/mock/socket-server.mock.ts +5 -4
  65. package/src/_modules/socket/_models/socket-client-service-params.control-model.ts +6 -15
  66. package/src/_modules/socket/_models/socket-presence.control-model.ts +13 -11
  67. package/src/_modules/socket/_services/app-extended.server.ts +38 -24
  68. package/src/_modules/socket/_services/socket-client.service.ts +43 -31
  69. package/src/_modules/socket/_services/socket-server.service.ts +129 -109
  70. package/src/_modules/socket/index.ts +1 -1
  71. package/src/_modules/usage/usage.data-service.ts +1 -1
  72. package/src/_services/base/data.service.ts +4 -4
  73. package/src/_services/base/db.service.ts +3 -3
  74. package/src/_services/core/api.service.ts +12 -18
  75. package/src/_services/core/email.service.ts +1 -1
  76. package/src/_services/core/global.service.ts +16 -21
  77. package/src/_services/server/app.server.ts +69 -26
  78. package/build/_modules/socket/_enums/socket-event-key.enum.d.ts +0 -15
  79. package/build/_modules/socket/_enums/socket-event-key.enum.d.ts.map +0 -1
  80. package/build/_modules/socket/_enums/socket-event-key.enum.js +0 -19
  81. package/build/_modules/socket/_enums/socket-event-key.enum.js.map +0 -1
  82. package/build/_modules/socket/_models/socket-event.control-model.d.ts +0 -61
  83. package/build/_modules/socket/_models/socket-event.control-model.d.ts.map +0 -1
  84. package/build/_modules/socket/_models/socket-event.control-model.js +0 -90
  85. package/build/_modules/socket/_models/socket-event.control-model.js.map +0 -1
  86. package/src/_modules/socket/_enums/socket-event-key.enum.ts +0 -18
  87. 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: any): void => {
143
- if (DyNTS_global_settings.log_settings.highDetailedLogs) {
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
- `\nERROR:`, error
148
+ `Extended Application: ${this.params?.name} start failed. ` +
149
+ `(DyNTS_AppExtended constructor catch)`,
150
+ `\n ERROR:`, error
147
151
  );
148
152
  } else {
149
- DyFM_Log.H_error(
150
- `Extended Application: ${this.params?.name} start failed.`,
151
- `\nErrorMessage: ${(error as DyFM_Error)._message}`,
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 (DyNTS_global_settings.log_settings.highDetailedLogs) {
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
- `\nERROR:`, error
197
+ `Extended Application: ${this.params?.name} start failed. (asyncConstructExt catch)` +
198
+ `\n ERROR:`, error
195
199
  );
196
200
  } else {
197
- DyFM_Log.H_error(
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
- `construct ERRORS:`, this.constructErrors,
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
- `\nconstruct ERRORS:`, this.constructErrors,
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 SocketIO from 'socket.io-client';
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 DyNTS_SocketClientService extends DyNTS_SingletonService {
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: SocketIO.Socket;
23
+ protected socket: SocketIOClient.Socket;
24
24
 
25
- protected incomingEvents: DyNTS_SocketEvent<any>[];
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: DyNTS_SocketEvent<any>[] = [
34
- new DyNTS_SocketEvent<any>({
35
- eventKey: DyNTS_SocketEventKey.connect,
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 DyNTS_SocketEvent<any>({
45
- eventKey: DyNTS_SocketEventKey.disconnect,
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 DyNTS_SocketEvent<any>({
60
- eventKey: DyNTS_SocketEventKey.subscriptionSuccessful,
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 DyNTS_SocketEvent<any>({
69
- eventKey: DyNTS_SocketEventKey.error,
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
- DyFM_Log.error(`socket-client(${this.params?.name}) Service setup failed! ERROR:`, error);
83
-
84
- if (error?.flag?.includes?.(DyFM_errorFlag)) {
85
- DyFM_Log.error(
86
- `ErrorMessage: ${(error as DyFM_Error)._message}`,
87
- `\nErrorCode: ${(error as DyFM_Error)._errorCode}`,
88
- `\nUserMessage: ${(error as DyFM_Error).__userMessage}`,
89
- `\nStack: ${(error as DyFM_Error).error.stack}`
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 = SocketIO.io(`${this.params.address}:${this.params.port}`);
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: DyNTS_SocketEvent<any>) => {
134
+ this.defaultEvents.forEach((defaultEvent: DyFM_SocketEvent<any>) => {
123
135
  defaultEvent.serviceName = this.params.name;
124
136
  const eventDeclared = this.incomingEvents.find(
125
- (event: DyNTS_SocketEvent<any>) => event.eventKey === defaultEvent.eventKey
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: DyNTS_SocketEvent<any>) => {
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(DyNTS_SocketEventKey.error, error);
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(): DyNTS_SocketEvent<any>[];
251
+ abstract getIncomingEvents(): DyFM_SocketEvent<any>[];
240
252
  }