@futdevpro/nts-dynamo 1.9.29 → 1.9.31

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 (65) hide show
  1. package/build/_models/control-models/app-params.control-model.d.ts +4 -0
  2. package/build/_models/control-models/app-params.control-model.d.ts.map +1 -1
  3. package/build/_models/control-models/app-params.control-model.js +5 -0
  4. package/build/_models/control-models/app-params.control-model.js.map +1 -1
  5. package/build/_models/interfaces/global-settings.interface.d.ts +4 -0
  6. package/build/_models/interfaces/global-settings.interface.d.ts.map +1 -1
  7. package/build/_modules/custom-data/custom-data.data-service.d.ts.map +1 -1
  8. package/build/_modules/custom-data/custom-data.data-service.js +1 -1
  9. package/build/_modules/custom-data/custom-data.data-service.js.map +1 -1
  10. package/build/_modules/mock/app-extended-server.mock.js +4 -4
  11. package/build/_modules/mock/app-extended-server.mock.js.map +1 -1
  12. package/build/_modules/mock/app-server.mock.js +4 -4
  13. package/build/_modules/mock/app-server.mock.js.map +1 -1
  14. package/build/_modules/socket/_services/app-extended.server.d.ts +2 -2
  15. package/build/_modules/socket/_services/app-extended.server.js +2 -2
  16. package/build/_modules/socket/_services/socket-server.service.d.ts +1 -1
  17. package/build/_modules/socket/_services/socket-server.service.d.ts.map +1 -1
  18. package/build/_modules/socket/_services/socket-server.service.js.map +1 -1
  19. package/build/_modules/usage/usage.data-service.d.ts +0 -1
  20. package/build/_modules/usage/usage.data-service.d.ts.map +1 -1
  21. package/build/_modules/usage/usage.data-service.js +1 -13
  22. package/build/_modules/usage/usage.data-service.js.map +1 -1
  23. package/build/_services/base/data.service.d.ts +7 -6
  24. package/build/_services/base/data.service.d.ts.map +1 -1
  25. package/build/_services/base/data.service.js +63 -31
  26. package/build/_services/base/data.service.js.map +1 -1
  27. package/build/_services/base/db.service.d.ts +1 -2
  28. package/build/_services/base/db.service.d.ts.map +1 -1
  29. package/build/_services/base/db.service.js +42 -31
  30. package/build/_services/base/db.service.js.map +1 -1
  31. package/build/_services/base/singleton.service-base.d.ts +9 -0
  32. package/build/_services/base/singleton.service-base.d.ts.map +1 -0
  33. package/build/_services/base/singleton.service-base.js +21 -0
  34. package/build/_services/base/singleton.service-base.js.map +1 -0
  35. package/build/_services/base/singleton.service.d.ts +5 -4
  36. package/build/_services/base/singleton.service.d.ts.map +1 -1
  37. package/build/_services/base/singleton.service.js +16 -11
  38. package/build/_services/base/singleton.service.js.map +1 -1
  39. package/build/_services/core/auth.service.d.ts.map +1 -1
  40. package/build/_services/core/auth.service.js +1 -1
  41. package/build/_services/core/auth.service.js.map +1 -1
  42. package/build/_services/core/service-collection.service.d.ts +2 -2
  43. package/build/_services/core/service-collection.service.d.ts.map +1 -1
  44. package/build/_services/core/service-collection.service.js +2 -2
  45. package/build/_services/core/service-collection.service.js.map +1 -1
  46. package/build/_services/server/app.server.d.ts +3 -3
  47. package/build/_services/server/app.server.d.ts.map +1 -1
  48. package/build/_services/server/app.server.js +8 -5
  49. package/build/_services/server/app.server.js.map +1 -1
  50. package/package.json +2 -2
  51. package/src/_models/control-models/app-params.control-model.ts +5 -0
  52. package/src/_models/interfaces/global-settings.interface.ts +5 -0
  53. package/src/_modules/custom-data/custom-data.data-service.ts +2 -2
  54. package/src/_modules/mock/app-extended-server.mock.ts +6 -6
  55. package/src/_modules/mock/app-server.mock.ts +6 -6
  56. package/src/_modules/socket/_services/app-extended.server.ts +2 -2
  57. package/src/_modules/socket/_services/socket-server.service.ts +1 -1
  58. package/src/_modules/usage/usage.data-service.ts +2 -18
  59. package/src/_services/base/data.service.ts +81 -35
  60. package/src/_services/base/db.service.ts +15 -15
  61. package/src/_services/base/singleton.service-base.ts +25 -0
  62. package/src/_services/base/singleton.service.ts +24 -14
  63. package/src/_services/core/auth.service.ts +2 -2
  64. package/src/_services/core/service-collection.service.ts +3 -2
  65. package/src/_services/server/app.server.ts +10 -6
@@ -8,6 +8,9 @@ import { DyNTS_DBUpdate } from '../../_models/types/db-update.type';
8
8
 
9
9
  import { DyNTS_DBService } from './db.service';
10
10
  import { DyNTS_GlobalService } from '../core/global.service';
11
+ import { DyNTS_global_settings } from '../../_collections/global-settings.const';
12
+
13
+ // TODO: 2 type of archiving service system: within list, or separate db elements
11
14
 
12
15
  /**
13
16
  * Basic Data Service that is connected to the relevant DBServices
@@ -45,10 +48,10 @@ export class DyNTS_DataService<T extends DyFM_Metadata> {
45
48
 
46
49
  dataParams: DyFM_DataModel_Params;
47
50
 
48
- defaultErrorUserMsg: string =
51
+ readonly defaultErrorUserMsg: string =
49
52
  `We encountered an unhandled Data Service Error, ` +
50
53
  `\nplease contact the responsible development team.`;
51
- defaultValidationErrorUserMsg: string =
54
+ readonly defaultValidationErrorUserMsg: string =
52
55
  `We encountered an unhandled Validation Error, ` +
53
56
  `\nplease contact the responsible development team.`;
54
57
 
@@ -192,13 +195,13 @@ export class DyNTS_DataService<T extends DyFM_Metadata> {
192
195
  return [];
193
196
  }
194
197
 
195
- const datas: T[] = await this.dataDBService.find({ _id: { $in: ids } });
198
+ const dataList: T[] = await this.dataDBService.find({ _id: { $in: ids } });
196
199
 
197
200
  if (!dontSetToService) {
198
- this.dataList = datas;
201
+ this.dataList = dataList;
199
202
  }
200
203
 
201
- return datas;
204
+ return dataList;
202
205
  } catch (error) {
203
206
  throw new DyFM_Error({
204
207
  ...this._getDefaultErrorSettings('getDataByIds', error),
@@ -276,14 +279,17 @@ export class DyNTS_DataService<T extends DyFM_Metadata> {
276
279
  }
277
280
  }
278
281
 
279
- async getDatasByDependencyIds(dependencyIds: string[], dontSetToService?: boolean): Promise<T[]> {
282
+ async getDataListByDependencyIds(
283
+ dependencyIds: string[],
284
+ dontSetToService?: boolean
285
+ ): Promise<T[]> {
280
286
  try {
281
287
  if (!this.depKey) {
282
288
  throw new DyFM_Error({
283
289
  ...this._getDefaultErrorSettings(
284
- 'getDatasByDependencyIds',
290
+ 'getDataListByDependencyIds',
285
291
  new Error(
286
- `getDatasByDependencyIds failed, dependencyKey is missing from service! ` +
292
+ `getDataListByDependencyIds failed, dependencyKey is missing from service! ` +
287
293
  `(${this.dataParams.dataName})`
288
294
  )
289
295
  ),
@@ -295,9 +301,9 @@ export class DyNTS_DataService<T extends DyFM_Metadata> {
295
301
  if (!dependencyIds) {
296
302
  throw new DyFM_Error({
297
303
  ...this._getDefaultErrorSettings(
298
- 'getDatasByDependencyIds',
304
+ 'getDataListByDependencyIds',
299
305
  new Error(
300
- `getDatasByDependencyIds failed, dependencyIds is missing! ` +
306
+ `getDataListByDependencyIds failed, dependencyIds is missing! ` +
301
307
  `(${this.dataParams.dataName})`
302
308
  )
303
309
  ),
@@ -310,19 +316,19 @@ export class DyNTS_DataService<T extends DyFM_Metadata> {
310
316
  return [];
311
317
  }
312
318
 
313
- const datas: T[] = await this.dataDBService.getDatasByDependencyIds(dependencyIds);
319
+ const dataList: T[] = await this.dataDBService.getDataListByDependencyIds(dependencyIds);
314
320
 
315
321
  if (!dontSetToService) {
316
- this.dataList = datas;
322
+ this.dataList = dataList;
317
323
  }
318
324
 
319
- return datas;
325
+ return dataList;
320
326
  } catch (error) {
321
327
  if ([ 'NTS-DS0-GDS1', 'NTS-DS0-GDS2' ].includes(error?.errorCode)) {
322
328
  throw error;
323
329
  } else {
324
330
  throw new DyFM_Error({
325
- ...this._getDefaultErrorSettings('getDatasByDependencyIds', error),
331
+ ...this._getDefaultErrorSettings('getDataListByDependencyIds', error),
326
332
 
327
333
  errorCode: 'NTS-DS0-GDS0',
328
334
  });
@@ -484,11 +490,11 @@ export class DyNTS_DataService<T extends DyFM_Metadata> {
484
490
  * //
485
491
  * @returns {T[]} dataList: T[]
486
492
  */
487
- async findDatas(filterBy: DyNTS_DBFilter<T>, dontSetToService?: boolean): Promise<T[]> {
493
+ async findDataList(filterBy: DyNTS_DBFilter<T>, dontSetToService?: boolean): Promise<T[]> {
488
494
  try {
489
495
  const dataListExists: T[] = await this.dataDBService.find(filterBy).catch((error): T[] => {
490
496
  if (error?.errorCode === 'NTS-DBS-F1') {
491
- DyFM_Log.warn(`findDatas ${this.dataParams.dataName} didn't found any.`);
497
+ DyFM_Log.warn(`findDataList ${this.dataParams.dataName} didn't found any.`);
492
498
 
493
499
  return [];
494
500
  } else {
@@ -503,7 +509,7 @@ export class DyNTS_DataService<T extends DyFM_Metadata> {
503
509
  return dataListExists;
504
510
  } catch (error) {
505
511
  throw new DyFM_Error({
506
- ...this._getDefaultErrorSettings('findDatas', error),
512
+ ...this._getDefaultErrorSettings('findDataList', error),
507
513
 
508
514
  errorCode: 'NTS-DS0-FDS0',
509
515
  });
@@ -626,9 +632,13 @@ export class DyNTS_DataService<T extends DyFM_Metadata> {
626
632
  * (when you simultaneously trying to change the same data's
627
633
  * different values from different flows)
628
634
  */
629
- async saveData(): Promise<T> {
635
+ async saveData(data?: T, dontSetToService?: boolean): Promise<T> {
630
636
  try {
631
- if (!this.data) {
637
+ if (!data && this.data) {
638
+ data = this.data;
639
+ }
640
+
641
+ if (!data) {
632
642
  throw new DyFM_Error({
633
643
  ...this._getDefaultErrorSettings(
634
644
  'saveData',
@@ -641,24 +651,32 @@ export class DyNTS_DataService<T extends DyFM_Metadata> {
641
651
 
642
652
  await this.validateForSave();
643
653
 
644
- if (!this.data._id && (!this.depKey || !this.data[this.depKey])) {
654
+ if (!data._id && (!this.depKey || !data[this.depKey])) {
645
655
  // if ID of dependencyID is not present, data not exists, create new data
646
- this.data = await this.dataDBService.createData(this.data, this.issuer);
656
+ data = await this.dataDBService.createData(data, this.issuer);
647
657
 
648
- return this.data;
658
+ if (!dontSetToService) {
659
+ this.data = data;
660
+ }
661
+
662
+ return data;
649
663
  }
650
664
 
651
665
  let dataExists: T;
652
666
 
653
667
  // check if data already exists with the specific ID
654
- if (this.data._id) {
668
+ if (data._id) {
655
669
  dataExists = await this.getDataById(null, true);
656
670
 
657
671
  if (dataExists) {
658
672
  // if data exists do modify
659
- this.data = await this.dataDBService.modifyData(this.data, this.issuer);
673
+ data = await this.dataDBService.modifyData(data, this.issuer);
674
+
675
+ if (!dontSetToService) {
676
+ this.data = data;
677
+ }
660
678
 
661
- return this.data;
679
+ return data;
662
680
 
663
681
  } else {
664
682
  throw new DyFM_Error({
@@ -666,7 +684,7 @@ export class DyNTS_DataService<T extends DyFM_Metadata> {
666
684
  'saveData',
667
685
  new Error(
668
686
  `saveData was unsuccessful: provided ID not exists ` +
669
- `(id: ${this.data._id}, ${this.dataParams.dataName})`
687
+ `(id: ${data._id}, ${this.dataParams.dataName})`
670
688
  )
671
689
  ),
672
690
 
@@ -676,7 +694,7 @@ export class DyNTS_DataService<T extends DyFM_Metadata> {
676
694
  }
677
695
 
678
696
  if (this.depKey) {
679
- if (!this.data[this.depKey]) {
697
+ if (!data[this.depKey]) {
680
698
  throw new DyFM_Error({
681
699
  ...this._getDefaultErrorSettings(
682
700
  'saveData',
@@ -695,14 +713,18 @@ export class DyNTS_DataService<T extends DyFM_Metadata> {
695
713
 
696
714
  if (dataExists) {
697
715
  // if data exists do modify
698
- this.data = await this.dataDBService.modifyData(this.data, this.issuer);
716
+ data = await this.dataDBService.modifyData(data, this.issuer);
699
717
 
700
- return this.data;
718
+ if (!dontSetToService) {
719
+ this.data = data;
720
+ }
721
+
722
+ return data;
701
723
 
702
724
  } else if (this.depKeyIsRequired) {
703
725
  // if data not exists check that dependency already exists for this
704
726
  const dependencyExists = await this.getDependencyDataDBService()
705
- .getDataById(this.data[this.depKey])
727
+ .getDataById(data[this.depKey])
706
728
  .catch();
707
729
 
708
730
  if (!dependencyExists) {
@@ -711,7 +733,7 @@ export class DyNTS_DataService<T extends DyFM_Metadata> {
711
733
  'saveData',
712
734
  new Error(
713
735
  `saveData was unsuccessful: dependency data not exists ` +
714
- `(key: ${this.depKey}, id: ${this.data[this.depKey]}, ` +
736
+ `(key: ${this.depKey}, id: ${data[this.depKey]}, ` +
715
737
  `${this.dataParams.dataName})`
716
738
  )
717
739
  ),
@@ -724,9 +746,13 @@ export class DyNTS_DataService<T extends DyFM_Metadata> {
724
746
  }
725
747
 
726
748
  // if data not exists create new data
727
- this.data = await this.dataDBService.createData(this.data, this.issuer);
749
+ data = await this.dataDBService.createData(data, this.issuer);
728
750
 
729
- return this.data;
751
+ if (!dontSetToService) {
752
+ this.data = data;
753
+ }
754
+
755
+ return data;
730
756
 
731
757
  } catch (error) {
732
758
  if ([ 'NTS-DS0-SD1', 'NTS-DS0-SD2' ].includes(error?.errorCode)) {
@@ -747,7 +773,11 @@ export class DyNTS_DataService<T extends DyFM_Metadata> {
747
773
  */
748
774
  async deleteData(id?: string): Promise<void> {
749
775
  try {
750
- if (!id && !this.data._id) {
776
+ if (!id && this.data._id) {
777
+ id = this.data._id;
778
+ }
779
+
780
+ if (!id) {
751
781
  throw new DyFM_Error({
752
782
  ...this._getDefaultErrorSettings(
753
783
  'deleteData',
@@ -758,7 +788,7 @@ export class DyNTS_DataService<T extends DyFM_Metadata> {
758
788
  });
759
789
  }
760
790
 
761
- await this.dataDBService.deleteDataById(id ?? this.data._id);
791
+ await this.dataDBService.deleteDataById(id);
762
792
  } catch (error) {
763
793
  if (error?.errorCode == 'NTS-DS0-DD1') {
764
794
  throw error;
@@ -918,4 +948,20 @@ export class DyNTS_DataService<T extends DyFM_Metadata> {
918
948
  error: error,
919
949
  };
920
950
  }
951
+
952
+ protected getDefaultErrorSettings(
953
+ fnName: string,
954
+ error: DyFM_AnyError
955
+ ): DyFM_Error_Settings {
956
+ return {
957
+ status: (error as DyFM_Error)?.___status ?? 500,
958
+ message: (error as Error)?.message ??
959
+ `${fnName} was UNSUCCESSFUL (${DyNTS_global_settings.systemShortCodeName})`,
960
+ addECToUserMsg: !(error as DyFM_Error)?.__userMessage,
961
+ userMessage: (error as DyFM_Error)?.__userMessage ?? this.defaultErrorUserMsg,
962
+ issuer: this.issuer,
963
+ issuerService: this.constructor?.name,
964
+ error: error,
965
+ };
966
+ }
921
967
  }
@@ -288,14 +288,21 @@ export class DyNTS_DBService<T extends DyFM_Metadata> {
288
288
  return dataList;
289
289
  }
290
290
 
291
- async getDatasByDependencyIds(dependencyIds: string[]): Promise<T[]> {
291
+ /**
292
+ * get multiple data objects by a list of DependencyIDs,
293
+ * !!!: throws error if not found (errorCode on not found: NTS-DBS-GLDS2)
294
+ *
295
+ * @param ids ids
296
+ * @returns dataList
297
+ */
298
+ async getDataListByDependencyIds(dependencyIds: string[]): Promise<T[]> {
292
299
  if (!this.depDataName) {
293
300
  throw new DyFM_Error({
294
301
  ...this._getDefaultErrorSettings(
295
- 'getDatasByDependencyIds',
302
+ 'getDataListByDependencyIds',
296
303
  new Error(
297
- `dependencyDataIdKey not setted up for this db-service (${this.dataParams.dbName}) ` +
298
- `(NTS DB)`
304
+ `getDataListByDependencyIds not setted up for this db-service ` +
305
+ `(${this.dataParams.dbName}) (NTS DB)`
299
306
  )
300
307
  ),
301
308
 
@@ -309,7 +316,7 @@ export class DyNTS_DBService<T extends DyFM_Metadata> {
309
316
  .then((res): T[] => res as T[] ?? [])
310
317
  .catch((error): void => {
311
318
  throw new DyFM_Error({
312
- ...this._getDefaultErrorSettings('getDatasByDependencyIds', error),
319
+ ...this._getDefaultErrorSettings('getDataListByDependencyIds', error),
313
320
 
314
321
  errorCode: 'NTS-DBS-GLDS1',
315
322
  additionalContent: { dependencyIds },
@@ -318,20 +325,13 @@ export class DyNTS_DBService<T extends DyFM_Metadata> {
318
325
  });
319
326
 
320
327
  dataList.forEach((data: T): void => {
321
- data = this.stringifyDataId(data, 'getDatasByDependencyIds');
328
+ data = this.stringifyDataId(data, 'getDataListByDependencyIds');
322
329
  });
323
330
 
324
331
  return dataList;
325
332
  }
326
333
 
327
- /**
328
- * get multiple data objects by a list of DependencyIDs,
329
- * !!!: throws error if not found (errorCode on not found: NTS-DBS-GLDS2)
330
- *
331
- * @param ids ids
332
- * @returns dataList
333
- */
334
- async getDataListByDependencyIds(ids: string[]): Promise<T[]> {
334
+ /* async getDataListByDependencyIds(ids: string[]): Promise<T[]> {
335
335
  if (!this.depDataName) {
336
336
  throw new DyFM_Error({
337
337
  ...this._getDefaultErrorSettings(
@@ -366,7 +366,7 @@ export class DyNTS_DBService<T extends DyFM_Metadata> {
366
366
  });
367
367
 
368
368
  return dataList;
369
- }
369
+ } */
370
370
 
371
371
  /**
372
372
  * returns all data from database,
@@ -0,0 +1,25 @@
1
+ import { DyFM_AnyError, DyFM_Error_Settings, DyFM_Error } from '@futdevpro/fsm-dynamo';
2
+
3
+ import { DyNTS_global_settings } from '../../_collections/global-settings.const';
4
+
5
+ /**
6
+ *
7
+ */
8
+ export class DyNTS_SingletonServiceBase {
9
+
10
+ /// --- --- --- SINGLETON --- --- --- \\\
11
+ protected static instance;
12
+
13
+ static getSingletonInstance() {
14
+ if (!this.instance) {
15
+ this.instance = new this();
16
+ }
17
+
18
+ return this.instance;
19
+ }
20
+ /// --- --- --- SINGLETON --- --- --- ///
21
+
22
+ // SINGLETON services are using private constructor
23
+ protected constructor() {}
24
+
25
+ }
@@ -1,21 +1,31 @@
1
+ import { DyFM_AnyError, DyFM_Error_Settings, DyFM_Error } from '@futdevpro/fsm-dynamo';
2
+
3
+ import { DyNTS_global_settings } from '../../_collections/global-settings.const';
4
+ import { DyNTS_SingletonServiceBase } from './singleton.service-base';
1
5
 
2
6
  /**
3
7
  *
4
8
  */
5
- export class DyNTS_SingletonService {
6
-
7
- /// --- --- --- SINGLETON --- --- --- \\\
8
- protected static instance;
9
+ export class DyNTS_SingletonService extends DyNTS_SingletonServiceBase {
9
10
 
10
- static getSingletonInstance() {
11
- if (!this.instance) {
12
- this.instance = new this();
13
- }
14
-
15
- return this.instance;
16
- }
17
- /// --- --- --- SINGLETON --- --- --- ///
11
+ readonly defaultErrorUserMsg: string =
12
+ `We encountered an unhandled Control Service Error, ` +
13
+ `\nplease contact the responsible development team.`;
18
14
 
19
- // SINGLETON services are using private constructor
20
- protected constructor() {}
15
+ protected getDefaultErrorSettings(
16
+ fnName: string,
17
+ error: DyFM_AnyError,
18
+ issuer: string
19
+ ): DyFM_Error_Settings {
20
+ return {
21
+ status: (error as DyFM_Error)?.___status ?? 500,
22
+ message: (error as Error)?.message ??
23
+ `${fnName} was UNSUCCESSFUL (${DyNTS_global_settings.systemShortCodeName})`,
24
+ addECToUserMsg: !(error as DyFM_Error)?.__userMessage,
25
+ userMessage: (error as DyFM_Error)?.__userMessage ?? this.defaultErrorUserMsg,
26
+ issuer: issuer,
27
+ issuerService: this.constructor?.name,
28
+ error: error,
29
+ };
30
+ }
21
31
  }
@@ -22,8 +22,8 @@ export abstract class DyNTS_AuthService extends DyNTS_SingletonService {
22
22
 
23
23
  readonly serviceName: string = 'AuthService';
24
24
 
25
- readonly defaultErrorUserMsg =
26
- `We encountered an unhandled BackEnd Auth Error, ` +
25
+ override readonly defaultErrorUserMsg =
26
+ `We encountered an unhandled Auth Error, ` +
27
27
  `\nplease contact the responsible development team.`;
28
28
 
29
29
  /**
@@ -1,5 +1,6 @@
1
- import { DyNTS_SingletonService } from '../base/singleton.service';
2
1
 
3
- export class DyNTS_Service_Collection<T> extends DyNTS_SingletonService {
2
+ import { DyNTS_SingletonServiceBase } from '../base/singleton.service-base';
3
+
4
+ export class DyNTS_Service_Collection<T> extends DyNTS_SingletonServiceBase {
4
5
  [service: string]: T;
5
6
  }
@@ -83,8 +83,8 @@ import { DyNTS_global_settings } from '../../_collections/global-settings.const'
83
83
  * matchStatisticsModelParams,
84
84
  * matchDataModelParams,
85
85
 
86
- * DyFM_usageSessionModel_params,
87
- * DyFM_customDataModel_params,
86
+ * DyFM_usageSession_dataParams,
87
+ * DyFM_customData_dataParams,
88
88
  * ]
89
89
  * });
90
90
  * }
@@ -249,8 +249,8 @@ export abstract class DyNTS_App extends DyNTS_SingletonService {
249
249
 
250
250
  private _routingModules: DyNTS_RoutingModule[] = [];
251
251
 
252
- defaultErrorUserMsg =
253
- `We encountered a Server Error, ` +
252
+ override readonly defaultErrorUserMsg =
253
+ `We encountered an unhandled Server Error, ` +
254
254
  `\nplease contact the responsible development team.` +
255
255
  `\n(Internal Server error)`;
256
256
 
@@ -327,6 +327,10 @@ export abstract class DyNTS_App extends DyNTS_SingletonService {
327
327
  if (!this._params) {
328
328
  throw new Error('getAppParams() must return a DyNTS_AppParams object!');
329
329
  }
330
+
331
+ if (!DyNTS_global_settings.systemShortCodeName) {
332
+ DyNTS_global_settings.systemShortCodeName = this.params.systemShortCodeName;
333
+ }
330
334
 
331
335
  process.stdout.write(
332
336
  String.fromCharCode(27) + ']0;' +
@@ -1180,11 +1184,11 @@ export abstract class DyNTS_App extends DyNTS_SingletonService {
1180
1184
  return {
1181
1185
  status: (error as DyFM_Error)?.___status ?? 500,
1182
1186
  message: (error as Error)?.message ?? `${fnName} was UNSUCCESSFUL (NTS)`,
1183
- addECToUserMsg: !(error as DyFM_Error)?.__userMessage,
1184
1187
  userMessage: (error as DyFM_Error)?.__userMessage ?? this.defaultErrorUserMsg,
1188
+ addECToUserMsg: !(error as DyFM_Error)?.__userMessage,
1185
1189
  issuerService: `${this?.constructor?.name}-DyNTS_App`,
1186
- error: error,
1187
1190
  level: DyFM_ErrorLevel.fatal,
1191
+ error: error,
1188
1192
  };
1189
1193
  }
1190
1194