UNPKG

@backstage/plugin-catalog-backend-module-puppetdb

Version:

A Backstage catalog backend module that helps integrate towards PuppetDB

39 lines (35 loc) 1.1 kB
'use strict'; var transformers = require('./transformers.cjs.js'); var errors = require('@backstage/errors'); var constants = require('./constants.cjs.js'); async function readPuppetNodes(config, opts) { const transformFn = opts?.transformer ?? transformers.defaultResourceTransformer; const url = new URL(constants.ENDPOINT_FACTSETS, config.baseUrl); if (config.query) { url.searchParams.set("query", config.query); } if (opts?.logger) { opts.logger.debug("Reading nodes from PuppetDB", { url: url.toString() }); } const response = await fetch(url.toString(), { method: "GET", headers: { "Content-Type": "application/json", Accept: "application/json" } }); if (!response.ok) { throw await errors.ResponseError.fromResponse(response); } const nodes = await response.json(); const entities = []; for (const node of nodes) { const entity = await transformFn(node, config); if (entity) { entities.push(entity); } } return entities; } exports.readPuppetNodes = readPuppetNodes; //# sourceMappingURL=read.cjs.js.map