@futdevpro/nts-dynamo 1.10.18 → 1.10.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 (23) hide show
  1. package/build/_models/control-models/app-params.control-model.js +7 -0
  2. package/build/_models/control-models/app-params.control-model.js.map +1 -1
  3. package/build/_modules/server/server-status/server-status-snapshot.control-service.d.ts +5 -0
  4. package/build/_modules/server/server-status/server-status-snapshot.control-service.d.ts.map +1 -0
  5. package/build/_modules/server/server-status/server-status-snapshot.control-service.js +8 -0
  6. package/build/_modules/server/server-status/server-status-snapshot.control-service.js.map +1 -0
  7. package/build/_modules/server/server-status/server-status-snapshot.data-service.d.ts +3 -1
  8. package/build/_modules/server/server-status/server-status-snapshot.data-service.d.ts.map +1 -1
  9. package/build/_modules/server/server-status/server-status-snapshot.data-service.js +14 -0
  10. package/build/_modules/server/server-status/server-status-snapshot.data-service.js.map +1 -1
  11. package/build/_modules/server/server-status/server-status.control-service.d.ts +12 -1
  12. package/build/_modules/server/server-status/server-status.control-service.d.ts.map +1 -1
  13. package/build/_modules/server/server-status/server-status.control-service.js +46 -0
  14. package/build/_modules/server/server-status/server-status.control-service.js.map +1 -1
  15. package/build/_modules/server/server-status/server-status.controller.d.ts +2 -1
  16. package/build/_modules/server/server-status/server-status.controller.d.ts.map +1 -1
  17. package/build/_modules/server/server-status/server-status.controller.js.map +1 -1
  18. package/package.json +1 -1
  19. package/src/_models/control-models/app-params.control-model.ts +8 -0
  20. package/src/_modules/server/server-status/server-status-snapshot.control-service.ts +17 -0
  21. package/src/_modules/server/server-status/server-status-snapshot.data-service.ts +20 -28
  22. package/src/_modules/server/server-status/server-status.control-service.ts +70 -4
  23. package/src/_modules/server/server-status/server-status.controller.ts +8 -3
@@ -64,4 +64,11 @@ class DyNTS_App_Params {
64
64
  }
65
65
  }
66
66
  exports.DyNTS_App_Params = DyNTS_App_Params;
67
+ /* export function DyNTS_App_Params_Settings(
68
+ set: DyNTS_App_Params
69
+ ) {
70
+ return function (target: Function) {
71
+ target.prototype._params = set;
72
+ }
73
+ } */
67
74
  //# sourceMappingURL=app-params.control-model.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-params.control-model.js","sourceRoot":"","sources":["../../../src/_models/control-models/app-params.control-model.ts"],"names":[],"mappings":";;;AAAA,sDAAiD;AAEjD;;GAEG;AACH,MAAa,gBAAgB;IAC3B;;OAEG;IACH,IAAI,CAAS;IACb;;OAEG;IACH,KAAK,CAAU;IACf;;;;;OAKG;IACH,OAAO,CAAS;IAChB;;;OAGG;IACH,KAAK,CAAU;IACf;;OAEG;IACH,MAAM,CAAU;IAChB;;OAEG;IACH,UAAU,CAAU;IACpB;;OAEG;IACH,mBAAmB,CAAU;IAE7B,YACE,GAAqB;QAErB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,6BAA6B,IAAI,CAAC,MAAM,EAAE,CAAC;QACrE,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAChE,IAAI,CAAC,mBAAmB,GAAG,GAAG,CAAC,mBAAmB,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAE7F,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,qBAAQ,CAAC,KAAK,CACZ,gCAAgC;gBAChC,yBAAyB,IAAI,CAAC,IAAI,UAAU;gBAC5C,2BAA2B,CAC5B,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACtC,qBAAQ,CAAC,IAAI,CACX,gCAAgC;gBAChC,sCAAsC,IAAI,CAAC,MAAM,UAAU;gBAC3D,2BAA2B,CAC5B,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,qBAAQ,CAAC,IAAI,CACX,gCAAgC;gBAChC,qCAAqC,IAAI,CAAC,MAAM,UAAU;gBAC1D,2BAA2B,CAC5B,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AArED,4CAqEC"}
1
+ {"version":3,"file":"app-params.control-model.js","sourceRoot":"","sources":["../../../src/_models/control-models/app-params.control-model.ts"],"names":[],"mappings":";;;AAAA,sDAAiD;AAEjD;;GAEG;AACH,MAAa,gBAAgB;IAC3B;;OAEG;IACH,IAAI,CAAS;IACb;;OAEG;IACH,KAAK,CAAU;IACf;;;;;OAKG;IACH,OAAO,CAAS;IAChB;;;OAGG;IACH,KAAK,CAAU;IACf;;OAEG;IACH,MAAM,CAAU;IAChB;;OAEG;IACH,UAAU,CAAU;IACpB;;OAEG;IACH,mBAAmB,CAAU;IAE7B,YACE,GAAqB;QAErB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,6BAA6B,IAAI,CAAC,MAAM,EAAE,CAAC;QACrE,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAChE,IAAI,CAAC,mBAAmB,GAAG,GAAG,CAAC,mBAAmB,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAE7F,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,qBAAQ,CAAC,KAAK,CACZ,gCAAgC;gBAChC,yBAAyB,IAAI,CAAC,IAAI,UAAU;gBAC5C,2BAA2B,CAC5B,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACtC,qBAAQ,CAAC,IAAI,CACX,gCAAgC;gBAChC,sCAAsC,IAAI,CAAC,MAAM,UAAU;gBAC3D,2BAA2B,CAC5B,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,qBAAQ,CAAC,IAAI,CACX,gCAAgC;gBAChC,qCAAqC,IAAI,CAAC,MAAM,UAAU;gBAC1D,2BAA2B,CAC5B,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AArED,4CAqEC;AAED;;;;;;IAMI"}
@@ -0,0 +1,5 @@
1
+ import { DyFM_ServerStatus } from '@futdevpro/fsm-dynamo';
2
+ export declare abstract class DyNTS_ServerStatusSnapshot_ControlService<T_ServerStatusSnapshot extends DyFM_ServerStatus> {
3
+ abstract saveSnapshot(snapshot: T_ServerStatusSnapshot, issuer: string): Promise<T_ServerStatusSnapshot>;
4
+ }
5
+ //# sourceMappingURL=server-status-snapshot.control-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-status-snapshot.control-service.d.ts","sourceRoot":"","sources":["../../../../src/_modules/server/server-status/server-status-snapshot.control-service.ts"],"names":[],"mappings":"AAMA,OAAO,EAAc,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAGtE,8BAAsB,yCAAyC,CAC7D,sBAAsB,SAAS,iBAAiB;IAEhD,QAAQ,CAAC,YAAY,CACnB,QAAQ,EAAE,sBAAsB,EAChC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,sBAAsB,CAAC;CACnC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ /* import { ServerStatus_ControlService } from './server-status.control-service'; */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.DyNTS_ServerStatusSnapshot_ControlService = void 0;
5
+ class DyNTS_ServerStatusSnapshot_ControlService {
6
+ }
7
+ exports.DyNTS_ServerStatusSnapshot_ControlService = DyNTS_ServerStatusSnapshot_ControlService;
8
+ //# sourceMappingURL=server-status-snapshot.control-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-status-snapshot.control-service.js","sourceRoot":"","sources":["../../../../src/_modules/server/server-status/server-status-snapshot.control-service.ts"],"names":[],"mappings":";AAIA,oFAAoF;;;AAKpF,MAAsB,yCAAyC;CAO9D;AAPD,8FAOC"}
@@ -1,5 +1,7 @@
1
1
  import { DyFM_ServerStatus } from '@futdevpro/fsm-dynamo';
2
2
  import { DyNTS_DataService } from '../../../_services/base/data.service';
3
- export declare class DyNTS_ServerStatusSnapshot_DataService<T_ServerStatus extends DyFM_ServerStatus> extends DyNTS_DataService<T_ServerStatus> {
3
+ import { DyNTS_ServerStatusSnapshot_ControlService } from './server-status-snapshot.control-service';
4
+ export declare class DyNTS_ServerStatusSnapshot_DataService<T_ServerStatusSnapshot extends DyFM_ServerStatus> extends DyNTS_DataService<T_ServerStatusSnapshot> implements DyNTS_ServerStatusSnapshot_ControlService<T_ServerStatusSnapshot> {
5
+ saveSnapshot(snapshot: T_ServerStatusSnapshot, issuer: string): Promise<T_ServerStatusSnapshot>;
4
6
  }
5
7
  //# sourceMappingURL=server-status-snapshot.data-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server-status-snapshot.data-service.d.ts","sourceRoot":"","sources":["../../../../src/_modules/server/server-status/server-status-snapshot.data-service.ts"],"names":[],"mappings":"AAMA,OAAO,EAAc,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAEzE,qBAAa,sCAAsC,CACjD,cAAc,SAAS,iBAAiB,CACxC,SAAQ,iBAAiB,CAAC,cAAc,CAAC;CAiC1C"}
1
+ {"version":3,"file":"server-status-snapshot.data-service.d.ts","sourceRoot":"","sources":["../../../../src/_modules/server/server-status/server-status-snapshot.data-service.ts"],"names":[],"mappings":"AAMA,OAAO,EAAc,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,yCAAyC,EAAE,MAAM,0CAA0C,CAAC;AAGrG,qBAAa,sCAAsC,CACjD,sBAAsB,SAAS,iBAAiB,CAChD,SAAQ,iBAAiB,CACzB,sBAAsB,CACtB,YAAW,yCAAyC,CACpD,sBAAsB,CACvB;IAEO,YAAY,CAChB,QAAQ,EAAE,sBAAsB,EAChC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,sBAAsB,CAAC;CAcnC"}
@@ -2,8 +2,22 @@
2
2
  /* import { ServerStatus_ControlService } from './server-status.control-service'; */
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.DyNTS_ServerStatusSnapshot_DataService = void 0;
5
+ const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
5
6
  const data_service_1 = require("../../../_services/base/data.service");
7
+ const global_settings_const_1 = require("../../../_collections/global-settings.const");
6
8
  class DyNTS_ServerStatusSnapshot_DataService extends data_service_1.DyNTS_DataService {
9
+ async saveSnapshot(snapshot, issuer) {
10
+ try {
11
+ this.issuer = issuer;
12
+ return await this.saveData(snapshot);
13
+ }
14
+ catch (error) {
15
+ throw new fsm_dynamo_1.DyFM_Error({
16
+ ...this.getDefaultErrorSettings('saveSnapshot', error),
17
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-SSSDS-SS0`,
18
+ });
19
+ }
20
+ }
7
21
  }
8
22
  exports.DyNTS_ServerStatusSnapshot_DataService = DyNTS_ServerStatusSnapshot_DataService;
9
23
  //# sourceMappingURL=server-status-snapshot.data-service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server-status-snapshot.data-service.js","sourceRoot":"","sources":["../../../../src/_modules/server/server-status/server-status-snapshot.data-service.ts"],"names":[],"mappings":";AAIA,oFAAoF;;;AAGpF,uEAAyE;AAEzE,MAAa,sCAEX,SAAQ,gCAAiC;CAiC1C;AAnCD,wFAmCC"}
1
+ {"version":3,"file":"server-status-snapshot.data-service.js","sourceRoot":"","sources":["../../../../src/_modules/server/server-status/server-status-snapshot.data-service.ts"],"names":[],"mappings":";AAIA,oFAAoF;;;AAEpF,sDAAsE;AACtE,uEAAyE;AAEzE,uFAAoF;AAEpF,MAAa,sCAEX,SAAQ,gCAET;IAIC,KAAK,CAAC,YAAY,CAChB,QAAgC,EAChC,MAAc;QAEd,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YAErB,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,uBAAU,CAAC;gBACnB,GAAG,IAAI,CAAC,uBAAuB,CAAC,cAAc,EAAE,KAAK,CAAC;gBAEtD,SAAS,EAAE,GAAG,6CAAqB,CAAC,mBAAmB,kBAAkB;aAC1E,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CAEF;AAzBD,wFAyBC"}
@@ -1,11 +1,17 @@
1
1
  import { DyFM_RelativeDate, DyFM_ServerStatus, DyFM_Error, DyFM_Error_Statistics, DyFM_Errors } from '@futdevpro/fsm-dynamo';
2
+ import { Subscription } from 'rxjs';
2
3
  import { DyNTS_SingletonService } from '../../../_services/base/singleton.service';
3
4
  import { DyNTS_Errors_ControlService } from '../errors/errors.control-service';
4
- export declare abstract class DyNTS_ServerStatus_ControlService<T_Error extends DyFM_Error, T_Errors extends DyFM_Errors<T_Error>, T_ServerStatus extends DyFM_ServerStatus, T_Errors_ControlService extends DyNTS_Errors_ControlService<T_Error, T_Errors>> extends DyNTS_SingletonService {
5
+ import { DyNTS_ServerStatusSnapshot_ControlService } from './server-status-snapshot.control-service';
6
+ export declare abstract class DyNTS_ServerStatus_ControlService<T_ServerStatus extends DyFM_ServerStatus, T_Error extends DyFM_Error, T_Errors extends DyFM_Errors<T_Error>, T_Errors_ControlService extends DyNTS_Errors_ControlService<T_Error, T_Errors>, T_ServerStatusSnapshot extends DyFM_ServerStatus, T_ServerStatusSnapshot_ControlService extends DyNTS_ServerStatusSnapshot_ControlService<T_ServerStatusSnapshot>> extends DyNTS_SingletonService {
5
7
  protected abstract getErrorControlService?(set?: {
6
8
  data?: T_Errors;
7
9
  issuer?: string;
8
10
  }): T_Errors_ControlService;
11
+ protected abstract getServerStatusSnapshotControlService?(set?: {
12
+ data?: T_ServerStatus;
13
+ issuer?: string;
14
+ }): T_ServerStatusSnapshot_ControlService;
9
15
  protected readonly up: Date;
10
16
  protected readonly _serverVersionNumeric: number;
11
17
  get serverVersion(): string;
@@ -15,10 +21,15 @@ export declare abstract class DyNTS_ServerStatus_ControlService<T_Error extends
15
21
  get latestClientVersion(): string;
16
22
  get latestClientVersionNumeric(): number;
17
23
  readonly defaultErrorUserMsg = "Something went wrong";
24
+ readonly overseerTickTime: number;
25
+ overseer: Subscription;
26
+ protected constructor();
18
27
  getServerStatus(clientVersion?: string): DyFM_ServerStatus;
19
28
  getErrorStatistics(range: DyFM_RelativeDate, issuer: string): Promise<DyFM_Error_Statistics>;
20
29
  protected getVersionNumeric(version: string): number;
21
30
  protected clientVersionIsLatest(clientVersion: string): boolean;
22
31
  protected setLatestClientVersion(clientVersion: string, clientVersionNumeric: number): void;
32
+ private triggerCreateSnapshot;
33
+ getServerStatusSnapshot(issuer: string): Promise<T_ServerStatusSnapshot>;
23
34
  }
24
35
  //# sourceMappingURL=server-status.control-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server-status.control-service.d.ts","sourceRoot":"","sources":["../../../../src/_modules/server/server-status/server-status.control-service.ts"],"names":[],"mappings":"AAEA,OAAO,EACU,iBAAiB,EAAa,iBAAiB,EAC9D,UAAU,EAAE,qBAAqB,EAAE,WAAW,EAE/C,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AAEnF,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAI/E,8BAAsB,iCAAiC,CACrD,OAAO,SAAS,UAAU,EAC1B,QAAQ,SAAS,WAAW,CAAC,OAAO,CAAC,EACrC,cAAc,SAAS,iBAAiB,EACxC,uBAAuB,SAAS,2BAA2B,CAAC,OAAO,EAAE,QAAQ,CAAC,CAC9E,SAAQ,sBAAsB;IAE9B,SAAS,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CACxC,GAAG,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,QAAQ,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GACzC,uBAAuB;IAE1B,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAc;IAEzC,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAA0C;IAC1F,IAAI,aAAa,IAAI,MAAM,CAA2B;IACtD,IAAI,oBAAoB,IAAI,MAAM,CAAuC;IAEzE,SAAS,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACvC,SAAS,CAAC,2BAA2B,EAAE,MAAM,CAAC;IAC9C,IAAI,mBAAmB,IAAI,MAAM,CAAsC;IACvE,IAAI,0BAA0B,IAAI,MAAM,CAA6C;IAErF,SAAkB,mBAAmB,0BAA0B;IAE/D,eAAe,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,iBAAiB;IAkBpD,kBAAkB,CACtB,KAAK,EAAE,iBAAiB,EACxB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,qBAAqB,CAAC;IA+FjC,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAUpD,SAAS,CAAC,qBAAqB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO;IA4B/D,SAAS,CAAC,sBAAsB,CAAC,aAAa,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,GAAG,IAAI;CAM5F"}
1
+ {"version":3,"file":"server-status.control-service.d.ts","sourceRoot":"","sources":["../../../../src/_modules/server/server-status/server-status.control-service.ts"],"names":[],"mappings":"AAEA,OAAO,EACU,iBAAiB,EAAa,iBAAiB,EAC9D,UAAU,EAAE,qBAAqB,EAAE,WAAW,EAG/C,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAS,MAAM,MAAM,CAAC;AAG3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AAEnF,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,yCAAyC,EAAE,MAAM,0CAA0C,CAAC;AAKrG,8BAAsB,iCAAiC,CACrD,cAAc,SAAS,iBAAiB,EACxC,OAAO,SAAS,UAAU,EAC1B,QAAQ,SAAS,WAAW,CAAC,OAAO,CAAC,EACrC,uBAAuB,SAAS,2BAA2B,CAAC,OAAO,EAAE,QAAQ,CAAC,EAC9E,sBAAsB,SAAS,iBAAiB,EAChD,qCAAqC,SAAS,yCAAyC,CAAC,sBAAsB,CAAC,CAC/G,SAAQ,sBAAsB;IAE9B,SAAS,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CACxC,GAAG,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,QAAQ,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GACzC,uBAAuB;IAE1B,SAAS,CAAC,QAAQ,CAAC,qCAAqC,CAAC,CACvD,GAAG,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,cAAc,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAC/C,qCAAqC;IAExC,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAc;IAEzC,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAA0C;IAC1F,IAAI,aAAa,IAAI,MAAM,CAA2B;IACtD,IAAI,oBAAoB,IAAI,MAAM,CAAuC;IAEzE,SAAS,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACvC,SAAS,CAAC,2BAA2B,EAAE,MAAM,CAAC;IAC9C,IAAI,mBAAmB,IAAI,MAAM,CAAsC;IACvE,IAAI,0BAA0B,IAAI,MAAM,CAA6C;IAErF,SAAkB,mBAAmB,0BAA0B;IAE/D,QAAQ,CAAC,gBAAgB,SAAY;IACrC,QAAQ,EAAE,YAAY,CAAC;IAEvB,SAAS;IAkBT,eAAe,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,iBAAiB;IAkBpD,kBAAkB,CACtB,KAAK,EAAE,iBAAiB,EACxB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,qBAAqB,CAAC;IA+FjC,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAUpD,SAAS,CAAC,qBAAqB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO;IA4B/D,SAAS,CAAC,sBAAsB,CAAC,aAAa,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,GAAG,IAAI;YAO7E,qBAAqB;IAiB7B,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAiB/E"}
@@ -2,9 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DyNTS_ServerStatus_ControlService = void 0;
4
4
  const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
5
+ const rxjs_1 = require("rxjs");
5
6
  const package_json_1 = require("../../../../package.json");
6
7
  const singleton_service_1 = require("../../../_services/base/singleton.service");
7
8
  const global_settings_const_1 = require("../../../_collections/global-settings.const");
9
+ const global_service_1 = require("../../../_services/core/global.service");
8
10
  class DyNTS_ServerStatus_ControlService extends singleton_service_1.DyNTS_SingletonService {
9
11
  up = new Date();
10
12
  _serverVersionNumeric = this.getVersionNumeric(package_json_1.version);
@@ -15,6 +17,23 @@ class DyNTS_ServerStatus_ControlService extends singleton_service_1.DyNTS_Single
15
17
  get latestClientVersion() { return this._latestClientVersion; }
16
18
  get latestClientVersionNumeric() { return this._latestClientVersionNumeric; }
17
19
  defaultErrorUserMsg = 'Something went wrong';
20
+ overseerTickTime = 6 * fsm_dynamo_1.hour;
21
+ overseer;
22
+ constructor() {
23
+ super();
24
+ this.overseer = (0, rxjs_1.timer)(this.overseerTickTime, this.overseerTickTime).subscribe(async () => {
25
+ try {
26
+ await this.triggerCreateSnapshot('overseer-system-tick');
27
+ }
28
+ catch (error) {
29
+ fsm_dynamo_1.DyFM_Log.error(' ! Error in overseer (server status):', error);
30
+ global_service_1.DyNTS_GlobalService.globalErrorHandler(new fsm_dynamo_1.DyFM_Error({
31
+ ...this.getDefaultErrorSettings('overseer tick', error, 'overseer-system-tick'),
32
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-SSCS-OT0`,
33
+ })).catch();
34
+ }
35
+ });
36
+ }
18
37
  getServerStatus(clientVersion) {
19
38
  return {
20
39
  status: 'ready',
@@ -94,6 +113,33 @@ class DyNTS_ServerStatus_ControlService extends singleton_service_1.DyNTS_Single
94
113
  this._latestClientVersionNumeric = clientVersionNumeric;
95
114
  }
96
115
  }
116
+ async triggerCreateSnapshot(issuer) {
117
+ try {
118
+ const snapshot = await this.getServerStatusSnapshot(issuer);
119
+ const serverStatusSnapshot_CS = this.getServerStatusSnapshotControlService({ issuer: issuer });
120
+ await serverStatusSnapshot_CS.saveSnapshot(snapshot, issuer);
121
+ fsm_dynamo_1.DyFM_Log.info('ServerStatus snapshot created');
122
+ }
123
+ catch (error) {
124
+ throw new fsm_dynamo_1.DyFM_Error({
125
+ ...this.getDefaultErrorSettings('triggerCreateSnapshot', error, 'system-tick'),
126
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-SSCS-TCS0`,
127
+ });
128
+ }
129
+ }
130
+ async getServerStatusSnapshot(issuer) {
131
+ try {
132
+ return ({
133
+ ...this.getServerStatus(),
134
+ });
135
+ }
136
+ catch (error) {
137
+ throw new fsm_dynamo_1.DyFM_Error({
138
+ ...this.getDefaultErrorSettings('getServerStatusSnapshot', error?.response?.data ?? error, issuer),
139
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-SSCS-GSS0`,
140
+ });
141
+ }
142
+ }
97
143
  }
98
144
  exports.DyNTS_ServerStatus_ControlService = DyNTS_ServerStatus_ControlService;
99
145
  //# sourceMappingURL=server-status.control-service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server-status.control-service.js","sourceRoot":"","sources":["../../../../src/_modules/server/server-status/server-status.control-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server-status.control-service.js","sourceRoot":"","sources":["../../../../src/_modules/server/server-status/server-status.control-service.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { DyNTS_Errors_ControlService } from '../errors/errors.control-service';
3
3
  import { DyNTS_Controller } from '../../../_services/route/controller.service';
4
4
  import { DyNTS_Endpoint_Params } from '../../../_models/control-models/endpoint-params.control-model';
5
5
  import { DyNTS_ServerStatus_ControlService } from './server-status.control-service';
6
+ import { DyNTS_ServerStatusSnapshot_ControlService } from './server-status-snapshot.control-service';
6
7
  /**
7
8
  * Endpoints:
8
9
  *
@@ -16,7 +17,7 @@ import { DyNTS_ServerStatus_ControlService } from './server-status.control-servi
16
17
  * GET /statistics/error/:range
17
18
  *
18
19
  */
19
- export declare abstract class DyNTS_ServerStatus_Controller<T_Error extends DyFM_Error, T_Errors extends DyFM_Errors<T_Error>, T_ServerStatus extends DyFM_ServerStatus, T_Errors_ControlService extends DyNTS_Errors_ControlService<T_Error, T_Errors>, T_ServerStatus_ControlService extends DyNTS_ServerStatus_ControlService<T_Error, T_Errors, T_ServerStatus, T_Errors_ControlService>> extends DyNTS_Controller {
20
+ export declare abstract class DyNTS_ServerStatus_Controller<T_ServerStatus extends DyFM_ServerStatus, T_Error extends DyFM_Error, T_Errors extends DyFM_Errors<T_Error>, T_Errors_ControlService extends DyNTS_Errors_ControlService<T_Error, T_Errors>, T_ServerStatusSnapshot extends DyFM_ServerStatus, T_ServerStatusSnapshot_ControlService extends DyNTS_ServerStatusSnapshot_ControlService<T_ServerStatusSnapshot>, T_ServerStatus_ControlService extends DyNTS_ServerStatus_ControlService<T_ServerStatus, T_Error, T_Errors, T_Errors_ControlService, T_ServerStatusSnapshot, T_ServerStatusSnapshot_ControlService>> extends DyNTS_Controller {
20
21
  protected abstract readonly server_CS: T_ServerStatus_ControlService;
21
22
  protected readonly additionalEndpoints: DyNTS_Endpoint_Params[];
22
23
  setupEndpoints(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"server-status.controller.d.ts","sourceRoot":"","sources":["../../../../src/_modules/server/server-status/server-status.controller.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAwC,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACzH,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,+DAA+D,CAAC;AAEtG,OAAO,EAAE,iCAAiC,EAAE,MAAM,iCAAiC,CAAC;AAGpF;;;;;;;;;;;;GAYG;AACH,8BAAsB,6BAA6B,CACjD,OAAO,SAAS,UAAU,EAC1B,QAAQ,SAAS,WAAW,CAAC,OAAO,CAAC,EACrC,cAAc,SAAS,iBAAiB,EACxC,uBAAuB,SAAS,2BAA2B,CAAC,OAAO,EAAE,QAAQ,CAAC,EAC9E,6BAA6B,SAAS,iCAAiC,CACrE,OAAO,EACP,QAAQ,EACR,cAAc,EACd,uBAAuB,CACxB,CACD,SAAQ,gBAAgB;IAMxB,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,6BAA6B,CAAC;IAGrE,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,qBAAqB,EAAE,CAAM;IAErE,cAAc,IAAI,IAAI;CAiEvB"}
1
+ {"version":3,"file":"server-status.controller.d.ts","sourceRoot":"","sources":["../../../../src/_modules/server/server-status/server-status.controller.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAwC,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACzH,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,+DAA+D,CAAC;AAEtG,OAAO,EAAE,iCAAiC,EAAE,MAAM,iCAAiC,CAAC;AACpF,OAAO,EAAE,yCAAyC,EAAE,MAAM,0CAA0C,CAAC;AAGrG;;;;;;;;;;;;GAYG;AACH,8BAAsB,6BAA6B,CACjD,cAAc,SAAS,iBAAiB,EACxC,OAAO,SAAS,UAAU,EAC1B,QAAQ,SAAS,WAAW,CAAC,OAAO,CAAC,EACrC,uBAAuB,SAAS,2BAA2B,CAAC,OAAO,EAAE,QAAQ,CAAC,EAC9E,sBAAsB,SAAS,iBAAiB,EAChD,qCAAqC,SAAS,yCAAyC,CAAC,sBAAsB,CAAC,EAC/G,6BAA6B,SAAS,iCAAiC,CACrE,cAAc,EACd,OAAO,EACP,QAAQ,EACR,uBAAuB,EACvB,sBAAsB,EACtB,qCAAqC,CACtC,CACD,SAAQ,gBAAgB;IAMxB,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,6BAA6B,CAAC;IAGrE,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,qBAAqB,EAAE,CAAM;IAErE,cAAc,IAAI,IAAI;CAiEvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"server-status.controller.js","sourceRoot":"","sources":["../../../../src/_modules/server/server-status/server-status.controller.ts"],"names":[],"mappings":";;;AAGA,sDAAyH;AAEzH,oFAA+E;AAC/E,iHAAsG;AACtG,uFAAoF;AAIpF;;;;;;;;;;;;GAYG;AACH,MAAsB,6BAWpB,SAAQ,qCAAgB;IAQxB,mEAAmE;IAChD,mBAAmB,GAA4B,EAAE,CAAC;IAErE,cAAc;QACZ;;;;;YAKI;QAEJ,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC9B,MAAM,IAAI,uBAAU,CAAC;gBACnB,OAAO,EAAE,iEAAiE;gBAC1E,SAAS,EAAE,GAAG,6CAAqB,CAAC,mBAAmB,gBAAgB;aACxE,CAAC,CAAC;QACL,CAAC;QAED,mDAAmD;QAEnD,IAAI,CAAC,SAAS,GAAG;YACf,IAAI,qDAAqB,CAAC;gBACxB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,8BAAiB,CAAC,GAAG;gBAC3B,QAAQ,EAAE,SAAS;gBACnB,KAAK,EAAE;oBACL,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;wBACnD,GAAG,CAAC,IAAI,CACN,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,CACjC,CAAC;oBACJ,CAAC;iBACF;aACF,CAAC;YAEF,IAAI,qDAAqB,CAAC;gBACxB,IAAI,EAAE,0BAA0B;gBAChC,IAAI,EAAE,8BAAiB,CAAC,GAAG;gBAC3B,QAAQ,EAAE,kBAAkB;gBAC5B,KAAK,EAAE;oBACL,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;wBAEnD,GAAG,CAAC,IAAI,CACN,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CACnD,CAAC;oBACJ,CAAC;iBACF;aACF,CAAC;YAEF,IAAI,qDAAqB,CAAC;gBACxB,IAAI,EAAE,oBAAoB;gBAC1B,IAAI,EAAE,8BAAiB,CAAC,GAAG;gBAC3B,QAAQ,EAAE,0BAA0B;gBACpC,KAAK,EAAE;oBACL,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,MAAc,EAAkB,EAAE;wBAEpE,GAAG,CAAC,IAAI,CACN,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CACrC,GAAG,CAAC,MAAM,CAAC,KAA0B,EACrC,MAAM,CACP,CACF,CAAC;oBACJ,CAAC;iBACF;aACF,CAAC;YAEF,GAAG,IAAI,CAAC,mBAAmB;SAC5B,CAAC;IACJ,CAAC;CACF;AAvFD,sEAuFC"}
1
+ {"version":3,"file":"server-status.controller.js","sourceRoot":"","sources":["../../../../src/_modules/server/server-status/server-status.controller.ts"],"names":[],"mappings":";;;AAGA,sDAAyH;AAEzH,oFAA+E;AAC/E,iHAAsG;AACtG,uFAAoF;AAKpF;;;;;;;;;;;;GAYG;AACH,MAAsB,6BAepB,SAAQ,qCAAgB;IAQxB,mEAAmE;IAChD,mBAAmB,GAA4B,EAAE,CAAC;IAErE,cAAc;QACZ;;;;;YAKI;QAEJ,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC9B,MAAM,IAAI,uBAAU,CAAC;gBACnB,OAAO,EAAE,iEAAiE;gBAC1E,SAAS,EAAE,GAAG,6CAAqB,CAAC,mBAAmB,gBAAgB;aACxE,CAAC,CAAC;QACL,CAAC;QAED,mDAAmD;QAEnD,IAAI,CAAC,SAAS,GAAG;YACf,IAAI,qDAAqB,CAAC;gBACxB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,8BAAiB,CAAC,GAAG;gBAC3B,QAAQ,EAAE,SAAS;gBACnB,KAAK,EAAE;oBACL,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;wBACnD,GAAG,CAAC,IAAI,CACN,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,CACjC,CAAC;oBACJ,CAAC;iBACF;aACF,CAAC;YAEF,IAAI,qDAAqB,CAAC;gBACxB,IAAI,EAAE,0BAA0B;gBAChC,IAAI,EAAE,8BAAiB,CAAC,GAAG;gBAC3B,QAAQ,EAAE,kBAAkB;gBAC5B,KAAK,EAAE;oBACL,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;wBAEnD,GAAG,CAAC,IAAI,CACN,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CACnD,CAAC;oBACJ,CAAC;iBACF;aACF,CAAC;YAEF,IAAI,qDAAqB,CAAC;gBACxB,IAAI,EAAE,oBAAoB;gBAC1B,IAAI,EAAE,8BAAiB,CAAC,GAAG;gBAC3B,QAAQ,EAAE,0BAA0B;gBACpC,KAAK,EAAE;oBACL,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,MAAc,EAAkB,EAAE;wBAEpE,GAAG,CAAC,IAAI,CACN,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CACrC,GAAG,CAAC,MAAM,CAAC,KAA0B,EACrC,MAAM,CACP,CACF,CAAC;oBACJ,CAAC;iBACF;aACF,CAAC;YAEF,GAAG,IAAI,CAAC,mBAAmB;SAC5B,CAAC;IACJ,CAAC;CACF;AA3FD,sEA2FC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@futdevpro/nts-dynamo",
3
- "version": "01.10.18",
3
+ "version": "01.10.20",
4
4
  "description": "Dynamic NodeTS (NodeJS-Typescript), MongoDB Backend System Framework by Future Development Program Ltd.",
5
5
  "scripts": {
6
6
  "prep": "npm i rimraf nodemon -g",
@@ -73,3 +73,11 @@ export class DyNTS_App_Params {
73
73
  }
74
74
  }
75
75
  }
76
+
77
+ /* export function DyNTS_App_Params_Settings(
78
+ set: DyNTS_App_Params
79
+ ) {
80
+ return function (target: Function) {
81
+ target.prototype._params = set;
82
+ }
83
+ } */
@@ -0,0 +1,17 @@
1
+
2
+
3
+
4
+
5
+ /* import { ServerStatus_ControlService } from './server-status.control-service'; */
6
+
7
+ import { DyFM_Error, DyFM_ServerStatus } from '@futdevpro/fsm-dynamo';
8
+ import { DyNTS_SingletonService } from '../../../_services/base/singleton.service';
9
+
10
+ export abstract class DyNTS_ServerStatusSnapshot_ControlService<
11
+ T_ServerStatusSnapshot extends DyFM_ServerStatus
12
+ > {
13
+ abstract saveSnapshot(
14
+ snapshot: T_ServerStatusSnapshot,
15
+ issuer: string
16
+ ): Promise<T_ServerStatusSnapshot>;
17
+ }
@@ -6,40 +6,32 @@
6
6
 
7
7
  import { DyFM_Error, DyFM_ServerStatus } from '@futdevpro/fsm-dynamo';
8
8
  import { DyNTS_DataService } from '../../../_services/base/data.service';
9
+ import { DyNTS_ServerStatusSnapshot_ControlService } from './server-status-snapshot.control-service';
10
+ import { DyNTS_global_settings } from '../../../_collections/global-settings.const';
9
11
 
10
12
  export class DyNTS_ServerStatusSnapshot_DataService<
11
- T_ServerStatus extends DyFM_ServerStatus
12
- > extends DyNTS_DataService<T_ServerStatus> {
13
-
14
- /* constructor(
15
- set: {
16
- data?: T_ServerStatus,
17
- issuer: string,
18
- }
19
- ) {
20
- super(
21
- new T_ServerStatus(set?.data),
22
- set?.issuer,
23
- );
24
- } */
25
-
26
- /* async getServerSnapshot(): Promise<CCAP_ServerStatusSnapshot> {
13
+ T_ServerStatusSnapshot extends DyFM_ServerStatus
14
+ > extends DyNTS_DataService<
15
+ T_ServerStatusSnapshot
16
+ > implements DyNTS_ServerStatusSnapshot_ControlService<
17
+ T_ServerStatusSnapshot
18
+ > {
19
+
20
+ async saveSnapshot(
21
+ snapshot: T_ServerStatusSnapshot,
22
+ issuer: string
23
+ ): Promise<T_ServerStatusSnapshot> {
27
24
  try {
28
- const serverStatus_CS: ServerStatus_ControlService =
29
- ServerStatus_ControlService.getInstance();
30
-
31
- return new CCAP_ServerStatusSnapshot({
32
- ...serverStatus_CS.getServerStatus(),
33
- });
25
+ this.issuer = issuer;
26
+
27
+ return await this.saveData(snapshot);
34
28
  } catch (error) {
35
29
  throw new DyFM_Error({
36
- ...this.getDefaultErrorSettings(
37
- 'getMatchStatistics',
38
- error?.response?.data ?? error
39
- ),
30
+ ...this.getDefaultErrorSettings('saveSnapshot', error),
40
31
 
41
- errorCode: `${DyNTS_global_settings.systemShortCodeName}|FDPNTS-SSS-GES0',
32
+ errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-SSSDS-SS0`,
42
33
  });
43
34
  }
44
- } */
35
+ }
36
+
45
37
  }
@@ -3,27 +3,37 @@
3
3
  import {
4
4
  DyFM_Metadata, DyFM_RelativeDate, DyFM_Time, DyFM_ServerStatus, DyFM_ErrorLevel, DyFM_Log,
5
5
  DyFM_Error, DyFM_Error_Statistics, DyFM_Errors,
6
- DyFM_Paged
6
+ DyFM_Paged,
7
+ hour
7
8
  } from '@futdevpro/fsm-dynamo';
9
+ import { Subscription, timer } from 'rxjs';
8
10
 
9
11
  import { version as _serverVersion } from '../../../../package.json';
10
12
  import { DyNTS_SingletonService } from '../../../_services/base/singleton.service';
11
13
  import { DyNTS_global_settings } from '../../../_collections/global-settings.const';
12
14
  import { DyNTS_Errors_ControlService } from '../errors/errors.control-service';
15
+ import { DyNTS_ServerStatusSnapshot_ControlService } from './server-status-snapshot.control-service';
16
+ import { DyNTS_GlobalService } from '../../../_services/core/global.service';
13
17
 
14
18
 
15
19
 
16
20
  export abstract class DyNTS_ServerStatus_ControlService<
21
+ T_ServerStatus extends DyFM_ServerStatus,
17
22
  T_Error extends DyFM_Error,
18
23
  T_Errors extends DyFM_Errors<T_Error>,
19
- T_ServerStatus extends DyFM_ServerStatus,
20
- T_Errors_ControlService extends DyNTS_Errors_ControlService<T_Error, T_Errors>
24
+ T_Errors_ControlService extends DyNTS_Errors_ControlService<T_Error, T_Errors>,
25
+ T_ServerStatusSnapshot extends DyFM_ServerStatus,
26
+ T_ServerStatusSnapshot_ControlService extends DyNTS_ServerStatusSnapshot_ControlService<T_ServerStatusSnapshot>
21
27
  > extends DyNTS_SingletonService {
22
28
 
23
29
  protected abstract getErrorControlService?(
24
30
  set?: { data?: T_Errors, issuer?: string }
25
31
  ): T_Errors_ControlService;
26
32
 
33
+ protected abstract getServerStatusSnapshotControlService?(
34
+ set?: { data?: T_ServerStatus, issuer?: string }
35
+ ): T_ServerStatusSnapshot_ControlService;
36
+
27
37
  protected readonly up: Date = new Date();
28
38
 
29
39
  protected readonly _serverVersionNumeric: number = this.getVersionNumeric(_serverVersion);
@@ -35,7 +45,28 @@ export abstract class DyNTS_ServerStatus_ControlService<
35
45
  get latestClientVersion(): string { return this._latestClientVersion; }
36
46
  get latestClientVersionNumeric(): number { return this._latestClientVersionNumeric; }
37
47
 
38
- override readonly defaultErrorUserMsg = 'Something went wrong';
48
+ override readonly defaultErrorUserMsg = 'Something went wrong';
49
+
50
+ readonly overseerTickTime = 6 * hour;
51
+ overseer: Subscription;
52
+
53
+ protected constructor() {
54
+ super();
55
+
56
+ this.overseer = timer(this.overseerTickTime, this.overseerTickTime).subscribe(async () => {
57
+ try {
58
+ await this.triggerCreateSnapshot('overseer-system-tick');
59
+ } catch (error) {
60
+ DyFM_Log.error(' ! Error in overseer (server status):', error);
61
+ DyNTS_GlobalService.globalErrorHandler(
62
+ new DyFM_Error({
63
+ ...this.getDefaultErrorSettings('overseer tick', error, 'overseer-system-tick'),
64
+ errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-SSCS-OT0`,
65
+ })
66
+ ).catch();
67
+ }
68
+ });
69
+ }
39
70
 
40
71
  getServerStatus(clientVersion?: string): DyFM_ServerStatus {
41
72
  return {
@@ -197,4 +228,39 @@ export abstract class DyNTS_ServerStatus_ControlService<
197
228
  this._latestClientVersionNumeric = clientVersionNumeric;
198
229
  }
199
230
  }
231
+
232
+ private async triggerCreateSnapshot(issuer: string): Promise<void> {
233
+ try {
234
+ const snapshot: T_ServerStatusSnapshot = await this.getServerStatusSnapshot(issuer);
235
+ const serverStatusSnapshot_CS: T_ServerStatusSnapshot_ControlService =
236
+ this.getServerStatusSnapshotControlService({ issuer: issuer });
237
+
238
+ await serverStatusSnapshot_CS.saveSnapshot(snapshot, issuer);
239
+
240
+ DyFM_Log.info('ServerStatus snapshot created');
241
+ } catch (error) {
242
+ throw new DyFM_Error({
243
+ ...this.getDefaultErrorSettings('triggerCreateSnapshot', error, 'system-tick'),
244
+ errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-SSCS-TCS0`,
245
+ });
246
+ }
247
+ }
248
+
249
+ async getServerStatusSnapshot(issuer: string): Promise<T_ServerStatusSnapshot> {
250
+ try {
251
+ return ({
252
+ ...this.getServerStatus(),
253
+ }) as T_ServerStatusSnapshot;
254
+ } catch (error) {
255
+ throw new DyFM_Error({
256
+ ...this.getDefaultErrorSettings(
257
+ 'getServerStatusSnapshot',
258
+ error?.response?.data ?? error,
259
+ issuer
260
+ ),
261
+
262
+ errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-SSCS-GSS0`,
263
+ });
264
+ }
265
+ }
200
266
  }
@@ -7,6 +7,7 @@ import { DyNTS_Controller } from '../../../_services/route/controller.service';
7
7
  import { DyNTS_Endpoint_Params } from '../../../_models/control-models/endpoint-params.control-model';
8
8
  import { DyNTS_global_settings } from '../../../_collections/global-settings.const';
9
9
  import { DyNTS_ServerStatus_ControlService } from './server-status.control-service';
10
+ import { DyNTS_ServerStatusSnapshot_ControlService } from './server-status-snapshot.control-service';
10
11
 
11
12
 
12
13
  /**
@@ -23,15 +24,19 @@ import { DyNTS_ServerStatus_ControlService } from './server-status.control-servi
23
24
  *
24
25
  */
25
26
  export abstract class DyNTS_ServerStatus_Controller<
27
+ T_ServerStatus extends DyFM_ServerStatus,
26
28
  T_Error extends DyFM_Error,
27
29
  T_Errors extends DyFM_Errors<T_Error>,
28
- T_ServerStatus extends DyFM_ServerStatus,
29
30
  T_Errors_ControlService extends DyNTS_Errors_ControlService<T_Error, T_Errors>,
31
+ T_ServerStatusSnapshot extends DyFM_ServerStatus,
32
+ T_ServerStatusSnapshot_ControlService extends DyNTS_ServerStatusSnapshot_ControlService<T_ServerStatusSnapshot>,
30
33
  T_ServerStatus_ControlService extends DyNTS_ServerStatus_ControlService<
34
+ T_ServerStatus,
31
35
  T_Error,
32
36
  T_Errors,
33
- T_ServerStatus,
34
- T_Errors_ControlService
37
+ T_Errors_ControlService,
38
+ T_ServerStatusSnapshot,
39
+ T_ServerStatusSnapshot_ControlService
35
40
  >
36
41
  > extends DyNTS_Controller {
37
42