From 08ca40dc02be386165c410f6d6d6f721cf24d4a6 Mon Sep 17 00:00:00 2001 From: Ben Hardill Date: Fri, 29 Sep 2023 22:27:33 +0100 Subject: [PATCH] Fix for new search API --- Dockerfile | 2 +- index.js | 17 +++++++++-------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/Dockerfile b/Dockerfile index ab4a48c..253448e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM node:12-alpine +FROM node:18-alpine WORKDIR /usr/src/app COPY package*.json ./ diff --git a/index.js b/index.js index 65f9054..5c65326 100644 --- a/index.js +++ b/index.js @@ -14,7 +14,8 @@ const listenHost = (process.env.HOST || '0.0.0.0') const registryHost = (process.env.REGISTRY || 'http://registry:4873') const keyword = (process.env.KEYWORD || "node-red") -const url = registryHost + "/-/all" +// const url = registryHost + "/-/all" +const url = registryHost + "/-/v1/search" const catalogue = { "name":"Ben's custom catalogue", @@ -42,20 +43,20 @@ function update() { superagent.get(url) .end(async (err, res) => { if (!err) { - const nodes = res.body; + const nodes = res.body.objects; var nodeNames = Object.keys(nodes); - const index = nodeNames.indexOf("_updated"); - if (index > -1) { - nodeNames.splice(index, 1); - } for (const node in nodeNames) { - var n = nodes[nodeNames[node]]; + // var n = nodes[nodeNames[node]]; + if (node === undefined) { + continue; + } + var n = nodes[node].package; if (n.keywords) { if (n.keywords.indexOf(keyword) != -1) { try { let details = await superagent - .get("http://" + registryHost + "/" + nodeNames[node]) + .get(registryHost + "/" + n.name) .set('accept', 'json') let latest = details.body['dist-tags'].latest let version = details.body.versions[latest]