namirasoft-infra-node 1.4.0

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 (103) hide show
  1. package/dist/InfraRabbitMQInstance.d.ts +33 -0
  2. package/dist/InfraRabbitMQInstance.js +84 -0
  3. package/dist/InfraRabbitMQInstance.js.map +1 -0
  4. package/dist/InfraRedisInstance.d.ts +18 -0
  5. package/dist/InfraRedisInstance.js +29 -0
  6. package/dist/InfraRedisInstance.js.map +1 -0
  7. package/dist/index.d.ts +24 -0
  8. package/dist/index.js +41 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/rabbitmq/InfraRabbitMQExchangeAgentRequest.d.ts +8 -0
  11. package/dist/rabbitmq/InfraRabbitMQExchangeAgentRequest.js +15 -0
  12. package/dist/rabbitmq/InfraRabbitMQExchangeAgentRequest.js.map +1 -0
  13. package/dist/rabbitmq/InfraRabbitMQExchangeAgentResponse.d.ts +8 -0
  14. package/dist/rabbitmq/InfraRabbitMQExchangeAgentResponse.js +15 -0
  15. package/dist/rabbitmq/InfraRabbitMQExchangeAgentResponse.js.map +1 -0
  16. package/dist/rabbitmq/InfraRabbitMQExchangeAlert.d.ts +8 -0
  17. package/dist/rabbitmq/InfraRabbitMQExchangeAlert.js +15 -0
  18. package/dist/rabbitmq/InfraRabbitMQExchangeAlert.js.map +1 -0
  19. package/dist/rabbitmq/InfraRabbitMQExchangeAlertResult.d.ts +8 -0
  20. package/dist/rabbitmq/InfraRabbitMQExchangeAlertResult.js +15 -0
  21. package/dist/rabbitmq/InfraRabbitMQExchangeAlertResult.js.map +1 -0
  22. package/dist/rabbitmq/InfraRabbitMQExchangeMonitors.d.ts +8 -0
  23. package/dist/rabbitmq/InfraRabbitMQExchangeMonitors.js +15 -0
  24. package/dist/rabbitmq/InfraRabbitMQExchangeMonitors.js.map +1 -0
  25. package/dist/rabbitmq/InfraRabbitMQMessageAgent.d.ts +3 -0
  26. package/dist/rabbitmq/InfraRabbitMQMessageAgent.js +3 -0
  27. package/dist/rabbitmq/InfraRabbitMQMessageAgent.js.map +1 -0
  28. package/dist/rabbitmq/InfraRabbitMQMessageAlert.d.ts +5 -0
  29. package/dist/rabbitmq/InfraRabbitMQMessageAlert.js +3 -0
  30. package/dist/rabbitmq/InfraRabbitMQMessageAlert.js.map +1 -0
  31. package/dist/rabbitmq/InfraRabbitMQMessageAlertResult.d.ts +5 -0
  32. package/dist/rabbitmq/InfraRabbitMQMessageAlertResult.js +3 -0
  33. package/dist/rabbitmq/InfraRabbitMQMessageAlertResult.js.map +1 -0
  34. package/dist/rabbitmq/InfraRabbitMQMessageMonitors.d.ts +5 -0
  35. package/dist/rabbitmq/InfraRabbitMQMessageMonitors.js +3 -0
  36. package/dist/rabbitmq/InfraRabbitMQMessageMonitors.js.map +1 -0
  37. package/dist/rabbitmq/InfraRabbitMQQueueAgentRequest.d.ts +6 -0
  38. package/dist/rabbitmq/InfraRabbitMQQueueAgentRequest.js +25 -0
  39. package/dist/rabbitmq/InfraRabbitMQQueueAgentRequest.js.map +1 -0
  40. package/dist/rabbitmq/InfraRabbitMQQueueAgentResponse.d.ts +6 -0
  41. package/dist/rabbitmq/InfraRabbitMQQueueAgentResponse.js +25 -0
  42. package/dist/rabbitmq/InfraRabbitMQQueueAgentResponse.js.map +1 -0
  43. package/dist/rabbitmq/InfraRabbitMQQueueAlert.d.ts +6 -0
  44. package/dist/rabbitmq/InfraRabbitMQQueueAlert.js +25 -0
  45. package/dist/rabbitmq/InfraRabbitMQQueueAlert.js.map +1 -0
  46. package/dist/rabbitmq/InfraRabbitMQQueueAlertResult.d.ts +6 -0
  47. package/dist/rabbitmq/InfraRabbitMQQueueAlertResult.js +25 -0
  48. package/dist/rabbitmq/InfraRabbitMQQueueAlertResult.js.map +1 -0
  49. package/dist/rabbitmq/InfraRabbitMQQueueMonitors.d.ts +6 -0
  50. package/dist/rabbitmq/InfraRabbitMQQueueMonitors.js +25 -0
  51. package/dist/rabbitmq/InfraRabbitMQQueueMonitors.js.map +1 -0
  52. package/dist/scope/InfraRedisScopeAlert.d.ts +8 -0
  53. package/dist/scope/InfraRedisScopeAlert.js +38 -0
  54. package/dist/scope/InfraRedisScopeAlert.js.map +1 -0
  55. package/dist/scope/InfraRedisScopeAlertResults.d.ts +12 -0
  56. package/dist/scope/InfraRedisScopeAlertResults.js +38 -0
  57. package/dist/scope/InfraRedisScopeAlertResults.js.map +1 -0
  58. package/dist/scope/InfraRedisScopeMonitorIncidentCreation.d.ts +7 -0
  59. package/dist/scope/InfraRedisScopeMonitorIncidentCreation.js +38 -0
  60. package/dist/scope/InfraRedisScopeMonitorIncidentCreation.js.map +1 -0
  61. package/dist/scope/InfraRedisScopeMonitors.d.ts +7 -0
  62. package/dist/scope/InfraRedisScopeMonitors.js +38 -0
  63. package/dist/scope/InfraRedisScopeMonitors.js.map +1 -0
  64. package/dist/scope/InfraRedisScopeOnlineKubernetes.d.ts +12 -0
  65. package/dist/scope/InfraRedisScopeOnlineKubernetes.js +44 -0
  66. package/dist/scope/InfraRedisScopeOnlineKubernetes.js.map +1 -0
  67. package/dist/scope/InfraRedisScopeOnlineServer.d.ts +12 -0
  68. package/dist/scope/InfraRedisScopeOnlineServer.js +44 -0
  69. package/dist/scope/InfraRedisScopeOnlineServer.js.map +1 -0
  70. package/dist/type/AlertResultType.d.ts +8 -0
  71. package/dist/type/AlertResultType.js +3 -0
  72. package/dist/type/AlertResultType.js.map +1 -0
  73. package/dist/type/MonitorResultType.d.ts +7 -0
  74. package/dist/type/MonitorResultType.js +3 -0
  75. package/dist/type/MonitorResultType.js.map +1 -0
  76. package/logo.png +0 -0
  77. package/package.json +27 -0
  78. package/src/InfraRabbitMQInstance.ts +93 -0
  79. package/src/InfraRedisInstance.ts +38 -0
  80. package/src/index.ts +27 -0
  81. package/src/rabbitmq/InfraRabbitMQExchangeAgentRequest.ts +15 -0
  82. package/src/rabbitmq/InfraRabbitMQExchangeAgentResponse.ts +15 -0
  83. package/src/rabbitmq/InfraRabbitMQExchangeAlert.ts +15 -0
  84. package/src/rabbitmq/InfraRabbitMQExchangeAlertResult.ts +15 -0
  85. package/src/rabbitmq/InfraRabbitMQExchangeMonitors.ts +15 -0
  86. package/src/rabbitmq/InfraRabbitMQMessageAgent.ts +3 -0
  87. package/src/rabbitmq/InfraRabbitMQMessageAlert.ts +6 -0
  88. package/src/rabbitmq/InfraRabbitMQMessageAlertResult.ts +6 -0
  89. package/src/rabbitmq/InfraRabbitMQMessageMonitors.ts +6 -0
  90. package/src/rabbitmq/InfraRabbitMQQueueAgentRequest.ts +14 -0
  91. package/src/rabbitmq/InfraRabbitMQQueueAgentResponse.ts +14 -0
  92. package/src/rabbitmq/InfraRabbitMQQueueAlert.ts +14 -0
  93. package/src/rabbitmq/InfraRabbitMQQueueAlertResult.ts +14 -0
  94. package/src/rabbitmq/InfraRabbitMQQueueMonitors.ts +14 -0
  95. package/src/scope/InfraRedisScopeAlert.ts +26 -0
  96. package/src/scope/InfraRedisScopeAlertResults.ts +29 -0
  97. package/src/scope/InfraRedisScopeMonitorIncidentCreation.ts +25 -0
  98. package/src/scope/InfraRedisScopeMonitors.ts +25 -0
  99. package/src/scope/InfraRedisScopeOnlineKubernetes.ts +37 -0
  100. package/src/scope/InfraRedisScopeOnlineServer.ts +37 -0
  101. package/src/type/AlertResultType.ts +9 -0
  102. package/src/type/MonitorResultType.ts +8 -0
  103. package/tsconfig.json +42 -0
package/src/index.ts ADDED
@@ -0,0 +1,27 @@
1
+ export * from "./type/MonitorResultType"
2
+ export * from "./type/AlertResultType"
3
+
4
+ export * from "./scope/InfraRedisScopeAlertResults"
5
+ export * from "./scope/InfraRedisScopeMonitorIncidentCreation"
6
+ export * from "./scope/InfraRedisScopeMonitors"
7
+ export * from "./scope/InfraRedisScopeOnlineKubernetes"
8
+ export * from "./scope/InfraRedisScopeOnlineServer"
9
+ export * from "./scope/InfraRedisScopeAlert"
10
+
11
+ export * from "./rabbitmq/InfraRabbitMQQueueAgentRequest"
12
+ export * from "./rabbitmq/InfraRabbitMQQueueAgentResponse"
13
+ export * from "./rabbitmq/InfraRabbitMQQueueAlert"
14
+ export * from "./rabbitmq/InfraRabbitMQQueueAlertResult"
15
+ export * from "./rabbitmq/InfraRabbitMQQueueMonitors"
16
+ export * from "./rabbitmq/InfraRabbitMQExchangeAgentRequest"
17
+ export * from "./rabbitmq/InfraRabbitMQExchangeAgentResponse"
18
+ export * from "./rabbitmq/InfraRabbitMQExchangeAlert"
19
+ export * from "./rabbitmq/InfraRabbitMQExchangeAlertResult"
20
+ export * from "./rabbitmq/InfraRabbitMQExchangeMonitors"
21
+ export * from "./rabbitmq/InfraRabbitMQMessageAgent"
22
+ export * from "./rabbitmq/InfraRabbitMQMessageAlert"
23
+ export * from "./rabbitmq/InfraRabbitMQMessageAlertResult"
24
+ export * from "./rabbitmq/InfraRabbitMQMessageMonitors"
25
+
26
+ export * from "./InfraRabbitMQInstance"
27
+ export * from "./InfraRedisInstance"
@@ -0,0 +1,15 @@
1
+ import { BaseRabbitMQExchangeDirect } from "namirasoft-node-rabbitmq";
2
+ import { InfraRabbitMQInstance } from "../InfraRabbitMQInstance";
3
+ import { InfraRabbitMQMessageAgent } from "./InfraRabbitMQMessageAgent";
4
+
5
+ export class InfraRabbitMQExchangeAgentRequest extends BaseRabbitMQExchangeDirect
6
+ {
7
+ constructor(instance: InfraRabbitMQInstance, name: string, private queue_name: string)
8
+ {
9
+ super(instance, name, undefined);
10
+ }
11
+ public publish(message: InfraRabbitMQMessageAgent): void
12
+ {
13
+ this._publish(message, this.queue_name);
14
+ }
15
+ }
@@ -0,0 +1,15 @@
1
+ import { BaseRabbitMQExchangeDirect } from "namirasoft-node-rabbitmq";
2
+ import { InfraRabbitMQInstance } from "../InfraRabbitMQInstance";
3
+ import { InfraRabbitMQMessageAgent } from "./InfraRabbitMQMessageAgent";
4
+
5
+ export class InfraRabbitMQExchangeAgentResponse extends BaseRabbitMQExchangeDirect
6
+ {
7
+ constructor(instance: InfraRabbitMQInstance, name: string, private queue_name: string)
8
+ {
9
+ super(instance, name, undefined);
10
+ }
11
+ public publish(message: InfraRabbitMQMessageAgent): void
12
+ {
13
+ this._publish(message, this.queue_name);
14
+ }
15
+ }
@@ -0,0 +1,15 @@
1
+ import { BaseRabbitMQExchangeDirect } from "namirasoft-node-rabbitmq";
2
+ import { InfraRabbitMQInstance } from "../InfraRabbitMQInstance";
3
+ import { InfraRabbitMQMessageAlert } from "./InfraRabbitMQMessageAlert";
4
+
5
+ export class InfraRabbitMQExchangeAlert extends BaseRabbitMQExchangeDirect
6
+ {
7
+ constructor(instance: InfraRabbitMQInstance, name: string, private queue_name: string)
8
+ {
9
+ super(instance, name, undefined);
10
+ }
11
+ public publish(message: InfraRabbitMQMessageAlert): void
12
+ {
13
+ this._publish(message, this.queue_name);
14
+ }
15
+ }
@@ -0,0 +1,15 @@
1
+ import { BaseRabbitMQExchangeDirect } from "namirasoft-node-rabbitmq";
2
+ import { InfraRabbitMQInstance } from "../InfraRabbitMQInstance";
3
+ import { InfraRabbitMQMessageAlertResult } from "./InfraRabbitMQMessageAlertResult";
4
+
5
+ export class InfraRabbitMQExchangeAlertResult extends BaseRabbitMQExchangeDirect
6
+ {
7
+ constructor(instance: InfraRabbitMQInstance, name: string, private queue_name: string)
8
+ {
9
+ super(instance, name, undefined);
10
+ }
11
+ public publish(message: InfraRabbitMQMessageAlertResult): void
12
+ {
13
+ this._publish(message, this.queue_name);
14
+ }
15
+ }
@@ -0,0 +1,15 @@
1
+ import { BaseRabbitMQExchangeDirect } from "namirasoft-node-rabbitmq";
2
+ import { InfraRabbitMQInstance } from "../InfraRabbitMQInstance";
3
+ import { InfraRabbitMQMessageMonitors } from "./InfraRabbitMQMessageMonitors";
4
+
5
+ export class InfraRabbitMQExchangeMonitors extends BaseRabbitMQExchangeDirect
6
+ {
7
+ constructor(instance: InfraRabbitMQInstance, name: string, private queue_name: string)
8
+ {
9
+ super(instance, name, undefined);
10
+ }
11
+ public publish(message: InfraRabbitMQMessageMonitors): void
12
+ {
13
+ this._publish(message, this.queue_name);
14
+ }
15
+ }
@@ -0,0 +1,3 @@
1
+ export type InfraRabbitMQMessageAgent = {
2
+ user_id: string;
3
+ };
@@ -0,0 +1,6 @@
1
+ import { AlertRow } from "namirasoft-infra";
2
+
3
+ export type InfraRabbitMQMessageAlert = {
4
+ alert: AlertRow;
5
+ value: number;
6
+ };
@@ -0,0 +1,6 @@
1
+ import { AlertResultType } from "../type/AlertResultType";
2
+
3
+ export type InfraRabbitMQMessageAlertResult = {
4
+ user_id: string;
5
+ alert_result: AlertResultType;
6
+ };
@@ -0,0 +1,6 @@
1
+ import { MonitorResultType } from "../type/MonitorResultType";
2
+
3
+ export type InfraRabbitMQMessageMonitors = {
4
+ user_id: string;
5
+ monitor_results: MonitorResultType[];
6
+ };
@@ -0,0 +1,14 @@
1
+ import { BaseRabbitMQInstance, BaseRabbitMQQueue } from "namirasoft-node-rabbitmq";
2
+ import { InfraRabbitMQMessageAgent } from "./InfraRabbitMQMessageAgent";
3
+
4
+ export class InfraRabbitMQQueueAgentRequest extends BaseRabbitMQQueue
5
+ {
6
+ constructor(instance: BaseRabbitMQInstance, name: string)
7
+ {
8
+ super(instance, name, { autoDelete: true });
9
+ }
10
+ async receive(onMessage: (message: InfraRabbitMQMessageAgent) => Promise<boolean>): Promise<void>
11
+ {
12
+ await this._receive(onMessage);
13
+ }
14
+ }
@@ -0,0 +1,14 @@
1
+ import { BaseRabbitMQInstance, BaseRabbitMQQueue } from "namirasoft-node-rabbitmq";
2
+ import { InfraRabbitMQMessageAgent } from "./InfraRabbitMQMessageAgent";
3
+
4
+ export class InfraRabbitMQQueueAgentResponse extends BaseRabbitMQQueue
5
+ {
6
+ constructor(instance: BaseRabbitMQInstance, name: string)
7
+ {
8
+ super(instance, name, { autoDelete: true });
9
+ }
10
+ async receive(onMessage: (message: InfraRabbitMQMessageAgent) => Promise<boolean>): Promise<void>
11
+ {
12
+ await this._receive(onMessage);
13
+ }
14
+ }
@@ -0,0 +1,14 @@
1
+ import { BaseRabbitMQInstance, BaseRabbitMQQueue } from "namirasoft-node-rabbitmq";
2
+ import { InfraRabbitMQMessageAlert } from "./InfraRabbitMQMessageAlert";
3
+
4
+ export class InfraRabbitMQQueueAlert extends BaseRabbitMQQueue
5
+ {
6
+ constructor(instance: BaseRabbitMQInstance, name: string)
7
+ {
8
+ super(instance, name, undefined);
9
+ }
10
+ async receive(onMessage: (message: InfraRabbitMQMessageAlert) => Promise<boolean>): Promise<void>
11
+ {
12
+ await this._receive(onMessage);
13
+ }
14
+ }
@@ -0,0 +1,14 @@
1
+ import { BaseRabbitMQInstance, BaseRabbitMQQueue } from "namirasoft-node-rabbitmq";
2
+ import { InfraRabbitMQMessageAlertResult } from "./InfraRabbitMQMessageAlertResult";
3
+
4
+ export class InfraRabbitMQQueueAlertResult extends BaseRabbitMQQueue
5
+ {
6
+ constructor(instance: BaseRabbitMQInstance, name: string)
7
+ {
8
+ super(instance, name, undefined);
9
+ }
10
+ async receive(onMessage: (message: InfraRabbitMQMessageAlertResult) => Promise<boolean>): Promise<void>
11
+ {
12
+ await this._receive(onMessage);
13
+ }
14
+ }
@@ -0,0 +1,14 @@
1
+ import { BaseRabbitMQInstance, BaseRabbitMQQueue } from "namirasoft-node-rabbitmq";
2
+ import { InfraRabbitMQMessageMonitors } from "./InfraRabbitMQMessageMonitors";
3
+
4
+ export class InfraRabbitMQQueueMonitors extends BaseRabbitMQQueue
5
+ {
6
+ constructor(instance: BaseRabbitMQInstance, name: string)
7
+ {
8
+ super(instance, name, undefined);
9
+ }
10
+ async receive(onMessage: (message: InfraRabbitMQMessageMonitors) => Promise<boolean>): Promise<void>
11
+ {
12
+ await this._receive(onMessage);
13
+ }
14
+ }
@@ -0,0 +1,26 @@
1
+ import { AlertRow } from 'namirasoft-infra';
2
+ import { RedisScope } from 'namirasoft-node-redis';
3
+
4
+ export class InfraRedisScopeAlert extends RedisScope<string, AlertRow>
5
+ {
6
+ override key(alert_id: string): string
7
+ {
8
+ return `NamirasoftInfra:Alerts:Alert:${alert_id}`;
9
+ }
10
+ async get(alert_id: string, base64: boolean)
11
+ {
12
+ let key = this.key(alert_id);
13
+
14
+ return await this._get(key, base64);
15
+ }
16
+ async set(alert_id: string, alert: AlertRow, base64: boolean)
17
+ {
18
+ let key = this.key(alert_id);
19
+ return await this._set(key, alert, base64, 60 * 60);
20
+ }
21
+ async del(alert_id: string)
22
+ {
23
+ let key = this.key(alert_id);
24
+ await this._del(key);
25
+ }
26
+ }
@@ -0,0 +1,29 @@
1
+ import { RedisScope } from 'namirasoft-node-redis';
2
+
3
+ type AlertMetricKey = {
4
+ alert_id: string;
5
+ metric_id: string;
6
+ };
7
+ export class InfraRedisScopeAlertResults extends RedisScope<AlertMetricKey, number[]>
8
+ {
9
+ override key(key: AlertMetricKey): string
10
+ {
11
+ return `NamirasoftInfra:Alerts:Alert:${key.alert_id}:Metric:${key.metric_id}`;
12
+ }
13
+ async get(alert_id: string, metric_id: string, base64: boolean)
14
+ {
15
+ let key = this.key({ alert_id, metric_id });
16
+
17
+ return await this._get(key, base64);
18
+ }
19
+ async set(alert_id: string, metric_id: string, value: number[], base64: boolean)
20
+ {
21
+ let key = this.key({ alert_id, metric_id });
22
+ return await this._set(key, value, base64, 60 * 60);
23
+ }
24
+ async del(alert_id: string, metric_id: string)
25
+ {
26
+ let key = this.key({ alert_id, metric_id });
27
+ await this._del(key);
28
+ }
29
+ }
@@ -0,0 +1,25 @@
1
+ import { RedisScope } from 'namirasoft-node-redis';
2
+
3
+ export class InfraRedisScopeMonitorIncidentCreation extends RedisScope<string, Date>
4
+ {
5
+ override key(monitor_id: string): string
6
+ {
7
+ return `NamirasoftInfra:MonitorIncidentCreation:Monitor:${monitor_id}`;
8
+ }
9
+ async get(monitor_id: string, base64: boolean)
10
+ {
11
+ let key = this.key(monitor_id);
12
+
13
+ return await this._get(key, base64);
14
+ }
15
+ async set(monitor_id: string, created_at: Date, base64: boolean)
16
+ {
17
+ let key = this.key(monitor_id);
18
+ return await this._set(key, created_at, base64, 60 * 60);
19
+ }
20
+ async del(monitor_id: string)
21
+ {
22
+ let key = this.key(monitor_id);
23
+ await this._del(key);
24
+ }
25
+ }
@@ -0,0 +1,25 @@
1
+ import { RedisScope } from 'namirasoft-node-redis';
2
+
3
+ export class InfraRedisScopeMonitors extends RedisScope<string, boolean>
4
+ {
5
+ override key(service_user_id: string): string
6
+ {
7
+ return `NamirasoftInfra:Monitors:ServiceUser:${service_user_id}`;
8
+ }
9
+ async get(service_user_id: string, base64: boolean)
10
+ {
11
+ let key = this.key(service_user_id);
12
+
13
+ return await this._get(key, base64);
14
+ }
15
+ async set(service_user_id: string, base64: boolean)
16
+ {
17
+ let key = this.key(service_user_id);
18
+ return await this._set(key, true, base64, 60 * 60);
19
+ }
20
+ async del(service_user_id: string)
21
+ {
22
+ let key = this.key(service_user_id);
23
+ await this._del(key);
24
+ }
25
+ }
@@ -0,0 +1,37 @@
1
+ import { RedisScope } from 'namirasoft-node-redis';
2
+
3
+ type OnlineKubernetes = {
4
+ user_id: string;
5
+ kubernetes_id: string;
6
+ };
7
+
8
+ export class InfraRedisScopeOnlineKubernetes extends RedisScope<OnlineKubernetes, Date>
9
+ {
10
+ override key(key_parameter: OnlineKubernetes): string
11
+ {
12
+ return `NamirasoftInfra:User:${key_parameter.user_id}:Kubernetes:Onlines:${key_parameter.kubernetes_id}`;
13
+ }
14
+ async list(user_id: string): Promise<string[]>
15
+ {
16
+ let key = this.key({ user_id, kubernetes_id: "*" });
17
+ let cursor = '0';
18
+ let ans = await this.instance.client.scan(cursor, 'MATCH', key, "COUNT", 1000);
19
+ let keys = ans[1];
20
+
21
+ return keys.map(x =>
22
+ {
23
+ let toks = x.split(":");
24
+ return toks[toks.length - 1];
25
+ });
26
+ }
27
+ async set(key_parameter: OnlineKubernetes)
28
+ {
29
+ let key = this.key(key_parameter);
30
+ return await this._set(key, new Date(), false, 60);
31
+ }
32
+ async del(key_parameter: OnlineKubernetes)
33
+ {
34
+ let key = this.key(key_parameter);
35
+ return await this._del(key);
36
+ }
37
+ }
@@ -0,0 +1,37 @@
1
+ import { RedisScope } from 'namirasoft-node-redis';
2
+
3
+ type OnlineServerKey = {
4
+ user_id: string;
5
+ server_id: string;
6
+ };
7
+
8
+ export class InfraRedisScopeOnlineServer extends RedisScope<OnlineServerKey, Date>
9
+ {
10
+ override key(key_parameter: OnlineServerKey): string
11
+ {
12
+ return `NamirasoftInfra:User:${key_parameter.user_id}:Server:Onlines:${key_parameter.server_id}`;
13
+ }
14
+ async list(user_id: string): Promise<string[]>
15
+ {
16
+ let key = this.key({ user_id, server_id: "*" });
17
+ let cursor = '0';
18
+ let ans = await this.instance.client.scan(cursor, 'MATCH', key, "COUNT", 1000);
19
+ let keys = ans[1];
20
+
21
+ return keys.map(x =>
22
+ {
23
+ let toks = x.split(":");
24
+ return toks[toks.length - 1];
25
+ });
26
+ }
27
+ async set(key_parameter: OnlineServerKey)
28
+ {
29
+ let key = this.key(key_parameter);
30
+ return await this._set(key, new Date(), false, 60);
31
+ }
32
+ async del(key_parameter: OnlineServerKey)
33
+ {
34
+ let key = this.key(key_parameter);
35
+ return await this._del(key);
36
+ }
37
+ }
@@ -0,0 +1,9 @@
1
+ export interface AlertResultType
2
+ {
3
+ id: string;
4
+ alert_id: string;
5
+ metric_id: string;
6
+ success: boolean;
7
+ result: string;
8
+ created_at: Date;
9
+ }
@@ -0,0 +1,8 @@
1
+ export interface MonitorResultType
2
+ {
3
+ id: string;
4
+ monitor_id: string;
5
+ success: boolean;
6
+ result: string;
7
+ created_at: Date;
8
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,42 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES6",
4
+ "module": "CommonJS",
5
+ "rootDir": "./src",
6
+ "outDir": "./dist",
7
+ "lib": [
8
+ "es6",
9
+ "dom"
10
+ ],
11
+ "allowJs": false,
12
+ "checkJs": false,
13
+ "strict": true,
14
+ "esModuleInterop": true,
15
+ "sourceMap": true,
16
+ "resolveJsonModule": true,
17
+ "declaration": true,
18
+ "noUnusedLocals": true,
19
+ "noUnusedParameters": true,
20
+ "noImplicitAny": true,
21
+ "noImplicitOverride": true,
22
+ "noImplicitReturns": true,
23
+ "noImplicitThis": true,
24
+ "skipLibCheck": true,
25
+ "allowSyntheticDefaultImports": true,
26
+ "forceConsistentCasingInFileNames": true,
27
+ "noFallthroughCasesInSwitch": true,
28
+ "isolatedModules": false,
29
+ "removeComments": true
30
+ },
31
+ "include": [
32
+ "src",
33
+ "build/types/**/*.ts"
34
+ ],
35
+ "exclude": [
36
+ "node_modules",
37
+ "build",
38
+ "dist",
39
+ "static",
40
+ "public"
41
+ ]
42
+ }