@futdevpro/nts-dynamo 1.6.49 → 1.6.51

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 (30) hide show
  1. package/lib/_constants/global-settings.const.js +2 -2
  2. package/lib/_constants/global-settings.const.js.map +1 -1
  3. package/lib/_models/control-models/socket-event.control-model.d.ts +5 -0
  4. package/lib/_models/control-models/socket-event.control-model.d.ts.map +1 -1
  5. package/lib/_models/control-models/socket-event.control-model.js +9 -8
  6. package/lib/_models/control-models/socket-event.control-model.js.map +1 -1
  7. package/lib/_models/control-models/socket-presence.control-model.d.ts.map +1 -1
  8. package/lib/_models/control-models/socket-presence.control-model.js +2 -1
  9. package/lib/_models/control-models/socket-presence.control-model.js.map +1 -1
  10. package/lib/_models/interfaces/global-settings.interface.d.ts +2 -2
  11. package/lib/_models/interfaces/global-settings.interface.d.ts.map +1 -1
  12. package/lib/_services/base/db.service.d.ts.map +1 -1
  13. package/lib/_services/base/db.service.js +14 -19
  14. package/lib/_services/base/db.service.js.map +1 -1
  15. package/lib/_services/socket/socket-client.service.d.ts.map +1 -1
  16. package/lib/_services/socket/socket-client.service.js +9 -4
  17. package/lib/_services/socket/socket-client.service.js.map +1 -1
  18. package/lib/_services/socket/socket-server.service.d.ts +1 -0
  19. package/lib/_services/socket/socket-server.service.d.ts.map +1 -1
  20. package/lib/_services/socket/socket-server.service.js +57 -37
  21. package/lib/_services/socket/socket-server.service.js.map +1 -1
  22. package/lib/tsconfig.tsbuildinfo +1 -1
  23. package/package.json +1 -1
  24. package/src/_constants/global-settings.const.ts +2 -2
  25. package/src/_models/control-models/socket-event.control-model.ts +11 -5
  26. package/src/_models/control-models/socket-presence.control-model.ts +5 -1
  27. package/src/_models/interfaces/global-settings.interface.ts +2 -2
  28. package/src/_services/base/db.service.ts +14 -19
  29. package/src/_services/socket/socket-client.service.ts +14 -5
  30. package/src/_services/socket/socket-server.service.ts +73 -31
@@ -62,6 +62,7 @@ class DynamoNTS_SocketServerService extends singleton_service_1.DynamoNTS_Single
62
62
  var _a, _b;
63
63
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
64
64
  try {
65
+ /** Setup connect event */
65
66
  const connectEventIndex = this.incomingEvents.findIndex((event) => event.eventKey === socket_event_type_enum_1.DynamoNTS_SocketEventKey.connection);
66
67
  if (0 <= connectEventIndex) {
67
68
  this.connectEvent = this.incomingEvents.splice(connectEventIndex)[0];
@@ -71,13 +72,14 @@ class DynamoNTS_SocketServerService extends singleton_service_1.DynamoNTS_Single
71
72
  eventKey: socket_event_type_enum_1.DynamoNTS_SocketEventKey.connection,
72
73
  });
73
74
  }
74
- this.connectEvent.socketName = this.params.name;
75
+ this.connectEvent.serviceName = this.params.name;
76
+ /** Setup subscription event */
75
77
  if (this.getPresenceFromSubscrioptionEventContent) {
76
78
  const subscriptionEventIndex = this.incomingEvents.findIndex((event) => event.eventKey === socket_event_type_enum_1.DynamoNTS_SocketEventKey.subscribe);
77
79
  if (0 <= subscriptionEventIndex) {
78
80
  this.subscriptionEvent = this.incomingEvents.splice(subscriptionEventIndex)[0];
79
81
  fsm_dynamo_1.Dynamo_Log.error(`You should not set the subscription event, but the subscriptions tasks, ` +
80
- `in case you need additional steps for your subscripotions.`, `${this.params.name} (${this.params.port})`);
82
+ `in case you need additional steps for your subscriptions.`, `${this.params.name} (${this.params.port})`);
81
83
  }
82
84
  else {
83
85
  this.subscriptionEvent = new socket_event_control_model_1.DynamoNTS_SocketEvent({
@@ -90,21 +92,27 @@ class DynamoNTS_SocketServerService extends singleton_service_1.DynamoNTS_Single
90
92
  if (this.getSubscriptionTasks) {
91
93
  this.subscriptionEvent.tasks.push(...this.getSubscriptionTasks());
92
94
  }
95
+ this.subscriptionEvent.serviceName = this.params.name;
96
+ /** Setup disconnect event */
93
97
  const disconnectEventIndex = this.incomingEvents.findIndex((event) => event.eventKey === socket_event_type_enum_1.DynamoNTS_SocketEventKey.disconnect);
94
98
  if (0 <= disconnectEventIndex) {
95
- this.incomingEvents[disconnectEventIndex].tasks.push(this.removeSubscription);
99
+ this.incomingEvents[disconnectEventIndex].serviceName = this.params.name;
100
+ this.incomingEvents[disconnectEventIndex].tasks.push(this.disconnectBaseTask);
96
101
  }
97
102
  else {
98
103
  this.incomingEvents.push(new socket_event_control_model_1.DynamoNTS_SocketEvent({
104
+ serviceName: this.params.name,
99
105
  eventKey: socket_event_type_enum_1.DynamoNTS_SocketEventKey.disconnect,
100
106
  tasks: [
101
- this.removeSubscription
107
+ this.disconnectBaseTask
102
108
  ]
103
109
  }));
104
110
  }
111
+ /** Setup error event */
105
112
  const errorEventIndex = this.incomingEvents.findIndex((event) => event.eventKey === socket_event_type_enum_1.DynamoNTS_SocketEventKey.error);
106
113
  if (errorEventIndex == -1 && this.errorHandling) {
107
114
  this.incomingEvents.push(new socket_event_control_model_1.DynamoNTS_SocketEvent({
115
+ serviceName: this.params.name,
108
116
  eventKey: socket_event_type_enum_1.DynamoNTS_SocketEventKey.error,
109
117
  tasks: [
110
118
  this.errorHandling
@@ -116,8 +124,9 @@ class DynamoNTS_SocketServerService extends singleton_service_1.DynamoNTS_Single
116
124
  else {
117
125
  fsm_dynamo_1.Dynamo_Log.error('getPresenceFromSubscrioptionEventContent is not set', `${this.params.name} (${this.params.port})`);
118
126
  }
127
+ /** Set incoming events serviceName */
119
128
  this.incomingEvents.forEach((event) => {
120
- event.socketName = this.params.name;
129
+ event.serviceName = this.params.name;
121
130
  });
122
131
  }
123
132
  catch (error) {
@@ -145,10 +154,10 @@ class DynamoNTS_SocketServerService extends singleton_service_1.DynamoNTS_Single
145
154
  * to be able to check content before getPresenceFromSubscrioptionEventContent
146
155
  */
147
156
  if (global_settings_const_1.dynamoNTS_globalSettings.logMainSocketEvents || global_settings_const_1.dynamoNTS_globalSettings.logAllSocketEvent || global_settings_const_1.dynamoNTS_globalSettings.logSocketEventContent) {
148
- fsm_dynamo_1.Dynamo_Log.log(`---> incoming socket(${this.params.name}) event: ${socket_event_type_enum_1.DynamoNTS_SocketEventKey.subscribe};\ncontent:`, content);
157
+ fsm_dynamo_1.Dynamo_Log.log(`---> incoming socket(${this.params.name}) event: ${socket_event_type_enum_1.DynamoNTS_SocketEventKey.subscribe};\ncontent:`, content);
149
158
  }
150
159
  else {
151
- fsm_dynamo_1.Dynamo_Log.log(`---> incoming socket(${this.params.name}) event: ${socket_event_type_enum_1.DynamoNTS_SocketEventKey.subscribe}`);
160
+ fsm_dynamo_1.Dynamo_Log.log(`---> incoming socket(${this.params.name}) event: ${socket_event_type_enum_1.DynamoNTS_SocketEventKey.subscribe}`);
152
161
  }
153
162
  const presence = yield this.getPresenceFromSubscrioptionEventContent(content, socket);
154
163
  issuer = presence.issuerId;
@@ -157,7 +166,7 @@ class DynamoNTS_SocketServerService extends singleton_service_1.DynamoNTS_Single
157
166
  socket.emit(socket_event_type_enum_1.DynamoNTS_SocketEventKey.subscriptionSuccessful, 'subscribe was successful', error => {
158
167
  fsm_dynamo_1.Dynamo_Log.error(`Emitting subscriptionSuccessful event failed!\nerror:`, error);
159
168
  });
160
- fsm_dynamo_1.Dynamo_Log.success(`<===> socket subscription successfull (${issuer})`);
169
+ fsm_dynamo_1.Dynamo_Log.success(`<===> socket(${this.params.name}) subscription successfull (${issuer})`);
161
170
  }
162
171
  catch (error) {
163
172
  fsm_dynamo_1.Dynamo_Log.error(`Socket Subscription failed: ${this.params.name} (${this.params.port}) will disconnect now...`, error);
@@ -178,7 +187,7 @@ class DynamoNTS_SocketServerService extends singleton_service_1.DynamoNTS_Single
178
187
  }));
179
188
  });
180
189
  if (global_settings_const_1.dynamoNTS_globalSettings.logMainSocketEvents) {
181
- fsm_dynamo_1.Dynamo_Log.success(`< > Socket (${this.params.name}): new CONNECTION established`);
190
+ fsm_dynamo_1.Dynamo_Log.success(`< > socket(${this.params.name}): new CONNECTION established`);
182
191
  }
183
192
  }
184
193
  catch (error) {
@@ -224,13 +233,24 @@ class DynamoNTS_SocketServerService extends singleton_service_1.DynamoNTS_Single
224
233
  }
225
234
  });
226
235
  }
236
+ disconnectBaseTask(socket, issuer) {
237
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
238
+ try {
239
+ yield this.removeSubscription(socket, issuer);
240
+ fsm_dynamo_1.Dynamo_Log.info(`< x > socket(${this.params.name}) disconnected (${issuer})`);
241
+ }
242
+ catch (error) {
243
+ throw new fsm_dynamo_1.Dynamo_Error(Object.assign(Object.assign({}, this._getDefaultErrorSettings('disconnectBaseTask', error, issuer)), { errorCode: 'NTS-SSS-109' }));
244
+ }
245
+ });
246
+ }
227
247
  removeSubscription(socket, issuer) {
228
- var _a, _b;
248
+ var _a;
229
249
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
230
250
  try {
231
251
  const activePresenceIndex = this.presences.findIndex((pres) => pres.sockets.includes(socket));
232
252
  if (activePresenceIndex === -1) {
233
- throw new fsm_dynamo_1.Dynamo_Error(Object.assign(Object.assign({}, this._getDefaultErrorSettings('sendEventForId', new Error(`closing Socket does not match any in the activePresences`), issuer)), { errorCode: 'NTS-SSS-203' }));
253
+ throw new fsm_dynamo_1.Dynamo_Error(Object.assign(Object.assign({}, this._getDefaultErrorSettings('sendEventForId', new Error(`closing socket(${this.params.name}) does not match any in the activePresences`), issuer)), { errorCode: 'NTS-SSS-203' }));
234
254
  }
235
255
  const activePresence = this.presences[activePresenceIndex];
236
256
  if (activePresence.issuerId !== issuer) {
@@ -238,7 +258,7 @@ class DynamoNTS_SocketServerService extends singleton_service_1.DynamoNTS_Single
238
258
  }
239
259
  const socketIndex = activePresence.sockets.findIndex((s) => s === socket);
240
260
  if (socketIndex === -1) {
241
- throw new fsm_dynamo_1.Dynamo_Error(Object.assign(Object.assign({}, this._getDefaultErrorSettings('sendEventForId', new Error(`closing Socket does not match any in the activePresences`), issuer)), { errorCode: 'NTS-SSS-202' }));
261
+ throw new fsm_dynamo_1.Dynamo_Error(Object.assign(Object.assign({}, this._getDefaultErrorSettings('sendEventForId', new Error(`closing socket(${this.params.name}) does not match any in the activePresences`), issuer)), { errorCode: 'NTS-SSS-202' }));
242
262
  }
243
263
  activePresence.sockets.splice(socketIndex);
244
264
  if (this.getSubscriptionCloseTasks) {
@@ -250,58 +270,55 @@ class DynamoNTS_SocketServerService extends singleton_service_1.DynamoNTS_Single
250
270
  this.presences.splice(activePresenceIndex);
251
271
  }
252
272
  socket.disconnect();
273
+ fsm_dynamo_1.Dynamo_Log.info(`<=x=> socket(${this.params.name}) unsubscription successfull (${issuer})`);
253
274
  }
254
275
  catch (error) {
255
- throw new fsm_dynamo_1.Dynamo_Error(Object.assign(Object.assign({}, this._getDefaultErrorSettings('sendEventForId', error, issuer)), { errorCode: 'NTS-SSS-200', message: `Socket Subscription Removal failed: ${(_a = this.params) === null || _a === void 0 ? void 0 : _a.name} (${(_b = this.params) === null || _b === void 0 ? void 0 : _b.port})` }));
276
+ throw new fsm_dynamo_1.Dynamo_Error(Object.assign(Object.assign({}, this._getDefaultErrorSettings('sendEventForId', error, issuer)), { errorCode: 'NTS-SSS-200', message: `socket(${this.params.name}) Subscription Removal failed: ${(_a = this.params) === null || _a === void 0 ? void 0 : _a.name}` }));
256
277
  }
257
278
  });
258
279
  }
259
280
  emitServerEvent(event, content) {
260
- var _a, _b;
281
+ var _a;
261
282
  try {
262
- fsm_dynamo_1.Dynamo_Log.log(` <=-- emitting server socket event: ${event} (${this.params.name})`);
283
+ fsm_dynamo_1.Dynamo_Log.log(` <=-- emitting server socket(${this.params.name}) event: ${event}`);
263
284
  this.openSocketServer.emit(event, content, error => {
264
285
  fsm_dynamo_1.Dynamo_Log.error(`Emitting server event '${event}' failed!\nerror:`, error);
265
286
  });
266
287
  }
267
288
  catch (error) {
268
- throw new fsm_dynamo_1.Dynamo_Error(Object.assign(Object.assign({}, this._getDefaultErrorSettings('emitEvent', error)), { errorCode: 'NTS-SSS-500', message: `Socket Event Emit (${event}) failed: ${(_a = this.params) === null || _a === void 0 ? void 0 : _a.name} (${(_b = this.params) === null || _b === void 0 ? void 0 : _b.port})` }));
289
+ throw new fsm_dynamo_1.Dynamo_Error(Object.assign(Object.assign({}, this._getDefaultErrorSettings('emitEvent', error)), { errorCode: 'NTS-SSS-500', message: `socket(${this.params.name}) Event Emit (${event}) failed: ${(_a = this.params) === null || _a === void 0 ? void 0 : _a.name}` }));
269
290
  }
270
291
  }
271
292
  idIsSubscribed(id) {
272
- var _a, _b;
273
293
  try {
274
294
  return !!this.presences.find((presence) => presence.issuerId === id);
275
295
  }
276
296
  catch (error) {
277
- throw new fsm_dynamo_1.Dynamo_Error(Object.assign(Object.assign({}, this._getDefaultErrorSettings('idIsSubscribed', error)), { errorCode: 'NTS-SSS-600', message: `Socket ID Subscription Check (${id}) failed: ${(_a = this.params) === null || _a === void 0 ? void 0 : _a.name} (${(_b = this.params) === null || _b === void 0 ? void 0 : _b.port})` }));
297
+ throw new fsm_dynamo_1.Dynamo_Error(Object.assign(Object.assign({}, this._getDefaultErrorSettings('idIsSubscribed', error)), { errorCode: 'NTS-SSS-600', message: `socket(${this.params.name}) ID Subscription Check (${id}) failed` }));
278
298
  }
279
299
  }
280
300
  emitError(presenceIssuerId, error) {
281
- var _a, _b;
282
301
  try {
283
302
  this.sendEventForId(presenceIssuerId, socket_event_type_enum_1.DynamoNTS_SocketEventKey.error, error);
284
303
  }
285
304
  catch (error) {
286
- throw new fsm_dynamo_1.Dynamo_Error(Object.assign(Object.assign({}, this._getDefaultErrorSettings('emitError', error, presenceIssuerId)), { errorCode: 'NTS-SSS-700', message: `Socket Error Emit (id: ${presenceIssuerId}) failed: ${(_a = this.params) === null || _a === void 0 ? void 0 : _a.name} (${(_b = this.params) === null || _b === void 0 ? void 0 : _b.port})` }));
305
+ throw new fsm_dynamo_1.Dynamo_Error(Object.assign(Object.assign({}, this._getDefaultErrorSettings('emitError', error, presenceIssuerId)), { errorCode: 'NTS-SSS-700', message: `socket(${this.params.name}) Error Emit (id: ${presenceIssuerId}) failed` }));
287
306
  }
288
307
  }
289
308
  sendEventForId(id, event, content /* , error?: (err: any) => void */) {
290
- var _a, _b, _c, _d, _e;
309
+ var _a;
291
310
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
292
311
  try {
293
312
  const presence = this.presences.find((pres) => pres.issuerId === id);
294
- if (presence) {
295
- presence.emitEvent(event, content);
296
- if (global_settings_const_1.dynamoNTS_globalSettings.logSocketEventContent) {
297
- fsm_dynamo_1.Dynamo_Log.log(` <--- emitted socket event for presence: ${event} (${this.params.name}, presenceId: ${id}) \ncontent:`, content);
298
- }
299
- else {
300
- fsm_dynamo_1.Dynamo_Log.log(` <--- emitted socket event for presence: ${event} (${this.params.name}, presenceId: ${id})`);
301
- }
313
+ if (!presence) {
314
+ throw new fsm_dynamo_1.Dynamo_Error(Object.assign(Object.assign({}, this._getDefaultErrorSettings('sendEventForId', new Error(`No active socket with this specific ID: ${id}`), content === null || content === void 0 ? void 0 : content.source)), { status: 404, errorCode: 'NTS-SSS-301' }));
315
+ }
316
+ presence.emitEvent(event, content);
317
+ if (global_settings_const_1.dynamoNTS_globalSettings.logSocketEventContent) {
318
+ fsm_dynamo_1.Dynamo_Log.success(` <--- emitted socket(${this.params.name}) event for presence: ${event}, presenceId: ${id}) \ncontent:`, content);
302
319
  }
303
320
  else {
304
- throw new fsm_dynamo_1.Dynamo_Error(Object.assign(Object.assign({}, this._getDefaultErrorSettings('sendEventForId', new Error(`No active socket with this specific ID: ${id}`), content === null || content === void 0 ? void 0 : content.source)), { status: 404, errorCode: 'NTS-SSS-301' }));
321
+ fsm_dynamo_1.Dynamo_Log.success(` <--- emitted socket(${this.params.name}) event for presence: ${event}, presenceId: ${id})`);
305
322
  }
306
323
  }
307
324
  catch (error) {
@@ -311,27 +328,30 @@ class DynamoNTS_SocketServerService extends singleton_service_1.DynamoNTS_Single
311
328
  yield fsm_dynamo_1.Dynamo_Array.asyncForEach(sockets, (socket) => tslib_1.__awaiter(this, void 0, void 0, function* () {
312
329
  yield this.removeSubscription(socket);
313
330
  }));
331
+ const presence = this.presences.find((pres) => pres.issuerId === id);
332
+ if (!presence) {
333
+ throw new fsm_dynamo_1.Dynamo_Error(Object.assign(Object.assign({}, this._getDefaultErrorSettings('sendEventForId', new Error(`No active socket(${this.params.name}) with this specific ID: ${id}`), content === null || content === void 0 ? void 0 : content.source)), { status: 404, errorCode: 'NTS-SSS-302' }));
334
+ }
314
335
  }
315
336
  }
316
337
  catch (error) {
317
- throw new fsm_dynamo_1.Dynamo_Error(Object.assign(Object.assign({}, this._getDefaultErrorSettings('sendEventForId', error, content === null || content === void 0 ? void 0 : content.source)), { errorCode: 'NTS-SSS-310', message: `Error handling of inactive sockets failed!` +
318
- `\n(Socket Event Emit for id (${id}, ${event}) failed: ${(_b = this.params) === null || _b === void 0 ? void 0 : _b.name} (${(_c = this.params) === null || _c === void 0 ? void 0 : _c.port}))` }));
338
+ throw new fsm_dynamo_1.Dynamo_Error(Object.assign(Object.assign({}, this._getDefaultErrorSettings('sendEventForId', error, content === null || content === void 0 ? void 0 : content.source)), { errorCode: 'NTS-SSS-310', message: `Error handling of inactive sockets(${this.params.name}) failed!` +
339
+ `\n(Socket Event Emit for id (${id}, ${event}) failed)` }));
319
340
  }
320
- throw new fsm_dynamo_1.Dynamo_Error(Object.assign(Object.assign({}, this._getDefaultErrorSettings('sendEventForId', error, content === null || content === void 0 ? void 0 : content.source)), { errorCode: 'NTS-SSS-310', message: `Socket Event Emit for id (${id}, ${event}) failed: ${(_d = this.params) === null || _d === void 0 ? void 0 : _d.name} (${(_e = this.params) === null || _e === void 0 ? void 0 : _e.port})` }));
341
+ throw new fsm_dynamo_1.Dynamo_Error(Object.assign(Object.assign({}, this._getDefaultErrorSettings('sendEventForId', error, content === null || content === void 0 ? void 0 : content.source)), { errorCode: 'NTS-SSS-310', message: `socket(${this.params.name}) Event Emit for id (${id}, ${event}) failed` }));
321
342
  }
322
343
  });
323
344
  }
324
345
  broadcastEvent(event, content) {
325
- var _a, _b, _c, _d;
326
346
  try {
327
- fsm_dynamo_1.Dynamo_Log.log(` <==-- broadcasting socket event: ${event} (${this.params.name})`);
347
+ fsm_dynamo_1.Dynamo_Log.log(` <==-- broadcasting socket(${this.params.name}) event: ${event}`);
328
348
  this.presences.forEach((presence) => {
329
349
  presence.emitEvent(event, content);
330
350
  });
331
351
  }
332
352
  catch (error) {
333
- fsm_dynamo_1.Dynamo_Log.error(`Socket Event Broadcast (${event}) failed: ${(_a = this.params) === null || _a === void 0 ? void 0 : _a.name} (${(_b = this.params) === null || _b === void 0 ? void 0 : _b.port})`, error);
334
- throw new fsm_dynamo_1.Dynamo_Error(Object.assign(Object.assign({}, this._getDefaultErrorSettings('broadcastEvent', error)), { errorCode: 'NTS-SSS-400', message: `Socket Event Broadcast (${event}) failed: ${(_c = this.params) === null || _c === void 0 ? void 0 : _c.name} (${(_d = this.params) === null || _d === void 0 ? void 0 : _d.port})` }));
353
+ fsm_dynamo_1.Dynamo_Log.error(`socket(${this.params.name}) Event Broadcast (${event}) failed`, error);
354
+ throw new fsm_dynamo_1.Dynamo_Error(Object.assign(Object.assign({}, this._getDefaultErrorSettings('broadcastEvent', error)), { errorCode: 'NTS-SSS-400', message: `socket(${this.params.name}) Event Broadcast (${event}) failed` }));
335
355
  }
336
356
  }
337
357
  _getDefaultErrorSettings(fnName, error, issuer) {
@@ -1 +1 @@
1
- {"version":3,"file":"socket-server.service.js","sourceRoot":"","sources":["../../../src/_services/socket/socket-server.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"socket-server.service.js","sourceRoot":"","sources":["../../../src/_services/socket/socket-server.service.ts"],"names":[],"mappings":"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"}