@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.
- package/Utils/StatusPage/ResourceUptime.ts +301 -0
- package/Utils/Uptime/UptimeUtil.ts +17 -134
- package/build/dist/Utils/StatusPage/ResourceUptime.js +182 -0
- package/build/dist/Utils/StatusPage/ResourceUptime.js.map +1 -0
- package/build/dist/Utils/Uptime/UptimeUtil.js +15 -91
- package/build/dist/Utils/Uptime/UptimeUtil.js.map +1 -1
- package/package.json +2 -2
|
@@ -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
|
|
305
|
-
|
|
302
|
+
public static roundToPrecision(data: {
|
|
303
|
+
number: number;
|
|
306
304
|
precision: UptimePrecision;
|
|
307
|
-
|
|
308
|
-
|
|
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
|
-
|
|
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 (
|
|
394
|
-
|
|
395
|
-
return percent;
|
|
312
|
+
if (precision === UptimePrecision.ONE_DECIMAL) {
|
|
313
|
+
return Math.floor(number * 10) / 10;
|
|
396
314
|
}
|
|
397
315
|
|
|
398
|
-
if (
|
|
399
|
-
|
|
400
|
-
return percent;
|
|
316
|
+
if (precision === UptimePrecision.TWO_DECIMAL) {
|
|
317
|
+
return Math.floor(number * 100) / 100;
|
|
401
318
|
}
|
|
402
319
|
|
|
403
|
-
if (
|
|
404
|
-
|
|
405
|
-
return percent;
|
|
320
|
+
if (precision === UptimePrecision.THREE_DECIMAL) {
|
|
321
|
+
return Math.floor(number * 1000) / 1000;
|
|
406
322
|
}
|
|
407
323
|
|
|
408
|
-
return
|
|
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
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
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
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
return
|
|
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 (
|
|
249
|
-
|
|
250
|
-
return percent;
|
|
200
|
+
if (precision === UptimePrecision.ONE_DECIMAL) {
|
|
201
|
+
return Math.floor(number * 10) / 10;
|
|
251
202
|
}
|
|
252
|
-
if (
|
|
253
|
-
|
|
254
|
-
return percent;
|
|
203
|
+
if (precision === UptimePrecision.TWO_DECIMAL) {
|
|
204
|
+
return Math.floor(number * 100) / 100;
|
|
255
205
|
}
|
|
256
|
-
if (
|
|
257
|
-
|
|
258
|
-
return percent;
|
|
206
|
+
if (precision === UptimePrecision.THREE_DECIMAL) {
|
|
207
|
+
return Math.floor(number * 1000) / 1000;
|
|
259
208
|
}
|
|
260
|
-
return
|
|
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
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
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":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAC7C,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAG5C,OAAO,eAAe,MAAM,wCAAwC,CAAC;AAErE,MAAM,CAAC,OAAO,OAAO,UAAU;IAC7B;;;;OAIG;IACI,MAAM,CAAC,qBAAqB,CACjC,SAAmB,EACnB,mBAAiD;QAEjD,yDAAyD;;QAEzD,4CAA4C;QAE5C,IAAI,KAAK,GAAiC,CAAC,GAAG,mBAAmB,CAAC,CAAC;QAEnE,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAwB,EAAE,CAAwB,EAAE,EAAE;YACxE,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC/B,OAAO,CAAC,CAAC;YACX,CAAC;YAED,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,QAAS,EAAE,CAAC,CAAC,QAAS,CAAC,EAAE,CAAC;gBACpD,OAAO,CAAC,CAAC;YACX,CAAC;YAED,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,QAAS,EAAE,CAAC,CAAC,QAAS,CAAC,EAAE,CAAC;gBACpD,OAAO,CAAC,CAAC,CAAC;YACZ,CAAC;YAED,OAAO,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;QAEH,MAAM,SAAS,GAAwB,EAAE,CAAC;QAE1C,MAAM,aAAa,GAAiC,KAAK,CAAC,MAAM,CAC9D,CAAC,IAA2B,EAAE,EAAE;;YAC9B,OAAO,CAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,QAAQ,EAAE,MAAK,SAAS,CAAC,QAAQ,EAAE,CAAC;QAC7D,CAAC,CACF,CAAC;QAEF,8CAA8C;QAC9C,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtD,wEAAwE;YACxE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtB,SAAS;YACX,CAAC;YAED,uHAAuH;YACvH,MAAM,SAAS,GACb,aAAa,CAAC,CAAC,CAAE,CAAC,QAAQ,IAAI,aAAa,CAAC,cAAc,EAAE,CAAC;YAE/D,+CAA+C;YAC/C,IAAI,OAAO,GAAqB,aAAa,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC;YAEzD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,kGAAkG;gBAClG,IAAI,CAAC,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACjC,OAAO,GAAG,aAAa,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,QAAQ,CAAC;gBAC3C,CAAC;qBAAM,CAAC;oBACN,OAAO,GAAG,aAAa,CAAC,cAAc,EAAE,CAAC;gBAC3C,CAAC;YACH,CAAC;YAED,oHAAoH;YACpH,SAAS,CAAC,IAAI,CAAC;gBACb,SAAS,EAAE,SAAS;gBACpB,OAAO,EAAE,OAAQ;gBACjB,KAAK,EAAE,CAAA,MAAA,MAAA,aAAa,CAAC,CAAC,CAAC,0CAAE,aAAa,0CAAE,IAAI,KAAI,aAAa;gBAC7D,QAAQ,EAAE,CAAA,MAAA,MAAA,aAAa,CAAC,CAAC,CAAC,0CAAE,aAAa,0CAAE,QAAQ,KAAI,CAAC;gBACxD,KAAK,EAAE,CAAA,MAAA,MAAA,aAAa,CAAC,CAAC,CAAC,0CAAE,aAAa,0CAAE,KAAK,KAAI,KAAK;gBACtD,SAAS,EAAE,aAAa,CAAC,CAAC,CAAE,CAAC,SAAU;gBACvC,aAAa,EAAE,aAAa,CAAC,CAAC,CAAE,CAAC,aAAc,CAAC,EAAG;aACpD,CAAC,CAAC;QACL,CAAC;QAED,wCAAwC;QACxC,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,MAAM,CAAC,8BAA8B,CAC1C,KAAmC;QAEnC,MAAM,gBAAgB,GAAwB,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAE3E,MAAM,SAAS,GAAiB,EAAE,CAAC;QAEnC,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzD,+EAA+E;YAE/E,MAAM,YAAY,GAAiB,gBAAgB,CAAC,CAAC,CAAE,CAAC;YAExD,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;gBAC1B,8DAA8D;gBAE9D,gDAAgD;gBAEhD,IAAI,CAAC,KAAK,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtC,YAAY,CAAC,OAAO,GAAG,aAAa,CAAC,cAAc,EAAE,CAAC;gBACxD,CAAC;qBAAM,CAAC;oBACN,YAAY,CAAC,OAAO;wBAClB,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,SAAS;4BAClC,aAAa,CAAC,cAAc,EAAE,CAAC;gBACnC,CAAC;YACH,CAAC;YAED,IACE,SAAS,CAAC,MAAM,KAAK,CAAC;gBACtB,aAAa,CAAC,OAAO,CACnB,YAAY,CAAC,SAAS,EACtB,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,OAAO,CACzC;gBACD,aAAa,CAAC,gBAAgB,CAC5B,YAAY,CAAC,SAAS,EACtB,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,OAAO,CACzC,EACD,CAAC;gBACD,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC7B,SAAS;YACX,CAAC;YAED,oTAAoT;YACpT,IACE,aAAa,CAAC,QAAQ,CACpB,YAAY,CAAC,SAAS,EACtB,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,OAAO,CACzC,EACD,CAAC;gBACD,IAAI,YAAY,CAAC,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,QAAQ,EAAE,CAAC;oBACtE,iDAAiD;oBAEjD,MAAM,aAAa,GAAU,kBACxB,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAC1B,CAAC;oBAEX,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,OAAO,GAAG,YAAY,CAAC,SAAS,CAAC;oBAClE,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBAE7B,8HAA8H;oBAE9H,IACE,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,EACnE,CAAC;wBACD,SAAS,CAAC,IAAI,CAAC;4BACb,SAAS,EAAE,YAAY,CAAC,OAAO;4BAC/B,OAAO,EAAE,aAAa,CAAC,OAAO;4BAC9B,KAAK,EAAE,aAAa,CAAC,KAAK;4BAC1B,QAAQ,EAAE,aAAa,CAAC,QAAQ;4BAChC,KAAK,EAAE,aAAa,CAAC,KAAK;4BAC1B,aAAa,EAAE,aAAa,CAAC,aAAa;yBAC3C,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAED,SAAS;YACX,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,MAAM,CAAC,gBAAgB,CAC5B,KAAmC;;QAEnC,gCAAgC;QAChC,MAAM,UAAU,GAAoB,EAAE,CAAC;QAEvC,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBACd,SAAS;YACX,CAAC;YAED,MAAM,SAAS,GAAuB,MAAA,KAAK,CAAC,CAAC,CAAE,CAAC,SAAS,0CAAE,QAAQ,EAAE,CAAC;YAEtE,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,SAAS;YACX,CAAC;YAED,IACE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAc,EAAE,EAAE;gBAClC,OAAO,IAAI,CAAC,QAAQ,EAAE,KAAK,SAAS,CAAC;YACvC,CAAC,CAAC,EACF,CAAC;gBACD,UAAU,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAwB,EAAE,CAAC;QAC1C,0BAA0B;QAE1B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,aAAa,GAAwB,IAAI,CAAC,qBAAqB,CACnE,SAAS,EACT,KAAK,CACN,CAAC;YACF,SAAS,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;QACnC,CAAC;QAED,iCAAiC;QACjC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,CAAe,EAAE,EAAE;YAClD,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;gBACpD,OAAO,CAAC,CAAC;YACX,CAAC;YAED,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;gBACpD,OAAO,CAAC,CAAC,CAAC;YACZ,CAAC;YAED,OAAO,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,SAAS,CAAC,CAAC;IACxB,CAAC;IAEM,MAAM,CAAC,yBAAyB,CACrC,sBAAoD,EACpD,uBAA6C;QAK7C,MAAM,aAAa,GAAiB,IAAI,CAAC,8BAA8B,CACrE,sBAAsB,CACvB,CAAC;QAEF,4BAA4B;QAC5B,aAAa,CAAC,IAAI,CAAC,CAAC,CAAQ,EAAE,CAAQ,EAAE,EAAE;YACxC,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;gBACpD,OAAO,CAAC,CAAC;YACX,CAAC;YAED,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;gBACpD,OAAO,CAAC,CAAC,CAAC;YACZ,CAAC;YAED,OAAO,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;QAEH,6EAA6E;QAC7E,IAAI,wBAAwB,GAAW,CAAC,CAAC;QAEzC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO;gBACL,sBAAsB,EAAE,CAAC;gBACzB,wBAAwB,EAAE,CAAC;aAC5B,CAAC;QACJ,CAAC;QAED,IACE,aAAa,CAAC,OAAO,CACnB,aAAa,CAAC,CAAC,CAAE,CAAC,SAAS,EAC3B,aAAa,CAAC,cAAc,EAAE,CAC/B,EACD,CAAC;YACD,OAAO;gBACL,sBAAsB,EAAE,CAAC;gBACzB,wBAAwB,EAAE,CAAC;aAC5B,CAAC;QACJ,CAAC;QAED,wBAAwB;YACtB,aAAa,CAAC,sBAAsB,CAClC,aAAa,CAAC,CAAC,CAAE,CAAC,SAAS,EAC3B,aAAa,CAAC,cAAc,EAAE,CAC/B,IAAI,CAAC,CAAC;QAET,kCAAkC;QAElC,yGAAyG;QAEzG,IAAI,aAAa,GAAW,CAAC,CAAC;QAE9B,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;YACzC,MAAM,eAAe,GAAY,OAAO,CACtC,uBAAuB,CAAC,IAAI,CAAC,CAAC,IAAmB,EAAE,EAAE;;gBACnD,OAAO,CAAA,MAAA,IAAI,CAAC,EAAE,0CAAE,QAAQ,EAAE,MAAK,YAAY,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;YACvE,CAAC,CAAC,CACH,CAAC;YAEF,IAAI,eAAe,EAAE,CAAC;gBACpB,aAAa,IAAI,aAAa,CAAC,sBAAsB,CACnD,YAAY,CAAC,SAAS,EACtB,YAAY,CAAC,OAAO,CACrB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO;YACL,sBAAsB,EAAE,aAAa;YACrC,wBAAwB;SACzB,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,gBAAgB,CAAC,IAG9B;QACC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QAEnC,IAAI,SAAS,KAAK,eAAe,CAAC,UAAU,EAAE,CAAC;YAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;QAED,IAAI,SAAS,KAAK,eAAe,CAAC,WAAW,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;QACtC,CAAC;QAED,IAAI,SAAS,KAAK,eAAe,CAAC,WAAW,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;QACxC,CAAC;QAED,IAAI,SAAS,KAAK,eAAe,CAAC,aAAa,EAAE,CAAC;YAChD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;QAC1C,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,MAAM,CAAC,yBAAyB,CACrC,sBAAoD,EACpD,SAA0B,EAC1B,uBAA6C;QAE7C,wBAAwB;QAExB,MAAM,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,GACxD,IAAI,CAAC,yBAAyB,CAC5B,sBAAsB,EACtB,uBAAuB,CACxB,CAAC;QAEJ,IAAI,wBAAwB,KAAK,CAAC,EAAE,CAAC;YACnC,OAAO,GAAG,CAAC;QACb,CAAC;QAED,IAAI,sBAAsB,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,GAAG,CAAC;QACb,CAAC;QAED,MAAM,UAAU,GACd,CAAC,CAAC,wBAAwB,GAAG,sBAAsB,CAAC;YAClD,wBAAwB,CAAC;YAC3B,GAAG,CAAC;QAEN,OAAO,IAAI,CAAC,gBAAgB,CAAC;YAC3B,MAAM,EAAE,UAAU;YAClB,SAAS;SACV,CAAC,CAAC;IACL,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oneuptime/common",
|
|
3
|
-
"version": "7.0.
|
|
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.
|
|
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",
|