@futdevpro/nts-dynamo 1.7.2 → 1.7.5

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 (72) hide show
  1. package/.copilot/patterns.json +8 -0
  2. package/lib/_constants/mocks/app-extended-server.mock.d.ts +1 -1
  3. package/lib/_constants/mocks/app-extended-server.mock.d.ts.map +1 -1
  4. package/lib/_constants/mocks/app-server.mock.d.ts +1 -1
  5. package/lib/_constants/mocks/app-server.mock.d.ts.map +1 -1
  6. package/lib/_constants/mocks/socket-server.mock.d.ts.map +1 -1
  7. package/lib/_constants/mocks/socket-server.mock.js +4 -1
  8. package/lib/_constants/mocks/socket-server.mock.js.map +1 -1
  9. package/lib/_models/control-models/endpoint-params.control-model.d.ts.map +1 -1
  10. package/lib/_models/control-models/endpoint-params.control-model.js +3 -22
  11. package/lib/_models/control-models/endpoint-params.control-model.js.map +1 -1
  12. package/lib/_models/control-models/port-settings.control-model.d.ts +11 -0
  13. package/lib/_models/control-models/port-settings.control-model.d.ts.map +1 -0
  14. package/lib/_models/control-models/port-settings.control-model.js +26 -0
  15. package/lib/_models/control-models/port-settings.control-model.js.map +1 -0
  16. package/lib/_models/control-models/socket-presence.control-model.d.ts +5 -3
  17. package/lib/_models/control-models/socket-presence.control-model.d.ts.map +1 -1
  18. package/lib/_models/control-models/socket-presence.control-model.js +34 -20
  19. package/lib/_models/control-models/socket-presence.control-model.js.map +1 -1
  20. package/lib/_models/interfaces/index.d.ts +1 -1
  21. package/lib/_models/interfaces/index.d.ts.map +1 -1
  22. package/lib/_models/interfaces/index.js +1 -1
  23. package/lib/_models/interfaces/index.js.map +1 -1
  24. package/lib/_modules/app-extended.index.d.ts +1 -1
  25. package/lib/_modules/app-extended.index.d.ts.map +1 -1
  26. package/lib/_modules/app-extended.index.js +1 -1
  27. package/lib/_modules/app-extended.index.js.map +1 -1
  28. package/lib/_modules/app.index.d.ts +1 -1
  29. package/lib/_modules/app.index.d.ts.map +1 -1
  30. package/lib/_modules/app.index.js +1 -1
  31. package/lib/_modules/app.index.js.map +1 -1
  32. package/lib/_services/base/data.service.d.ts +1 -1
  33. package/lib/_services/base/data.service.d.ts.map +1 -1
  34. package/lib/_services/base/data.service.js +5 -4
  35. package/lib/_services/base/data.service.js.map +1 -1
  36. package/lib/_services/core/api.service.d.ts +1 -0
  37. package/lib/_services/core/api.service.d.ts.map +1 -1
  38. package/lib/_services/core/api.service.js +19 -21
  39. package/lib/_services/core/api.service.js.map +1 -1
  40. package/lib/_services/server/app-extended.server.d.ts +2 -2
  41. package/lib/_services/server/app-extended.server.d.ts.map +1 -1
  42. package/lib/_services/server/app-extended.server.js +13 -11
  43. package/lib/_services/server/app-extended.server.js.map +1 -1
  44. package/lib/_services/server/app.server.d.ts +9 -70
  45. package/lib/_services/server/app.server.d.ts.map +1 -1
  46. package/lib/_services/server/app.server.js +83 -34
  47. package/lib/_services/server/app.server.js.map +1 -1
  48. package/lib/_services/socket/socket-server.service.d.ts +3 -3
  49. package/lib/_services/socket/socket-server.service.d.ts.map +1 -1
  50. package/lib/_services/socket/socket-server.service.js +8 -7
  51. package/lib/_services/socket/socket-server.service.js.map +1 -1
  52. package/lib/tsconfig.tsbuildinfo +1 -1
  53. package/package.json +4 -3
  54. package/src/_constants/mocks/app-extended-server.mock.ts +1 -1
  55. package/src/_constants/mocks/app-server.mock.ts +1 -1
  56. package/src/_constants/mocks/socket-server.mock.ts +4 -1
  57. package/src/_models/control-models/endpoint-params.control-model.ts +11 -24
  58. package/src/_models/control-models/port-settings.control-model.ts +27 -0
  59. package/src/_models/control-models/socket-presence.control-model.ts +70 -21
  60. package/src/_models/interfaces/index.ts +1 -1
  61. package/src/_modules/app-extended.index.ts +1 -1
  62. package/src/_modules/app.index.ts +1 -1
  63. package/src/_services/base/data.service.ts +8 -5
  64. package/src/_services/core/api.service.ts +36 -21
  65. package/src/_services/server/app-extended.server.ts +19 -11
  66. package/src/_services/server/app.server.ts +159 -110
  67. package/src/_services/socket/socket-server.service.ts +10 -7
  68. package/lib/_models/interfaces/port-settings.interface.d.ts +0 -5
  69. package/lib/_models/interfaces/port-settings.interface.d.ts.map +0 -1
  70. package/lib/_models/interfaces/port-settings.interface.js +0 -3
  71. package/lib/_models/interfaces/port-settings.interface.js.map +0 -1
  72. package/src/_models/interfaces/port-settings.interface.ts +0 -5
@@ -5,7 +5,7 @@ import { customDataModelParams } from '@futdevpro/fsm-dynamo/custom-data-module'
5
5
 
6
6
  import { DynamoNTS_AppParams } from '../../_models/control-models/app-params.control-model';
7
7
  import { DynamoNTS_GlobalServiceSettings } from '../../_models/interfaces/global-service-settings.interface';
8
- import { DynamoNTS_PortSettings } from '../../_models/interfaces/port-settings.interface';
8
+ import { DynamoNTS_PortSettings } from '../../_models/control-models/port-settings.control-model';
9
9
  import { getTestRoutingModule } from '../../_modules/test';
10
10
  import { getUsageRoutingModule } from '../../_modules/usage';
11
11
  import { DynamoNTS_SingletonService } from '../../_services';
@@ -5,7 +5,7 @@ import { customDataModelParams } from '@futdevpro/fsm-dynamo/custom-data-module'
5
5
 
6
6
  import { DynamoNTS_AppParams } from '../../_models/control-models/app-params.control-model';
7
7
  import { DynamoNTS_GlobalServiceSettings } from '../../_models/interfaces/global-service-settings.interface';
8
- import { DynamoNTS_PortSettings } from '../../_models/interfaces/port-settings.interface';
8
+ import { DynamoNTS_PortSettings } from '../../_models/control-models/port-settings.control-model';
9
9
  import { getTestRoutingModule } from '../../_modules/test';
10
10
  import { getUsageRoutingModule } from '../../_modules/usage';
11
11
  import { DynamoNTS_SingletonService } from '../../_services';
@@ -24,7 +24,10 @@ export class DynamoNTS_SocketServer_Mock extends DynamoNTS_SocketServerService<D
24
24
  }
25
25
 
26
26
  protected async getPresenceFromSubscrioptionEventContent(socketSubscription: any, socket: Socket): Promise<DynamoNTS_SocketPresence> {
27
- return new DynamoNTS_SocketPresence({ issuerId: socketSubscription.issuerId, sockets: [ socket ] });
27
+ return new DynamoNTS_SocketPresence({
28
+ issuerId: socketSubscription.issuerId,
29
+ sockets: [ socket ]
30
+ }, 'ISSUER socketServer_Mock');
28
31
  }
29
32
  }
30
33
 
@@ -141,25 +141,6 @@ export class DynamoNTS_EndpointParams{
141
141
  } else {
142
142
  Dynamo_Log.info(msg);
143
143
  }
144
-
145
- /* if (this.logRequestsContent) {
146
- const params = this.getPathParamsLogContent(req);
147
-
148
- if (req.body && 0 < Object.keys(req.body).length) {
149
- console.log(
150
- `===> incoming ${this.name} request... (issuer: ${issuer})` +
151
- `\npathParams: ${params}` +
152
- `\nbody:`, req.body
153
- );
154
- } else {
155
- console.log(
156
- `===> incoming ${this.name} request... (issuer: ${issuer})` +
157
- `\npathParams: ${params}`
158
- );
159
- }
160
- } else {
161
- console.log(`===> incoming ${this.name} request...`);
162
- } */
163
144
  }
164
145
 
165
146
  } catch (error) {
@@ -203,7 +184,13 @@ export class DynamoNTS_EndpointParams{
203
184
  }
204
185
  }
205
186
  } catch (error) {
206
- this.error(req, res, error, issuer);
187
+ Dynamo_Log.error(
188
+ `UNCATCHED endpoint ERROR (${this.name}, ${this.endpoint})`,
189
+ '\nError:', error,
190
+ '\nRequest:', req,
191
+ '\nResponse:', res,
192
+ '\nissuer:', issuer
193
+ );
207
194
  }
208
195
  };
209
196
  }
@@ -217,10 +204,9 @@ export class DynamoNTS_EndpointParams{
217
204
  try {
218
205
  let msg: string = `Endpoint catched an error. ${this.name} (${this.endpoint})`;
219
206
  msg += this.getPathParamsLogContent(req);
220
- msg += `\nERROR:`;
221
207
 
222
208
  Dynamo_Log.error(msg);
223
- console.log(
209
+ Dynamo_Log.log('ERROR:',
224
210
  (error as Dynamo_Error)?.flag?.includes('DYNAMO') ?
225
211
  (error as Dynamo_Error).getErrorSimplified() :
226
212
  error,
@@ -250,10 +236,11 @@ export class DynamoNTS_EndpointParams{
250
236
  }
251
237
  }
252
238
  } catch (error) {
253
- Dynamo_Log.error(
239
+ Dynamo_Log.H_error(
254
240
  `\n\nDYNAMO MULTILEVEL ERROR:DynamoNTS_EndpointParams: error: (${this.name}, ${this.endpoint})` +
255
241
  `\n(DYNAMO MULTILEVEL ERROR means, that the ERRORHANDLING is ALSO FAILED, and the error message was not sent.)` +
256
- `\nERROR:`, error, '\n'
242
+ `\nERROR:`, error,
243
+ '\n'
257
244
  );
258
245
  }
259
246
  }
@@ -0,0 +1,27 @@
1
+
2
+ import * as BodyParser from 'body-parser';
3
+ export class DynamoNTS_PortSettings {
4
+ httpPort?: number;
5
+ httpsPort?: number;
6
+
7
+ httpEncodeSettings?: BodyParser.OptionsUrlencoded = {
8
+ limit: '50mb',
9
+ extended: true,
10
+ };
11
+ httpJsonSettings?: BodyParser.OptionsJson = {
12
+ limit: '50mb',
13
+ };
14
+ httpsEncodeSettings?: BodyParser.OptionsUrlencoded = {
15
+ limit: '50mb',
16
+ extended: true,
17
+ };
18
+ httpsJsonSettings?: BodyParser.OptionsJson = {
19
+ limit: '50mb',
20
+ };
21
+
22
+ constructor(
23
+ set: DynamoNTS_PortSettings
24
+ ) {
25
+ Object.assign(this, set);
26
+ }
27
+ }
@@ -7,34 +7,58 @@ import * as SocketIO from 'socket.io';
7
7
  */
8
8
  export class DynamoNTS_SocketPresence {
9
9
  issuerId: string;
10
- serviceName?: string;
11
- sockets?: SocketIO.Socket[] = [];
10
+ serviceName?: string = 'unknown';
12
11
  onDestroy?: (issuerId: string) => void = id => {};
13
-
12
+
13
+ defaultErrorUserMsg?: string =
14
+ `We encountered an unhandled Socket Error, ` +
15
+ `\nplease contact the responsible development team.`;
16
+
17
+ sockets?: SocketIO.Socket[] = [];
18
+
14
19
  constructor(
15
- set: DynamoNTS_SocketPresence
20
+ set: DynamoNTS_SocketPresence,
21
+ issuer: string
16
22
  ) {
17
23
  if (!set?.issuerId) {
18
24
  throw new Dynamo_Error({
19
- status: 406,
25
+ ...this._getDefaultErrorSettings(
26
+ 'constructor',
27
+ new Error(
28
+ `trying to create DynamoNTS_SocketPresence without a valid issuerId!` +
29
+ `\nset: ${JSON.stringify(set)}`
30
+ ),
31
+ issuer
32
+ ),
33
+
20
34
  errorCode: 'NTS-SD0-C00',
21
- addECToUserMsg: true,
22
- message: 'trying to create DynamoNTS_SocketPresence without a valid issuerId!',
23
- userMessage: 'We encountered an unhandled Server Error, please contact the responsible development team.'
24
35
  });
25
36
  }
26
37
 
27
38
  this.issuerId = set.issuerId;
28
- this.serviceName = set.serviceName ?? 'unknown';
29
- this.onDestroy = set.onDestroy ?? (id => {});
39
+
40
+ if (set.serviceName) {
41
+ this.serviceName = set.serviceName;
42
+ }
43
+ if (set.onDestroy) {
44
+ this.onDestroy = set.onDestroy;
45
+ }
46
+ if (set.defaultErrorUserMsg) {
47
+ this.defaultErrorUserMsg = set.defaultErrorUserMsg;
48
+ }
30
49
 
31
50
  if (!set?.sockets?.length) {
32
51
  throw new Dynamo_Error({
33
- status: 406,
52
+ ...this._getDefaultErrorSettings(
53
+ 'constructor',
54
+ new Error(
55
+ `trying to create DynamoNTS_SocketPresence without a single active socket!` +
56
+ `\nissuerId: ${this.issuerId}`
57
+ ),
58
+ issuer
59
+ ),
60
+
34
61
  errorCode: 'NTS-SD0-C01',
35
- addECToUserMsg: true,
36
- message: 'trying to create DynamoNTS_SocketPresence without a single active socket!',
37
- userMessage: 'We encountered an unhandled Server Error, please contact the responsible development team.'
38
62
  });
39
63
  }
40
64
 
@@ -46,7 +70,7 @@ export class DynamoNTS_SocketPresence {
46
70
  * @param event
47
71
  * @param content
48
72
  */
49
- emitEvent?(event: string, content: any) {
73
+ emitEvent?(event: string, content: any, issuer: string) {
50
74
  /* let anyFailed: boolean = false; */
51
75
  const errors = [];
52
76
  const inactiveSockets: SocketIO.Socket[] = [];
@@ -91,26 +115,51 @@ export class DynamoNTS_SocketPresence {
91
115
 
92
116
  if (0 < errors.length) {
93
117
  throw new Dynamo_Error({
118
+ ...this._getDefaultErrorSettings(
119
+ 'emitEvent',
120
+ new Error(
121
+ `Emitting event '${event}' on socket(s)(${this.serviceName}) failed!`+
122
+ `\n${errors.length} errors occured!`
123
+ ),
124
+ issuer
125
+ ),
126
+
94
127
  status: 500,
95
128
  errorCode: 'NTS-SPC-EE2',
96
- addECToUserMsg: true,
97
- message: `Emitting event '${event}' on socket(s)(${this.serviceName}) failed!`,
98
- userMessage: 'We encountered an unhandled Server Error, please contact the responsible development team.',
99
129
  additionalContent: {
100
130
  inactiveSockets: inactiveSockets,
101
131
  errors: errors,
102
132
  }
103
133
  });
134
+
104
135
  } else if (this.sockets.length === 0) {
105
136
  throw new Dynamo_Error({
137
+ ...this._getDefaultErrorSettings(
138
+ 'emitEvent',
139
+ new Error(
140
+ `Emitting event '${event}' on socket(s)(${this.serviceName}) failed!`+
141
+ `\n No more sockets left connected!`
142
+ ),
143
+ issuer
144
+ ),
145
+
106
146
  status: 404,
107
147
  errorCode: 'NTS-SPC-EE3',
108
- addECToUserMsg: true,
109
- message: `Emitting event '${event}' on socket(s)(${this.serviceName}) failed! No more sockets left connected!`,
110
- userMessage: 'We encountered an unhandled Server Error, please contact the responsible development team.',
111
148
  });
112
149
  }
113
150
  }
151
+
152
+ private _getDefaultErrorSettings?(fnName: string, error: Error | Dynamo_Error, issuer: string): any {
153
+ return {
154
+ status: (error as Dynamo_Error)?.___status ?? 406,
155
+ message: (error as Error)?.message ?? `${fnName} was UNSUCCESFUL (NTS; ${this.serviceName})`,
156
+ userMessage: this.defaultErrorUserMsg,
157
+ issuerService: this.serviceName + ` (${this?.constructor?.name}-DynamoNTS_SocketPresence)`,
158
+ addECToUserMsg: true,
159
+ issuer: issuer,
160
+ error: error,
161
+ }
162
+ }
114
163
 
115
164
  }
116
165
 
@@ -1,7 +1,7 @@
1
1
 
2
2
  // INTERFACES
3
3
  export * from './global-service-settings.interface';
4
- export * from './port-settings.interface';
4
+ export * from '../control-models/port-settings.control-model';
5
5
  export * from './certification-settings.interface';
6
6
  export * from './global-settings.interface';
7
7
  export * from './routing-module-settings.interface';
@@ -9,7 +9,7 @@ export * from '../_services/socket/socket-server.service';
9
9
 
10
10
  // INTERFACES
11
11
  export * from '../_models/interfaces/global-service-settings.interface';
12
- export * from '../_models/interfaces/port-settings.interface';
12
+ export * from '../_models/control-models/port-settings.control-model';
13
13
  export * from '../_models/interfaces/certification-settings.interface';
14
14
  export * from '../_models/interfaces/global-settings.interface';
15
15
  export * from '../_models/interfaces/routing-module-settings.interface';
@@ -7,7 +7,7 @@ export * from '../_services/shared.static-service';
7
7
 
8
8
  // INTERFACES
9
9
  export * from '../_models/interfaces/global-service-settings.interface';
10
- export * from '../_models/interfaces/port-settings.interface';
10
+ export * from '../_models/control-models/port-settings.control-model';
11
11
  export * from '../_models/interfaces/certification-settings.interface';
12
12
  export * from '../_models/interfaces/global-settings.interface';
13
13
  export * from '../_models/interfaces/routing-module-settings.interface';
@@ -548,7 +548,7 @@ export class DynamoNTS_DataService<T extends Dynamo_Metadata> {
548
548
  * (when you simultaneously trying to change the same data's
549
549
  * different values from different flows)
550
550
  */
551
- async saveData(): Promise<void> {
551
+ async saveData(): Promise<T> {
552
552
  try {
553
553
  if (!this.data) {
554
554
  throw new Dynamo_Error({
@@ -561,7 +561,7 @@ export class DynamoNTS_DataService<T extends Dynamo_Metadata> {
561
561
  if (!this.data._id && (!this.depKey || !this.data[this.depKey])) {
562
562
  // if ID of dependencyID is not present, data not exists, create new data
563
563
  this.data = await this.dataDBService.createData(this.data, this.issuer);
564
- return;
564
+ return this.data;
565
565
  }
566
566
 
567
567
  let dataExists: T;
@@ -569,10 +569,12 @@ export class DynamoNTS_DataService<T extends Dynamo_Metadata> {
569
569
  // check if data already exists with the specific ID
570
570
  if (this.data._id) {
571
571
  dataExists = await this.getDataById(null, true);
572
+
572
573
  if (dataExists) {
573
574
  // if data exists do modify
574
575
  this.data = await this.dataDBService.modifyData(this.data, this.issuer);
575
- return;
576
+ return this.data;
577
+
576
578
  } else {
577
579
  throw new Dynamo_Error({
578
580
  ...this._getDefaultErrorSettings(
@@ -603,7 +605,7 @@ export class DynamoNTS_DataService<T extends Dynamo_Metadata> {
603
605
  if (dataExists) {
604
606
  // if data exists do modify
605
607
  this.data = await this.dataDBService.modifyData(this.data, this.issuer);
606
- return;
608
+ return this.data;
607
609
  } else {
608
610
  // if data not exists check that dependency already exists for this
609
611
  const dependencyExists = await this.getDependencyDataDBService().getDataById(this.data[this.depKey]);
@@ -623,6 +625,7 @@ export class DynamoNTS_DataService<T extends Dynamo_Metadata> {
623
625
 
624
626
  // if data not exists create new data
625
627
  this.data = await this.dataDBService.createData(this.data, this.issuer);
628
+ return this.data;
626
629
 
627
630
  } catch (error) {
628
631
  if (['NTS-DS0-SD1', 'NTS-DS0-SD2'].includes(error?.errorCode)) {
@@ -784,7 +787,7 @@ export class DynamoNTS_DataService<T extends Dynamo_Metadata> {
784
787
  addECToUserMsg: true,
785
788
  userMessage: this.defaultErrorUserMsg,
786
789
  issuer: this.issuer,
787
- issuerService: this.serviceName,
790
+ issuerService: this.serviceName + ` (${this?.constructor?.name}-DynamoNTS_DataService)`,
788
791
  error: error,
789
792
  }
790
793
  }
@@ -205,49 +205,53 @@ export class DynamoNTS_ApiService {
205
205
  Dynamo_Log.error(`\n${callParams.name} was UNSUCCESSFUL`/* , new Error() */);
206
206
 
207
207
  throw new Dynamo_Error({
208
- errorCode: 'NTS-API-002',
209
- addECToUserMsg: true,
208
+ ...this._getDefaultErrorSettings(
209
+ callParams.name + ' startApiCall',
210
+ error.response.data
211
+ ),
212
+
213
+ errorCode: 'NTS-API-SAC1',
210
214
  message: 'API call failed on the other end! error response found...',
211
- userMessage: this.defaultErrorUserMsg,
212
- issuerService: this.name,
213
- error: error.response.data,
214
215
  });
215
216
 
216
217
  } else if (error.code === 'ENOTFOUND') {
217
218
  Dynamo_Log.error(`\n${callParams.name} was UNSUCCESSFUL`/* , new Error() */);
218
219
 
219
220
  throw new Dynamo_Error({
221
+ ...this._getDefaultErrorSettings(
222
+ callParams.name + ' startApiCall',
223
+ error
224
+ ),
225
+
220
226
  status: 404,
221
- errorCode: 'NTS-API-003',
222
- addECToUserMsg: true,
227
+ errorCode: 'NTS-API-SAC2',
223
228
  message: 'DNS error; address cannot be resolved!',
224
- userMessage: this.defaultErrorUserMsg,
225
- issuerService: this.name,
226
- error
227
229
  });
228
230
 
229
231
  } else if (error.code === 'ECONNREFUSED') {
230
232
  Dynamo_Log.error(`\n${callParams.name} was UNSUCCESSFUL`/* , new Error() */);
231
233
 
232
234
  throw new Dynamo_Error({
235
+ ...this._getDefaultErrorSettings(
236
+ callParams.name + ' startApiCall',
237
+ error
238
+ ),
239
+
233
240
  status: 404,
234
- errorCode: 'NTS-API-004',
235
- addECToUserMsg: true,
236
- message: 'Authentication error!',
237
- userMessage: this.defaultErrorUserMsg,
238
- issuerService: this.name,
239
- error
241
+ errorCode: 'NTS-API-SAC3',
242
+ message: `Can't connect to the endpoin!`,
240
243
  });
241
244
 
242
245
  } else if (error.config && error.message) {
243
246
 
244
247
  throw new Dynamo_Error({
248
+ ...this._getDefaultErrorSettings(
249
+ callParams.name + ' startApiCall',
250
+ error
251
+ ),
252
+
245
253
  status: +error.message.substring(error.message.length - 4, 3),
246
- errorCode: 'NTS-API-005',
247
- addECToUserMsg: true,
248
- userMessage: this.defaultErrorUserMsg,
249
- issuerService: this/* .constructor */.name,
250
- error
254
+ errorCode: 'NTS-API-SAC4',
251
255
  });
252
256
  } else {
253
257
  Dynamo_Log.error(`\n${callParams.name} was UNSUCCESSFUL`, error/*, '\n\n' , new Error() */);
@@ -256,5 +260,16 @@ export class DynamoNTS_ApiService {
256
260
  }
257
261
  }
258
262
  }
263
+
264
+ private static _getDefaultErrorSettings(fnName: string, error: Error | Dynamo_Error) {
265
+ return {
266
+ status: (error as Dynamo_Error)?.___status ?? 500,
267
+ message: (error as Error)?.message ?? `${fnName} was UNSUCCESFUL (NTS)`,
268
+ addECToUserMsg: true,
269
+ userMessage: this.defaultErrorUserMsg,
270
+ issuerService: `${this?.constructor?.name}-${this?.name}-DynamoNTS_ApiService`,
271
+ error: error,
272
+ }
273
+ }
259
274
  }
260
275
 
@@ -114,8 +114,8 @@ export abstract class DynamoNTS_AppExtended extends DynamoNTS_App {
114
114
 
115
115
  private systemControlsExt: DynamoNTS_AppExtSysControls = new DynamoNTS_AppExtSysControls();
116
116
  override get started(): boolean { return this.systemControlsExt.appExtended.started; }
117
- private httpsSocketCount: number = 0;
118
- private httpSocketCount: number = 0;
117
+ private httpsSocketSettingUpCount: number = 0;
118
+ private httpSocketSettingUpCount: number = 0;
119
119
 
120
120
  private socketSecurity: DynamoNTS_RouteSecurity;
121
121
 
@@ -137,7 +137,11 @@ export abstract class DynamoNTS_AppExtended extends DynamoNTS_App {
137
137
  super(true);
138
138
 
139
139
  this.asyncConstructExt().catch((error: any) => {
140
- Dynamo_Log.error(`\nExtended Application: ${this.params?.name} start failed.\n`, error, '\n');
140
+ Dynamo_Log.error(
141
+ `\nExtended Application: ${this.params?.name} start failed.` +
142
+ `\n`, error,
143
+ '\n'
144
+ );
141
145
  });
142
146
  }
143
147
 
@@ -169,7 +173,11 @@ export abstract class DynamoNTS_AppExtended extends DynamoNTS_App {
169
173
  Dynamo_Log.H_success(`${this.params.name} started successfully.`);
170
174
 
171
175
  } catch (error) {
172
- Dynamo_Log.error(`\nExtended Application: ${this.params?.name} start failed.\n`, error, '\n');
176
+ Dynamo_Log.error(
177
+ `\nExtended Application: ${this.params?.name} start failed.` +
178
+ `\n`, error,
179
+ '\n'
180
+ );
173
181
  throw new Dynamo_Error({
174
182
  errorCode: 'NTS-AES-001',
175
183
  error: error,
@@ -375,7 +383,7 @@ export abstract class DynamoNTS_AppExtended extends DynamoNTS_App {
375
383
  (mod: DynamoNTS_SocketServerService<any>) => mod.port === service.port
376
384
  );
377
385
 
378
- if (1 < existingPorts.length || this.ports.httpPort === service.port || this.ports.httpsPort === service.port) {
386
+ if (1 < existingPorts.length || this.portSettings.httpPort === service.port || this.portSettings.httpsPort === service.port) {
379
387
  let error = new Error(`PORT DUPLICATION: ${service.port}`);
380
388
  let errorStack: string[] = error.stack.split('\n');
381
389
  errorStack.splice(1, 4);
@@ -387,7 +395,7 @@ export abstract class DynamoNTS_AppExtended extends DynamoNTS_App {
387
395
 
388
396
  if (service.security === DynamoNTS_SocketSecurity.open) {
389
397
  if (this.logSetup) console.log(`\nsocket setup (open): ${service?.name}:${service.port}`);
390
- this.httpSocketCount++;
398
+ this.httpSocketSettingUpCount++;
391
399
  this.systemControlsExt.httpSocketServer.started = false;
392
400
 
393
401
  this.allSocketServers.push(
@@ -395,8 +403,8 @@ export abstract class DynamoNTS_AppExtended extends DynamoNTS_App {
395
403
  new SocketIO.Server(this.httpSocketServer),
396
404
  DynamoNTS_SocketSecurity.open,
397
405
  () => {
398
- this.httpSocketCount--;
399
- if (this.httpSocketCount === 0) {
406
+ this.httpSocketSettingUpCount--;
407
+ if (this.httpSocketSettingUpCount === 0) {
400
408
  this.systemControlsExt.httpSocketServer.started = true;
401
409
  }
402
410
  }
@@ -405,7 +413,7 @@ export abstract class DynamoNTS_AppExtended extends DynamoNTS_App {
405
413
 
406
414
  } else if (service.security === DynamoNTS_SocketSecurity.secure) {
407
415
  if (this.logSetup) console.log(`\nsocket setup (secure): ${service?.name}:${service.port}`);
408
- this.httpsSocketCount++;
416
+ this.httpsSocketSettingUpCount++;
409
417
  this.systemControlsExt.httpsSocketServer.started = false;
410
418
 
411
419
  this.allSocketServers.push(
@@ -413,8 +421,8 @@ export abstract class DynamoNTS_AppExtended extends DynamoNTS_App {
413
421
  new SocketIO.Server(this.httpsServer),
414
422
  DynamoNTS_SocketSecurity.secure,
415
423
  () => {
416
- this.httpsSocketCount--;
417
- if (this.httpsSocketCount === 0) {
424
+ this.httpsSocketSettingUpCount--;
425
+ if (this.httpsSocketSettingUpCount === 0) {
418
426
  this.systemControlsExt.httpsSocketServer.started = true;
419
427
  }
420
428
  }