Nodes: Update All Nodes — fleet-wide update request for every approved node

POST /nodes/request-update-all (admin) does what Update Node does for each
approved node: flags update_requested_at for the HTTPS updater and nudges it
over MQTT. Pending and rejected nodes are skipped. Admin-only button on the
Nodes page reports which nodes weren't reachable over MQTT.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Logan Cusano
2026-10-05 00:29:30 -04:00
co-authored by Claude Opus 5.5
parent 16a609e35b
commit f18f7a49f6
4 changed files with 132 additions and 2 deletions
+6
View File
@@ -114,6 +114,12 @@ export const c2api = {
`/nodes/${id}/request-update`,
{ method: "POST" },
),
/** Fleet-wide Update Node: every approved node; pending/rejected are skipped. */
requestUpdateAllNodes: () =>
request<{ ok: boolean; update_requested_at: string; requested: string[]; mqtt_sent: string[]; skipped: string[] }>(
`/nodes/request-update-all`,
{ method: "POST" },
),
rejectNode: (id: string) =>
request(`/nodes/${id}/reject`, { method: "POST" }),