From 5e6d945095f0923c4fb748a8fbfe94312a7bc021 Mon Sep 17 00:00:00 2001 From: Jasper Miller-Waugh <contact@jmw.nz> Date: Wed, 27 Oct 2021 23:06:06 +1300 Subject: [PATCH] Most hacked in POC --- server/routers/api-router.js | 8 ++++++-- src/components/PublicGroupList.vue | 3 +++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/server/routers/api-router.js b/server/routers/api-router.js index fbe8136e5..be186ccca 100644 --- a/server/routers/api-router.js +++ b/server/routers/api-router.js @@ -141,9 +141,13 @@ router.get("/api/status-page/monitor-list", cache("5 minutes"), async (_request, await checkPublished(); const publicGroupList = []; let list = await R.find("group", " public = 1 ORDER BY weight "); - for (let groupBean of list) { - publicGroupList.push(await groupBean.toPublicJSON()); + let monitor_info = await groupBean.toPublicJSON() + monitor_info.monitorList = await Promise.all(monitor_info.monitorList.map( async (monitor)=>{ + let tags = await R.getAll("SELECT mt.monitor_id,mt.value, tag.name, tag.color FROM monitor_tag mt JOIN tag ON mt.tag_id = tag.id WHERE mt.monitor_id = ?", [monitor.id]); + return {...monitor,tags: tags} + })) + publicGroupList.push(monitor_info); } response.json(publicGroupList); diff --git a/src/components/PublicGroupList.vue b/src/components/PublicGroupList.vue index 23d19e6cd..39fb342e2 100644 --- a/src/components/PublicGroupList.vue +++ b/src/components/PublicGroupList.vue @@ -40,6 +40,7 @@ <Uptime :monitor="monitor.element" type="24" :pill="true" /> {{ monitor.element.name }} + <Tag v-for="tag in monitor.element.tags" :key="tag" :item="tag" :size="'sm'" /> </div> </div> <div :key="$root.userHeartbeatBar" class="col-3 col-md-4"> @@ -59,12 +60,14 @@ import Draggable from "vuedraggable"; import HeartbeatBar from "./HeartbeatBar.vue"; import Uptime from "./Uptime.vue"; +import Tag from "./Tag.vue"; export default { components: { Draggable, HeartbeatBar, Uptime, + Tag, }, props: { editMode: {