summaryrefslogtreecommitdiffstats
path: root/assets/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'assets/index.js')
-rw-r--r--assets/index.js29
1 files changed, 10 insertions, 19 deletions
diff --git a/assets/index.js b/assets/index.js
index bd0f308..8813539 100644
--- a/assets/index.js
+++ b/assets/index.js
@@ -1,7 +1,7 @@
const serviceMap = new Map();
async function getServices() {
- const url = "api/services";
+ const url = "api/v1/status";
try {
const response = await fetch(url);
if (!response.ok) {
@@ -27,8 +27,8 @@ function updateStatus() {
}
}
-function updateService(name, node, status) {
- switch (status.status) {
+function updateService(name, node, data) {
+ switch (data.status) {
case "ok":
node.textContent = "Ok";
node.setAttribute("class", "ok");
@@ -36,7 +36,7 @@ function updateService(name, node, status) {
break;
case "error":
node.textContent = "Error";
- node.title = status.output;
+ node.title = data.output;
node.setAttribute("class", "error");
serviceMap.set(name, false);
break;
@@ -46,9 +46,9 @@ function updateService(name, node, status) {
}
getServices().then((services) => {
- const evtSource = new EventSource("sse");
+ const evtSource = new EventSource("/api/v1/sse");
evtSource.onmessage = (event) => {
- console.log(event)
+ console.log(event.data);
};
for (const [service, status] of Object.entries(services)) {
@@ -59,19 +59,10 @@ getServices().then((services) => {
const node = row.insertCell();
updateService(service, node, status);
- const evtSource = new EventSource(`sse/${service}`);
-
- evtSource.addEventListener("ok", (event) => {
- node.textContent = "Ok";
- node.setAttribute("class", "ok");
- serviceMap.set(name, true);
- });
-
- evtSource.addEventListener("error", (event) => {
- node.textContent = "Error";
- node.title = event.data;
- node.setAttribute("class", "error");
- serviceMap.set(name, false);
+ evtSource.addEventListener(service, (event) => {
+ data = JSON.parse(event.data);
+ updateService(service, node, data);
+ console.log(`service: ${service}, event: ${event}`);
});
}
});