From 3650c400ca7f63de7d1944be415b7033f4f185c6 Mon Sep 17 00:00:00 2001 From: Br0wnHammer Date: Thu, 24 Jul 2025 01:47:42 +0530 Subject: [PATCH] Feat: Monitor Incidents Resolve --- client/src/Hooks/checkHooks.js | 5 +++++ client/src/Pages/Incidents/index.jsx | 11 ++++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/client/src/Hooks/checkHooks.js b/client/src/Hooks/checkHooks.js index 3e5567cf6..f24466792 100644 --- a/client/src/Hooks/checkHooks.js +++ b/client/src/Hooks/checkHooks.js @@ -192,6 +192,11 @@ const useAckMonitorChecks = () => { const ackMonitorChecks = async (monitorId, setUpdateTrigger) => { try { setIsLoading(true); + await networkService.updateMonitorChecksStatus({ + monitorId, + ack: true, + }); + setUpdateTrigger((prev) => !prev); } catch (error) { createToast({ body: t("checkHooks.failureResolveMonitor") }); } finally { diff --git a/client/src/Pages/Incidents/index.jsx b/client/src/Pages/Incidents/index.jsx index c19aea69b..780c91fe8 100644 --- a/client/src/Pages/Incidents/index.jsx +++ b/client/src/Pages/Incidents/index.jsx @@ -11,7 +11,7 @@ import { Box, Button } from "@mui/material"; import { useTheme } from "@emotion/react"; import { useFetchMonitorsByTeamId } from "../../Hooks/monitorHooks"; import { useFetchChecksSummaryByTeamId } from "../../Hooks/checkHooks"; -import { useAckAllChecks } from "../../Hooks/checkHooks"; +import { useAckAllChecks, useAckMonitorChecks } from "../../Hooks/checkHooks"; import { useState, useEffect } from "react"; import NetworkError from "../../Components/GenericFallback/NetworkError"; import { useTranslation } from "react-i18next"; @@ -35,6 +35,7 @@ const Incidents = () => { //Hooks const [ackAllChecks, ackAllLoading] = useAckAllChecks(); + const [ackMonitorChecks, ackMonitorLoading] = useAckMonitorChecks(); //Utils const theme = useTheme(); @@ -63,7 +64,11 @@ const Incidents = () => { }, [monitors]); const handleAckAllChecks = () => { - ackAllChecks(setUpdateTrigger); + if (selectedMonitor === "0") { + ackAllChecks(setUpdateTrigger); + } else { + ackMonitorChecks(selectedMonitor, setUpdateTrigger); + } }; if (networkError || networkErrorSummary) { @@ -82,7 +87,7 @@ const Incidents = () => { variant="contained" color="accent" onClick={handleAckAllChecks} - disabled={ackAllLoading} + disabled={selectedMonitor === "0" ? ackAllLoading : ackMonitorLoading} > {selectedMonitor === "0" ? t("incidentsPageActionResolveAll") : t("incidentsPageActionResolveMonitor")}