You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
cvm/src/api/loaders.js

24 lines
692 B
JavaScript

"use strict";
const DataLoader = require("dataloader");
const mapObj = require("map-obj");
let dataSourceFactories = {
lsblk: require("./data-sources/lsblk"),
findmnt: require("./data-sources/findmnt"),
smartctlInfo: require("./data-sources/smartctl/info"),
smartctlScan: require("./data-sources/smartctl/scan"),
smartctlAttributes: require("./data-sources/smartctl/attributes"),
lvmPhysicalVolumes: require("./data-sources/lvm/physical-volumes"),
nvmeListNamespaces: require("./data-sources/nvme/list-namespaces"),
};
module.exports = function createLoaders() {
return mapObj(dataSourceFactories, (name, factory) => {
return [
name,
new DataLoader(factory())
];
});
};