import * as MonitoringService from "../services/monitoringService";
import {jobResultOkay, jobResultWarning} from "./scheduler";

export default {
    name: 'NodeInformationRetrievalJob',
    description: 'Fetches the nodes.json and calculates and stores the monitoring / online status for registered nodes.',

    async run () {
        const result = await MonitoringService.retrieveNodeInformation();
        if (result.failedParsingNodesCount > 0) {
            return jobResultWarning(
                `Warning: ${result.failedParsingNodesCount} of ${result.totalNodesCount} nodes could not be processed.`
            );
        } else {
            return jobResultOkay(
                `${result.totalNodesCount} nodes have been processed.`
            );
        }
    },
};