mirror of
https://github.com/OneUptime/oneuptime.git
synced 2026-04-06 00:32:12 +02:00
Refactor code to improve readability and maintainability
This commit is contained in:
@@ -30,29 +30,30 @@ export default class AddDowntimeMonitorStatusToStatusPage extends DataMigrationB
|
||||
// add ended scheduled maintenance state for each of these projects.
|
||||
// first fetch resolved state. Ended state order is -1 of resolved state.
|
||||
|
||||
if(!statusPage.projectId) {
|
||||
if (!statusPage.projectId) {
|
||||
continue;
|
||||
}
|
||||
|
||||
const monitorStatuses: Array<MonitorStatus> = await MonitorStatusService.findBy({
|
||||
query: {
|
||||
projectId: statusPage.projectId,
|
||||
},
|
||||
select: {
|
||||
_id: true,
|
||||
isOperationalState: true,
|
||||
},
|
||||
props: {
|
||||
isRoot: true,
|
||||
},
|
||||
skip: 0,
|
||||
limit: LIMIT_PER_PROJECT,
|
||||
});
|
||||
|
||||
const getNonOperationStatuses: Array<MonitorStatus> = monitorStatuses.filter((monitorStatus: MonitorStatus) => {
|
||||
return !monitorStatus.isOperationalState;
|
||||
});
|
||||
const monitorStatuses: Array<MonitorStatus> =
|
||||
await MonitorStatusService.findBy({
|
||||
query: {
|
||||
projectId: statusPage.projectId,
|
||||
},
|
||||
select: {
|
||||
_id: true,
|
||||
isOperationalState: true,
|
||||
},
|
||||
props: {
|
||||
isRoot: true,
|
||||
},
|
||||
skip: 0,
|
||||
limit: LIMIT_PER_PROJECT,
|
||||
});
|
||||
|
||||
const getNonOperationStatuses: Array<MonitorStatus> =
|
||||
monitorStatuses.filter((monitorStatus: MonitorStatus) => {
|
||||
return !monitorStatus.isOperationalState;
|
||||
});
|
||||
|
||||
statusPage.downtimeMonitorStatuses = getNonOperationStatuses;
|
||||
|
||||
|
||||
@@ -36,43 +36,45 @@ export class Service extends DatabaseService<StatusPage> {
|
||||
super(StatusPage, postgresDatabase);
|
||||
}
|
||||
|
||||
|
||||
protected override async onBeforeCreate(createBy: CreateBy<StatusPage>): Promise<OnCreate<StatusPage>> {
|
||||
|
||||
if(!createBy.data.projectId){
|
||||
protected override async onBeforeCreate(
|
||||
createBy: CreateBy<StatusPage>
|
||||
): Promise<OnCreate<StatusPage>> {
|
||||
if (!createBy.data.projectId) {
|
||||
throw new BadDataException('projectId is required');
|
||||
}
|
||||
|
||||
if (
|
||||
!createBy.data.downtimeMonitorStatuses ||
|
||||
createBy.data.downtimeMonitorStatuses.length === 0
|
||||
) {
|
||||
const monitorStatuses: Array<MonitorStatus> =
|
||||
await MonitorStatusService.findBy({
|
||||
query: {
|
||||
projectId: createBy.data.projectId,
|
||||
},
|
||||
select: {
|
||||
_id: true,
|
||||
isOperationalState: true,
|
||||
},
|
||||
props: {
|
||||
isRoot: true,
|
||||
},
|
||||
skip: 0,
|
||||
limit: LIMIT_PER_PROJECT,
|
||||
});
|
||||
|
||||
if(!createBy.data.downtimeMonitorStatuses || createBy.data.downtimeMonitorStatuses.length === 0){
|
||||
|
||||
const monitorStatuses: Array<MonitorStatus> = await MonitorStatusService.findBy({
|
||||
query: {
|
||||
projectId: createBy.data.projectId,
|
||||
},
|
||||
select: {
|
||||
_id: true,
|
||||
isOperationalState: true,
|
||||
},
|
||||
props: {
|
||||
isRoot: true,
|
||||
},
|
||||
skip: 0,
|
||||
limit: LIMIT_PER_PROJECT,
|
||||
});
|
||||
|
||||
const getNonOperationStatuses: Array<MonitorStatus> = monitorStatuses.filter((monitorStatus: MonitorStatus) => {
|
||||
return !monitorStatus.isOperationalState;
|
||||
});
|
||||
|
||||
const getNonOperationStatuses: Array<MonitorStatus> =
|
||||
monitorStatuses.filter((monitorStatus: MonitorStatus) => {
|
||||
return !monitorStatus.isOperationalState;
|
||||
});
|
||||
|
||||
createBy.data.downtimeMonitorStatuses = getNonOperationStatuses;
|
||||
}
|
||||
|
||||
return {
|
||||
createBy,
|
||||
createBy,
|
||||
carryForward: null,
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
protected override async onCreateSuccess(
|
||||
|
||||
Reference in New Issue
Block a user