@oneuptime/common 7.0.3156 → 7.0.3158

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.
@@ -0,0 +1,301 @@
1
+ import { Green } from "../../Types/BrandColors";
2
+ import ObjectID from "../../Types/ObjectID";
3
+ import MonitorStatus from "../../Models/DatabaseModels/MonitorStatus";
4
+ import MonitorStatusTimeline from "../../Models/DatabaseModels/MonitorStatusTimeline";
5
+ import StatusPageResource from "../../Models/DatabaseModels/StatusPageResource";
6
+ import Dictionary from "../../Types/Dictionary";
7
+ import UptimePrecision from "../../Types/StatusPage/UptimePrecision";
8
+ import StatusPageGroup from "../../Models/DatabaseModels/StatusPageGroup";
9
+ import UptimeUtil from "../Uptime/UptimeUtil";
10
+
11
+ export default class StatusPageResourceUptimeUtil {
12
+ public static getMonitorStatusTimelineForResource(data: {
13
+ statusPageResource: StatusPageResource;
14
+ monitorStatusTimelines: Array<MonitorStatusTimeline>;
15
+ monitorsInGroup: Dictionary<Array<ObjectID>>;
16
+ }): Array<MonitorStatusTimeline> {
17
+ return [...data.monitorStatusTimelines].filter(
18
+ (timeline: MonitorStatusTimeline) => {
19
+ // check monitor if first.
20
+
21
+ if (data.statusPageResource.monitorId) {
22
+ return (
23
+ timeline.monitorId?.toString() ===
24
+ data.statusPageResource.monitorId?.toString()
25
+ );
26
+ }
27
+
28
+ if (data.statusPageResource.monitorGroupId) {
29
+ const monitorsInThisGroup: Array<ObjectID> | undefined =
30
+ data.monitorsInGroup[
31
+ data.statusPageResource.monitorGroupId?.toString() || ""
32
+ ];
33
+
34
+ if (!monitorsInThisGroup) {
35
+ return false;
36
+ }
37
+
38
+ return monitorsInThisGroup.find((monitorId: ObjectID) => {
39
+ return monitorId.toString() === timeline.monitorId?.toString();
40
+ });
41
+ }
42
+
43
+ return false;
44
+ },
45
+ );
46
+ }
47
+
48
+ public static getCurrentStatusPageGroupStatus(data: {
49
+ statusPageGroup: StatusPageGroup;
50
+ monitorStatusTimelines: Array<MonitorStatusTimeline>;
51
+ statusPageResources: Array<StatusPageResource>;
52
+ monitorStatuses: Array<MonitorStatus>;
53
+ monitorGroupCurrentStatuses: Dictionary<ObjectID>;
54
+ }): MonitorStatus {
55
+ let currentStatus: MonitorStatus = new MonitorStatus();
56
+ currentStatus.name = "Operational";
57
+ currentStatus.color = Green;
58
+
59
+ const resourcesInGroup: Array<StatusPageResource> =
60
+ this.getResourcesInStatusPageGroup({
61
+ statusPageGroup: data.statusPageGroup,
62
+ statusPageResources: data.statusPageResources,
63
+ });
64
+
65
+ for (const resource of resourcesInGroup) {
66
+ let currentMonitorStatus: MonitorStatus | undefined = undefined;
67
+
68
+ if (resource.monitor) {
69
+ currentMonitorStatus = data.monitorStatuses.find(
70
+ (status: MonitorStatus) => {
71
+ return (
72
+ status._id?.toString() ===
73
+ resource.monitor?.currentMonitorStatusId?.toString()
74
+ );
75
+ },
76
+ );
77
+ }
78
+
79
+ if (resource.monitorGroupId) {
80
+ currentMonitorStatus = data.monitorStatuses.find(
81
+ (status: MonitorStatus) => {
82
+ return (
83
+ status._id?.toString() ===
84
+ data.monitorGroupCurrentStatuses[
85
+ resource.monitorGroupId?.toString() || ""
86
+ ]?.toString()
87
+ );
88
+ },
89
+ );
90
+ }
91
+
92
+ if (!currentMonitorStatus) {
93
+ currentMonitorStatus = currentStatus;
94
+ }
95
+
96
+ if (
97
+ (currentStatus &&
98
+ currentStatus.priority &&
99
+ currentMonitorStatus?.priority &&
100
+ currentMonitorStatus?.priority > currentStatus.priority) ||
101
+ !currentStatus ||
102
+ !currentStatus.priority
103
+ ) {
104
+ currentStatus = currentMonitorStatus!;
105
+ }
106
+ }
107
+
108
+ return currentStatus;
109
+ }
110
+
111
+ public static calculateUptimePercentOfResource(data: {
112
+ statusPageResource: StatusPageResource;
113
+ monitorStatusTimelines: Array<MonitorStatusTimeline>;
114
+ precision: UptimePrecision;
115
+ downtimeMonitorStatuses: Array<MonitorStatus>;
116
+ monitorsInGroup: Dictionary<Array<ObjectID>>;
117
+ }): number | null {
118
+ if (!data.statusPageResource.showUptimePercent) {
119
+ return null;
120
+ }
121
+
122
+ const monitorStatusTimelines: Array<MonitorStatusTimeline> =
123
+ this.getMonitorStatusTimelineForResource({
124
+ statusPageResource: data.statusPageResource,
125
+ monitorStatusTimelines: data.monitorStatusTimelines,
126
+ monitorsInGroup: data.monitorsInGroup,
127
+ });
128
+
129
+ const downtimeMonitorStatuses: Array<MonitorStatus> =
130
+ data?.downtimeMonitorStatuses || [];
131
+
132
+ const uptimePercent: number = UptimeUtil.calculateUptimePercentage(
133
+ monitorStatusTimelines,
134
+ data.precision,
135
+ downtimeMonitorStatuses,
136
+ );
137
+
138
+ return uptimePercent;
139
+ }
140
+
141
+ public static calculateAvgUptimePercentOfStatusPageGroup(data: {
142
+ statusPageGroup: StatusPageGroup;
143
+ monitorStatusTimelines: Array<MonitorStatusTimeline>;
144
+ precision: UptimePrecision;
145
+ downtimeMonitorStatuses: Array<MonitorStatus>;
146
+ statusPageResources: Array<StatusPageResource>;
147
+ monitorsInGroup: Dictionary<Array<ObjectID>>;
148
+ }): number | null {
149
+ if (!data.statusPageGroup.showUptimePercent) {
150
+ return null;
151
+ }
152
+
153
+ const resourcesInGroup: Array<StatusPageResource> =
154
+ this.getResourcesInStatusPageGroup({
155
+ statusPageGroup: data.statusPageGroup,
156
+ statusPageResources: data.statusPageResources,
157
+ });
158
+
159
+ if (resourcesInGroup.length === 0) {
160
+ return null; // no resources in group.
161
+ }
162
+
163
+ const uptimePercentPerResource: Array<number> = [];
164
+
165
+ for (const resource of resourcesInGroup) {
166
+ const calculateUptimePercentOfResource: number | null =
167
+ this.calculateUptimePercentOfResource({
168
+ statusPageResource: resource,
169
+ monitorStatusTimelines: data.monitorStatusTimelines,
170
+ precision: data.precision,
171
+ downtimeMonitorStatuses: data.downtimeMonitorStatuses,
172
+ monitorsInGroup: data.monitorsInGroup,
173
+ });
174
+
175
+ if (calculateUptimePercentOfResource !== null) {
176
+ uptimePercentPerResource.push(calculateUptimePercentOfResource);
177
+ }
178
+ }
179
+
180
+ // calculate avg
181
+
182
+ if (uptimePercentPerResource.length === 0) {
183
+ return null;
184
+ }
185
+
186
+ const averageUptimePercentage: number =
187
+ uptimePercentPerResource.reduce((a: number, b: number) => {
188
+ return a + b;
189
+ }) / uptimePercentPerResource.length;
190
+
191
+ // if the current status is operational then show uptime Percent.
192
+
193
+ let precision: UptimePrecision = UptimePrecision.ONE_DECIMAL;
194
+
195
+ if (data.statusPageGroup.uptimePercentPrecision) {
196
+ precision = data.statusPageGroup.uptimePercentPrecision;
197
+ }
198
+
199
+ return UptimeUtil.roundToPrecision({
200
+ number: averageUptimePercentage,
201
+ precision: precision,
202
+ });
203
+ }
204
+
205
+ public static getResourcesWithoutStatusPageGroup(data: {
206
+ statusPageResources: Array<StatusPageResource>;
207
+ }): Array<StatusPageResource> {
208
+ return data.statusPageResources.filter((resource: StatusPageResource) => {
209
+ return !resource.statusPageGroupId;
210
+ });
211
+ }
212
+
213
+ public static getResourcesInStatusPageGroup(data: {
214
+ statusPageGroup: StatusPageGroup;
215
+ statusPageResources: Array<StatusPageResource>;
216
+ }): Array<StatusPageResource> {
217
+ return data.statusPageResources.filter((resource: StatusPageResource) => {
218
+ return (
219
+ resource.statusPageGroupId?.toString() ===
220
+ data.statusPageGroup._id?.toString()
221
+ );
222
+ });
223
+ }
224
+
225
+ public static calculateAvgUptimePercentageOfAllResources(data: {
226
+ monitorStatusTimelines: Array<MonitorStatusTimeline>;
227
+ precision: UptimePrecision;
228
+ downtimeMonitorStatuses: Array<MonitorStatus>;
229
+ statusPageResources: Array<StatusPageResource>;
230
+ resourceGroups: Array<StatusPageGroup>;
231
+ monitorsInGroup: Dictionary<Array<ObjectID>>;
232
+ }): number | null {
233
+ const showUptimePercentage: boolean = Boolean(
234
+ data.statusPageResources.find((item: StatusPageResource) => {
235
+ return item.showUptimePercent || item.showStatusHistoryChart;
236
+ }),
237
+ );
238
+
239
+ if (!showUptimePercentage) {
240
+ return null;
241
+ }
242
+
243
+ const allUptimePercent: Array<number> = [];
244
+
245
+ // calculate for groups first.
246
+
247
+ for (const group of data.resourceGroups) {
248
+ const calculateAvgUptimePercentOfStatusPageGroup: number | null =
249
+ this.calculateAvgUptimePercentOfStatusPageGroup({
250
+ statusPageGroup: group,
251
+ monitorStatusTimelines: data.monitorStatusTimelines,
252
+ precision: data.precision,
253
+ downtimeMonitorStatuses: data.downtimeMonitorStatuses,
254
+ statusPageResources: data.statusPageResources,
255
+ monitorsInGroup: data.monitorsInGroup,
256
+ });
257
+
258
+ if (calculateAvgUptimePercentOfStatusPageGroup !== null) {
259
+ allUptimePercent.push(calculateAvgUptimePercentOfStatusPageGroup);
260
+ }
261
+ }
262
+
263
+ // now fetch resources without group.
264
+
265
+ const resourcesWithoutGroup: Array<StatusPageResource> =
266
+ this.getResourcesWithoutStatusPageGroup({
267
+ statusPageResources: data.statusPageResources,
268
+ });
269
+
270
+ for (const resource of resourcesWithoutGroup) {
271
+ const calculateUptimePercentOfResource: number | null =
272
+ this.calculateUptimePercentOfResource({
273
+ statusPageResource: resource,
274
+ monitorStatusTimelines: data.monitorStatusTimelines,
275
+ precision: data.precision,
276
+ downtimeMonitorStatuses: data.downtimeMonitorStatuses,
277
+ monitorsInGroup: data.monitorsInGroup,
278
+ });
279
+
280
+ if (calculateUptimePercentOfResource !== null) {
281
+ allUptimePercent.push(calculateUptimePercentOfResource);
282
+ }
283
+ }
284
+
285
+ // calculate avg
286
+
287
+ if (allUptimePercent.length === 0) {
288
+ return null;
289
+ }
290
+
291
+ const averageUptimePercentage: number =
292
+ allUptimePercent.reduce((a: number, b: number) => {
293
+ return a + b;
294
+ }) / allUptimePercent.length;
295
+
296
+ return UptimeUtil.roundToPrecision({
297
+ number: averageUptimePercentage,
298
+ precision: data.precision,
299
+ });
300
+ }
301
+ }
@@ -5,8 +5,6 @@ import OneUptimeDate from "../../Types/Date";
5
5
  import ObjectID from "../../Types/ObjectID";
6
6
  import MonitorStatus from "../../Models/DatabaseModels/MonitorStatus";
7
7
  import MonitorStatusTimeline from "../../Models/DatabaseModels/MonitorStatusTimeline";
8
- import StatusPageResource from "../../Models/DatabaseModels/StatusPageResource";
9
- import Dictionary from "../../Types/Dictionary";
10
8
  import UptimePrecision from "../../Types/StatusPage/UptimePrecision";
11
9
 
12
10
  export default class UptimeUtil {
@@ -301,111 +299,29 @@ export default class UptimeUtil {
301
299
  };
302
300
  }
303
301
 
304
- public static calculateAvgUptimePercentageOfAllResources(data: {
305
- monitorStatusTimelines: Array<MonitorStatusTimeline>;
302
+ public static roundToPrecision(data: {
303
+ number: number;
306
304
  precision: UptimePrecision;
307
- downtimeMonitorStatuses: Array<MonitorStatus>;
308
- statusPageResources: Array<StatusPageResource>;
309
- monitorsInGroup: Dictionary<Array<ObjectID>>;
310
- }): number | null {
311
- const showUptimePercentage: boolean = Boolean(
312
- data.statusPageResources.find((item: StatusPageResource) => {
313
- return item.showUptimePercent || item.showStatusHistoryChart;
314
- }),
315
- );
316
-
317
- if (!showUptimePercentage) {
318
- return null;
319
- }
320
-
321
- const uptimePercentPerResource: Array<number> = [];
322
-
323
- for (const resource of data.statusPageResources) {
324
- if (!resource.showUptimePercent && !resource.showStatusHistoryChart) {
325
- continue;
326
- }
327
-
328
- let timelinesForThisResource: Array<MonitorStatusTimeline> = [];
329
-
330
- if (resource.monitorGroupId) {
331
- timelinesForThisResource = [...data.monitorStatusTimelines].filter(
332
- (timeline: MonitorStatusTimeline) => {
333
- const monitorsInThisGroup: Array<ObjectID> | undefined =
334
- data.monitorsInGroup[resource.monitorGroupId?.toString() || ""];
335
-
336
- if (!monitorsInThisGroup) {
337
- return false;
338
- }
339
-
340
- return monitorsInThisGroup.find((monitorId: ObjectID) => {
341
- return monitorId.toString() === timeline.monitorId?.toString();
342
- });
343
- },
344
- );
345
- }
346
-
347
- if (resource.monitorId || resource.monitor?.id) {
348
- const monitorId: ObjectID | null | undefined =
349
- resource.monitorId || resource.monitor?.id;
350
-
351
- if (!monitorId) {
352
- // this should never happen.
353
- continue;
354
- }
355
-
356
- timelinesForThisResource = [...data.monitorStatusTimelines].filter(
357
- (timeline: MonitorStatusTimeline) => {
358
- return (
359
- timeline.monitorId?.toString() === resource.monitorId?.toString()
360
- );
361
- },
362
- );
363
- }
364
-
365
- const uptimePercent: number = this.calculateUptimePercentage(
366
- timelinesForThisResource,
367
- data.precision,
368
- data.downtimeMonitorStatuses,
369
- );
370
-
371
- uptimePercentPerResource.push(uptimePercent);
372
- }
373
-
374
- // calculate avg
375
-
376
- if (uptimePercentPerResource.length === 0) {
377
- return null;
378
- }
379
-
380
- const averageUptimePercentage: number =
381
- uptimePercentPerResource.reduce((a: number, b: number) => {
382
- return a + b;
383
- }) / uptimePercentPerResource.length;
305
+ }): number {
306
+ const { number, precision } = data;
384
307
 
385
- //round this to precision.
386
-
387
- if (data.precision === UptimePrecision.NO_DECIMAL) {
388
- const percent: number = Math.round(averageUptimePercentage);
389
-
390
- return percent;
308
+ if (precision === UptimePrecision.NO_DECIMAL) {
309
+ return Math.floor(number);
391
310
  }
392
311
 
393
- if (data.precision === UptimePrecision.ONE_DECIMAL) {
394
- const percent: number = Math.round(averageUptimePercentage * 10) / 10;
395
- return percent;
312
+ if (precision === UptimePrecision.ONE_DECIMAL) {
313
+ return Math.floor(number * 10) / 10;
396
314
  }
397
315
 
398
- if (data.precision === UptimePrecision.TWO_DECIMAL) {
399
- const percent: number = Math.round(averageUptimePercentage * 100) / 100;
400
- return percent;
316
+ if (precision === UptimePrecision.TWO_DECIMAL) {
317
+ return Math.floor(number * 100) / 100;
401
318
  }
402
319
 
403
- if (data.precision === UptimePrecision.THREE_DECIMAL) {
404
- const percent: number = Math.round(averageUptimePercentage * 1000) / 1000;
405
- return percent;
320
+ if (precision === UptimePrecision.THREE_DECIMAL) {
321
+ return Math.floor(number * 1000) / 1000;
406
322
  }
407
323
 
408
- return averageUptimePercentage;
324
+ return number;
409
325
  }
410
326
 
411
327
  public static calculateUptimePercentage(
@@ -434,42 +350,9 @@ export default class UptimeUtil {
434
350
  totalSecondsInTimePeriod) *
435
351
  100;
436
352
 
437
- if (precision === UptimePrecision.NO_DECIMAL) {
438
- const noDecimalPercent: number = Math.round(percentage);
439
- if (noDecimalPercent === 100 && totalDowntimeInSeconds > 0) {
440
- return 99;
441
- }
442
-
443
- return noDecimalPercent;
444
- }
445
-
446
- if (precision === UptimePrecision.ONE_DECIMAL) {
447
- const noDecimalPercent: number = Math.round(percentage * 10) / 10;
448
- if (noDecimalPercent === 100 && totalDowntimeInSeconds > 0) {
449
- return 99.9;
450
- }
451
-
452
- return noDecimalPercent;
453
- }
454
-
455
- if (precision === UptimePrecision.TWO_DECIMAL) {
456
- const noDecimalPercent: number = Math.round(percentage * 100) / 100;
457
- if (noDecimalPercent === 100 && totalDowntimeInSeconds > 0) {
458
- return 99.99;
459
- }
460
-
461
- return noDecimalPercent;
462
- }
463
-
464
- if (precision === UptimePrecision.THREE_DECIMAL) {
465
- const noDecimalPercent: number = Math.round(percentage * 1000) / 1000;
466
- if (noDecimalPercent === 100 && totalDowntimeInSeconds > 0) {
467
- return 99.999;
468
- }
469
-
470
- return noDecimalPercent;
471
- }
472
-
473
- return percentage;
353
+ return this.roundToPrecision({
354
+ number: percentage,
355
+ precision,
356
+ });
474
357
  }
475
358
  }
@@ -0,0 +1,182 @@
1
+ import { Green } from "../../Types/BrandColors";
2
+ import MonitorStatus from "../../Models/DatabaseModels/MonitorStatus";
3
+ import UptimePrecision from "../../Types/StatusPage/UptimePrecision";
4
+ import UptimeUtil from "../Uptime/UptimeUtil";
5
+ export default class StatusPageResourceUptimeUtil {
6
+ static getMonitorStatusTimelineForResource(data) {
7
+ return [...data.monitorStatusTimelines].filter((timeline) => {
8
+ // check monitor if first.
9
+ var _a, _b, _c;
10
+ if (data.statusPageResource.monitorId) {
11
+ return (((_a = timeline.monitorId) === null || _a === void 0 ? void 0 : _a.toString()) ===
12
+ ((_b = data.statusPageResource.monitorId) === null || _b === void 0 ? void 0 : _b.toString()));
13
+ }
14
+ if (data.statusPageResource.monitorGroupId) {
15
+ const monitorsInThisGroup = data.monitorsInGroup[((_c = data.statusPageResource.monitorGroupId) === null || _c === void 0 ? void 0 : _c.toString()) || ""];
16
+ if (!monitorsInThisGroup) {
17
+ return false;
18
+ }
19
+ return monitorsInThisGroup.find((monitorId) => {
20
+ var _a;
21
+ return monitorId.toString() === ((_a = timeline.monitorId) === null || _a === void 0 ? void 0 : _a.toString());
22
+ });
23
+ }
24
+ return false;
25
+ });
26
+ }
27
+ static getCurrentStatusPageGroupStatus(data) {
28
+ let currentStatus = new MonitorStatus();
29
+ currentStatus.name = "Operational";
30
+ currentStatus.color = Green;
31
+ const resourcesInGroup = this.getResourcesInStatusPageGroup({
32
+ statusPageGroup: data.statusPageGroup,
33
+ statusPageResources: data.statusPageResources,
34
+ });
35
+ for (const resource of resourcesInGroup) {
36
+ let currentMonitorStatus = undefined;
37
+ if (resource.monitor) {
38
+ currentMonitorStatus = data.monitorStatuses.find((status) => {
39
+ var _a, _b, _c;
40
+ return (((_a = status._id) === null || _a === void 0 ? void 0 : _a.toString()) ===
41
+ ((_c = (_b = resource.monitor) === null || _b === void 0 ? void 0 : _b.currentMonitorStatusId) === null || _c === void 0 ? void 0 : _c.toString()));
42
+ });
43
+ }
44
+ if (resource.monitorGroupId) {
45
+ currentMonitorStatus = data.monitorStatuses.find((status) => {
46
+ var _a, _b, _c;
47
+ return (((_a = status._id) === null || _a === void 0 ? void 0 : _a.toString()) ===
48
+ ((_c = data.monitorGroupCurrentStatuses[((_b = resource.monitorGroupId) === null || _b === void 0 ? void 0 : _b.toString()) || ""]) === null || _c === void 0 ? void 0 : _c.toString()));
49
+ });
50
+ }
51
+ if (!currentMonitorStatus) {
52
+ currentMonitorStatus = currentStatus;
53
+ }
54
+ if ((currentStatus &&
55
+ currentStatus.priority &&
56
+ (currentMonitorStatus === null || currentMonitorStatus === void 0 ? void 0 : currentMonitorStatus.priority) &&
57
+ (currentMonitorStatus === null || currentMonitorStatus === void 0 ? void 0 : currentMonitorStatus.priority) > currentStatus.priority) ||
58
+ !currentStatus ||
59
+ !currentStatus.priority) {
60
+ currentStatus = currentMonitorStatus;
61
+ }
62
+ }
63
+ return currentStatus;
64
+ }
65
+ static calculateUptimePercentOfResource(data) {
66
+ if (!data.statusPageResource.showUptimePercent) {
67
+ return null;
68
+ }
69
+ const monitorStatusTimelines = this.getMonitorStatusTimelineForResource({
70
+ statusPageResource: data.statusPageResource,
71
+ monitorStatusTimelines: data.monitorStatusTimelines,
72
+ monitorsInGroup: data.monitorsInGroup,
73
+ });
74
+ const downtimeMonitorStatuses = (data === null || data === void 0 ? void 0 : data.downtimeMonitorStatuses) || [];
75
+ const uptimePercent = UptimeUtil.calculateUptimePercentage(monitorStatusTimelines, data.precision, downtimeMonitorStatuses);
76
+ return uptimePercent;
77
+ }
78
+ static calculateAvgUptimePercentOfStatusPageGroup(data) {
79
+ if (!data.statusPageGroup.showUptimePercent) {
80
+ return null;
81
+ }
82
+ const resourcesInGroup = this.getResourcesInStatusPageGroup({
83
+ statusPageGroup: data.statusPageGroup,
84
+ statusPageResources: data.statusPageResources,
85
+ });
86
+ if (resourcesInGroup.length === 0) {
87
+ return null; // no resources in group.
88
+ }
89
+ const uptimePercentPerResource = [];
90
+ for (const resource of resourcesInGroup) {
91
+ const calculateUptimePercentOfResource = this.calculateUptimePercentOfResource({
92
+ statusPageResource: resource,
93
+ monitorStatusTimelines: data.monitorStatusTimelines,
94
+ precision: data.precision,
95
+ downtimeMonitorStatuses: data.downtimeMonitorStatuses,
96
+ monitorsInGroup: data.monitorsInGroup,
97
+ });
98
+ if (calculateUptimePercentOfResource !== null) {
99
+ uptimePercentPerResource.push(calculateUptimePercentOfResource);
100
+ }
101
+ }
102
+ // calculate avg
103
+ if (uptimePercentPerResource.length === 0) {
104
+ return null;
105
+ }
106
+ const averageUptimePercentage = uptimePercentPerResource.reduce((a, b) => {
107
+ return a + b;
108
+ }) / uptimePercentPerResource.length;
109
+ // if the current status is operational then show uptime Percent.
110
+ let precision = UptimePrecision.ONE_DECIMAL;
111
+ if (data.statusPageGroup.uptimePercentPrecision) {
112
+ precision = data.statusPageGroup.uptimePercentPrecision;
113
+ }
114
+ return UptimeUtil.roundToPrecision({
115
+ number: averageUptimePercentage,
116
+ precision: precision,
117
+ });
118
+ }
119
+ static getResourcesWithoutStatusPageGroup(data) {
120
+ return data.statusPageResources.filter((resource) => {
121
+ return !resource.statusPageGroupId;
122
+ });
123
+ }
124
+ static getResourcesInStatusPageGroup(data) {
125
+ return data.statusPageResources.filter((resource) => {
126
+ var _a, _b;
127
+ return (((_a = resource.statusPageGroupId) === null || _a === void 0 ? void 0 : _a.toString()) ===
128
+ ((_b = data.statusPageGroup._id) === null || _b === void 0 ? void 0 : _b.toString()));
129
+ });
130
+ }
131
+ static calculateAvgUptimePercentageOfAllResources(data) {
132
+ const showUptimePercentage = Boolean(data.statusPageResources.find((item) => {
133
+ return item.showUptimePercent || item.showStatusHistoryChart;
134
+ }));
135
+ if (!showUptimePercentage) {
136
+ return null;
137
+ }
138
+ const allUptimePercent = [];
139
+ // calculate for groups first.
140
+ for (const group of data.resourceGroups) {
141
+ const calculateAvgUptimePercentOfStatusPageGroup = this.calculateAvgUptimePercentOfStatusPageGroup({
142
+ statusPageGroup: group,
143
+ monitorStatusTimelines: data.monitorStatusTimelines,
144
+ precision: data.precision,
145
+ downtimeMonitorStatuses: data.downtimeMonitorStatuses,
146
+ statusPageResources: data.statusPageResources,
147
+ monitorsInGroup: data.monitorsInGroup,
148
+ });
149
+ if (calculateAvgUptimePercentOfStatusPageGroup !== null) {
150
+ allUptimePercent.push(calculateAvgUptimePercentOfStatusPageGroup);
151
+ }
152
+ }
153
+ // now fetch resources without group.
154
+ const resourcesWithoutGroup = this.getResourcesWithoutStatusPageGroup({
155
+ statusPageResources: data.statusPageResources,
156
+ });
157
+ for (const resource of resourcesWithoutGroup) {
158
+ const calculateUptimePercentOfResource = this.calculateUptimePercentOfResource({
159
+ statusPageResource: resource,
160
+ monitorStatusTimelines: data.monitorStatusTimelines,
161
+ precision: data.precision,
162
+ downtimeMonitorStatuses: data.downtimeMonitorStatuses,
163
+ monitorsInGroup: data.monitorsInGroup,
164
+ });
165
+ if (calculateUptimePercentOfResource !== null) {
166
+ allUptimePercent.push(calculateUptimePercentOfResource);
167
+ }
168
+ }
169
+ // calculate avg
170
+ if (allUptimePercent.length === 0) {
171
+ return null;
172
+ }
173
+ const averageUptimePercentage = allUptimePercent.reduce((a, b) => {
174
+ return a + b;
175
+ }) / allUptimePercent.length;
176
+ return UptimeUtil.roundToPrecision({
177
+ number: averageUptimePercentage,
178
+ precision: data.precision,
179
+ });
180
+ }
181
+ }
182
+ //# sourceMappingURL=ResourceUptime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResourceUptime.js","sourceRoot":"","sources":["../../../../Utils/StatusPage/ResourceUptime.ts"],"names":[],"mappings":"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"}
@@ -192,72 +192,21 @@ export default class UptimeUtil {
192
192
  totalSecondsInTimePeriod,
193
193
  };
194
194
  }
195
- static calculateAvgUptimePercentageOfAllResources(data) {
196
- var _a, _b;
197
- const showUptimePercentage = Boolean(data.statusPageResources.find((item) => {
198
- return item.showUptimePercent || item.showStatusHistoryChart;
199
- }));
200
- if (!showUptimePercentage) {
201
- return null;
202
- }
203
- const uptimePercentPerResource = [];
204
- for (const resource of data.statusPageResources) {
205
- if (!resource.showUptimePercent && !resource.showStatusHistoryChart) {
206
- continue;
207
- }
208
- let timelinesForThisResource = [];
209
- if (resource.monitorGroupId) {
210
- timelinesForThisResource = [...data.monitorStatusTimelines].filter((timeline) => {
211
- var _a;
212
- const monitorsInThisGroup = data.monitorsInGroup[((_a = resource.monitorGroupId) === null || _a === void 0 ? void 0 : _a.toString()) || ""];
213
- if (!monitorsInThisGroup) {
214
- return false;
215
- }
216
- return monitorsInThisGroup.find((monitorId) => {
217
- var _a;
218
- return monitorId.toString() === ((_a = timeline.monitorId) === null || _a === void 0 ? void 0 : _a.toString());
219
- });
220
- });
221
- }
222
- if (resource.monitorId || ((_a = resource.monitor) === null || _a === void 0 ? void 0 : _a.id)) {
223
- const monitorId = resource.monitorId || ((_b = resource.monitor) === null || _b === void 0 ? void 0 : _b.id);
224
- if (!monitorId) {
225
- // this should never happen.
226
- continue;
227
- }
228
- timelinesForThisResource = [...data.monitorStatusTimelines].filter((timeline) => {
229
- var _a, _b;
230
- return (((_a = timeline.monitorId) === null || _a === void 0 ? void 0 : _a.toString()) === ((_b = resource.monitorId) === null || _b === void 0 ? void 0 : _b.toString()));
231
- });
232
- }
233
- const uptimePercent = this.calculateUptimePercentage(timelinesForThisResource, data.precision, data.downtimeMonitorStatuses);
234
- uptimePercentPerResource.push(uptimePercent);
235
- }
236
- // calculate avg
237
- if (uptimePercentPerResource.length === 0) {
238
- return null;
239
- }
240
- const averageUptimePercentage = uptimePercentPerResource.reduce((a, b) => {
241
- return a + b;
242
- }) / uptimePercentPerResource.length;
243
- //round this to precision.
244
- if (data.precision === UptimePrecision.NO_DECIMAL) {
245
- const percent = Math.round(averageUptimePercentage);
246
- return percent;
195
+ static roundToPrecision(data) {
196
+ const { number, precision } = data;
197
+ if (precision === UptimePrecision.NO_DECIMAL) {
198
+ return Math.floor(number);
247
199
  }
248
- if (data.precision === UptimePrecision.ONE_DECIMAL) {
249
- const percent = Math.round(averageUptimePercentage * 10) / 10;
250
- return percent;
200
+ if (precision === UptimePrecision.ONE_DECIMAL) {
201
+ return Math.floor(number * 10) / 10;
251
202
  }
252
- if (data.precision === UptimePrecision.TWO_DECIMAL) {
253
- const percent = Math.round(averageUptimePercentage * 100) / 100;
254
- return percent;
203
+ if (precision === UptimePrecision.TWO_DECIMAL) {
204
+ return Math.floor(number * 100) / 100;
255
205
  }
256
- if (data.precision === UptimePrecision.THREE_DECIMAL) {
257
- const percent = Math.round(averageUptimePercentage * 1000) / 1000;
258
- return percent;
206
+ if (precision === UptimePrecision.THREE_DECIMAL) {
207
+ return Math.floor(number * 1000) / 1000;
259
208
  }
260
- return averageUptimePercentage;
209
+ return number;
261
210
  }
262
211
  static calculateUptimePercentage(monitorStatusTimelines, precision, downtimeMonitorStatuses) {
263
212
  // calculate percentage.
@@ -271,35 +220,10 @@ export default class UptimeUtil {
271
220
  const percentage = ((totalSecondsInTimePeriod - totalDowntimeInSeconds) /
272
221
  totalSecondsInTimePeriod) *
273
222
  100;
274
- if (precision === UptimePrecision.NO_DECIMAL) {
275
- const noDecimalPercent = Math.round(percentage);
276
- if (noDecimalPercent === 100 && totalDowntimeInSeconds > 0) {
277
- return 99;
278
- }
279
- return noDecimalPercent;
280
- }
281
- if (precision === UptimePrecision.ONE_DECIMAL) {
282
- const noDecimalPercent = Math.round(percentage * 10) / 10;
283
- if (noDecimalPercent === 100 && totalDowntimeInSeconds > 0) {
284
- return 99.9;
285
- }
286
- return noDecimalPercent;
287
- }
288
- if (precision === UptimePrecision.TWO_DECIMAL) {
289
- const noDecimalPercent = Math.round(percentage * 100) / 100;
290
- if (noDecimalPercent === 100 && totalDowntimeInSeconds > 0) {
291
- return 99.99;
292
- }
293
- return noDecimalPercent;
294
- }
295
- if (precision === UptimePrecision.THREE_DECIMAL) {
296
- const noDecimalPercent = Math.round(percentage * 1000) / 1000;
297
- if (noDecimalPercent === 100 && totalDowntimeInSeconds > 0) {
298
- return 99.999;
299
- }
300
- return noDecimalPercent;
301
- }
302
- return percentage;
223
+ return this.roundToPrecision({
224
+ number: percentage,
225
+ precision,
226
+ });
303
227
  }
304
228
  }
305
229
  //# sourceMappingURL=UptimeUtil.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UptimeUtil.js","sourceRoot":"","sources":["../../../../Utils/Uptime/UptimeUtil.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UptimeUtil.js","sourceRoot":"","sources":["../../../../Utils/Uptime/UptimeUtil.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oneuptime/common",
3
- "version": "7.0.3156",
3
+ "version": "7.0.3158",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -77,7 +77,7 @@
77
77
  "airtable": "^0.12.2",
78
78
  "axios": "^1.7.2",
79
79
  "bullmq": "^5.3.3",
80
- "Common": "npm:@oneuptime/common@7.0.3156",
80
+ "Common": "npm:@oneuptime/common@7.0.3158",
81
81
  "cookie-parser": "^1.4.6",
82
82
  "cors": "^2.8.5",
83
83
  "cron-parser": "^4.8.1",