@futdevpro/fsm-dynamo 1.10.19 → 1.10.21

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 (58) hide show
  1. package/build/_collections/utils/array.util.d.ts +3 -0
  2. package/build/_collections/utils/array.util.d.ts.map +1 -1
  3. package/build/_collections/utils/array.util.js +21 -0
  4. package/build/_collections/utils/array.util.js.map +1 -1
  5. package/build/_collections/utils/stack.util.d.ts.map +1 -1
  6. package/build/_collections/utils/stack.util.js +7 -3
  7. package/build/_collections/utils/stack.util.js.map +1 -1
  8. package/build/_models/control-models/error.control-model.d.ts +6 -0
  9. package/build/_models/control-models/error.control-model.d.ts.map +1 -1
  10. package/build/_models/control-models/error.control-model.js +15 -0
  11. package/build/_models/control-models/error.control-model.js.map +1 -1
  12. package/build/_models/control-models/server-status.control-model.d.ts +24 -0
  13. package/build/_models/control-models/server-status.control-model.d.ts.map +1 -0
  14. package/build/_models/control-models/server-status.control-model.js +24 -0
  15. package/build/_models/control-models/server-status.control-model.js.map +1 -0
  16. package/build/_models/data-models/errors.data-model.d.ts +32 -0
  17. package/build/_models/data-models/errors.data-model.d.ts.map +1 -0
  18. package/build/_models/data-models/errors.data-model.js +60 -0
  19. package/build/_models/data-models/errors.data-model.js.map +1 -0
  20. package/build/_models/interfaces/server-error-statistics.interface.d.ts +18 -0
  21. package/build/_models/interfaces/server-error-statistics.interface.d.ts.map +1 -0
  22. package/build/_models/interfaces/server-error-statistics.interface.js +3 -0
  23. package/build/_models/interfaces/server-error-statistics.interface.js.map +1 -0
  24. package/build/_modules/custom-data/_models/cud.data-model.js +1 -1
  25. package/build/_modules/custom-data/_models/cud.data-model.js.map +1 -1
  26. package/build/_modules/custom-data/_models/cud.data-model.spec.js +1 -1
  27. package/build/_modules/custom-data/_models/cud.data-model.spec.js.map +1 -1
  28. package/build/_modules/location/index.d.ts +7 -7
  29. package/build/_modules/location/index.d.ts.map +1 -1
  30. package/build/_modules/location/index.js +8 -8
  31. package/build/_modules/location/index.js.map +1 -1
  32. package/build/_modules/socket/_services/sck-client.service-base.d.ts.map +1 -1
  33. package/build/_modules/socket/_services/sck-client.service-base.js +6 -1
  34. package/build/_modules/socket/_services/sck-client.service-base.js.map +1 -1
  35. package/build/index.d.ts +2 -0
  36. package/build/index.d.ts.map +1 -1
  37. package/build/index.js +2 -0
  38. package/build/index.js.map +1 -1
  39. package/futdevpro-fsm-dynamo-01.10.21.tgz +0 -0
  40. package/nodemon.json +2 -0
  41. package/package.json +1 -1
  42. package/src/_collections/utils/array.util.ts +35 -0
  43. package/src/_collections/utils/stack.util.ts +10 -3
  44. package/src/_models/control-models/error.control-model.ts +15 -0
  45. package/src/_models/control-models/server-status.control-model.ts +39 -0
  46. package/src/_models/data-models/errors.data-model.ts +82 -0
  47. package/src/_models/interfaces/server-error-statistics.interface.ts +24 -0
  48. package/src/_modules/custom-data/_models/cud.data-model.spec.ts +1 -1
  49. package/src/_modules/custom-data/_models/cud.data-model.ts +1 -1
  50. package/src/_modules/location/index.ts +8 -9
  51. package/src/_modules/socket/_services/sck-client.service-base.ts +5 -1
  52. package/src/index.ts +2 -0
  53. package/build/_models/data-models/metadata.data-model.spec.d.ts +0 -2
  54. package/build/_models/data-models/metadata.data-model.spec.d.ts.map +0 -1
  55. package/build/_models/data-models/metadata.data-model.spec.js +0 -102
  56. package/build/_models/data-models/metadata.data-model.spec.js.map +0 -1
  57. package/futdevpro-fsm-dynamo-01.10.19.tgz +0 -0
  58. package/src/_models/data-models/metadata.data-model.spec.ts +0 -123
package/build/index.d.ts CHANGED
@@ -36,6 +36,7 @@ export * from './_models/control-models/error.control-model';
36
36
  export * from './_models/control-models/poll.control-model';
37
37
  export * from './_models/control-models/range-value.control-model';
38
38
  export * from './_models/control-models/service-endpoint-settings-base.control-model';
39
+ export * from './_models/data-models/errors.data-model';
39
40
  export * from './_models/data-models/metadata.data-model';
40
41
  export * from './_models/interfaces/error-defaults.interface';
41
42
  export * from './_models/interfaces/paged.interface';
@@ -43,6 +44,7 @@ export * from './_models/interfaces/random-weight.interface';
43
44
  export * from './_models/interfaces/route-settings.interface';
44
45
  export * from './_models/interfaces/search-query.interface';
45
46
  export * from './_models/interfaces/search-result.interface';
47
+ export * from './_models/interfaces/server-error-statistics.interface';
46
48
  export * from './_models/interfaces/vector2.interface';
47
49
  export * from './_models/interfaces/environment/global-log-settings.interface';
48
50
  export * from './_models/interfaces/environment/global-settings.interface';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,cAAc,+CAA+C,CAAC;AAC9D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AAGrD,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sCAAsC,CAAC;AACrD,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iDAAiD,CAAC;AAChE,cAAc,qCAAqC,CAAC;AACpD,cAAc,gCAAgC,CAAC;AAG/C,cAAc,2CAA2C,CAAC;AAC1D,cAAc,qCAAqC,CAAC;AACpD,cAAc,uCAAuC,CAAC;AACtD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,wCAAwC,CAAC;AAGvD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,uCAAuC,CAAC;AACtD,cAAc,gDAAgD,CAAC;AAI/D,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,yBAAyB,CAAC;AAGxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AAKjD,cAAc,0DAA0D,CAAC;AACzE,cAAc,6DAA6D,CAAC;AAC5E,cAAc,8CAA8C,CAAC;AAC7D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,oDAAoD,CAAC;AACnE,cAAc,uEAAuE,CAAC;AAGtF,cAAc,2CAA2C,CAAC;AAG1D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,sCAAsC,CAAC;AACrD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,wCAAwC,CAAC;AAGvD,cAAc,gEAAgE,CAAC;AAC/E,cAAc,4DAA4D,CAAC;AAG3E,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,cAAc,+CAA+C,CAAC;AAC9D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AAGrD,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sCAAsC,CAAC;AACrD,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iDAAiD,CAAC;AAChE,cAAc,qCAAqC,CAAC;AACpD,cAAc,gCAAgC,CAAC;AAG/C,cAAc,2CAA2C,CAAC;AAC1D,cAAc,qCAAqC,CAAC;AACpD,cAAc,uCAAuC,CAAC;AACtD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,wCAAwC,CAAC;AAGvD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,uCAAuC,CAAC;AACtD,cAAc,gDAAgD,CAAC;AAI/D,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,yBAAyB,CAAC;AAGxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AAKjD,cAAc,0DAA0D,CAAC;AACzE,cAAc,6DAA6D,CAAC;AAC5E,cAAc,8CAA8C,CAAC;AAC7D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,oDAAoD,CAAC;AACnE,cAAc,uEAAuE,CAAC;AAGtF,cAAc,yCAAyC,CAAC;AACxD,cAAc,2CAA2C,CAAC;AAG1D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,sCAAsC,CAAC;AACrD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,wDAAwD,CAAC;AACvE,cAAc,wCAAwC,CAAC;AAGvD,cAAc,gEAAgE,CAAC;AAC/E,cAAc,4DAA4D,CAAC;AAG3E,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC"}
package/build/index.js CHANGED
@@ -49,6 +49,7 @@ tslib_1.__exportStar(require("./_models/control-models/poll.control-model"), exp
49
49
  tslib_1.__exportStar(require("./_models/control-models/range-value.control-model"), exports);
50
50
  tslib_1.__exportStar(require("./_models/control-models/service-endpoint-settings-base.control-model"), exports);
51
51
  // models/DATA MODELS
52
+ tslib_1.__exportStar(require("./_models/data-models/errors.data-model"), exports);
52
53
  tslib_1.__exportStar(require("./_models/data-models/metadata.data-model"), exports);
53
54
  // models/INTERFACES
54
55
  tslib_1.__exportStar(require("./_models/interfaces/error-defaults.interface"), exports);
@@ -57,6 +58,7 @@ tslib_1.__exportStar(require("./_models/interfaces/random-weight.interface"), ex
57
58
  tslib_1.__exportStar(require("./_models/interfaces/route-settings.interface"), exports);
58
59
  tslib_1.__exportStar(require("./_models/interfaces/search-query.interface"), exports);
59
60
  tslib_1.__exportStar(require("./_models/interfaces/search-result.interface"), exports);
61
+ tslib_1.__exportStar(require("./_models/interfaces/server-error-statistics.interface"), exports);
60
62
  tslib_1.__exportStar(require("./_models/interfaces/vector2.interface"), exports);
61
63
  // models/interfaces/ENVIRONMENT
62
64
  tslib_1.__exportStar(require("./_models/interfaces/environment/global-log-settings.interface"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,cAAc;AACd,wBAAwB;AACxB,wFAA8D;AAC9D,yFAA+D;AAC/D,iFAAuD;AACvD,+EAAqD;AAErD,oBAAoB;AACpB,0EAAgD;AAChD,wEAA8C;AAC9C,+EAAqD;AACrD,2EAAiD;AACjD,0EAAgD;AAChD,2EAAiD;AACjD,yEAA+C;AAC/C,0FAAgE;AAChE,8EAAoD;AACpD,yEAA+C;AAE/C,yBAAyB;AACzB,oFAA0D;AAC1D,8EAAoD;AACpD,gFAAsD;AACtD,sFAA4D;AAC5D,iFAAuD;AAEvD,2BAA2B;AAC3B,yFAA+D;AAC/D,gFAAsD;AACtD,yFAA+D;AAG/D,QAAQ;AACR,4EAAkD;AAClD,wEAA8C;AAC9C,yEAA+C;AAC/C,oEAA0C;AAC1C,uEAA6C;AAC7C,2EAAiD;AACjD,kEAAwC;AAExC,aAAa;AACb,yEAA+C;AAC/C,mEAAyC;AACzC,2EAAiD;AAGjD,SAAS;AACT,wBAAwB;AACxB,mGAAyE;AACzE,sGAA4E;AAC5E,uFAA6D;AAC7D,sFAA4D;AAC5D,6FAAmE;AACnE,gHAAsF;AAEtF,qBAAqB;AACrB,oFAA0D;AAE1D,oBAAoB;AACpB,wFAA8D;AAC9D,+EAAqD;AACrD,uFAA6D;AAC7D,wFAA8D;AAC9D,sFAA4D;AAC5D,uFAA6D;AAC7D,iFAAuD;AAEvD,gCAAgC;AAChC,yGAA+E;AAC/E,qGAA2E;AAE3E,eAAe;AACf,yEAA+C;AAC/C,uEAA6C;AAC7C,+EAAgD;AAChD,6EAA8C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,cAAc;AACd,wBAAwB;AACxB,wFAA8D;AAC9D,yFAA+D;AAC/D,iFAAuD;AACvD,+EAAqD;AAErD,oBAAoB;AACpB,0EAAgD;AAChD,wEAA8C;AAC9C,+EAAqD;AACrD,2EAAiD;AACjD,0EAAgD;AAChD,2EAAiD;AACjD,yEAA+C;AAC/C,0FAAgE;AAChE,8EAAoD;AACpD,yEAA+C;AAE/C,yBAAyB;AACzB,oFAA0D;AAC1D,8EAAoD;AACpD,gFAAsD;AACtD,sFAA4D;AAC5D,iFAAuD;AAEvD,2BAA2B;AAC3B,yFAA+D;AAC/D,gFAAsD;AACtD,yFAA+D;AAG/D,QAAQ;AACR,4EAAkD;AAClD,wEAA8C;AAC9C,yEAA+C;AAC/C,oEAA0C;AAC1C,uEAA6C;AAC7C,2EAAiD;AACjD,kEAAwC;AAExC,aAAa;AACb,yEAA+C;AAC/C,mEAAyC;AACzC,2EAAiD;AAGjD,SAAS;AACT,wBAAwB;AACxB,mGAAyE;AACzE,sGAA4E;AAC5E,uFAA6D;AAC7D,sFAA4D;AAC5D,6FAAmE;AACnE,gHAAsF;AAEtF,qBAAqB;AACrB,kFAAwD;AACxD,oFAA0D;AAE1D,oBAAoB;AACpB,wFAA8D;AAC9D,+EAAqD;AACrD,uFAA6D;AAC7D,wFAA8D;AAC9D,sFAA4D;AAC5D,uFAA6D;AAC7D,iGAAuE;AACvE,iFAAuD;AAEvD,gCAAgC;AAChC,yGAA+E;AAC/E,qGAA2E;AAE3E,eAAe;AACf,yEAA+C;AAC/C,uEAA6C;AAC7C,+EAAgD;AAChD,6EAA8C"}
package/nodemon.json CHANGED
@@ -3,6 +3,8 @@
3
3
  "restartable": "rs",
4
4
  "delay": "3000",
5
5
  "ext": ".ts,json",
6
+ "verbose": false,
7
+ "legacyWatch": false,
6
8
  "watch": [
7
9
  "./src/*",
8
10
  "package.json",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@futdevpro/fsm-dynamo",
3
- "version": "01.10.19",
3
+ "version": "01.10.21",
4
4
  "description": "Full Stack Model Collection for Dynamic (NodeJS-Typescript) Framework called Dynamo, by Future Development Ltd.",
5
5
  "scripts": {
6
6
  "prep": "npm i pnpm -g && npm i rimraf nodemon -g",
@@ -16,6 +16,33 @@ export class DyFM_Array {
16
16
  }
17
17
  }
18
18
 
19
+ static async asyncForEachReturnToOne<T, K>(
20
+ startData: K,
21
+ list: T[],
22
+ func: (element: T, dataCurrent: K, index?: number, array?: T[]) => Promise<K>
23
+ ): Promise<K> {
24
+ let result: K = startData;
25
+
26
+ for (let i = 0; i < list.length; i++) {
27
+ result = await func(list[i], result, i, list);
28
+ }
29
+
30
+ return result;
31
+ }
32
+
33
+ static async asyncForEachReturnToAll<T, K>(
34
+ list: T[],
35
+ func: (element: T, index?: number, array?: T[]) => Promise<K>
36
+ ): Promise<K[]> {
37
+ const resultList: K[] = [];
38
+
39
+ for (let i = 0; i < list.length; i++) {
40
+ resultList.push(await func(list[i], i, list));
41
+ }
42
+
43
+ return resultList;
44
+ }
45
+
19
46
  static async asyncForEachAllAtOnce<T>(
20
47
  list: T[],
21
48
  func: (element: T, index?: number, array?: T[]) => Promise<void>
@@ -186,6 +213,14 @@ export class DyFM_Array {
186
213
  return multiplications;
187
214
  }
188
215
 
216
+ static findFromEnd<T>(array: T[], func: (element: T, index?: number, array?: T[]) => boolean): T {
217
+ for (let i = array.length - 1; i >= 0; i--) {
218
+ if (func(array[i], i, array)) {
219
+ return array[i];
220
+ }
221
+ }
222
+ }
223
+
189
224
  }
190
225
 
191
226
 
@@ -18,14 +18,21 @@ export function DyFM_getStackLocation(): string {
18
18
  !line.includes('at new')
19
19
  );
20
20
  if (!constructorLine) {
21
- DyFM_Log.warn('No constructor line found\n' + stack);
22
- return '';
21
+ let constructorLine = stack?.split(' at ')?.find(line =>
22
+ !line.includes('getStackLocation') &&
23
+ !line.includes('at new')
24
+ );
25
+
26
+ if (!constructorLine) {
27
+ DyFM_Log.warn('No constructor line found\n' + stack?.split('\n').slice(0, 100) + '...');
28
+ return '';
29
+ }
23
30
  }
24
31
 
25
32
  // Remove the 'constructorLine at ... (' and the ')'
26
33
  constructorLine = constructorLine.split('(')[1]?.split(')')[0];
27
34
  if (!constructorLine) {
28
- DyFM_Log.warn('No constructor line found\n' + stack);
35
+ DyFM_Log.warn('No constructor line found\n' + stack?.split('\n').slice(0, 100) + '...');
29
36
  return '';
30
37
  }
31
38
 
@@ -464,6 +464,21 @@ export class DyFM_Error extends DyFM_Metadata {
464
464
 
465
465
  this.___logged = true;
466
466
  }
467
+
468
+ /**
469
+ * Checks if the error is parsable,
470
+ * simplifies the error,
471
+ * and returns the error as a string.
472
+ */
473
+ getParsable(): string {
474
+ try {
475
+ const flat = this.getErrorsFlat();
476
+ return JSON.stringify(flat);
477
+ } catch (error) {
478
+ DyFM_Log.error('Error getting parsable error', error);
479
+ return JSON.stringify(this.getErrorSimplified());
480
+ }
481
+ }
467
482
  }
468
483
 
469
484
  /*
@@ -0,0 +1,39 @@
1
+ import { DyFM_Metadata } from '../data-models/metadata.data-model';
2
+
3
+ export class DyFM_ServerStatus extends DyFM_Metadata {
4
+ status?: 'ready';
5
+
6
+ clientVersionOk?: boolean;
7
+ latestClientVersion?: string;
8
+ latestClientVersionNumeric?: number;
9
+
10
+ serverVersion?: string;
11
+ serverNumericVersion?: number;
12
+
13
+ uptime?: number;
14
+
15
+ serverMessage?: string;
16
+
17
+ memoryUsage?: {
18
+ rss: number,
19
+ heapTotal: number,
20
+ heapUsed: number,
21
+ external: number,
22
+ arrayBuffers: number,
23
+ };
24
+ cpuUsage?: {
25
+ user: number,
26
+ system: number,
27
+ };
28
+
29
+ constructor(
30
+ set?: DyFM_ServerStatus
31
+ ) {
32
+ super(set);
33
+
34
+ if (set) {
35
+ Object.assign(this, set);
36
+ }
37
+ }
38
+ }
39
+
@@ -0,0 +1,82 @@
1
+ import { DyFM_DataModel_Params } from '../control-models/data-model-params.control-model';
2
+ import { DyFM_ErrorLevel } from '../../_enums/error-level.enum';
3
+ import { DyFM_Error } from '../control-models/error.control-model';
4
+ import { DyFM_Metadata } from './metadata.data-model';
5
+
6
+
7
+ export const DyFM_errorsFlag = 'DyFM-ERRORS-OBJECT';
8
+
9
+ /**
10
+ * This obj is the saved version of the DyFM_Error object.
11
+ * It is used to store the error in the database and its statistics.
12
+ */
13
+ export class DyFM_Errors extends DyFM_Metadata {
14
+ readonly flag?: string = DyFM_errorsFlag;
15
+
16
+ source?: string;
17
+ issuer?: string;
18
+ username?: string;
19
+ version?: string;
20
+
21
+ localTime?: string;
22
+ region?: string;
23
+
24
+ message?: string;
25
+ exception?: string;
26
+ exceptionObj?: any;
27
+
28
+ stackTrace?: string[];
29
+ error?: any;
30
+
31
+ count?: number = 1;
32
+
33
+ d_error?: DyFM_Error;
34
+
35
+ additionalContent?: any;
36
+
37
+ level?: DyFM_ErrorLevel;
38
+ priority?: number;
39
+ duplications?: DyFM_Errors[] = [];
40
+
41
+ constructor(
42
+ set?: DyFM_Errors
43
+ ) {
44
+ super(set);
45
+
46
+ if (set) {
47
+ Object.assign(this, set);
48
+ }
49
+ }
50
+ }
51
+
52
+ export const DyNTS_error_dataParams: DyFM_DataModel_Params<DyFM_Errors> =
53
+ new DyFM_DataModel_Params<DyFM_Errors>({
54
+ dataName: 'dynts_error',
55
+ properties: {
56
+ flag: { type: 'string' },
57
+
58
+ issuer: { type: 'string' },
59
+ username: { type: 'string' },
60
+ version: { type: 'string' },
61
+
62
+ localTime: { type: 'string' },
63
+ region: { type: 'string' },
64
+
65
+ message: { type: 'string' },
66
+ exception: { type: 'string' },
67
+ exceptionObj: { type: 'any' },
68
+
69
+ stackTrace: { type: 'string[]' },
70
+ error: { type: 'any' },
71
+
72
+ count: { type: 'number' },
73
+
74
+ d_error: { type: 'DyFM_Error' },
75
+
76
+ additionalContent: { type: 'any' },
77
+
78
+ level: { type: 'DyFM_ErrorLevel' },
79
+ priority: { type: 'number' },
80
+ duplications: { type: 'DyNTS_Error[]' },
81
+ },
82
+ });
@@ -0,0 +1,24 @@
1
+
2
+
3
+ export interface DyFM_Error_Statistics {
4
+ range?: string;
5
+
6
+ allErrors?: number;
7
+ allAllErrors?: number;
8
+
9
+ serverErrors?: number;
10
+ clientErrors?: number;
11
+ allServerErrors?: number;
12
+ allClientErrors?: number;
13
+
14
+ infoErrors?: number;
15
+ warningErrors?: number;
16
+ errorErrors?: number;
17
+ criticalErrors?: number;
18
+
19
+ allInfoErrors?: number;
20
+ allWarningErrors?: number;
21
+ allErrorErrors?: number;
22
+ allCriticalErrors?: number;
23
+ }
24
+
@@ -26,7 +26,7 @@ describe('DyFM_CustomData', () => {
26
26
 
27
27
  describe('DyFM_customData_dataParams', () => {
28
28
  it('should have correct dataName and properties', () => {
29
- expect(DyFM_customData_dataParams.dataName).toEqual('customData');
29
+ expect(DyFM_customData_dataParams.dataName).toEqual('custom_data');
30
30
  expect(DyFM_customData_dataParams.properties).toEqual({
31
31
  data: { key: 'data', type: 'string', required: true },
32
32
  });
@@ -21,7 +21,7 @@ export class DyFM_CustomData<T = any> extends DyFM_Metadata {
21
21
 
22
22
  export const DyFM_customData_dataParams: DyFM_DataModel_Params<DyFM_CustomData> =
23
23
  new DyFM_DataModel_Params<DyFM_CustomData>({
24
- dataName: 'customData',
24
+ dataName: 'custom_data',
25
25
  properties: {
26
26
  data: { key: 'data', type: 'string', required: true },
27
27
  },
@@ -1,13 +1,4 @@
1
1
 
2
- // INTERFACES
3
- export * from './_models/loc-country-division.interface';
4
- export * from './_models/loc-country-iso.interface';
5
- export * from './_models/loc-country-phone-code.interface';
6
- export * from './_models/loc-division-collection.interface';
7
- export * from './_models/loc-division-region-data.interface';
8
- export * from './_models/loc-geo-ip-location.interface';
9
- export * from './_models/loc-coordinates.interface';
10
-
11
2
  // ENUMS
12
3
  export * from './_enums/loc-region.enum';
13
4
  export * from './_enums/loc-sub-region.enum';
@@ -19,5 +10,13 @@ export * from './_collections/loc-country-isos.const';
19
10
  export * from './_collections/loc.util';
20
11
  export * from './_collections/loc-regions.util';
21
12
 
13
+ // INTERFACES
14
+ export * from './_models/loc-country-division.interface';
15
+ export * from './_models/loc-country-iso.interface';
16
+ export * from './_models/loc-country-phone-code.interface';
17
+ export * from './_models/loc-division-collection.interface';
18
+ export * from './_models/loc-division-region-data.interface';
19
+ export * from './_models/loc-geo-ip-location.interface';
20
+ export * from './_models/loc-coordinates.interface';
22
21
 
23
22
 
@@ -101,7 +101,11 @@ export abstract class DyFM_SocketClient_ServiceBase<T_SubscriptionContent = any>
101
101
  eventKey: DyFM_SocketEvent_Key.error,
102
102
  tasks: [
103
103
  async (content: any): Promise<void> => {
104
- DyFM_Log.error(`=--> socket-client(${this.params.name}) ERROR!:`, content);
104
+ if (content instanceof DyFM_Error) {
105
+ content.logSimple(`=--> socket-client(${this.params.name}) ERROR`);
106
+ } else {
107
+ DyFM_Log.error(`=--> socket-client(${this.params.name}) ERROR:`, content);
108
+ }
105
109
  },
106
110
  ],
107
111
  }),
package/src/index.ts CHANGED
@@ -56,6 +56,7 @@ export * from './_models/control-models/range-value.control-model';
56
56
  export * from './_models/control-models/service-endpoint-settings-base.control-model';
57
57
 
58
58
  // models/DATA MODELS
59
+ export * from './_models/data-models/errors.data-model';
59
60
  export * from './_models/data-models/metadata.data-model';
60
61
 
61
62
  // models/INTERFACES
@@ -65,6 +66,7 @@ export * from './_models/interfaces/random-weight.interface';
65
66
  export * from './_models/interfaces/route-settings.interface';
66
67
  export * from './_models/interfaces/search-query.interface';
67
68
  export * from './_models/interfaces/search-result.interface';
69
+ export * from './_models/interfaces/server-error-statistics.interface';
68
70
  export * from './_models/interfaces/vector2.interface';
69
71
 
70
72
  // models/interfaces/ENVIRONMENT
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=metadata.data-model.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"metadata.data-model.spec.d.ts","sourceRoot":"","sources":["../../../src/_models/data-models/metadata.data-model.spec.ts"],"names":[],"mappings":""}
@@ -1,102 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const metadata_data_model_1 = require("./metadata.data-model");
4
- describe('DyFM_Metadata', () => {
5
- describe('constructor', () => {
6
- it('should initialize with default values when no parameters are provided', () => {
7
- const metadata = new metadata_data_model_1.DyFM_Metadata();
8
- expect(metadata._id).toBeUndefined();
9
- expect(metadata.__created).toBeDefined();
10
- expect(metadata.__createdBy).toBeUndefined();
11
- expect(metadata.__lastModified).toBeDefined();
12
- expect(metadata.__lastModifiedBy).toBeUndefined();
13
- expect(metadata.__v).toBe(0);
14
- expect(metadata._deleted).toBeUndefined();
15
- expect(metadata._archived).toBeUndefined();
16
- expect(metadata._originalId).toBeUndefined();
17
- });
18
- it('should initialize with provided set values', () => {
19
- const set = {
20
- _id: '123',
21
- __created: new Date('2023-01-01'),
22
- __createdBy: 'creator',
23
- __lastModified: new Date('2023-01-02'),
24
- __lastModifiedBy: 'modifier',
25
- __v: 1,
26
- _archived: new Date('2023-01-03'),
27
- _originalId: 'orig-123'
28
- };
29
- const metadata = new metadata_data_model_1.DyFM_Metadata(set);
30
- expect(metadata._id).toBe('123');
31
- expect(metadata.__created).toEqual(new Date('2023-01-01'));
32
- expect(metadata.__createdBy).toBe('creator');
33
- expect(metadata.__lastModified).toEqual(new Date('2023-01-02'));
34
- expect(metadata.__lastModifiedBy).toBe('modifier');
35
- expect(metadata.__v).toBe(1);
36
- expect(metadata._archived).toEqual(new Date('2023-01-03'));
37
- expect(metadata._originalId).toBe('orig-123');
38
- });
39
- it('should initialize with provided init values', () => {
40
- const init = {
41
- id: '456',
42
- issuer: 'issuer'
43
- };
44
- const metadata = new metadata_data_model_1.DyFM_Metadata(undefined, init);
45
- expect(metadata._id).toBe('456');
46
- expect(metadata.__createdBy).toBe('issuer');
47
- expect(metadata.__lastModifiedBy).toBe('issuer');
48
- });
49
- it('should prioritize set values over init values', () => {
50
- const set = {
51
- _id: '123',
52
- __createdBy: 'creator',
53
- __lastModifiedBy: 'modifier'
54
- };
55
- const init = {
56
- id: '456',
57
- issuer: 'issuer'
58
- };
59
- const metadata = new metadata_data_model_1.DyFM_Metadata(set, init);
60
- expect(metadata._id).toBe('123');
61
- expect(metadata.__createdBy).toBe('creator');
62
- expect(metadata.__lastModifiedBy).toBe('modifier');
63
- });
64
- });
65
- describe('updateMetadata', () => {
66
- it('should update metadata with new values', () => {
67
- const data = {
68
- _id: '789',
69
- __created: new Date('2023-01-01'),
70
- __createdBy: 'creator',
71
- __lastModified: new Date('2023-01-02'),
72
- __lastModifiedBy: 'modifier',
73
- __v: 1
74
- };
75
- const updatedData = metadata_data_model_1.DyFM_Metadata.updateMetadata(data, 'newIssuer', '789');
76
- expect(updatedData._id).toBe('789');
77
- expect(updatedData.__created).toEqual(new Date('2023-01-01'));
78
- expect(updatedData.__createdBy).toBe('creator');
79
- expect(updatedData.__lastModified).toBeDefined();
80
- expect(updatedData.__lastModifiedBy).toBe('newIssuer');
81
- expect(updatedData.__v).toBe(2);
82
- });
83
- it('should throw an error if data is deleted', () => {
84
- const data = {
85
- _deleted: new Date()
86
- };
87
- expect(() => metadata_data_model_1.DyFM_Metadata.updateMetadata(data, 'issuer')).toThrowError('Cannot update metadata of deleted data');
88
- });
89
- it('should set new id if not present and id is provided', () => {
90
- const data = {};
91
- const updatedData = metadata_data_model_1.DyFM_Metadata.updateMetadata(data, 'issuer', 'new-id');
92
- expect(updatedData._id).toBe('new-id');
93
- });
94
- it('should set created and createdBy if not present', () => {
95
- const data = {};
96
- const updatedData = metadata_data_model_1.DyFM_Metadata.updateMetadata(data, 'issuer');
97
- expect(updatedData.__created).toBeDefined();
98
- expect(updatedData.__createdBy).toBe('issuer');
99
- });
100
- });
101
- });
102
- //# sourceMappingURL=metadata.data-model.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"metadata.data-model.spec.js","sourceRoot":"","sources":["../../../src/_models/data-models/metadata.data-model.spec.ts"],"names":[],"mappings":"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"}
Binary file
@@ -1,123 +0,0 @@
1
-
2
- import { DyFM_Metadata } from './metadata.data-model';
3
-
4
- describe('DyFM_Metadata', () => {
5
- describe('constructor', () => {
6
- it('should initialize with default values when no parameters are provided', () => {
7
- const metadata = new DyFM_Metadata();
8
-
9
- expect(metadata._id).toBeUndefined();
10
- expect(metadata.__created).toBeDefined();
11
- expect(metadata.__createdBy).toBeUndefined();
12
- expect(metadata.__lastModified).toBeDefined();
13
- expect(metadata.__lastModifiedBy).toBeUndefined();
14
- expect(metadata.__v).toBe(0);
15
- expect(metadata._deleted).toBeUndefined();
16
- expect(metadata._archived).toBeUndefined();
17
- expect(metadata._originalId).toBeUndefined();
18
- });
19
-
20
- it('should initialize with provided set values', () => {
21
- const set: DyFM_Metadata = {
22
- _id: '123',
23
- __created: new Date('2023-01-01'),
24
- __createdBy: 'creator',
25
- __lastModified: new Date('2023-01-02'),
26
- __lastModifiedBy: 'modifier',
27
- __v: 1,
28
- _archived: new Date('2023-01-03'),
29
- _originalId: 'orig-123'
30
- };
31
-
32
- const metadata = new DyFM_Metadata(set);
33
-
34
- expect(metadata._id).toBe('123');
35
- expect(metadata.__created).toEqual(new Date('2023-01-01'));
36
- expect(metadata.__createdBy).toBe('creator');
37
- expect(metadata.__lastModified).toEqual(new Date('2023-01-02'));
38
- expect(metadata.__lastModifiedBy).toBe('modifier');
39
- expect(metadata.__v).toBe(1);
40
- expect(metadata._archived).toEqual(new Date('2023-01-03'));
41
- expect(metadata._originalId).toBe('orig-123');
42
- });
43
-
44
- it('should initialize with provided init values', () => {
45
- const init = {
46
- id: '456',
47
- issuer: 'issuer'
48
- };
49
-
50
- const metadata = new DyFM_Metadata(undefined, init);
51
-
52
- expect(metadata._id).toBe('456');
53
- expect(metadata.__createdBy).toBe('issuer');
54
- expect(metadata.__lastModifiedBy).toBe('issuer');
55
- });
56
-
57
- it('should prioritize set values over init values', () => {
58
- const set: DyFM_Metadata = {
59
- _id: '123',
60
- __createdBy: 'creator',
61
- __lastModifiedBy: 'modifier'
62
- };
63
-
64
- const init = {
65
- id: '456',
66
- issuer: 'issuer'
67
- };
68
-
69
- const metadata = new DyFM_Metadata(set, init);
70
-
71
- expect(metadata._id).toBe('123');
72
- expect(metadata.__createdBy).toBe('creator');
73
- expect(metadata.__lastModifiedBy).toBe('modifier');
74
- });
75
- });
76
-
77
- describe('updateMetadata', () => {
78
- it('should update metadata with new values', () => {
79
- const data: DyFM_Metadata = {
80
- _id: '789',
81
- __created: new Date('2023-01-01'),
82
- __createdBy: 'creator',
83
- __lastModified: new Date('2023-01-02'),
84
- __lastModifiedBy: 'modifier',
85
- __v: 1
86
- };
87
-
88
- const updatedData = DyFM_Metadata.updateMetadata(data, 'newIssuer', '789');
89
-
90
- expect(updatedData._id).toBe('789');
91
- expect(updatedData.__created).toEqual(new Date('2023-01-01'));
92
- expect(updatedData.__createdBy).toBe('creator');
93
- expect(updatedData.__lastModified).toBeDefined();
94
- expect(updatedData.__lastModifiedBy).toBe('newIssuer');
95
- expect(updatedData.__v).toBe(2);
96
- });
97
-
98
- it('should throw an error if data is deleted', () => {
99
- const data: DyFM_Metadata = {
100
- _deleted: new Date()
101
- };
102
-
103
- expect(() => DyFM_Metadata.updateMetadata(data, 'issuer')).toThrowError('Cannot update metadata of deleted data');
104
- });
105
-
106
- it('should set new id if not present and id is provided', () => {
107
- const data: DyFM_Metadata = {};
108
-
109
- const updatedData = DyFM_Metadata.updateMetadata(data, 'issuer', 'new-id');
110
-
111
- expect(updatedData._id).toBe('new-id');
112
- });
113
-
114
- it('should set created and createdBy if not present', () => {
115
- const data: DyFM_Metadata = {};
116
-
117
- const updatedData = DyFM_Metadata.updateMetadata(data, 'issuer');
118
-
119
- expect(updatedData.__created).toBeDefined();
120
- expect(updatedData.__createdBy).toBe('issuer');
121
- });
122
- });
123
- });