@futdevpro/nts-dynamo 1.10.8 → 1.10.10

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 (49) hide show
  1. package/build/_models/control-models/app-params.control-model.d.ts.map +1 -1
  2. package/build/_models/control-models/app-params.control-model.js +11 -0
  3. package/build/_models/control-models/app-params.control-model.js.map +1 -1
  4. package/build/_modules/mock/data-model.mock.js +2 -2
  5. package/build/_modules/mock/data-model.mock.js.map +1 -1
  6. package/build/_modules/mock/socket-client.mock.js +1 -1
  7. package/build/_modules/mock/socket-client.mock.js.map +1 -1
  8. package/build/_modules/mock/socket-client.mock.spec.js +1 -1
  9. package/build/_modules/mock/socket-client.mock.spec.js.map +1 -1
  10. package/build/_modules/socket/_models/socket-client-service-params.control-model.d.ts.map +1 -1
  11. package/build/_modules/socket/_models/socket-client-service-params.control-model.js +1 -1
  12. package/build/_modules/socket/_models/socket-client-service-params.control-model.js.map +1 -1
  13. package/build/_modules/socket/_models/socket-client-service-params.control-model.spec.js +1 -1
  14. package/build/_modules/socket/_models/socket-client-service-params.control-model.spec.js.map +1 -1
  15. package/build/_modules/socket/_services/socket-client.service.d.ts +1 -1
  16. package/build/_modules/socket/_services/socket-client.service.d.ts.map +1 -1
  17. package/build/_modules/socket/_services/socket-client.service.js +7 -2
  18. package/build/_modules/socket/_services/socket-client.service.js.map +1 -1
  19. package/build/_modules/socket/_services/socket-server.service.d.ts +9 -11
  20. package/build/_modules/socket/_services/socket-server.service.d.ts.map +1 -1
  21. package/build/_modules/socket/_services/socket-server.service.js +198 -100
  22. package/build/_modules/socket/_services/socket-server.service.js.map +1 -1
  23. package/build/_services/base/data.service.d.ts +17 -10
  24. package/build/_services/base/data.service.d.ts.map +1 -1
  25. package/build/_services/base/data.service.js +137 -107
  26. package/build/_services/base/data.service.js.map +1 -1
  27. package/build/_services/base/db.service.d.ts +20 -10
  28. package/build/_services/base/db.service.d.ts.map +1 -1
  29. package/build/_services/base/db.service.js +66 -47
  30. package/build/_services/base/db.service.js.map +1 -1
  31. package/build/_services/core/api.service.d.ts.map +1 -1
  32. package/build/_services/core/api.service.js +18 -2
  33. package/build/_services/core/api.service.js.map +1 -1
  34. package/build/_services/server/app.server.d.ts.map +1 -1
  35. package/build/_services/server/app.server.js +8 -1
  36. package/build/_services/server/app.server.js.map +1 -1
  37. package/package.json +3 -3
  38. package/src/_models/control-models/app-params.control-model.ts +17 -0
  39. package/src/_modules/mock/data-model.mock.ts +2 -2
  40. package/src/_modules/mock/socket-client.mock.spec.ts +1 -1
  41. package/src/_modules/mock/socket-client.mock.ts +1 -1
  42. package/src/_modules/socket/_models/socket-client-service-params.control-model.spec.ts +1 -2
  43. package/src/_modules/socket/_models/socket-client-service-params.control-model.ts +2 -1
  44. package/src/_modules/socket/_services/socket-client.service.ts +7 -3
  45. package/src/_modules/socket/_services/socket-server.service.ts +271 -125
  46. package/src/_services/base/data.service.ts +216 -165
  47. package/src/_services/base/db.service.ts +86 -60
  48. package/src/_services/core/api.service.ts +23 -2
  49. package/src/_services/server/app.server.ts +13 -4
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DyNTS_SocketServerService = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const SocketIO = tslib_1.__importStar(require("socket.io"));
4
6
  const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
5
7
  const socket_1 = require("@futdevpro/fsm-dynamo/socket");
6
8
  const global_settings_const_1 = require("../../../_collections/global-settings.const");
@@ -27,10 +29,10 @@ class DyNTS_SocketServerService extends singleton_service_1.DyNTS_SingletonServi
27
29
  get activeSubscriptionsCount() { return this.presences.length; }
28
30
  openSocketServer;
29
31
  secureSocketServer;
30
- connectEvent;
32
+ /* private connectEvent: DyFM_SocketEvent<SocketIO.Socket>; */
31
33
  incomingEvents;
32
- subscriptionEvent;
33
- unsubscribeEvent;
34
+ /* private subscriptionEvent: DyFM_SocketEvent<any>; */
35
+ /* private unsubscribeEvent: DyFM_SocketEvent<any>; */
34
36
  presences = [];
35
37
  get logSetup() { return global_settings_const_1.DyNTS_global_settings.log_settings.setup; }
36
38
  get highDetailedLogs() { return global_settings_const_1.DyNTS_global_settings.log_settings.highDetailedLogs; }
@@ -67,88 +69,95 @@ class DyNTS_SocketServerService extends singleton_service_1.DyNTS_SingletonServi
67
69
  async prepareEvents() {
68
70
  try {
69
71
  /** Setup connect event */
70
- const connectEventIndex = this.incomingEvents.findIndex((event) => event.eventKey === socket_1.DyFM_SocketEvent_Key.connection);
72
+ /* const connectEventIndex = this.incomingEvents.findIndex(
73
+ (event: DyFM_SocketEvent<any>) =>
74
+ event.eventKey === DyFM_SocketEvent_Key.connection
75
+ );
76
+
71
77
  if (0 <= connectEventIndex) {
72
- this.connectEvent = this.incomingEvents.splice(connectEventIndex)[0];
78
+ this.connectEvent = this.incomingEvents.splice(connectEventIndex)[0];
79
+ } else {
80
+ this.connectEvent = new DyFM_SocketEvent({
81
+ eventKey: DyFM_SocketEvent_Key.connection,
82
+ });
73
83
  }
74
- else {
75
- this.connectEvent = new socket_1.DyFM_SocketEvent({
76
- eventKey: socket_1.DyFM_SocketEvent_Key.connection,
84
+ this.connectEvent.serviceName = this.params.name; */
85
+ if (!this.getPresenceFromSubscriptionEventContent) {
86
+ throw new fsm_dynamo_1.DyFM_Error({
87
+ error: new Error('getPresenceFromSubscriptionEventContent must be set'),
88
+ errorCode: 'NTS-SSS-PPE1',
77
89
  });
78
90
  }
79
- this.connectEvent.serviceName = this.params.name;
80
- /** Setup subscriptions events */
81
- if (this.getPresenceFromSubscriptionEventContent) {
82
- /** Setup subscription event */
83
- const subscriptionEventIndex = this.incomingEvents.findIndex((event) => event.eventKey === socket_1.DyFM_SocketEvent_Key.subscribe);
84
- if (0 <= subscriptionEventIndex) {
85
- this.subscriptionEvent = this.incomingEvents.splice(subscriptionEventIndex)[0];
86
- fsm_dynamo_1.DyFM_Log.error(`You should not set the subscription event, but the subscriptions tasks, ` +
87
- `in case you need additional steps for your subscriptions.`, `${this.params.name} (${this.params.port})`);
88
- }
89
- else {
90
- this.subscriptionEvent = new socket_1.DyFM_SocketEvent({
91
- eventKey: socket_1.DyFM_SocketEvent_Key.subscribe,
92
- });
93
- }
94
- if (this.getSubscriptionPreProcesses) {
95
- this.subscriptionEvent.preProcesses.push(...this.getSubscriptionPreProcesses());
96
- }
97
- if (this.getSubscriptionTasks) {
98
- this.subscriptionEvent.tasks.push(...this.getSubscriptionTasks());
99
- }
100
- this.subscriptionEvent.serviceName = this.params.name;
101
- /** Setup subscription event */
102
- const unsubscribeEventIndex = this.incomingEvents.findIndex((event) => event.eventKey === socket_1.DyFM_SocketEvent_Key.unsubscribe);
103
- if (0 <= unsubscribeEventIndex) {
104
- this.unsubscribeEvent = this.incomingEvents.splice(unsubscribeEventIndex)[0];
105
- fsm_dynamo_1.DyFM_Log.error(`You should not set the unsubscribe event, but the unsubscribe tasks, ` +
106
- `in case you need additional steps for your unsubscribe.`, `${this.params.name} (${this.params.port})`);
107
- }
108
- else {
109
- this.unsubscribeEvent = new socket_1.DyFM_SocketEvent({
110
- eventKey: socket_1.DyFM_SocketEvent_Key.unsubscribe,
111
- });
112
- }
113
- if (this.getUnsubscribePreProcesses) {
114
- this.unsubscribeEvent.preProcesses.push(...this.getUnsubscribePreProcesses());
115
- }
116
- if (this.getUnsubscribeTasks) {
117
- this.unsubscribeEvent.tasks.push(...this.getUnsubscribeTasks());
118
- }
119
- this.unsubscribeEvent.serviceName = this.params.name;
120
- /** Setup disconnect event */
121
- const disconnectEventIndex = this.incomingEvents.findIndex((event) => event.eventKey === socket_1.DyFM_SocketEvent_Key.disconnect);
122
- if (0 <= disconnectEventIndex) {
123
- this.incomingEvents[disconnectEventIndex].serviceName = this.params.name;
124
- this.incomingEvents[disconnectEventIndex].tasks.push(this.disconnectBaseTask);
125
- }
126
- else {
127
- this.incomingEvents.push(new socket_1.DyFM_SocketEvent({
128
- serviceName: this.params.name,
129
- eventKey: socket_1.DyFM_SocketEvent_Key.disconnect,
130
- tasks: [
131
- this.disconnectBaseTask,
132
- ],
133
- }));
134
- }
135
- /** Setup error event */
136
- const errorEventIndex = this.incomingEvents.findIndex((event) => event.eventKey === socket_1.DyFM_SocketEvent_Key.error);
137
- if (errorEventIndex == -1 && this.errorHandling) {
138
- this.incomingEvents.push(new socket_1.DyFM_SocketEvent({
139
- serviceName: this.params.name,
140
- eventKey: socket_1.DyFM_SocketEvent_Key.error,
141
- tasks: [
142
- this.errorHandling,
143
- ],
144
- }));
145
- }
146
- this.subscriptionEvent.name = this.params.name;
91
+ if (!this.getSubscriptionTasks) {
92
+ fsm_dynamo_1.DyFM_Log.warn(`You should not set the subscription event, ` +
93
+ `in case you need additional steps for your subscriptions.`, `${this.params.name} (${this.params.port})`);
94
+ }
95
+ if (this.incomingEvents.find((event) => event.eventKey === socket_1.DyFM_SocketEvent_Key.subscribe)) {
96
+ fsm_dynamo_1.DyFM_Log.warn(`You need to use getSubscriptionTasks() ` +
97
+ `instead of setting the subscribe event in getIncomingEvents().`, `${this.params.name} (${this.params.port})`);
98
+ }
99
+ if (!this.incomingEvents.find((event) => event.eventKey === socket_1.DyFM_SocketEvent_Key.unsubscribe)) {
100
+ fsm_dynamo_1.DyFM_Log.warn(`You should not set the unsubscribe event, ` +
101
+ `in case you need additional steps for your unsubscribe.`, `${this.params.name} (${this.params.port})`);
102
+ }
103
+ if (this.incomingEvents.find((event) => !event.eventKey)) {
104
+ throw new fsm_dynamo_1.DyFM_Error({
105
+ error: new Error('eventKey must be set'),
106
+ errorCode: 'NTS-SSS-PPE2',
107
+ });
108
+ }
109
+ this.incomingEvents.push(new socket_1.DyFM_SocketEvent({
110
+ eventKey: socket_1.DyFM_SocketEvent_Key.disconnect,
111
+ tasks: [
112
+ async (socket, issuer) => this.disconnectBaseTask(socket, issuer),
113
+ ],
114
+ }));
115
+ if (this.errorHandling) {
116
+ this.incomingEvents.push(new socket_1.DyFM_SocketEvent({
117
+ serviceName: this.params.name,
118
+ eventKey: socket_1.DyFM_SocketEvent_Key.error,
119
+ tasks: [
120
+ async (content) => this.errorHandling(content),
121
+ ],
122
+ }));
147
123
  }
148
124
  else {
149
- fsm_dynamo_1.DyFM_Log.error('getPresenceFromSubscriptionEventContent is not set', `"${this.params.name}" (${this.params.port})`);
125
+ fsm_dynamo_1.DyFM_Log.warn(`You should not set the error event, ` +
126
+ `in case you need additional steps for your error.`, `${this.params.name} (${this.params.port})`);
127
+ this.incomingEvents.push(new socket_1.DyFM_SocketEvent({
128
+ serviceName: this.params.name,
129
+ eventKey: socket_1.DyFM_SocketEvent_Key.error,
130
+ tasks: [
131
+ async (content) => {
132
+ if (content instanceof fsm_dynamo_1.DyFM_Error) {
133
+ content.logSimple(`=--> socket-client(${this.params.name}) ERROR`);
134
+ }
135
+ else {
136
+ fsm_dynamo_1.DyFM_Log.error(`=--> socket-client(${this.params.name}) ERROR:`, content);
137
+ }
138
+ }
139
+ ],
140
+ }));
150
141
  }
151
- /** Set incoming events serviceName */
142
+ // Merge incoming events of the same eventKey
143
+ const eventKeys = this.incomingEvents.map((event) => event.eventKey).filter((eventKey, index, self) => self.indexOf(eventKey) === index);
144
+ const mergedEvents = [];
145
+ eventKeys.forEach((eventKey) => {
146
+ const events = this.incomingEvents.filter((event) => event.eventKey === eventKey);
147
+ mergedEvents.push(new socket_1.DyFM_SocketEvent({
148
+ eventKey: eventKey,
149
+ preProcesses: events.map((event) => event.preProcesses).flat(),
150
+ tasks: events.map((event) => event.tasks).flat(),
151
+ }));
152
+ });
153
+ this.incomingEvents = mergedEvents;
154
+ if (global_settings_const_1.DyNTS_global_settings.log_settings.setup) {
155
+ fsm_dynamo_1.DyFM_Log.log(`Socket Server Service - Event Preparation setup done: ` +
156
+ `"${this.params?.name}" (${this.params?.port})` +
157
+ `\nincomingEvents:`, this.incomingEvents.map((event) => `\n\t"${event.eventKey}": preProcesses: ${event.preProcesses?.length} ` +
158
+ `tasks: ${event.tasks?.length}`));
159
+ }
160
+ // Set incoming events serviceName
152
161
  this.incomingEvents.forEach((event) => {
153
162
  event.serviceName = this.params.name;
154
163
  });
@@ -164,12 +173,16 @@ class DyNTS_SocketServerService extends singleton_service_1.DyNTS_SingletonServi
164
173
  try {
165
174
  if (this.highDetailedLogs)
166
175
  console.log('\nfn:. setupSocketServer');
167
- newSocketServer.on(socket_1.DyFM_SocketEvent_Key.connection, async (socket) => {
176
+ newSocketServer.on(socket_1.DyFM_SocketEvent_Key.incomingNewConnection, async (socket) => {
168
177
  try {
169
178
  let issuer;
170
- await this.connectEvent.executeEventTasks(socket);
179
+ /* await this.connectEvent.executeEventTasks(socket); */
180
+ await fsm_dynamo_1.DyFM_Array.asyncForEach(this.incomingEvents.filter((event) => event.eventKey === socket_1.DyFM_SocketEvent_Key.incomingNewConnection), async (event) => {
181
+ await event.executeEventTasks(socket);
182
+ });
171
183
  if (this.getPresenceFromSubscriptionEventContent) {
172
184
  socket.on(socket_1.DyFM_SocketEvent_Key.subscribe, async (content) => {
185
+ let presence;
173
186
  try {
174
187
  /**
175
188
  * usually socket logs are in event.executeEventTasks(),
@@ -185,11 +198,16 @@ class DyNTS_SocketServerService extends singleton_service_1.DyNTS_SingletonServi
185
198
  fsm_dynamo_1.DyFM_Log.log(`--=> incoming socket(${this.params.name}) ` +
186
199
  `event: "${socket_1.DyFM_SocketEvent_Key.subscribe}"`);
187
200
  }
188
- const presence = await this.getPresenceFromSubscriptionEventContent(content, socket);
201
+ presence = await this.getPresenceFromSubscriptionEventContent(content, socket);
189
202
  presence.serviceName = this.params.name;
190
203
  issuer = presence.issuerLocalId;
191
204
  this.addSocketToPresence(presence);
192
- await this.subscriptionEvent.executeEventTasks(content, issuer);
205
+ /* await this.subscriptionEvent.executeEventTasks(content, issuer); */
206
+ if (this.getSubscriptionTasks) {
207
+ await fsm_dynamo_1.DyFM_Array.asyncForEach(this.getSubscriptionTasks(), async (task) => {
208
+ await task(content, issuer);
209
+ });
210
+ }
193
211
  socket.emit(socket_1.DyFM_SocketEvent_Key.subscriptionSuccessful, 'subscribe was successful', error => {
194
212
  fsm_dynamo_1.DyFM_Log.error(`Emitting subscriptionSuccessful event failed!` +
195
213
  `\nerror:`, error);
@@ -210,9 +228,7 @@ class DyNTS_SocketServerService extends singleton_service_1.DyNTS_SingletonServi
210
228
  else {
211
229
  fsm_dynamo_1.DyFM_Log.error(`Socket Subscription failed: "${this.params.name}" `, `(${this.params.port}) will disconnect now...`);
212
230
  }
213
- socket.emit(socket_1.DyFM_SocketEvent_Key.error, error);
214
- socket.emit(socket_1.DyFM_SocketEvent_Key.disconnect);
215
- socket.disconnect();
231
+ await this.closeSocket(socket, issuer, error);
216
232
  }
217
233
  });
218
234
  socket.on(socket_1.DyFM_SocketEvent_Key.unsubscribe, async (issuer) => {
@@ -231,8 +247,11 @@ class DyNTS_SocketServerService extends singleton_service_1.DyNTS_SingletonServi
231
247
  fsm_dynamo_1.DyFM_Log.log(`--=> incoming socket(${this.params.name}) ` +
232
248
  `event: ${socket_1.DyFM_SocketEvent_Key.unsubscribe}`);
233
249
  }
250
+ /* await this.unsubscribeEvent.executeEventTasks(null, issuer); */
251
+ await fsm_dynamo_1.DyFM_Array.asyncForEach(this.incomingEvents.filter((event) => event.eventKey === socket_1.DyFM_SocketEvent_Key.unsubscribe), async (event) => {
252
+ await event.executeEventTasks(null, issuer);
253
+ });
234
254
  this.removeSubscription(socket, issuer);
235
- await this.unsubscribeEvent.executeEventTasks(issuer, issuer);
236
255
  socket.emit(socket_1.DyFM_SocketEvent_Key.unsubscribeSuccessful, 'unsubscribe was successful', error => {
237
256
  fsm_dynamo_1.DyFM_Log.error(`Emitting unsubscribeSuccessful event failed!` +
238
257
  `\nerror:`, error);
@@ -251,10 +270,13 @@ class DyNTS_SocketServerService extends singleton_service_1.DyNTS_SingletonServi
251
270
  fsm_dynamo_1.DyFM_Log.error(`Socket unsubscribe failed: "${this.params.name}" `, `(${this.params.port}) will disconnect now...`);
252
271
  }
253
272
  socket.emit(socket_1.DyFM_SocketEvent_Key.error, error);
273
+ this.removeSubscription(socket, issuer);
254
274
  }
255
275
  });
256
276
  }
257
- this.incomingEvents.forEach((event) => {
277
+ this.incomingEvents.filter((event) => event.eventKey !== socket_1.DyFM_SocketEvent_Key.incomingNewConnection &&
278
+ event.eventKey !== socket_1.DyFM_SocketEvent_Key.subscribe &&
279
+ event.eventKey !== socket_1.DyFM_SocketEvent_Key.unsubscribe).forEach((event) => {
258
280
  socket.on(event.eventKey, async (content) => {
259
281
  try {
260
282
  await event.executeEventTasks(content, issuer);
@@ -283,8 +305,7 @@ class DyNTS_SocketServerService extends singleton_service_1.DyNTS_SingletonServi
283
305
  fsm_dynamo_1.DyFM_Log.error(`Socket Connection failed: "${this.params.name}" ` +
284
306
  `(${this.params.port}) will disconnect now...`, error);
285
307
  }
286
- socket.emit(socket_1.DyFM_SocketEvent_Key.error, error);
287
- socket.disconnect();
308
+ await this.closeSocket(socket, `${this.params.name} on connection error`, error);
288
309
  }
289
310
  });
290
311
  newSocketServer.listen(this.params.port);
@@ -337,8 +358,63 @@ class DyNTS_SocketServerService extends singleton_service_1.DyNTS_SingletonServi
337
358
  throw error;
338
359
  }
339
360
  }
361
+ async closeSocket(socket, issuer, withError) {
362
+ try {
363
+ if (withError) {
364
+ socket.emit(socket_1.DyFM_SocketEvent_Key.error, withError);
365
+ }
366
+ await fsm_dynamo_1.DyFM_Array.asyncForEach(this.incomingEvents.filter((event) => event.eventKey === socket_1.DyFM_SocketEvent_Key.disconnect), async (event) => {
367
+ await event.executeEventTasks(null, issuer);
368
+ });
369
+ /* if (this.getSubscriptionCloseTasks) {
370
+ await DyFM_Array.asyncForEach(
371
+ this.getSubscriptionCloseTasks(),
372
+ async (task: DyFM_SocketEventTask<null>) => {
373
+ await task(null, issuer);
374
+ }
375
+ );
376
+ } */
377
+ socket.emit(socket_1.DyFM_SocketEvent_Key.disconnect);
378
+ socket.disconnect();
379
+ await this.removeSocketFromPresence(socket);
380
+ }
381
+ catch (error) {
382
+ throw new fsm_dynamo_1.DyFM_Error({
383
+ ...this._getDefaultErrorSettings('closeSocket', error),
384
+ errorCode: 'NTS-SSS-CS0',
385
+ });
386
+ }
387
+ }
388
+ async removeSocketFromPresence(socket) {
389
+ try {
390
+ const presence = this.presences.find((pres) => pres.sockets.includes(socket));
391
+ if (presence) {
392
+ const socketIndex = presence.sockets.indexOf(socket);
393
+ if (socketIndex !== -1) {
394
+ presence.sockets.splice(socketIndex, 1);
395
+ }
396
+ if (presence.sockets.length === 0) {
397
+ const presenceIndex = this.presences.indexOf(presence);
398
+ if (presenceIndex !== -1) {
399
+ this.presences.splice(presenceIndex, 1);
400
+ }
401
+ }
402
+ }
403
+ }
404
+ catch (error) {
405
+ throw new fsm_dynamo_1.DyFM_Error({
406
+ ...this._getDefaultErrorSettings('removeSocketFromPresence', error),
407
+ errorCode: 'NTS-SSS-RSO0',
408
+ });
409
+ }
410
+ }
340
411
  async disconnectBaseTask(socket, issuer) {
341
412
  try {
413
+ if (!(socket instanceof SocketIO.Socket)) {
414
+ throw new fsm_dynamo_1.DyFM_Error({
415
+ ...this._getDefaultErrorSettings('disconnectBaseTask', new Error('Socket is not a SocketIO.Socket')),
416
+ });
417
+ }
342
418
  await this.removeSubscription(socket, issuer);
343
419
  fsm_dynamo_1.DyFM_Log.info(`< x > socket(${this.params.name}) disconnected (${issuer})`);
344
420
  }
@@ -354,14 +430,14 @@ class DyNTS_SocketServerService extends singleton_service_1.DyNTS_SingletonServi
354
430
  const activePresenceIndex = this.presences.findIndex((pres) => pres.sockets.includes(socket));
355
431
  if (activePresenceIndex === -1) {
356
432
  throw new fsm_dynamo_1.DyFM_Error({
357
- ...this._getDefaultErrorSettings('sendEventForId', new Error(`closing socket(${this.params.name}) does not match any in the activePresences`), issuer),
433
+ ...this._getDefaultErrorSettings('sendEventForId', new Error(`closing socket(${this.params.name}) does not match any in the activePresences`), issuer ?? 'unknown issuer'),
358
434
  errorCode: 'NTS-SSS-RS1',
359
435
  });
360
436
  }
361
437
  const activePresence = this.presences[activePresenceIndex];
362
- if (activePresence.issuerLocalId !== issuer) {
438
+ if (issuer && activePresence.issuerLocalId !== issuer) {
363
439
  throw new fsm_dynamo_1.DyFM_Error({
364
- ...this._getDefaultErrorSettings('sendEventForId', new Error(`socket subscription for "${issuer}" and ` +
440
+ ...this._getDefaultErrorSettings('sendEventForId', new Error(`socket unsubscription for "${issuer}" and ` +
365
441
  `"${activePresence.issuerLocalId}" does not match.`), issuer),
366
442
  errorCode: 'NTS-SSS-RS2',
367
443
  });
@@ -369,25 +445,32 @@ class DyNTS_SocketServerService extends singleton_service_1.DyNTS_SingletonServi
369
445
  const socketIndex = activePresence.sockets.findIndex((s) => s === socket);
370
446
  if (socketIndex === -1) {
371
447
  throw new fsm_dynamo_1.DyFM_Error({
372
- ...this._getDefaultErrorSettings('sendEventForId', new Error(`closing socket(${this.params.name}) does not match any in the activePresences`), issuer),
448
+ ...this._getDefaultErrorSettings('sendEventForId', new Error(`closing socket(${this.params.name}) does not match any in the activePresences`), activePresence.issuerLocalId),
373
449
  errorCode: 'NTS-SSS-RS3',
374
450
  });
375
451
  }
376
452
  activePresence.sockets.splice(socketIndex);
377
- if (this.getSubscriptionCloseTasks) {
378
- await fsm_dynamo_1.DyFM_Array.asyncForEach(this.getSubscriptionCloseTasks(), async (task) => {
379
- await task(null, issuer);
380
- });
381
- }
453
+ await fsm_dynamo_1.DyFM_Array.asyncForEach(this.incomingEvents.filter((event) => event.eventKey === socket_1.DyFM_SocketEvent_Key.unsubscribeSuccessful), async (event) => {
454
+ await event.executeEventTasks(null, issuer);
455
+ });
456
+ /* if (this.getSubscriptionCloseTasks) {
457
+ await DyFM_Array.asyncForEach(
458
+ this.getSubscriptionCloseTasks(),
459
+ async (task: DyFM_SocketEventTask<null>) => {
460
+ await task(null, issuer);
461
+ }
462
+ );
463
+ } */
382
464
  if (activePresence.sockets.length === 0) {
383
465
  this.presences.splice(activePresenceIndex);
384
466
  }
467
+ socket.emit(socket_1.DyFM_SocketEvent_Key.unsubscribeSuccessful, 'unsubscribe was successful');
385
468
  socket.disconnect();
386
469
  fsm_dynamo_1.DyFM_Log.info(`<x==> socket(${this.params.name}) unsubscription successful (${issuer})`);
387
470
  }
388
471
  catch (error) {
389
472
  throw new fsm_dynamo_1.DyFM_Error({
390
- ...this._getDefaultErrorSettings('sendEventForId', error, issuer),
473
+ ...this._getDefaultErrorSettings('sendEventForId', error, issuer ?? 'unknown issuer'),
391
474
  errorCode: 'NTS-SSS-RS0',
392
475
  message: `socket(${this.params.name}) Subscription Removal failed: "${this.params?.name}"`,
393
476
  });
@@ -507,7 +590,14 @@ class DyNTS_SocketServerService extends singleton_service_1.DyNTS_SingletonServi
507
590
  });
508
591
  }
509
592
  catch (error) {
510
- fsm_dynamo_1.DyFM_Log.error(`socket(${this.params.name}) Event Broadcast (${event}) failed`, error);
593
+ if (global_settings_const_1.DyNTS_global_settings.log_settings.detailedErrors) {
594
+ if (error instanceof fsm_dynamo_1.DyFM_Error) {
595
+ error.logSimple(`socket(${this.params.name}) Event Broadcast (${event}) failed`);
596
+ }
597
+ else {
598
+ fsm_dynamo_1.DyFM_Log.error(`socket(${this.params.name}) Event Broadcast (${event}) failed`, error);
599
+ }
600
+ }
511
601
  throw new fsm_dynamo_1.DyFM_Error({
512
602
  ...this._getDefaultErrorSettings('broadcastEvent', error),
513
603
  errorCode: 'NTS-SSS-BE0',
@@ -528,6 +618,14 @@ class DyNTS_SocketServerService extends singleton_service_1.DyNTS_SingletonServi
528
618
  error: error,
529
619
  };
530
620
  }
621
+ /**
622
+ * You can setup tasks for the unsubscribe event in this function
623
+ */
624
+ /* protected getUnsubscribeTasks?(): DyFM_SocketEventTask<T_SubscriptionContent>[]; */
625
+ /**
626
+ * You can setup preprocesses for the unsubscribe event in this function
627
+ */
628
+ /* protected getUnsubscribePreProcesses?(): DyFM_SocketEventPreprocessTask[]; */
531
629
  /**
532
630
  * You can setup tasks for the error event in this function
533
631
  */
@@ -1 +1 @@
1
- {"version":3,"file":"socket-server.service.js","sourceRoot":"","sources":["../../../../src/_modules/socket/_services/socket-server.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"socket-server.service.js","sourceRoot":"","sources":["../../../../src/_modules/socket/_services/socket-server.service.ts"],"names":[],"mappings":"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"}
@@ -28,10 +28,12 @@ export declare class DyNTS_DataService<T extends DyFM_Metadata> {
28
28
  data: T;
29
29
  dataList: T[];
30
30
  issuer: string;
31
- depKey?: string;
32
- depDBServiceKey?: string;
33
- depKeyIsUnique?: boolean;
34
- depKeyIsRequired?: boolean;
31
+ readonly depSettings: {
32
+ key: string;
33
+ dbServiceKey: string;
34
+ keyIsUnique: boolean;
35
+ keyIsRequired: boolean;
36
+ }[];
35
37
  private depDataDBService;
36
38
  dataParams: DyFM_DataModel_Params<T>;
37
39
  readonly defaultErrorUserMsg: string;
@@ -75,18 +77,23 @@ export declare class DyNTS_DataService<T extends DyFM_Metadata> {
75
77
  */
76
78
  getDataById(id?: string, dontSetToService?: boolean, skipArchiveLoad?: boolean): Promise<T>;
77
79
  getDataByIds(ids: string[], dontSetToService?: boolean): Promise<T[]>;
80
+ private getDependencyIdsFilter;
78
81
  /**
79
82
  * returns data from database by dependencyId to the service
80
83
  * (using id from service.data, if not provided)
81
- * @param dependencyId
84
+ * @param dependencyIds
82
85
  */
83
- getDataByDependencyId(dependencyId?: string, dontSetToService?: boolean): Promise<T>;
84
- getDataListByDependencyIds(dependencyIds: string[], dontSetToService?: boolean): Promise<T[]>;
86
+ getDataByDependencyId(dependencyIds?: string | {
87
+ [key: string]: string;
88
+ }, dontSetToService?: boolean): Promise<T>;
89
+ getDataListByDependencyIds(dependencyIds: string[], dontSetToService?: boolean, dependencyKey?: string): Promise<T[]>;
85
90
  /**
86
91
  * returns dataList from database by dependencyId to the service
87
- * @param dependencyId
92
+ * @param dependencyIds
88
93
  */
89
- getDataListByDependencyId(dependencyId?: string, dontSetToService?: boolean): Promise<T[]>;
94
+ getDataListByDependencyId(dependencyIds?: string | {
95
+ [key: string]: string;
96
+ }, dontSetToService?: boolean): Promise<T[]>;
90
97
  /**
91
98
  *
92
99
  * // findOne desc:
@@ -246,7 +253,7 @@ export declare class DyNTS_DataService<T extends DyFM_Metadata> {
246
253
  *
247
254
  * @returns
248
255
  */
249
- getDependencyDataDBService(): DyNTS_DBService<any>;
256
+ getDependencyDataDBService(dBServiceKey: string): DyNTS_DBService<any>;
250
257
  private _getDefaultErrorSettings;
251
258
  protected getDefaultErrorSettings(fnName: string, error: DyFM_AnyError): DyFM_Error_Settings;
252
259
  }
@@ -1 +1 @@
1
- {"version":3,"file":"data.service.d.ts","sourceRoot":"","sources":["../../../src/_services/base/data.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data.service.d.ts","sourceRoot":"","sources":["../../../src/_services/base/data.service.ts"],"names":[],"mappings":"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"}