From a9e59fded62bc7b37589e3305cc18e810d0b642f Mon Sep 17 00:00:00 2001 From: Hiago Silva Souza Date: Sat, 25 Jan 2025 00:36:59 -0300 Subject: [PATCH] fix: lint problems --- server/model/status_page.js | 81 ++++++++--- server/routers/status-page-router.js | 4 +- src/components/BadgeBuilderDialog.vue | 70 ++++----- src/pages/StatusPage.vue | 195 +++++++++++++++++--------- 4 files changed, 228 insertions(+), 122 deletions(-) diff --git a/server/model/status_page.js b/server/model/status_page.js index 08a69154c..66a226879 100644 --- a/server/model/status_page.js +++ b/server/model/status_page.js @@ -63,19 +63,19 @@ class StatusPage extends BeanModel { } /** - * Handle responses to status page - * @param {Response} response Response object - * @param {string} slug Status page slug - * @param {object} config Config for badge - * @returns {Promise} + * Generate SVG Status + * @param {response} response express response + * @param {slug} slug from router + * @param {config} config config for the svg + * @returns {Promise} returns a svg file */ static async handleStatusPageSVGResponse(response, slug, config) { - slug = slug.replace('.svg', '') + slug = slug.replace(".svg", ""); let statusPage = await R.findOne("status_page", " slug = ? ", [ - slug.replace('.svg', '') + slug.replace(".svg", "") ]); if (statusPage) { - response.set('Content-Type', 'image/svg+xml') + response.set("Content-Type", "image/svg+xml"); response.send(await StatusPage.renderSVG(slug, config, statusPage)); } else { response.status(404).send(await StatusPage.renderSVG(slug, config, null)); @@ -173,15 +173,28 @@ class StatusPage extends BeanModel { return $.root().html(); } + /** + * render SVG file + * @param {slug} slug from router + * @param {userConfig} userConfig generated by user + * @param {statusPage} statusPage object + * @returns {Promise} a SVG string + */ static async renderSVG(slug, userConfig = {}, statusPage) { - let allowedBadgeStyles = ['flat', 'flat-square', 'for-the-badge', 'plastic', 'social']; + let allowedBadgeStyles = [ "flat", "flat-square", "for-the-badge", "plastic", "social" ]; if (!allowedBadgeStyles.includes(userConfig.badgeStyle)) { - userConfig.badgeStyle = 'flat' + userConfig.badgeStyle = "flat"; } // returns unknown svg if (statusPage === null) { - return makeBadge({ message: userConfig.notFoundText || 'not found', color: 'red', style: userConfig.badgeStyle, label: slug, labelColor: 'gray' }) + return makeBadge({ + message: userConfig.notFoundText || "not found", + color: "red", + style: userConfig.badgeStyle, + label: slug, + labelColor: "gray" + }); } else { // get all heartbeats that correspond to this statusPage @@ -199,7 +212,7 @@ class StatusPage extends BeanModel { for (let groupBean of list) { let monitorGroup = await groupBean.toPublicJSON(showTags, config?.showCertificateExpiry); for (const monitor of monitorGroup.monitorList) { - const heartbeat = await R.findOne("heartbeat", "monitor_id = ? ORDER BY time DESC", [monitor.id]); + const heartbeat = await R.findOne("heartbeat", "monitor_id = ? ORDER BY time DESC", [ monitor.id ]); if (heartbeat) { heartbeats.push({ ...monitor, @@ -215,15 +228,45 @@ class StatusPage extends BeanModel { switch (status) { case STATUS_PAGE_ALL_DOWN: - return makeBadge({ message: userConfig.allDownText ?? 'all down', color: 'red', style: userConfig.badgeStyle, label: slug, labelColor: 'gray' }); + return makeBadge({ + message: userConfig.allDownText ?? "all down", + color: "red", + style: userConfig.badgeStyle, + label: slug, + labelColor: "gray" + }); case STATUS_PAGE_ALL_UP: - return makeBadge({ message: userConfig.allOperationalText ?? 'all operational', color: 'green', style: userConfig.badgeStyle, label: slug, labelColor: 'gray' }); + return makeBadge({ + message: userConfig.allOperationalText ?? "all operational", + color: "green", + style: userConfig.badgeStyle, + label: slug, + labelColor: "gray" + }); case STATUS_PAGE_PARTIAL_DOWN: - return makeBadge({ message: userConfig.partialDownText ?? 'partial down', color: 'orange', style: userConfig.badgeStyle, label: slug, labelColor: 'gray' }); + return makeBadge({ + message: userConfig.partialDownText ?? "partial down", + color: "orange", + style: userConfig.badgeStyle, + label: slug, + labelColor: "gray" + }); case STATUS_PAGE_MAINTENANCE: - return makeBadge({ message: userConfig.maintenanceText || 'maintenance', color: 'yellow', style: userConfig.badgeStyle, label: slug, labelColor: 'gray' }); + return makeBadge({ + message: userConfig.maintenanceText || "maintenance", + color: "yellow", + style: userConfig.badgeStyle, + label: slug, + labelColor: "gray" + }); default: - return makeBadge({ message: userConfig.unknownText || 'unknown', color: 'lightgray', style: userConfig.badgeStyle, label: slug, labelColor: 'gray' }); + return makeBadge({ + message: userConfig.unknownText || "unknown", + color: "lightgray", + style: userConfig.badgeStyle, + label: slug, + labelColor: "gray" + }); } } @@ -308,7 +351,7 @@ class StatusPage extends BeanModel { for (let groupBean of list) { let monitorGroup = await groupBean.toPublicJSON(showTags, config?.showCertificateExpiry); for (const monitor of monitorGroup.monitorList) { - const heartbeat = await R.findOne("heartbeat", "monitor_id = ? ORDER BY time DESC", [monitor.id]); + const heartbeat = await R.findOne("heartbeat", "monitor_id = ? ORDER BY time DESC", [ monitor.id ]); if (heartbeat) { heartbeats.push({ ...monitor, @@ -548,7 +591,7 @@ class StatusPage extends BeanModel { SELECT DISTINCT maintenance_id FROM maintenance_status_page WHERE status_page_id = ? - `, [statusPageId]); + `, [ statusPageId ]); for (const maintenanceID of maintenanceIDList) { let maintenance = UptimeKumaServer.getInstance().getMaintenance(maintenanceID); diff --git a/server/routers/status-page-router.js b/server/routers/status-page-router.js index 9c5b88101..c97b12d44 100644 --- a/server/routers/status-page-router.js +++ b/server/routers/status-page-router.js @@ -17,8 +17,8 @@ router.get("/status/:slug", cache("5 minutes"), async (request, response) => { let slug = request.params.slug; slug = slug.toLowerCase(); - if (slug.endsWith('.svg')) { - await StatusPage.handleStatusPageSVGResponse(response, slug, JSON.parse(request.query.config || '{}')); + if (slug.endsWith(".svg")) { + await StatusPage.handleStatusPageSVGResponse(response, slug, JSON.parse(request.query.config || "{}")); } else { await StatusPage.handleStatusPageResponse(response, server.indexHTML, slug); } diff --git a/src/components/BadgeBuilderDialog.vue b/src/components/BadgeBuilderDialog.vue index 8b4f9cc79..5e79a1f6f 100644 --- a/src/components/BadgeBuilderDialog.vue +++ b/src/components/BadgeBuilderDialog.vue @@ -23,50 +23,56 @@
- +
- + }} +
-
- + }} +
- + }} +
- + }} +
-
+
{{ $t("Preview") }}
-
- - -