mirror of
https://github.com/OneUptime/oneuptime.git
synced 2026-01-16 23:00:51 +00:00
74 lines
1.9 KiB
TypeScript
74 lines
1.9 KiB
TypeScript
import DataMigrationBase from "./DataMigrationBase";
|
|
import LIMIT_MAX from "Common/Types/Database/LimitMax";
|
|
import OneUptimeDate from "Common/Types/Date";
|
|
import MonitorProbeService from "Common/Server/Services/MonitorProbeService";
|
|
import QueryHelper from "Common/Server/Types/Database/QueryHelper";
|
|
import MonitorProbe from "Common/Models/DatabaseModels/MonitorProbe";
|
|
|
|
export default class AddMonitoringDatesToMonitor extends DataMigrationBase {
|
|
public constructor() {
|
|
super("AddMonitoringDatesToMonitor");
|
|
}
|
|
|
|
public override async migrate(): Promise<void> {
|
|
// Find all monitor probes where nextPingAt is null
|
|
let probeMonitors: Array<MonitorProbe> = await MonitorProbeService.findBy({
|
|
query: {
|
|
nextPingAt: QueryHelper.isNull(),
|
|
},
|
|
select: {
|
|
_id: true,
|
|
},
|
|
skip: 0,
|
|
limit: LIMIT_MAX,
|
|
props: {
|
|
isRoot: true,
|
|
},
|
|
});
|
|
|
|
// Update each monitor probe to set nextPingAt to the current date
|
|
for (const probeMonitor of probeMonitors) {
|
|
await MonitorProbeService.updateOneById({
|
|
id: probeMonitor.id!,
|
|
data: {
|
|
nextPingAt: OneUptimeDate.getCurrentDate(),
|
|
},
|
|
props: {
|
|
isRoot: true,
|
|
},
|
|
});
|
|
}
|
|
|
|
// Find all monitor probes where lastPingAt is null
|
|
probeMonitors = await MonitorProbeService.findBy({
|
|
query: {
|
|
lastPingAt: QueryHelper.isNull(),
|
|
},
|
|
select: {
|
|
_id: true,
|
|
},
|
|
skip: 0,
|
|
limit: LIMIT_MAX,
|
|
props: {
|
|
isRoot: true,
|
|
},
|
|
});
|
|
|
|
// Update each monitor probe to set lastPingAt to the current date
|
|
for (const probeMonitor of probeMonitors) {
|
|
await MonitorProbeService.updateOneById({
|
|
id: probeMonitor.id!,
|
|
data: {
|
|
lastPingAt: OneUptimeDate.getCurrentDate(),
|
|
},
|
|
props: {
|
|
isRoot: true,
|
|
},
|
|
});
|
|
}
|
|
}
|
|
|
|
public override async rollback(): Promise<void> {
|
|
return;
|
|
}
|
|
}
|