@futdevpro/nts-dynamo 1.9.26 → 1.9.29

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 (75) 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 +34 -20
  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/socket-client.service.d.ts +6 -6
  27. package/build/_modules/socket/_services/socket-client.service.d.ts.map +1 -1
  28. package/build/_modules/socket/_services/socket-client.service.js +20 -17
  29. package/build/_modules/socket/_services/socket-client.service.js.map +1 -1
  30. package/build/_modules/socket/_services/socket-server.service.d.ts +18 -18
  31. package/build/_modules/socket/_services/socket-server.service.d.ts.map +1 -1
  32. package/build/_modules/socket/_services/socket-server.service.js +79 -68
  33. package/build/_modules/socket/_services/socket-server.service.js.map +1 -1
  34. package/build/_modules/socket/index.d.ts +0 -2
  35. package/build/_modules/socket/index.d.ts.map +1 -1
  36. package/build/_modules/socket/index.js +0 -2
  37. package/build/_modules/socket/index.js.map +1 -1
  38. package/build/_modules/usage/usage.data-service.js +1 -1
  39. package/build/_modules/usage/usage.data-service.js.map +1 -1
  40. package/build/_services/base/data.service.js +4 -4
  41. package/build/_services/base/data.service.js.map +1 -1
  42. package/build/_services/base/db.service.js +3 -3
  43. package/build/_services/base/db.service.js.map +1 -1
  44. package/build/_services/core/email.service.js +1 -1
  45. package/build/_services/core/email.service.js.map +1 -1
  46. package/build/_services/server/app.server.d.ts +1 -1
  47. package/build/_services/server/app.server.d.ts.map +1 -1
  48. package/build/_services/server/app.server.js +1 -1
  49. package/build/_services/server/app.server.js.map +1 -1
  50. package/package.json +9 -19
  51. package/src/_collections/global-settings.const.ts +1 -0
  52. package/src/_models/control-models/endpoint-params.control-model.ts +51 -31
  53. package/src/_models/interfaces/global-log-settings.interface.ts +5 -0
  54. package/src/_modules/mock/socket-client.mock.ts +7 -7
  55. package/src/_modules/mock/socket-server.mock.ts +5 -4
  56. package/src/_modules/socket/_models/socket-client-service-params.control-model.ts +6 -15
  57. package/src/_modules/socket/_models/socket-presence.control-model.ts +13 -11
  58. package/src/_modules/socket/_services/socket-client.service.ts +30 -23
  59. package/src/_modules/socket/_services/socket-server.service.ts +129 -109
  60. package/src/_modules/socket/index.ts +0 -2
  61. package/src/_modules/usage/usage.data-service.ts +1 -1
  62. package/src/_services/base/data.service.ts +4 -4
  63. package/src/_services/base/db.service.ts +3 -3
  64. package/src/_services/core/email.service.ts +1 -1
  65. package/src/_services/server/app.server.ts +2 -2
  66. package/build/_modules/socket/_enums/socket-event-key.enum.d.ts +0 -15
  67. package/build/_modules/socket/_enums/socket-event-key.enum.d.ts.map +0 -1
  68. package/build/_modules/socket/_enums/socket-event-key.enum.js +0 -19
  69. package/build/_modules/socket/_enums/socket-event-key.enum.js.map +0 -1
  70. package/build/_modules/socket/_models/socket-event.control-model.d.ts +0 -61
  71. package/build/_modules/socket/_models/socket-event.control-model.d.ts.map +0 -1
  72. package/build/_modules/socket/_models/socket-event.control-model.js +0 -90
  73. package/build/_modules/socket/_models/socket-event.control-model.js.map +0 -1
  74. package/src/_modules/socket/_enums/socket-event-key.enum.ts +0 -18
  75. package/src/_modules/socket/_models/socket-event.control-model.ts +0 -150
@@ -5,8 +5,13 @@ import {
5
5
  DyFM_AnyError, DyFM_Array, DyFM_Error, DyFM_Error_Settings, DyFM_Log
6
6
  } from '@futdevpro/fsm-dynamo';
7
7
 
8
+
9
+ import {
10
+ DyFM_SocketEvent_Key, DyFM_SocketEventPreprocessTask, DyFM_SocketEventTask, DyFM_SocketEvent
11
+ } from '@futdevpro/fsm-dynamo/socket';
12
+
13
+ import { DyNTS_global_settings } from '../../../_collections/global-settings.const';
8
14
  import { DyNTS_SingletonService } from '../../../_services/base/singleton.service';
9
- import { DyNTS_SocketEventKey } from '../_enums/socket-event-key.enum';
10
15
  import { DyNTS_SocketSecurity } from '../_enums/socket-security.enum';
11
16
  import {
12
17
  DyNTS_SocketServerService_Params
@@ -14,19 +19,15 @@ import {
14
19
  import {
15
20
  DyNTS_SocketPresence
16
21
  } from '../_models/socket-presence.control-model';
17
- import {
18
- DyNTS_SocketEvent, DyNTS_SocketEventPreprocessTask, DyNTS_SocketEventTask
19
- } from '../_models/socket-event.control-model';
20
- import { DyNTS_global_settings } from '../../../_collections/global-settings.const';
21
22
 
22
23
  /**
23
24
  * You need to define the following functions:
24
25
  * ```ts
25
26
  * getServiceParams(): DyNTS_SocketServerServiceParams;
26
27
  *
27
- * getIncomingEvents(): DyNTS_SocketEvent<any>[];
28
+ * getIncomingEvents(): DyFM_SocketEvent<any>[];
28
29
  *
29
- * getPresenceFromSubscrioptionEventContent(
30
+ * getPresenceFromSubscriptionEventContent(
30
31
  * socketSubscription: T_SubscriptionContent,
31
32
  * socket: SocketIO.Socket
32
33
  * ): Promise<T_Presence>;
@@ -47,27 +48,16 @@ export abstract class DyNTS_SocketServerService<
47
48
  protected openSocketServer: SocketIO.Server;
48
49
  protected secureSocketServer: SocketIO.Server;
49
50
 
50
- private connectEvent: DyNTS_SocketEvent<SocketIO.Socket>;
51
- protected incomingEvents: DyNTS_SocketEvent<any>[];
51
+ private connectEvent: DyFM_SocketEvent<SocketIO.Socket>;
52
+ protected incomingEvents: DyFM_SocketEvent<any>[];
52
53
 
53
- private subscriptionEvent: DyNTS_SocketEvent<any>;
54
- private unsubscribeEvent: DyNTS_SocketEvent<any>;
55
-
56
- /**
57
- * You need to setup a function that converts subscription event content to presence.
58
- * You should do authentication and authorization here.
59
- */
60
- protected abstract getPresenceFromSubscrioptionEventContent(
61
- socketSubscription: T_SubscriptionContent, socket: SocketIO.Socket
62
- ): Promise<T_Presence>;
54
+ private subscriptionEvent: DyFM_SocketEvent<any>;
55
+ private unsubscribeEvent: DyFM_SocketEvent<any>;
56
+
63
57
  protected presences: T_Presence[] = [];
64
58
 
65
- get logSetup(): boolean {
66
- return DyNTS_global_settings.log_settings.setup;
67
- }
68
- get highDetailedLogs(): boolean {
69
- return DyNTS_global_settings.log_settings.highDetailedLogs;
70
- }
59
+ get logSetup(): boolean { return DyNTS_global_settings.log_settings.setup; }
60
+ get highDetailedLogs(): boolean { return DyNTS_global_settings.log_settings.highDetailedLogs; }
71
61
 
72
62
  defaultErrorUserMsg =
73
63
  `We encountered an unhandled Socket Server Error, ` +
@@ -84,6 +74,15 @@ export abstract class DyNTS_SocketServerService<
84
74
  });
85
75
  }
86
76
 
77
+ /**
78
+ * You need to setup a function that converts subscription event content to presence.
79
+ * You should do authentication and authorization here.
80
+ */
81
+ protected abstract getPresenceFromSubscriptionEventContent(
82
+ socketSubscription: T_SubscriptionContent,
83
+ socket: SocketIO.Socket
84
+ ): Promise<T_Presence>;
85
+
87
86
  private async asyncConstructor(): Promise<void> {
88
87
  try {
89
88
  this.params = this.getServiceParams();
@@ -93,7 +92,7 @@ export abstract class DyNTS_SocketServerService<
93
92
 
94
93
  if (this.logSetup) console.log(
95
94
  `Socket Server Service setup done: ${this.params.name} (${this.params.port}) ` +
96
- `serurity: ${this.params.security}\n`
95
+ `security: ${this.params.security}\n`
97
96
  );
98
97
  } catch (error) {
99
98
  DyFM_Log.error(
@@ -115,25 +114,25 @@ export abstract class DyNTS_SocketServerService<
115
114
  try {
116
115
  /** Setup connect event */
117
116
  const connectEventIndex = this.incomingEvents.findIndex(
118
- (event: DyNTS_SocketEvent<any>) =>
119
- event.eventKey === DyNTS_SocketEventKey.connection
117
+ (event: DyFM_SocketEvent<any>) =>
118
+ event.eventKey === DyFM_SocketEvent_Key.connection
120
119
  );
121
120
 
122
121
  if (0 <= connectEventIndex) {
123
122
  this.connectEvent = this.incomingEvents.splice(connectEventIndex)[0];
124
123
  } else {
125
- this.connectEvent = new DyNTS_SocketEvent({
126
- eventKey: DyNTS_SocketEventKey.connection,
124
+ this.connectEvent = new DyFM_SocketEvent({
125
+ eventKey: DyFM_SocketEvent_Key.connection,
127
126
  });
128
127
  }
129
128
  this.connectEvent.serviceName = this.params.name;
130
129
 
131
130
  /** Setup subscriptions events */
132
- if (this.getPresenceFromSubscrioptionEventContent) {
131
+ if (this.getPresenceFromSubscriptionEventContent) {
133
132
  /** Setup subscription event */
134
133
  const subscriptionEventIndex = this.incomingEvents.findIndex(
135
- (event: DyNTS_SocketEvent<any>) =>
136
- event.eventKey === DyNTS_SocketEventKey.subscribe
134
+ (event: DyFM_SocketEvent<any>) =>
135
+ event.eventKey === DyFM_SocketEvent_Key.subscribe
137
136
  );
138
137
 
139
138
  if (0 <= subscriptionEventIndex) {
@@ -144,13 +143,13 @@ export abstract class DyNTS_SocketServerService<
144
143
  `${this.params.name} (${this.params.port})`
145
144
  );
146
145
  } else {
147
- this.subscriptionEvent = new DyNTS_SocketEvent<T_SubscriptionContent>({
148
- eventKey: DyNTS_SocketEventKey.subscribe,
146
+ this.subscriptionEvent = new DyFM_SocketEvent<T_SubscriptionContent>({
147
+ eventKey: DyFM_SocketEvent_Key.subscribe,
149
148
  });
150
149
  }
151
150
 
152
- if (this.getSubscriptionPreProcessess) {
153
- this.subscriptionEvent.preProcesses.push(...this.getSubscriptionPreProcessess());
151
+ if (this.getSubscriptionPreProcesses) {
152
+ this.subscriptionEvent.preProcesses.push(...this.getSubscriptionPreProcesses());
154
153
  }
155
154
 
156
155
  if (this.getSubscriptionTasks) {
@@ -160,8 +159,8 @@ export abstract class DyNTS_SocketServerService<
160
159
 
161
160
  /** Setup subscription event */
162
161
  const unsubscribeEventIndex = this.incomingEvents.findIndex(
163
- (event: DyNTS_SocketEvent<any>) =>
164
- event.eventKey === DyNTS_SocketEventKey.unsubscribe
162
+ (event: DyFM_SocketEvent<any>) =>
163
+ event.eventKey === DyFM_SocketEvent_Key.unsubscribe
165
164
  );
166
165
 
167
166
  if (0 <= unsubscribeEventIndex) {
@@ -172,13 +171,13 @@ export abstract class DyNTS_SocketServerService<
172
171
  `${this.params.name} (${this.params.port})`
173
172
  );
174
173
  } else {
175
- this.unsubscribeEvent = new DyNTS_SocketEvent<T_SubscriptionContent>({
176
- eventKey: DyNTS_SocketEventKey.unsubscribe,
174
+ this.unsubscribeEvent = new DyFM_SocketEvent<T_SubscriptionContent>({
175
+ eventKey: DyFM_SocketEvent_Key.unsubscribe,
177
176
  });
178
177
  }
179
178
 
180
- if (this.getUnsubscribePreProcessess) {
181
- this.unsubscribeEvent.preProcesses.push(...this.getUnsubscribePreProcessess());
179
+ if (this.getUnsubscribePreProcesses) {
180
+ this.unsubscribeEvent.preProcesses.push(...this.getUnsubscribePreProcesses());
182
181
  }
183
182
 
184
183
  if (this.getUnsubscribeTasks) {
@@ -188,8 +187,8 @@ export abstract class DyNTS_SocketServerService<
188
187
 
189
188
  /** Setup disconnect event */
190
189
  const disconnectEventIndex = this.incomingEvents.findIndex(
191
- (event: DyNTS_SocketEvent<any>) =>
192
- event.eventKey === DyNTS_SocketEventKey.disconnect
190
+ (event: DyFM_SocketEvent<any>) =>
191
+ event.eventKey === DyFM_SocketEvent_Key.disconnect
193
192
  );
194
193
 
195
194
  if (0 <= disconnectEventIndex) {
@@ -197,9 +196,9 @@ export abstract class DyNTS_SocketServerService<
197
196
  this.incomingEvents[disconnectEventIndex].tasks.push(this.disconnectBaseTask);
198
197
  } else {
199
198
  this.incomingEvents.push(
200
- new DyNTS_SocketEvent({
199
+ new DyFM_SocketEvent({
201
200
  serviceName: this.params.name,
202
- eventKey: DyNTS_SocketEventKey.disconnect,
201
+ eventKey: DyFM_SocketEvent_Key.disconnect,
203
202
  tasks: [
204
203
  this.disconnectBaseTask,
205
204
  ],
@@ -209,13 +208,13 @@ export abstract class DyNTS_SocketServerService<
209
208
 
210
209
  /** Setup error event */
211
210
  const errorEventIndex = this.incomingEvents.findIndex(
212
- (event: DyNTS_SocketEvent<any>) => event.eventKey === DyNTS_SocketEventKey.error
211
+ (event: DyFM_SocketEvent<any>) => event.eventKey === DyFM_SocketEvent_Key.error
213
212
  );
214
213
 
215
214
  if (errorEventIndex == -1 && this.errorHandling) {
216
- this.incomingEvents.push(new DyNTS_SocketEvent<T_ErrorContent>({
215
+ this.incomingEvents.push(new DyFM_SocketEvent<T_ErrorContent>({
217
216
  serviceName: this.params.name,
218
- eventKey: DyNTS_SocketEventKey.error,
217
+ eventKey: DyFM_SocketEvent_Key.error,
219
218
  tasks: [
220
219
  this.errorHandling,
221
220
  ],
@@ -225,13 +224,13 @@ export abstract class DyNTS_SocketServerService<
225
224
  this.subscriptionEvent.socketName = this.params.name;
226
225
  } else {
227
226
  DyFM_Log.error(
228
- 'getPresenceFromSubscrioptionEventContent is not set',
227
+ 'getPresenceFromSubscriptionEventContent is not set',
229
228
  `${this.params.name} (${this.params.port})`
230
229
  );
231
230
  }
232
231
 
233
232
  /** Set incoming events serviceName */
234
- this.incomingEvents.forEach((event: DyNTS_SocketEvent<any>) => {
233
+ this.incomingEvents.forEach((event: DyFM_SocketEvent<any>) => {
235
234
  event.serviceName = this.params.name;
236
235
  });
237
236
  } catch (error) {
@@ -254,47 +253,47 @@ export abstract class DyNTS_SocketServerService<
254
253
  try {
255
254
  if (this.highDetailedLogs) console.log('\nfn:. setupSocketServer');
256
255
 
257
- newSocketServer.on(DyNTS_SocketEventKey.connection, async (socket: SocketIO.Socket) => {
256
+ newSocketServer.on(DyFM_SocketEvent_Key.connection, async (socket: SocketIO.Socket) => {
258
257
  try {
259
258
  let issuer: string;
260
259
 
261
260
  await this.connectEvent.executeEventTasks(socket);
262
261
 
263
- if (this.getPresenceFromSubscrioptionEventContent) {
262
+ if (this.getPresenceFromSubscriptionEventContent) {
264
263
  socket.on(
265
- DyNTS_SocketEventKey.subscribe,
264
+ DyFM_SocketEvent_Key.subscribe,
266
265
  async (content: any) => {
267
266
  try {
268
267
  /**
269
268
  * usually socket logs are in event.executeEventTasks(),
270
269
  * but subscribe event is an exception from this,
271
- * to be able to check content before getPresenceFromSubscrioptionEventContent
270
+ * to be able to check content before getPresenceFromSubscriptionEventContent
272
271
  */
273
272
  if (DyNTS_global_settings.log_settings.socket_eventContent) {
274
273
  DyFM_Log.log(
275
274
  `--=> incoming socket(${this.params.name}) ` +
276
- `event: ${DyNTS_SocketEventKey.subscribe};` +
275
+ `event: ${DyFM_SocketEvent_Key.subscribe};` +
277
276
  `\ncontent:`, content
278
277
  );
279
278
  } else {
280
279
  DyFM_Log.log(
281
280
  `--=> incoming socket(${this.params.name}) ` +
282
- `event: ${DyNTS_SocketEventKey.subscribe}`
281
+ `event: ${DyFM_SocketEvent_Key.subscribe}`
283
282
  );
284
283
  }
285
284
 
286
- const presence: T_Presence = await this.getPresenceFromSubscrioptionEventContent(
285
+ const presence: T_Presence = await this.getPresenceFromSubscriptionEventContent(
287
286
  content, socket
288
287
  );
289
288
 
290
289
  presence.serviceName = this.params.name;
291
- issuer = presence.issuerId;
290
+ issuer = presence.issuerLocalId;
292
291
 
293
292
  this.addSocketToPresence(presence);
294
293
  await this.subscriptionEvent.executeEventTasks(content, issuer);
295
294
 
296
295
  socket.emit(
297
- DyNTS_SocketEventKey.subscriptionSuccessful,
296
+ DyFM_SocketEvent_Key.subscriptionSuccessful,
298
297
  'subscribe was successful',
299
298
  error => {
300
299
  DyFM_Log.error(
@@ -305,48 +304,55 @@ export abstract class DyNTS_SocketServerService<
305
304
  );
306
305
 
307
306
  DyFM_Log.success(
308
- `<-==> socket(${this.params.name}) subscription successfull (${issuer})`
307
+ `<-==> socket(${this.params.name}) subscription successful (${issuer})`
309
308
  );
310
309
  } catch (error) {
311
- DyFM_Log.error(
312
- `Socket Subscription failed: ${this.params.name} ` ,
313
- `(${this.params.port}) will disconnect now...`,
314
- error
315
- );
316
- socket.emit(DyNTS_SocketEventKey.error, error);
310
+ if (DyNTS_global_settings.log_settings.socket_eventContent) {
311
+ DyFM_Log.error(
312
+ `Socket Subscription failed: ${this.params.name} ` ,
313
+ `(${this.params.port}) will disconnect now...`,
314
+ error
315
+ );
316
+ } else {
317
+ DyFM_Log.error(
318
+ `Socket Subscription failed: ${this.params.name} ` ,
319
+ `(${this.params.port}) will disconnect now...`
320
+ );
321
+ }
322
+ socket.emit(DyFM_SocketEvent_Key.error, error);
317
323
  socket.disconnect();
318
324
  }
319
325
  }
320
326
  );
321
327
 
322
328
  socket.on(
323
- DyNTS_SocketEventKey.unsubscribe,
329
+ DyFM_SocketEvent_Key.unsubscribe,
324
330
  async (issuer: string) => {
325
331
  try {
326
332
  /**
327
333
  * usually socket logs are in event.executeEventTasks(),
328
334
  * but unsubscribe event is an exception from this,
329
- * to be able to check content before getPresenceFromSubscrioptionEventContent
335
+ * to be able to check content before getPresenceFromSubscriptionEventContent
330
336
  */
331
337
  if (DyNTS_global_settings.log_settings.socket_eventContent) {
332
338
  DyFM_Log.log(
333
339
  `--=> incoming socket(${this.params.name}) ` +
334
- `event: ${DyNTS_SocketEventKey.unsubscribe};` +
340
+ `event: ${DyFM_SocketEvent_Key.unsubscribe};` +
335
341
  `\ncontent:`, issuer
336
342
  );
337
343
  } else {
338
344
  DyFM_Log.log(
339
345
  `--=> incoming socket(${this.params.name}) ` +
340
- `event: ${DyNTS_SocketEventKey.unsubscribe}`
346
+ `event: ${DyFM_SocketEvent_Key.unsubscribe}`
341
347
  );
342
348
  }
343
349
 
344
350
  this.removeSubscription(socket, issuer);
345
351
 
346
- await this.subscriptionEvent.executeEventTasks(issuer, issuer);
352
+ await this.unsubscribeEvent.executeEventTasks(issuer, issuer);
347
353
 
348
354
  socket.emit(
349
- DyNTS_SocketEventKey.unsubscribeSuccessful,
355
+ DyFM_SocketEvent_Key.unsubscribeSuccessful,
350
356
  'unsubscribe was successful',
351
357
  error => {
352
358
  DyFM_Log.error(
@@ -357,21 +363,28 @@ export abstract class DyNTS_SocketServerService<
357
363
  );
358
364
 
359
365
  DyFM_Log.success(
360
- `< x > socket(${this.params.name}) unsubscribe successfull (${issuer})`
366
+ `< x > socket(${this.params.name}) unsubscribe successful (${issuer})`
361
367
  );
362
368
  } catch (error) {
363
- DyFM_Log.error(
364
- `Socket unsubscribe failed: ${this.params.name} ` ,
365
- `(${this.params.port}) will disconnect now...`,
366
- error
367
- );
368
- socket.emit(DyNTS_SocketEventKey.error, error);
369
+ if (DyNTS_global_settings.log_settings.socket_eventContent) {
370
+ DyFM_Log.error(
371
+ `Socket unsubscribe failed: ${this.params.name} ` ,
372
+ `(${this.params.port}) will disconnect now...`,
373
+ error
374
+ );
375
+ } else {
376
+ DyFM_Log.error(
377
+ `Socket unsubscribe failed: ${this.params.name} ` ,
378
+ `(${this.params.port}) will disconnect now...`
379
+ );
380
+ }
381
+ socket.emit(DyFM_SocketEvent_Key.error, error);
369
382
  }
370
383
  }
371
384
  );
372
385
  }
373
386
 
374
- this.incomingEvents.forEach((event: DyNTS_SocketEvent<any>) => {
387
+ this.incomingEvents.forEach((event: DyFM_SocketEvent<any>) => {
375
388
  socket.on(
376
389
  event.eventKey,
377
390
  async (content: any) => {
@@ -382,7 +395,7 @@ export abstract class DyNTS_SocketServerService<
382
395
  `Socket Event failed: ${this.params.name} (${this.params.port})`,
383
396
  error
384
397
  );
385
- socket.emit(DyNTS_SocketEventKey.error, error);
398
+ socket.emit(DyFM_SocketEvent_Key.error, error);
386
399
  }
387
400
  }
388
401
  );
@@ -397,7 +410,7 @@ export abstract class DyNTS_SocketServerService<
397
410
  `(${this.params.port}) will disconnect now...`,
398
411
  error
399
412
  );
400
- socket.emit(DyNTS_SocketEventKey.error, error);
413
+ socket.emit(DyFM_SocketEvent_Key.error, error);
401
414
  socket.disconnect();
402
415
  }
403
416
  });
@@ -434,7 +447,7 @@ export abstract class DyNTS_SocketServerService<
434
447
  protected async addSocketToPresence(newPresence: T_Presence): Promise<void> {
435
448
  try {
436
449
  const activePresence: T_Presence = this.presences.find(
437
- (pres: T_Presence) => pres.issuerId === newPresence.issuerId
450
+ (pres: T_Presence) => pres.issuerLocalId === newPresence.issuerLocalId
438
451
  );
439
452
 
440
453
  if (activePresence) {
@@ -443,10 +456,16 @@ export abstract class DyNTS_SocketServerService<
443
456
  this.presences.push(newPresence);
444
457
  }
445
458
  } catch (error) {
446
- DyFM_Log.error(
447
- `Socket Subscription failed: ${this.params?.name} (${this.params?.port})`,
448
- error
449
- );
459
+ if (DyNTS_global_settings.log_settings.socket_eventContent) {
460
+ DyFM_Log.error(
461
+ `Socket Subscription failed: ${this.params?.name} (${this.params?.port})`,
462
+ error
463
+ );
464
+ } else {
465
+ DyFM_Log.error(
466
+ `Socket Subscription failed: ${this.params?.name} (${this.params?.port})`
467
+ );
468
+ }
450
469
 
451
470
  throw error;
452
471
  }
@@ -492,12 +511,13 @@ export abstract class DyNTS_SocketServerService<
492
511
 
493
512
  const activePresence: DyNTS_SocketPresence = this.presences[activePresenceIndex];
494
513
 
495
- if (activePresence.issuerId !== issuer) {
514
+ if (activePresence.issuerLocalId !== issuer) {
496
515
  throw new DyFM_Error({
497
516
  ...this._getDefaultErrorSettings(
498
517
  'sendEventForId',
499
518
  new Error(
500
- `socket subscription for ${issuer} and ${activePresence.issuerId} does not match.`
519
+ `socket subscription for ${issuer} and ` +
520
+ `${activePresence.issuerLocalId} does not match.`
501
521
  ),
502
522
  issuer
503
523
  ),
@@ -527,7 +547,7 @@ export abstract class DyNTS_SocketServerService<
527
547
  if (this.getSubscriptionCloseTasks) {
528
548
  await DyFM_Array.asyncForEach(
529
549
  this.getSubscriptionCloseTasks(),
530
- async (task: DyNTS_SocketEventTask<null>) => {
550
+ async (task: DyFM_SocketEventTask<null>) => {
531
551
  await task(null, issuer);
532
552
  }
533
553
  );
@@ -538,7 +558,7 @@ export abstract class DyNTS_SocketServerService<
538
558
  }
539
559
 
540
560
  socket.disconnect();
541
- DyFM_Log.info(`<x==> socket(${this.params.name}) unsubscription successfull (${issuer})`);
561
+ DyFM_Log.info(`<x==> socket(${this.params.name}) unsubscription successful (${issuer})`);
542
562
  } catch (error) {
543
563
  throw new DyFM_Error({
544
564
  ...this._getDefaultErrorSettings(
@@ -576,7 +596,7 @@ export abstract class DyNTS_SocketServerService<
576
596
  idIsSubscribed(id: string): boolean {
577
597
  try {
578
598
  return !!this.presences.find(
579
- (presence: DyNTS_SocketPresence) => presence.issuerId === id
599
+ (presence: DyNTS_SocketPresence) => presence.issuerLocalId === id
580
600
  );
581
601
  } catch (error) {
582
602
  throw new DyFM_Error({
@@ -593,7 +613,7 @@ export abstract class DyNTS_SocketServerService<
593
613
 
594
614
  async emitError(presenceIssuerId: string, error: any, issuer: string): Promise<void> {
595
615
  try {
596
- await this.sendEventForId(presenceIssuerId, DyNTS_SocketEventKey.error, error, issuer);
616
+ await this.sendEventForId(presenceIssuerId, DyFM_SocketEvent_Key.error, error, issuer);
597
617
  } catch (error) {
598
618
  throw new DyFM_Error({
599
619
  ...this._getDefaultErrorSettings(
@@ -611,7 +631,7 @@ export abstract class DyNTS_SocketServerService<
611
631
  async sendEventForId(id: string, event: string, content: any, issuer: string): Promise<void> {
612
632
  try {
613
633
  const presence: DyNTS_SocketPresence = this.presences.find(
614
- (pres: DyNTS_SocketPresence) => pres.issuerId === id
634
+ (pres: DyNTS_SocketPresence) => pres.issuerLocalId === id
615
635
  );
616
636
 
617
637
  if (!presence) {
@@ -643,15 +663,15 @@ export abstract class DyNTS_SocketServerService<
643
663
  }
644
664
  } catch (error) {
645
665
  try {
646
- if (error.flag.includes('DYNAMO') && error?.accitionalInfo?.inactiveSockets) {
647
- const sockets: SocketIO.Socket[] = error.accitionalInfo.inactiveSockets;
666
+ if (error.flag.includes('DYNAMO') && error?.additionalInfo?.inactiveSockets) {
667
+ const sockets: SocketIO.Socket[] = error.additionalInfo.inactiveSockets;
648
668
 
649
669
  await DyFM_Array.asyncForEach(sockets, async (socket: SocketIO.Socket) => {
650
670
  await this.removeSubscription(socket);
651
671
  });
652
672
 
653
673
  const presence: DyNTS_SocketPresence = this.presences.find(
654
- (pres: DyNTS_SocketPresence) => pres.issuerId === id
674
+ (pres: DyNTS_SocketPresence) => pres.issuerLocalId === id
655
675
  );
656
676
 
657
677
  if (!presence) {
@@ -713,7 +733,7 @@ export abstract class DyNTS_SocketServerService<
713
733
  ): DyFM_Error_Settings {
714
734
  return {
715
735
  status: (error as DyFM_Error)?.___status ?? 500,
716
- message: (error as Error)?.message ?? `${fnName} was UNSUCCESFUL (NTS)`,
736
+ message: (error as Error)?.message ?? `${fnName} was UNSUCCESSFUL (NTS)`,
717
737
  addECToUserMsg: !(error as DyFM_Error)?.__userMessage,
718
738
  userMessage: (error as DyFM_Error)?.__userMessage ?? this.defaultErrorUserMsg,
719
739
  issuer: issuer,
@@ -730,35 +750,35 @@ export abstract class DyNTS_SocketServerService<
730
750
  /**
731
751
  * You must setup events and required services in this function
732
752
  */
733
- protected abstract getIncomingEvents(): DyNTS_SocketEvent<any>[];
753
+ protected abstract getIncomingEvents(): DyFM_SocketEvent<any>[];
734
754
 
735
755
  /**
736
756
  * You can setup tasks for the subscription event in this function
737
757
  */
738
- protected getSubscriptionTasks?(): DyNTS_SocketEventTask<T_SubscriptionContent>[];
758
+ protected getSubscriptionTasks?(): DyFM_SocketEventTask<T_SubscriptionContent>[];
739
759
 
740
760
  /**
741
761
  * You can setup tasks for the subscription event in this function
742
762
  */
743
- protected getSubscriptionCloseTasks?(): DyNTS_SocketEventTask<null>[];
763
+ protected getSubscriptionCloseTasks?(): DyFM_SocketEventTask<null>[];
744
764
 
745
765
  /**
746
- * You can setup preprocessess for the subscription event in this function
766
+ * You can setup preprocesses for the subscription event in this function
747
767
  */
748
- protected getSubscriptionPreProcessess?(): DyNTS_SocketEventPreprocessTask[];
768
+ protected getSubscriptionPreProcesses?(): DyFM_SocketEventPreprocessTask[];
749
769
 
750
770
  /**
751
771
  * You can setup tasks for the unsubscribe event in this function
752
772
  */
753
- protected getUnsubscribeTasks?(): DyNTS_SocketEventTask<T_SubscriptionContent>[];
773
+ protected getUnsubscribeTasks?(): DyFM_SocketEventTask<T_SubscriptionContent>[];
754
774
 
755
775
  /**
756
- * You can setup preprocessess for the unsubscribe event in this function
776
+ * You can setup preprocesses for the unsubscribe event in this function
757
777
  */
758
- protected getUnsubscribePreProcessess?(): DyNTS_SocketEventPreprocessTask[];
778
+ protected getUnsubscribePreProcesses?(): DyFM_SocketEventPreprocessTask[];
759
779
 
760
780
  /**
761
781
  * You can setup tasks for the error event in this function
762
782
  */
763
- protected errorHandling?: DyNTS_SocketEventTask<T_ErrorContent>;
783
+ protected errorHandling?: DyFM_SocketEventTask<T_ErrorContent>;
764
784
  }
@@ -2,13 +2,11 @@
2
2
 
3
3
 
4
4
  // ENUMS
5
- export * from './_enums/socket-event-key.enum';
6
5
  export * from './_enums/socket-security.enum';
7
6
 
8
7
 
9
8
  // MODELS
10
9
  export * from './_models/socket-client-service-params.control-model';
11
- export * from './_models/socket-event.control-model';
12
10
  export * from './_models/socket-presence.control-model';
13
11
  export * from './_models/socket-server-service-params.control-model';
14
12
 
@@ -161,7 +161,7 @@ export class DyNTS_Usage_DataService extends DyNTS_DataService<DyFM_UsageSession
161
161
  )/* : DyFM_ErrorSettings */ {
162
162
  return {
163
163
  status: (error as DyFM_Error)?.___status ?? 417,
164
- message: (error as Error)?.message ?? `${fnName} was UNSUCCESFUL (NTS; ${this.serviceName})`,
164
+ message: (error as Error)?.message ?? `${fnName} was UNSUCCESSFUL (NTS; ${this.serviceName})`,
165
165
  addECToUserMsg: true,
166
166
  userMessage: this.defaultErrorUserMsg,
167
167
  issuer: this.issuer,
@@ -800,7 +800,7 @@ export class DyNTS_DataService<T extends DyFM_Metadata> {
800
800
  )
801
801
  ),
802
802
 
803
- status: 422,
803
+ status: 522,
804
804
  errorCode: 'NTS-DS0-VD1',
805
805
  userMessage: this.defaultValidationErrorUserMsg,
806
806
  });
@@ -819,7 +819,7 @@ export class DyNTS_DataService<T extends DyFM_Metadata> {
819
819
  )
820
820
  ),
821
821
 
822
- status: 422,
822
+ status: 522,
823
823
  errorCode: 'NTS-DS0-VD2',
824
824
  userMessage: this.defaultValidationErrorUserMsg,
825
825
  });
@@ -841,7 +841,7 @@ export class DyNTS_DataService<T extends DyFM_Metadata> {
841
841
  throw new DyFM_Error({
842
842
  ...this._getDefaultErrorSettings('validateForSave', error),
843
843
 
844
- status: 422,
844
+ status: 522,
845
845
  errorCode: 'NTS-DS0-VD0',
846
846
  });
847
847
  }
@@ -910,7 +910,7 @@ export class DyNTS_DataService<T extends DyFM_Metadata> {
910
910
  status: (error as DyFM_Error)?.___status ?? 500,
911
911
  message:
912
912
  (error as Error)?.message ??
913
- `${fnName} was UNSUCCESFUL (NTS; ${this.dataParams.dataName})`,
913
+ `${fnName} was UNSUCCESSFUL (NTS; ${this.dataParams.dataName})`,
914
914
  addECToUserMsg: !(error as DyFM_Error)?.__userMessage,
915
915
  userMessage: (error as DyFM_Error)?.__userMessage ?? this.defaultErrorUserMsg,
916
916
  issuer: this.issuer,
@@ -91,7 +91,7 @@ export class DyNTS_DBService<T extends DyFM_Metadata> {
91
91
  issuer
92
92
  ),
93
93
 
94
- status: 204,
94
+ status: 544,
95
95
  errorCode: 'NTS-DBS-CD1',
96
96
  additionalContent: { data },
97
97
  issuer,
@@ -105,7 +105,7 @@ export class DyNTS_DBService<T extends DyFM_Metadata> {
105
105
  throw new DyFM_Error({
106
106
  ...this._getDefaultErrorSettings('createData', error, issuer),
107
107
 
108
- status: 422,
108
+ status: 522,
109
109
  errorCode: 'NTS-DBS-CD0',
110
110
  additionalContent: { data, dataModel },
111
111
  message:
@@ -920,7 +920,7 @@ export class DyNTS_DBService<T extends DyFM_Metadata> {
920
920
  ): DyFM_Error_Settings {
921
921
  return {
922
922
  status: (error as DyFM_Error)?.___status ?? 500,
923
- message: (error as Error)?.message ?? `${fnName} was UNSUCCESFUL (NTS-DB)`,
923
+ message: (error as Error)?.message ?? `${fnName} was UNSUCCESSFUL (NTS-DB)`,
924
924
  addECToUserMsg: !(error as DyFM_Error)?.__userMessage,
925
925
  userMessage: (error as DyFM_Error)?.__userMessage ?? this.defaultErrorUserMsg,
926
926
  issuer: issuer,
@@ -669,7 +669,7 @@ export class DyNTS_EmailService {
669
669
  ): DyFM_Error_Settings {
670
670
  return {
671
671
  status: (error as DyFM_Error)?.___status ?? 500,
672
- message: (error as Error)?.message ?? `${fnName} was UNSUCCESFUL (NTS; ${this.serviceName})`,
672
+ message: (error as Error)?.message ?? `${fnName} was UNSUCCESSFUL (NTS; ${this.serviceName})`,
673
673
  addECToUserMsg: !(error as DyFM_Error)?.__userMessage,
674
674
  userMessage: (error as DyFM_Error)?.__userMessage ?? this.defaultErrorUserMsg,
675
675
  issuer: issuer,