Refactor code to improve readability and maintainability

This commit is contained in:
Simon Larsen
2024-01-26 14:26:17 +00:00
parent 01e705340d
commit aff7362aec
2 changed files with 49 additions and 46 deletions

View File

@@ -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;

View File

@@ -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(