@futdevpro/nts-dynamo 1.6.18 → 1.6.20

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 (71) hide show
  1. package/lib/_constants/mocks/app-extended-server.mock.d.ts +29 -0
  2. package/lib/_constants/mocks/app-extended-server.mock.d.ts.map +1 -0
  3. package/lib/_constants/mocks/app-extended-server.mock.js +99 -0
  4. package/lib/_constants/mocks/app-extended-server.mock.js.map +1 -0
  5. package/lib/_constants/mocks/app-server.mock.d.ts +1 -1
  6. package/lib/_constants/mocks/app-server.mock.d.ts.map +1 -1
  7. package/lib/_constants/mocks/app-server.mock.js +9 -5
  8. package/lib/_constants/mocks/app-server.mock.js.map +1 -1
  9. package/lib/_constants/mocks/socket-server.mock.d.ts +1 -0
  10. package/lib/_constants/mocks/socket-server.mock.d.ts.map +1 -1
  11. package/lib/_constants/mocks/socket-server.mock.js +4 -1
  12. package/lib/_constants/mocks/socket-server.mock.js.map +1 -1
  13. package/lib/_models/control-models/app-system-controls.control-model copy.d.ts +7 -0
  14. package/lib/_models/control-models/app-system-controls.control-model copy.d.ts.map +1 -0
  15. package/lib/_models/control-models/app-system-controls.control-model copy.js +13 -0
  16. package/lib/_models/control-models/app-system-controls.control-model copy.js.map +1 -0
  17. package/lib/_models/control-models/app-system-controls.control-model.d.ts +8 -0
  18. package/lib/_models/control-models/app-system-controls.control-model.d.ts.map +1 -0
  19. package/lib/_models/control-models/app-system-controls.control-model.js +14 -0
  20. package/lib/_models/control-models/app-system-controls.control-model.js.map +1 -0
  21. package/lib/_models/control-models/system-control.control-model.d.ts +6 -0
  22. package/lib/_models/control-models/system-control.control-model.d.ts.map +1 -0
  23. package/lib/_models/control-models/system-control.control-model.js +15 -0
  24. package/lib/_models/control-models/system-control.control-model.js.map +1 -0
  25. package/lib/_services/base/data.service.js +2 -1
  26. package/lib/_services/base/data.service.js.map +1 -1
  27. package/lib/_services/base/db.service.d.ts +2 -2
  28. package/lib/_services/base/db.service.d.ts.map +1 -1
  29. package/lib/_services/base/db.service.js +57 -215
  30. package/lib/_services/base/db.service.js.map +1 -1
  31. package/lib/_services/core/global.service.d.ts +1 -1
  32. package/lib/_services/core/global.service.d.ts.map +1 -1
  33. package/lib/_services/core/global.service.js +30 -17
  34. package/lib/_services/core/global.service.js.map +1 -1
  35. package/lib/_services/server/app-extended.server.d.ts +9 -0
  36. package/lib/_services/server/app-extended.server.d.ts.map +1 -1
  37. package/lib/_services/server/app-extended.server.js +230 -81
  38. package/lib/_services/server/app-extended.server.js.map +1 -1
  39. package/lib/_services/server/app-extended.server.spec.d.ts +2 -0
  40. package/lib/_services/server/app-extended.server.spec.d.ts.map +1 -0
  41. package/lib/_services/server/app-extended.server.spec.js +39 -0
  42. package/lib/_services/server/app-extended.server.spec.js.map +1 -0
  43. package/lib/_services/server/app.server.d.ts +22 -8
  44. package/lib/_services/server/app.server.d.ts.map +1 -1
  45. package/lib/_services/server/app.server.js +413 -184
  46. package/lib/_services/server/app.server.js.map +1 -1
  47. package/lib/_services/server/app.server.spec.js +32 -5
  48. package/lib/_services/server/app.server.spec.js.map +1 -1
  49. package/lib/_services/shared.service.spec.js +7 -1
  50. package/lib/_services/shared.service.spec.js.map +1 -1
  51. package/lib/_services/socket/socket-server.service.d.ts +5 -3
  52. package/lib/_services/socket/socket-server.service.d.ts.map +1 -1
  53. package/lib/_services/socket/socket-server.service.js +32 -7
  54. package/lib/_services/socket/socket-server.service.js.map +1 -1
  55. package/lib/tsconfig.tsbuildinfo +1 -1
  56. package/package.json +2 -2
  57. package/src/_constants/mocks/app-extended-server.mock.ts +113 -0
  58. package/src/_constants/mocks/app-server.mock.ts +8 -8
  59. package/src/_constants/mocks/socket-server.mock.ts +5 -1
  60. package/src/_models/control-models/app-system-controls.control-model copy.ts +9 -0
  61. package/src/_models/control-models/app-system-controls.control-model.ts +9 -0
  62. package/src/_models/control-models/system-control.control-model.ts +13 -0
  63. package/src/_services/base/data.service.ts +1 -1
  64. package/src/_services/base/db.service.ts +110 -114
  65. package/src/_services/core/global.service.ts +14 -4
  66. package/src/_services/server/app-extended.server.spec.ts +45 -0
  67. package/src/_services/server/app-extended.server.ts +208 -41
  68. package/src/_services/server/app.server.spec.ts +35 -5
  69. package/src/_services/server/app.server.ts +302 -72
  70. package/src/_services/shared.service.spec.ts +10 -1
  71. package/src/_services/socket/socket-server.service.ts +36 -11
@@ -17,7 +17,7 @@ export class DynamoNTS_DBService<T extends Dynamo_Metadata> {
17
17
 
18
18
  serviceName: string;
19
19
 
20
- dataModel = mongoose.model(this.dataParams.dbName, this.getSchema());
20
+ dataModel; // = mongoose.model(this.dataParams.dbName, this.getSchema());
21
21
 
22
22
  private depDataName: string;
23
23
 
@@ -34,12 +34,31 @@ export class DynamoNTS_DBService<T extends Dynamo_Metadata> {
34
34
  constructor(
35
35
  public dataParams: Dynamo_DataParams
36
36
  ){
37
- try {
38
- /* this.serviceName = this.constructor?.name; */
39
- this.lookForDependencyDataSettings();
40
- } catch (error) {
41
- Dynamo_Log.error(`\nDynamoNTS_DBService ERROR, The dbService construction failed for ${dataParams.dataName}. ${this.serviceName}`, new Error());
42
- }
37
+ async () => {
38
+ try {
39
+ this.serviceName = this.constructor?.name;
40
+
41
+ try {
42
+ this.dataModel = mongoose.model(this.dataParams.dbName, this.getSchema());
43
+ } catch {
44
+ this.dataModel = mongoose.models[this.dataParams.dbName];
45
+ }
46
+
47
+ this.lookForDependencyDataSettings();
48
+ // Dynamo_Log.testLog(`${this.dataParams.dbName}: ${this.dataModel === mongoose.models[this.dataParams.dbName]}`);
49
+ } catch (error) {
50
+ Dynamo_Log.error(
51
+ `\nDynamoNTS_DBService ERROR, The dbService construction failed for ${dataParams.dataName}. ${this.serviceName}`,
52
+ new Error()
53
+ );
54
+ /* error = new Dynamo_Error({
55
+ message: `\nDynamoNTS_DBService ERROR, The construction failed for ${dataParams.dataName}. ${this.serviceName}`,
56
+ error
57
+ });
58
+
59
+ throw error; */
60
+ }
61
+ };
43
62
  }
44
63
 
45
64
  /**
@@ -59,12 +78,13 @@ export class DynamoNTS_DBService<T extends Dynamo_Metadata> {
59
78
  return res?.toObject() as T;
60
79
  } else {
61
80
  throw new Dynamo_Error({
81
+ ...this.getDefaultErrorSettings(
82
+ 'createData',
83
+ new Error(`createData failed, save ${this.dataParams.dbName} result not found! (NTS DB)`)
84
+ ),
85
+
62
86
  status: 204,
63
87
  errorCode: 'NTS-DBS-CD1',
64
- addECToUserMsg: true,
65
- message: `createData failed, save ${this.dataParams.dbName} result not found! (NTS DB)`,
66
- userMessage: this.defaultErrorUserMsg,
67
- issuerService: this.serviceName,
68
88
  issuer,
69
89
  });
70
90
  }
@@ -73,14 +93,12 @@ export class DynamoNTS_DBService<T extends Dynamo_Metadata> {
73
93
  throw error;
74
94
  } else {
75
95
  throw new Dynamo_Error({
96
+ ...this.getDefaultErrorSettings('createData', error),
97
+
76
98
  status: 422,
77
99
  errorCode: 'NTS-DBS-CD0',
78
- addECToUserMsg: true,
79
100
  message: `createData failed, Create new ${this.dataParams.dbName} was unsuccessful (NTS DB)`,
80
- userMessage: this.defaultErrorUserMsg,
81
- issuerService: this.serviceName,
82
101
  issuer,
83
- error
84
102
  });
85
103
  }
86
104
  });
@@ -109,25 +127,23 @@ export class DynamoNTS_DBService<T extends Dynamo_Metadata> {
109
127
  return res?.toObject() as T;
110
128
  } else {
111
129
  throw new Dynamo_Error({
130
+ ...this.getDefaultErrorSettings(
131
+ 'modifyData',
132
+ new Error(`modifyData failed, modify ${this.dataParams.dbName} result not found! (NTS DB)`)
133
+ ),
134
+
112
135
  status: 204,
113
136
  errorCode: 'NTS-DBS-FU1',
114
- addECToUserMsg: true,
115
- message: `modifyData failed, modify ${this.dataParams.dbName} result not found! (NTS DB)`,
116
- userMessage: this.defaultErrorUserMsg,
117
- issuerService: this.serviceName,
118
137
  issuer,
119
138
  });
120
139
  }
121
140
  }).catch(error => {
122
141
  throw new Dynamo_Error({
123
- status: 417,
142
+ ...this.getDefaultErrorSettings('modifyData', error),
143
+
124
144
  errorCode: 'NTS-DBS-FU0',
125
- addECToUserMsg: true,
126
145
  message: `modifyData ${this.dataParams.dbName} was unsuccessful (NTS DB)`,
127
- userMessage: this.defaultErrorUserMsg,
128
- issuerService: this.serviceName,
129
146
  issuer,
130
- error
131
147
  });
132
148
  });
133
149
 
@@ -151,13 +167,10 @@ export class DynamoNTS_DBService<T extends Dynamo_Metadata> {
151
167
  return res?.toObject() as T ?? null;
152
168
  }).catch(error => {
153
169
  throw new Dynamo_Error({
154
- status: 417,
170
+ ...this.getDefaultErrorSettings('getDataById', error),
171
+
155
172
  errorCode: 'NTS-DBS-GI0',
156
- addECToUserMsg: true,
157
173
  message: `get ${this.dataParams.dbName} by ID was unsuccessful (NTS DB)`,
158
- userMessage: this.defaultErrorUserMsg,
159
- issuerService: this.serviceName,
160
- error
161
174
  });
162
175
  });
163
176
 
@@ -178,12 +191,13 @@ export class DynamoNTS_DBService<T extends Dynamo_Metadata> {
178
191
  async getDataByDependencyId(dependencyId: string): Promise<T> {
179
192
  if (!this.depDataName) {
180
193
  throw new Dynamo_Error({
194
+ ...this.getDefaultErrorSettings(
195
+ 'getDataByDependencyId',
196
+ new Error(`dependencyDataIdKey not setted up for this db-service (${this.dataParams.dbName}) (NTS DB)`)
197
+ ),
198
+
181
199
  status: 501,
182
200
  errorCode: 'NTS-DBS-GD0',
183
- addECToUserMsg: true,
184
- message: `dependencyDataIdKey not setted up for this db-service (${this.dataParams.dbName}) (NTS DB)`,
185
- userMessage: this.defaultErrorUserMsg,
186
- issuerService: this.serviceName,
187
201
  });
188
202
  }
189
203
 
@@ -191,13 +205,10 @@ export class DynamoNTS_DBService<T extends Dynamo_Metadata> {
191
205
  return res?.toObject() as T ?? null;
192
206
  }).catch(error => {
193
207
  throw new Dynamo_Error({
194
- status: 417,
208
+ ...this.getDefaultErrorSettings('getDataByDependencyId', error),
209
+
195
210
  errorCode: 'NTS-DBS-GD1',
196
- addECToUserMsg: true,
197
211
  message: `get ${this.dataParams.dbName} by ${this.depDataName} was unsuccessful (NTS DB)`,
198
- userMessage: this.defaultErrorUserMsg,
199
- issuerService: this.serviceName,
200
- error
201
212
  });
202
213
  });
203
214
 
@@ -218,12 +229,13 @@ export class DynamoNTS_DBService<T extends Dynamo_Metadata> {
218
229
  async getDataListByDependencyId(dependencyId: string): Promise<T[]> {
219
230
  if (!this.depDataName) {
220
231
  throw new Dynamo_Error({
232
+ ...this.getDefaultErrorSettings(
233
+ 'getDataListByDependencyId',
234
+ new Error(`dependencyDataIdKey not setted up for this db-service (${this.dataParams.dbName}) (NTS DB)`)
235
+ ),
236
+
221
237
  status: 501,
222
238
  errorCode: 'NTS-DBS-GLD0',
223
- addECToUserMsg: true,
224
- message: `dependencyDataIdKey not setted up for this db-service (${this.dataParams.dbName}) (NTS DB)`,
225
- userMessage: this.defaultErrorUserMsg,
226
- issuerService: this.serviceName,
227
239
  });
228
240
  }
229
241
 
@@ -231,13 +243,10 @@ export class DynamoNTS_DBService<T extends Dynamo_Metadata> {
231
243
  return res as T[] ?? [];
232
244
  }).catch(error => {
233
245
  throw new Dynamo_Error({
234
- status: 417,
246
+ ...this.getDefaultErrorSettings('getDataListByDependencyId', error),
247
+
235
248
  errorCode: 'NTS-DBS-GLD1',
236
- addECToUserMsg: true,
237
249
  message: `get ${this.dataParams.dbName} by ${this.depDataName} was unsuccessful (NTS DB)`,
238
- userMessage: this.defaultErrorUserMsg,
239
- issuerService: this.serviceName,
240
- error
241
250
  });
242
251
  });
243
252
 
@@ -262,12 +271,13 @@ export class DynamoNTS_DBService<T extends Dynamo_Metadata> {
262
271
  async getDataListByDependencyIds(ids: string[]): Promise<T[]> {
263
272
  if (!this.depDataName) {
264
273
  throw new Dynamo_Error({
274
+ ...this.getDefaultErrorSettings(
275
+ 'getDataListByDependencyIds',
276
+ new Error(`dependencyDataIdKey not setted up for this db-service (${this.dataParams.dbName}) (NTS DB)`)
277
+ ),
278
+
265
279
  status: 501,
266
280
  errorCode: 'NTS-DBS-GLDS0',
267
- addECToUserMsg: true,
268
- message: `dependencyDataIdKey not setted up for this db-service (${this.dataParams.dbName}) (NTS DB)`,
269
- userMessage: this.defaultErrorUserMsg,
270
- issuerService: this.serviceName,
271
281
  });
272
282
  }
273
283
 
@@ -275,13 +285,10 @@ export class DynamoNTS_DBService<T extends Dynamo_Metadata> {
275
285
  return res as T[] ?? [];
276
286
  }).catch(error => {
277
287
  throw new Dynamo_Error({
278
- status: 417,
288
+ ...this.getDefaultErrorSettings('getDataListByDependencyIds', error),
289
+
279
290
  errorCode: 'NTS-DBS-GLDS1',
280
- addECToUserMsg: true,
281
291
  message: `get ${this.dataParams.dbName}s by ${this.depDataName}s was unsuccessful (NTS DB)`,
282
- userMessage: this.defaultErrorUserMsg,
283
- issuerService: this.serviceName,
284
- error
285
292
  });
286
293
  });
287
294
 
@@ -308,13 +315,10 @@ export class DynamoNTS_DBService<T extends Dynamo_Metadata> {
308
315
  return res as T[] ?? [];
309
316
  }).catch(error => {
310
317
  throw new Dynamo_Error({
311
- status: 417,
318
+ ...this.getDefaultErrorSettings('getAll', error),
319
+
312
320
  errorCode: 'NTS-DBS-GA0',
313
- addECToUserMsg: true,
314
321
  message: `get all ${this.dataParams.dbName} was unsuccessful (NTS DB)`,
315
- userMessage: this.defaultErrorUserMsg,
316
- issuerService: this.serviceName,
317
- error
318
322
  });
319
323
  });
320
324
 
@@ -334,13 +338,10 @@ export class DynamoNTS_DBService<T extends Dynamo_Metadata> {
334
338
  async deleteDataById(id: string): Promise<void> {
335
339
  await this.dataModel.findByIdAndDelete(id).catch(error => {
336
340
  throw new Dynamo_Error({
337
- status: 417,
341
+ ...this.getDefaultErrorSettings('deleteDataById', error),
342
+
338
343
  errorCode: 'NTS-DBS-DD0',
339
- addECToUserMsg: true,
340
344
  message: `delete ${this.dataParams.dbName} was unsuccessful (NTS DB)`,
341
- userMessage: this.defaultErrorUserMsg,
342
- issuerService: this.serviceName,
343
- error
344
345
  });
345
346
  });
346
347
  }
@@ -352,24 +353,22 @@ export class DynamoNTS_DBService<T extends Dynamo_Metadata> {
352
353
  async deleteDataByDependencyId(dependencyId: string): Promise<void> {
353
354
  if (!this.depDataName) {
354
355
  throw new Dynamo_Error({
356
+ ...this.getDefaultErrorSettings(
357
+ 'deleteDataByDependencyId',
358
+ new Error(`dependencyDataIdKey not setted up for this db-service (${this.dataParams.dbName}) (NTS DB)`)
359
+ ),
360
+
355
361
  status: 501,
356
362
  errorCode: 'NTS-DBS-DDD0',
357
- addECToUserMsg: true,
358
- message: `dependencyDataIdKey not setted up for this db-service (${this.dataParams.dbName}) (NTS DB)`,
359
- userMessage: this.defaultErrorUserMsg,
360
- issuerService: this.serviceName,
361
363
  });
362
364
  }
363
365
 
364
366
  await this.dataModel.deleteMany({ [this.depDataName]: dependencyId }).catch(error => {
365
367
  throw new Dynamo_Error({
366
- status: 417,
368
+ ...this.getDefaultErrorSettings('deleteDataByDependencyId', error),
369
+
367
370
  errorCode: 'NTS-DBS-DDD1',
368
- addECToUserMsg: true,
369
371
  message: `delete ${this.dataParams.dbName} by ${this.depDataName} was unsuccessful (NTS DB)`,
370
- userMessage: this.defaultErrorUserMsg,
371
- issuerService: this.serviceName,
372
- error
373
372
  });
374
373
  });
375
374
  }
@@ -388,12 +387,13 @@ export class DynamoNTS_DBService<T extends Dynamo_Metadata> {
388
387
  if (0 < narrowByDependencyIds.length) {
389
388
  if (!this.depDataName) {
390
389
  throw new Dynamo_Error({
390
+ ...this.getDefaultErrorSettings(
391
+ 'searchData',
392
+ new Error(`dependencyDataIdKey not setted up for this db-service (${this.dataParams.dbName}) (NTS DB)`)
393
+ ),
394
+
391
395
  status: 501,
392
396
  errorCode: 'NTS-DBS-SD0',
393
- addECToUserMsg: true,
394
- message: `dependencyDataIdKey not setted up for this db-service (${this.dataParams.dbName}) (NTS DB)`,
395
- userMessage: this.defaultErrorUserMsg,
396
- issuerService: this.serviceName,
397
397
  });
398
398
  }
399
399
 
@@ -451,13 +451,10 @@ export class DynamoNTS_DBService<T extends Dynamo_Metadata> {
451
451
  .then(res => res ?? [])
452
452
  .catch(error => {
453
453
  throw new Dynamo_Error({
454
- status: 417,
454
+ ...this.getDefaultErrorSettings('searchData', error),
455
+
455
456
  errorCode: 'NTS-DBS-SD1',
456
- addECToUserMsg: true,
457
457
  message: `search ${this.dataParams.dbName} was unsuccessful (NTS DB)`,
458
- userMessage: this.defaultErrorUserMsg,
459
- issuerService: this.serviceName,
460
- error
461
458
  });
462
459
  });
463
460
 
@@ -508,13 +505,10 @@ export class DynamoNTS_DBService<T extends Dynamo_Metadata> {
508
505
  return res as T ?? null;
509
506
  }).catch(error => {
510
507
  throw new Dynamo_Error({
511
- status: 417,
508
+ ...this.getDefaultErrorSettings('findOne', error),
509
+
512
510
  errorCode: 'NTS-DBS-FO0',
513
- addECToUserMsg: true,
514
511
  message: `findOne ${this.dataParams.dbName} was unsuccessful (NTS DB) fliter: ${filterBy}`,
515
- userMessage: this.defaultErrorUserMsg,
516
- issuerService: this.serviceName,
517
- error
518
512
  });
519
513
  });
520
514
 
@@ -558,13 +552,10 @@ export class DynamoNTS_DBService<T extends Dynamo_Metadata> {
558
552
  return res as T[] ?? [];
559
553
  }).catch(error => {
560
554
  throw new Dynamo_Error({
561
- status: 417,
555
+ ...this.getDefaultErrorSettings('find', error),
556
+
562
557
  errorCode: 'NTS-DBS-F0',
563
- addECToUserMsg: true,
564
558
  message: `find ${this.dataParams.dbName} was unsuccessful (NTS DB)`,
565
- userMessage: this.defaultErrorUserMsg,
566
- issuerService: this.serviceName,
567
- error
568
559
  });
569
560
  });
570
561
 
@@ -620,13 +611,10 @@ export class DynamoNTS_DBService<T extends Dynamo_Metadata> {
620
611
  .then(res => res ?? [])
621
612
  .catch(error => {
622
613
  throw new Dynamo_Error({
623
- status: 417,
614
+ ...this.getDefaultErrorSettings('findWithPaging', error),
615
+
624
616
  errorCode: 'NTS-DBS-WP0',
625
- addECToUserMsg: true,
626
617
  message: `findWithPaging ${this.dataParams.dbName} was unsuccessful (NTS DB)`,
627
- userMessage: this.defaultErrorUserMsg,
628
- issuerService: this.serviceName,
629
- error
630
618
  });
631
619
  });
632
620
 
@@ -658,14 +646,11 @@ export class DynamoNTS_DBService<T extends Dynamo_Metadata> {
658
646
  return res?.toObject() as T ?? null;
659
647
  }).catch(error => {
660
648
  throw new Dynamo_Error({
661
- status: 417,
649
+ ...this.getDefaultErrorSettings('findByIdAndUpdate', error),
650
+
662
651
  errorCode: 'NTS-DBS-FIU0',
663
- addECToUserMsg: true,
664
652
  message: `findByIdAndUpdate ${this.dataParams.dbName} was unsuccessful (NTS DB)`,
665
- userMessage: this.defaultErrorUserMsg,
666
- issuerService: this.serviceName,
667
653
  issuer,
668
- error
669
654
  });
670
655
  });
671
656
 
@@ -734,14 +719,11 @@ export class DynamoNTS_DBService<T extends Dynamo_Metadata> {
734
719
 
735
720
  await this.dataModel.updateOne(filterBy, update).catch(error => {
736
721
  throw new Dynamo_Error({
737
- status: 417,
722
+ ...this.getDefaultErrorSettings('updateOne', error),
723
+
738
724
  errorCode: 'NTS-DBS-UO0',
739
- addECToUserMsg: true,
740
725
  message: `updateOne ${this.dataParams.dbName} was unsuccessful (NTS DB)`,
741
- userMessage: this.defaultErrorUserMsg,
742
- issuerService: this.serviceName,
743
726
  issuer,
744
- error
745
727
  });
746
728
  });
747
729
  }
@@ -803,14 +785,11 @@ export class DynamoNTS_DBService<T extends Dynamo_Metadata> {
803
785
 
804
786
  await this.dataModel.updateMany(filterBy, update).catch(error => {
805
787
  throw new Dynamo_Error({
806
- status: 417,
788
+ ...this.getDefaultErrorSettings('updateMany', error),
789
+
807
790
  errorCode: 'NTS-DBS-UM0',
808
- addECToUserMsg: true,
809
791
  message: `updateMany ${this.dataParams.dbName} was unsuccessful (NTS DB)`,
810
- userMessage: this.defaultErrorUserMsg,
811
- issuerService: this.serviceName,
812
792
  issuer,
813
- error
814
793
  });
815
794
  });
816
795
  }
@@ -880,16 +859,22 @@ export class DynamoNTS_DBService<T extends Dynamo_Metadata> {
880
859
 
881
860
  private getBEType(type: string): String | Number | Boolean | Object | Function | Array<any> | Date {
882
861
  switch (type) {
862
+
883
863
  case 'string':
884
864
  return String;
865
+
885
866
  case 'number':
886
867
  return Number;
868
+
887
869
  case 'boolean':
888
870
  return Boolean;
871
+
889
872
  case 'Date':
890
873
  return Date;
874
+
891
875
  case 'object':
892
876
  return Object;
877
+
893
878
  default:
894
879
  if (type.includes('[]')) {
895
880
  return Array;
@@ -927,4 +912,15 @@ export class DynamoNTS_DBService<T extends Dynamo_Metadata> {
927
912
  this.depDataName = dependencyParam.key;
928
913
  }
929
914
  }
915
+
916
+ private getDefaultErrorSettings(fnName: string, error: Dynamo_Error | Error) {
917
+ return {
918
+ status: 417,
919
+ message: (error as Error)?.message ?? `${fnName} was UNSUCCESFUL (NTS-DB)`,
920
+ addECToUserMsg: true,
921
+ userMessage: this.defaultErrorUserMsg,
922
+ issuerService: this.serviceName,
923
+ error
924
+ };
925
+ }
930
926
  }
@@ -1,6 +1,6 @@
1
1
 
2
2
 
3
- import { Dynamo_Metadata, Dynamo_DataParams, Dynamo_Log } from '@futdevpro/fsm-dynamo';
3
+ import { Dynamo_Metadata, Dynamo_DataParams, Dynamo_Log, Dynamo_Error } from '@futdevpro/fsm-dynamo';
4
4
  import { DynamoNTS_AppParams } from '../../_models/control-models/app-params.control-model';
5
5
 
6
6
  import { DynamoNTS_GlobalServiceSettings } from '../../_models/interfaces/global-service-settings.interface';
@@ -38,7 +38,7 @@ export class DynamoNTS_GlobalService extends DynamoNTS_SingletonService {
38
38
  /**
39
39
  * You need to setup global Services through this function
40
40
  */
41
- static setServices(set: DynamoNTS_GlobalServiceSettings): void {
41
+ static async setServices(set: DynamoNTS_GlobalServiceSettings): Promise<void> {
42
42
  this.getInstance();
43
43
 
44
44
  try {
@@ -47,14 +47,24 @@ export class DynamoNTS_GlobalService extends DynamoNTS_SingletonService {
47
47
  try {
48
48
  this.instance.dbServiceCollection[dbModel.dataName] = new DynamoNTS_DBService(dbModel);
49
49
  } catch (error) {
50
- Dynamo_Log.error(`\nFailed to create DynamoBEDBService (${dbModel.dataName}).\n`, dbModel, `\n`, error);
50
+ error = new Dynamo_Error({
51
+ message: `Failed to create DynamoNTS_DBService (${dbModel.dataName}).\n` + dbModel,
52
+ issuerService: 'DynamoNTS_GlobalService',
53
+ error: error
54
+ });
55
+ throw error;
51
56
  }
52
57
  });
53
58
 
54
59
  this.instance.authService = set.authService;
55
60
  this.instance.emailServiceCollection = set.emailServiceCollection;
56
61
  } catch (error) {
57
- Dynamo_Log.error('\nsetServices failed on DynamoNTS_GlobalService.\n', error);
62
+ Dynamo_Log.error(`Failed to create DynamoNTS_GlobalService.`, error);
63
+ /* error = new Dynamo_Error({
64
+ message: `Failed to create DynamoNTS_GlobalService.`,
65
+ error: error
66
+ });
67
+ throw error; */
58
68
  }
59
69
  }
60
70
 
@@ -0,0 +1,45 @@
1
+ import { DynamoNTS_AppExtendedBase_Mock, DynamoNTS_AppExtendedFull_Mock } from '../../_constants/mocks/app-extended-server.mock';
2
+
3
+ describe('DynamoNTS_AppExtended;', () => {
4
+ describe('a extended-base instance;', () => {
5
+ let app: DynamoNTS_AppExtendedBase_Mock;
6
+
7
+ beforeEach(async () => {
8
+ app = new DynamoNTS_AppExtendedBase_Mock();
9
+ await app.ready();
10
+ });
11
+
12
+ afterEach(async () => {
13
+ await app.stop();
14
+ });
15
+
16
+ it('should be created', () => {
17
+ expect(app).toBeDefined();
18
+ });
19
+
20
+ it('should be started', () => {
21
+ expect(app.started).toBeTrue();
22
+ });
23
+ });
24
+
25
+ describe('a extended-full instance;', () => {
26
+ let app: DynamoNTS_AppExtendedFull_Mock;
27
+
28
+ beforeEach(async () => {
29
+ app = new DynamoNTS_AppExtendedFull_Mock();
30
+ await app.ready();
31
+ });
32
+
33
+ afterEach(async () => {
34
+ await app.stop();
35
+ });
36
+
37
+ it('should be created', () => {
38
+ expect(app).toBeDefined();
39
+ });
40
+
41
+ it('should be started', () => {
42
+ expect(app.started).toBeTrue();
43
+ });
44
+ });
45
+ });