From 18ea3f19d695730504c40eb33fff16fc19620926 Mon Sep 17 00:00:00 2001 From: Oliver Date: Mon, 25 May 2026 12:43:21 -0300 Subject: [PATCH] User Management --- agent.md | 14 +++++++------- favicon.ico | Bin 0 -> 20109 bytes index.html | 29 ++++++++++++++++++++--------- 3 files changed, 27 insertions(+), 16 deletions(-) create mode 100644 favicon.ico diff --git a/agent.md b/agent.md index a2bd01d..754eceb 100644 --- a/agent.md +++ b/agent.md @@ -43,16 +43,16 @@ GET Authorization: Basic ``` -Response — n8n may return a JSON array, a single object, or NDJSON. -All three formats are handled by `parseJson()` (see below). +**Actual response shape** (confirmed via console): ```json -[ - { "Name": "Oliver", "id": 1, "createdAt": "...", "updatedAt": "..." }, - { "Name": "Luka", "id": 2, ... }, - { "Name": "Benni", "id": 3, ... } -] +{ "Name": ["Oliver", "Luka", "Benni"] } ``` +`buildDropdown()` handles all three shapes n8n may return: +1. `{ Name: ["Oliver", "Luka", "Benni"] }` — single object, Name is an array (current) +2. `[ { Name: "Oliver" }, ... ]` — array of objects +3. `{ Name: "Oliver" }` — single object, Name is a string + ### POST — submit scan Called when the user presses Enter in the scan input. diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..b1655e7d6171e04ef931ad55c9ec6e32a41fab6f GIT binary patch literal 20109 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 A5C8xG literal 0 HcmV?d00001 diff --git a/index.html b/index.html index a2a3d0a..ef9c137 100644 --- a/index.html +++ b/index.html @@ -1280,6 +1280,7 @@ } const data = await parseJson(res); + console.log("[HR] Users response:", data); buildDropdown(data); hideBanner(); } catch (err) { @@ -1296,15 +1297,25 @@ function buildDropdown(users) { userSelect.innerHTML = ''; - // Normalise: webhook may return a single object or an array - const list = Array.isArray(users) - ? users - : users - ? [users] - : []; - list.forEach((u) => { - const opt = new Option(u.Name, u.Name); - userSelect.appendChild(opt); + + // Normalise all shapes n8n may return: + // { Name: ["Oliver", "Luka", "Benni"] } ← actual format + // [ { Name: "Oliver" }, ... ] ← standard array + // { Name: "Oliver" } ← single object + let names = []; + if (Array.isArray(users)) { + // Array of objects: pull .Name from each + names = users.map((u) => u.Name).filter(Boolean); + } else if (users && Array.isArray(users.Name)) { + // Single object with a Name array + names = users.Name.filter(Boolean); + } else if (users && users.Name) { + // Single object with a single Name string + names = [users.Name]; + } + + names.forEach((name) => { + userSelect.appendChild(new Option(name, name)); }); }